From ec5040805caa5a4f095bbb13f79742e4462623ac Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 08 Jun 2021 08:56:31 +0800
Subject: [PATCH] 去掉js

---
 /dev/null                 | 1819 ----------------------------------------------------------
 widgets/searchL/Widget.js |   12 
 2 files changed, 6 insertions(+), 1,825 deletions(-)

diff --git a/Zplot/css/bootstrap-new.min.css b/Zplot/css/bootstrap-new.min.css
deleted file mode 100644
index 61306c1..0000000
--- a/Zplot/css/bootstrap-new.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.span2>ul{margin-top:4%}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left;}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
-/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/Zplot/css/jquery-sticklr.css b/Zplot/css/jquery-sticklr.css
deleted file mode 100644
index a8821de..0000000
--- a/Zplot/css/jquery-sticklr.css
+++ /dev/null
@@ -1,455 +0,0 @@
-@font-face {
-    font-family: 'Glyphicons Halflings';
-    src: url("../fonts/glyphicons-halflings-regular.eot");
-    src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),
-    url("../fonts/glyphicons-halflings-regular.woff") format("woff"),
-    url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"),
-    url("../fonts/glyphicons-halflings-regular.svg#fontcustom") format("svg");
-}
-
-.sticklr .notification-count {
-    display: block;
-    width: 12px;
-    height: 12px;
-    background: #555;
-    box-shadow: 0 0 3px #999;
-    border-radius: 6px;
-    -moz-border-radius: 6px;
-    -webkit-border-radius: 6px;
-    color: #f0f0f0;
-    cursor: default;
-    font-size: 10px;
-    line-height: 12px;
-    text-indent: 3px;
-    position: absolute;
-    top: 2px;
-    left: 200px;
-    z-index: 96;
-}
-
-.sticklr  td {
-    width: 15px;
-    padding-left: 50px;
-}
-
-.sticklr .calendar td:hover {
-    /*background: #eaeaea;*/
-    font-weight: bold;
-}
-.sticklr,
-.sticklr * {
-    margin: 0;
-    padding: 0;
-    border: 0;
-    outline: 0;
-    font-family: Helvetica, Arial, sans-serif;
-    font-size: 13px;
-    line-height: 18px;
-    color: #000;
-    vertical-align: baseline;
-}
-
-.sticklr,
-.sticklr > li > ul {
-    list-style-type: none;
-}
-
-.sticklr {
-    position: fixed;
-    top: 40%;
-    left: 0;
-    background-color: #fff;
-    background-color: rgba(255, 255, 255, 1);
-    /*border: 1px solid #b7b7b7;*/
-    border-left: none;
-
-    box-shadow: 2px 2px 5px #000;
-    /*-moz-box-shadow: 0 0 5px #ccc;*/
-    /*-webkit-box-shadow: 0 0 5px #ccc;*/
-    width: 25px;
-    overflow: visible;
-    z-index: 90;
-}
-
-.sticklr-right {
-    left: auto;
-    right: 0;
-    border-right: none;
-    /*border-left: 1px solid #b7b7b7;*/
-}
-
-.sticklr > li {
-    position: relative;
-    text-align: center;
-}
-
-
-/*.sticklr > li > a {*/
-    /*display: block;*/
-    /*width: 16px;*/
-    /*height: 16px;*/
-    /*padding: 4px;*/
-    /*图标的背景*/
-    /*background-color: #fff;*/
-    /*background-color: rgba(255, 255, 255, 1);*/
-    /*background-position: 4px 4px;*/
-    /*background-repeat: no-repeat;*/
-/*}*/
-.sticklr > li > a.notArrow >span{
-    display: none;
-}
-.sticklr > li > a:hover{
-    /*border: 1px solid #868686;*/
-    /*box-shadow: 0px 0px 2px 2px  #ccc inset ;*/
-    /*-moz-box-shadow:0px 0px 2px 2px  #ccc inset ;*/
-    /*-webkit-box-shadow: 0px 0px 2px 2px  #ccc inset ;*/
-    cursor: pointer;
-}
-
-.sticklr > li > input {
-    display: block;
-    width: 16px;
-    height: 16px;
-    padding: 1px;
-    /*background-color: #f0f0f0;*/
-    /*background-color: rgba(240, 240, 240, 0.75);*/
-    background-position: 4px 4px;
-    background-repeat: no-repeat;
-}
-/*边界颜色*/
-.sticklr > li {
-    /*border-bottom: 1px solid #f7f7f7;*/
-    /*border-right: 1px solid #f7f7f7;*/
-    /*border-top: 1px solid #ccc;*/
-}
-
-.sticklr > li:first-child {
-    /*border-top: 1px solid #f7f7f7;*/
-}
-
-.sticklr > li:last-child {
-    border-bottom: 1px solid #f7f7f7;
-    border-bottom: 0px;
-}
-
-.sticklr > li > input:hover {
-    background-color: #eaeaea;
-}
-
-.sticklr > li > ul {
-    display: none;
-    position: absolute;
-    left: 26px;
-    top: -1px;
-    width: 90px;
-    overflow: hidden;
-    background-color: #fff;
-    background-color: rgba(255, 255, 255, 1);
-    border: 1px solid #b7b7b7;
-    border-radius: 2px;
-    -moz-border-radius: 2px;
-    -webkit-border-radius: 2px;
-    box-shadow: 0 0 5px #ccc;
-    -moz-box-shadow: 0 0 5px #ccc;
-    -webkit-box-shadow: 0 0 5px #ccc;
-    z-index: 95;
-}
-
-.sticklr-right > li > ul {
-    left: auto;
-    right: 25px;
-}
-
-.sticklr > li > ul:nth-child(3) {
-    left: 140px;
-}
-
-.sticklr > li > ul:nth-child(4) {
-    left: 387px;
-}
-
-.sticklr > li > ul:nth-child(5) {
-    left: 568px;
-}
-
-.sticklr > li > ul:nth-child(6) {
-    left: 749px;
-}
-
-.sticklr > li > ul:nth-child(7) {
-    left: 930px;
-}
-
-.sticklr-right > li > ul:nth-child(3) {
-    left: auto;
-    right: 206px;
-}
-
-.sticklr-right > li > ul:nth-child(4) {
-    left: auto;
-    right: 387px;
-}
-
-.sticklr-right > li > ul:nth-child(5) {
-    left: auto;
-    right: 568px;
-}
-
-.sticklr-right > li > ul:nth-child(6) {
-    left: auto;
-    right: 749px;
-}
-
-.sticklr-right > li > ul:nth-child(7) {
-    left: auto;
-    right: 930px;
-}
-
-.sticklr > li:hover > ul {
-    display: block;
-    float: left;
-}
-
-.sticklr.sticklr-js > li:hover > ul {
-    display: none;
-}
-
-.sticklr > li > ul > li {
-    border-bottom: 1px solid #f7f7f7;
-    border-right: 1px solid #f7f7f7;
-    border-top: 1px solid #ccc;
-    width: 90px;
-    text-shadow: 1px 1px 1px #fff;
-    padding: 1px;
-    /*margin: 1px;*/
-}
-
-.sticklr > li > ul > li:first-child {
-    border-top: 1px solid #f7f7f7;
-    padding:0px;
-    margin: 0px;
-}
-
-.sticklr > li > ul > li:last-child {
-    border-bottom: 1px solid #f7f7f7;
-}
-
-.sticklr > li > ul > li {
-    border: none !ie;
-}
-
-.sticklr > li > ul > li > a {
-    display: block;
-    padding: 8px 10px 8px 32px;
-    background-color: #f0f0f0;
-    background-color: rgba(240, 240, 240, 0.75);
-    background-position: 10px;
-    background-repeat: no-repeat;
-    color: #555;
-    min-height: 20px;
-    text-decoration: none;
-    white-space: nowrap;
-    background-color: transparent !ie;
-}
-.sticklr > li > ul > li > span {
-    display: block;
-    padding: 8px 10px 8px 32px;
-    background-color: #fff;
-    background-color: rgba(255, 255, 255, 1);
-    background-position: 10px;
-    background-repeat: no-repeat;
-    color: #555;
-    font-size: 14px;
-    min-height: 20px;
-    text-decoration: none;
-    white-space: nowrap;
-    background-color: transparent !ie;
-}
-
-.sticklr > li > ul > li > input {
-    display: block;
-    padding: 8px 10px 8px 32px;
-    background-color: #fff;
-    background-color: rgba(255, 255, 255, 1);
-    background-position: 10px;
-    background-repeat: no-repeat;
-    color: #000;
-    min-height: 18px;
-    text-decoration: none;
-    text-align: center;
-    white-space: nowrap;
-    background-color: transparent !ie;
-}
-
-.sticklr > li > ul > li > a:hover {
-    background-color: #eaeaea;
-}
-
-.sticklr > li > ul > li > input:hover {
-    background-color: #ffffff;
-
-    border-bottom: 1px solid #868686;
-    /*box-shadow: 0px 0px 2px 2px  #ccc inset ;*/
-    /*-moz-box-shadow:0px 0px 2px 2px  #ccc inset ;*/
-    /*-webkit-box-shadow: 0px 0px 2px 2px  #ccc inset ;*/
-}
-
-.sticklr > li > ul > li.sticklr-title > a {
-    padding-left: 10px;
-    background-color: #e6e6e6;
-    cursor: default;
-    font-weight: bold;
-    background-color: transparent !ie;
-}
-.sticklr > li > ul > li.sticklr-title > span {
-    padding-left: 10px;
-    background-color: rgba(216, 213, 213, 0.9);
-    cursor: default;
-    font-weight: bold;
-}
-
-.sticklr > li > ul > li.sticklr-title > a:hover {
-    background-color: #e6e6e6;
-    background-color: transparent !ie;
-}
-
-.sticklr > li > ul > li.sticklr-title > input:hover {
-    cursor: pointer;
-    background-color: #e6e6e6;
-    background-color: transparent !ie;
-}
-
-.sticklr > li > ul > li > table {
-    border-collapse:collapse;
-    border-spacing: 0;
-}
-
-.sticklr > li > ul > li > form {
-    padding: 8px 10px;
-}
-
-.sticklr > li > ul > li input,
-.sticklr > li > ul > li select,
-.sticklr > li > ul > li textarea,
-.sticklr > li > ul > li button  {
-    margin: 4px 0;
-    padding: 4px;
-}
-
-
-
-.sticklr-arrow {
-    position: absolute;
-    left: 25px;
-    top: 8px;
-    width: 0;
-    height: 0;
-    border-top: 5px solid transparent;
-    border-bottom: 5px solid transparent;
-    border-left: 5px solid #8E8D8D;
-    border-right: none;
-}
-
-.sticklr-right .sticklr-arrow {
-    left: auto;
-    right: 25px;
-    border-right: 5px solid #b7b7b7;
-    border-left: none;
-}
-
-/* icons */
-.plotting-lyphicon-save-simulationMap:before {
-    content: "\e172";
-    font-size: 18px;
-    color: rgb(0, 0, 0);
-}
-
-.plotting-lyphicon-draw-point:before {
-    content: "\e204";
-    font-size: 20px;
-    color: rgb(68, 58, 58);
-}
-
-.plotting-glyphicon-draw-line:before {
-    content: "\e205";
-    font-size: 20px;
-    color: rgb(68, 58, 58);
-}
-
-.plotting-glyphicon-draw-polygon:before {
-    content: "\e206";
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-.plotting-glyphicon-draw-flag:before {
-    content: "\e301";
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-.plotting-glyphicon-draw-arrow:before {
-    content: "\e302";
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-.plotting-glyphicon-draw-deactivate:before {
-    content: "\e303";
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.plotting-glyphicon-draw-removeAll:before {
-    content: "\e020";
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-plus:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-pencil:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-edit:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-lock:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-check:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-align-justify:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-retweet:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-adjust:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-gift:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
-.glyphicon-cog:before {
-    font-size: 20px;
-    color: rgb(0, 0, 0);
-}
-
diff --git a/Zplot/css/sideBar.css b/Zplot/css/sideBar.css
deleted file mode 100644
index 28cde0a..0000000
--- a/Zplot/css/sideBar.css
+++ /dev/null
@@ -1,218 +0,0 @@
-
-.main-sidebar {
-    position: fixed;
-    z-index: 900;
-    height: 100%;
-}
-
-.sidebar {
-    height: 100% !important;
-    overflow: hidden;
-    overflow-y: auto;
-}
-
-.skin-blue .main-sidebar {
-    background-color: #3c8dbc;
-}
-
-.skin-blue .sidebar-menu > li.treeview:hover > a {
-    border-left: 3px solid rgba(0, 0, 0, 0.1);
-}
-
-.skin-blue .sidebar-menu > li.treeview.active > a {
-    border-left: 3px solid rgba(0, 0, 0, 0.1);
-}
-
-.skin-blue .sidebar .second-menu,
-.skin-blue .sidebar .third-menu {
-    padding-left: 0;
-}
-
-.skin-blue .sidebar .third-menu a {
-    padding-left: 30px;
-}
-
-.skin-blue .sidebar a {
-    color: #000000;
-}
-
-/*侧边栏滚动设置 start*/
-#sidebar-menu > li:hover .sidebar-title-bar {
-    position: static;
-}
-
-.sidebar-collapse #sidebar-menu > li:hover .sidebar-title-bar {
-    position: fixed;
-}
-
-#sidebar-menu > li:hover > ul {
-    position: static;
-    height: auto;
-}
-
-.sidebar-collapse #sidebar-menu > li:hover > ul {
-    position: fixed;
-    overflow-y: auto;
-}
-
-a.sidebar-toggle {
-    width: 100%;;
-    height: 36px;
-    line-height: 36px;
-    text-align: center;
-    background-color: #2e658a;
-    color: white !important;
-    display: block;
-}
-
-.sidebar-collapse a.sidebar-toggle div.fold {
-    -webkit-transform: rotate(90deg);
-    -moz-transform: rotate(90deg);
-    -ms-transform: rotate(90deg);
-    -o-transform: rotate(90deg);
-    transform: rotate(90deg);
-    transition: transform .5s;
-}
-
-/*侧边栏滚动设置 end*/
-
-.skin-blue .treeview-menu li > a {
-    border-left: 3px solid #3c8dbc;
-}
-
-.skin-blue .treeview-menu li > a:hover,
-.skin-blue .treeview-menu li.active > a {
-    background-color: rgba(0, 0, 0, 0.1);
-    border-left-color: rgba(0, 0, 0, 0.3);
-}
-
-.skin-blue .treeview-menu > li > a {
-    color: white;
-    padding-left: 35px;
-    padding-right: 26px !important;
-}
-
-.skin-blue .sidebar-menu > li > .treeview-menu {
-    margin: 0;
-    background: #3c8dbc;
-}
-
-.sidebar-menu li.active > .treeview-menu {
-    background: #3c8dbc;
-}
-
-.sidebar-title-bar .fa-angle-left,
-.sidebar-title-bar .pull-right-container > .fa-angle-lef {
-    width: auto;
-    height: auto;
-    padding: 0;
-    margin-right: 10px;
-}
-
-/*侧边栏收起后向右展开的边框宽度*/
-.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right),
-.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
-    border-radius: 0;
-    width: 220px;
-}
-
-/*侧边栏收起后向右展开时一级菜单箭头的位置*/
-.sidebar-mini.sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container {
-    left: 220px !important;
-}
-
-.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    padding-top: 0;
-    padding-bottom: 0;
-    border-radius: 0;
-}
-
-.skin-blue .sidebar-menu > li:hover > a,
-.skin-blue .sidebar-menu > li.active > a {
-    color: #3c8dbc;
-    background: #3375A1;
-}
-
-.skin-blue .treeview-menu > li.active > a,
-.skin-blue .treeview-menu > li > a:hover {
-    color: white;
-}
-
-.main-sidebar .iconName {
-    margin-right: 10px;
-    color: white
-}
-
-.menuTitle a.active {
-    color: #f8f8f8;
-}
-
-.sidebar-menu span {
-    color: white;
-}
-
-li.menuTitle a {
-    overflow: hidden;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    padding-right: 20px !important;
-}
-
-.main-sidebar .secondMenuTitle {
-    padding-left: 10px;
-    color: white;
-}
-
-.main-sidebar .thirdMenuTitle {
-    font-size: 12px;
-    padding-left: 32px;
-    color: white;
-}
-
-.main-sidebar .pull-right {
-    color: white
-}
-
-@media screen and (max-width: 768px) {
-    a.sidebar-toggle {
-        position: absolute;
-        top: 50%;
-        width: 26px;
-        height: 36px;
-        left: 100%;
-    }
-}
-
-/*侧边栏滚动条*/
-.sidebar {
-    -ms-scroll-chaining: chained;
-    -ms-overflow-style: none;
-    -ms-content-zooming: zoom;
-    -ms-scroll-rails: none;
-    -ms-content-zoom-limit-min: 100%;
-    -ms-content-zoom-limit-max: 500%;
-    -ms-scroll-snap-type: proximity;
-    -ms-scroll-snap-points-x: snapList(100%, 200%, 300%, 400%, 500%);
-}
-
-.sidebar::-webkit-scrollbar {
-    width: 0;
-    background-color: rgba(0, 0, 0, 0);
-}
-
-/*侧边栏二级菜单滚动条*/
-.scroll-list {
-    -ms-scroll-chaining: chained;
-    -ms-overflow-style: none;
-    -ms-content-zooming: zoom;
-    -ms-scroll-rails: none;
-    -ms-content-zoom-limit-min: 100%;
-    -ms-content-zoom-limit-max: 500%;
-    -ms-scroll-snap-type: proximity;
-    -ms-scroll-snap-points-x: snapList(100%, 200%, 300%, 400%, 500%);
-}
-
-.scroll-list::-webkit-scrollbar {
-    width: 0;
-    background-color: rgba(0, 0, 0, 0);
-}
\ No newline at end of file
diff --git a/Zplot/js/bootstrap.min.js b/Zplot/js/bootstrap.min.js
deleted file mode 100644
index 9bcd2fc..0000000
--- a/Zplot/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
-this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/Zplot/js/jquery.min.js b/Zplot/js/jquery.min.js
deleted file mode 100644
index 4024b66..0000000
--- a/Zplot/js/jquery.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c;
-}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=N.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function W(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&T.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var X=/^(?:checkbox|radio)$/i,Y=/<([\w:-]+)/,Z=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||d,e=c.documentElement,f=c.body,a.pageX=b.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ea.test(f)?this.mouseHooks:da.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=d),3===a.target.nodeType&&(a.target=a.target.parentNode),h.filter?h.filter(a,g):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==ia()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===ia()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ga:ha):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:ha,isPropagationStopped:ha,isImmediatePropagationStopped:ha,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ga,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ga,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ga,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),n.fn.extend({on:function(a,b,c,d){return ja(this,a,b,c,d)},one:function(a,b,c,d){return ja(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ha),this.each(function(){n.event.remove(this,a,c,b)})}});var ka=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,la=/<script|<style|<link/i,ma=/checked\s*(?:[^=]|=\s*.checked.)/i,na=/^true\/(.*)/,oa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=wa[0].contentDocument,b.write(),b.close(),c=ya(a,b),wa.detach()),xa[a]=c),c}var Aa=/^margin/,Ba=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ca=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){var b,c,e,f,g=d.createElement("div"),h=d.createElement("div");if(h.style){h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h);function i(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",Ea.appendChild(g);var d=a.getComputedStyle(h);b="1%"!==d.top,f="2px"===d.marginLeft,c="4px"===d.width,h.style.marginRight="50%",e="4px"===d.marginRight,Ea.removeChild(g)}n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}})}}();function Fa(a,b,c){var d,e,f,g,h=a.style;return c=c||Ca(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Ba.test(g)&&Aa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function Ga(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:"absolute",visibility:"hidden",display:"block"},Ja={letterSpacing:"0",fontWeight:"400"},Ka=["Webkit","O","Moz","ms"],La=d.createElement("div").style;function Ma(a){if(a in La)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ka.length;while(c--)if(a=Ka[c]+b,a in La)return a}function Na(a,b,c){var d=T.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Oa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Pa(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ca(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Fa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ba.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Oa(a,b,c||(g?"border":"content"),d,f)+"px"}function Qa(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=N.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=N.access(d,"olddisplay",za(d.nodeName)))):(e=V(d),"none"===c&&e||N.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),"normal"===e&&b in Ja&&(e=Ja[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,"display"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,"border-box"===n.css(a,"boxSizing",!1,f),f);return g&&(e=T.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,"marginLeft"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:"inline-block"},Fa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function Ra(a,b,c,d,e){return new Ra.prototype.init(a,b,c,d,e)}n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;function Wa(){return a.setTimeout(function(){Sa=void 0}),Sa=n.now()}function Xa(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=U[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ya(a,b,c){for(var d,e=(_a.tweeners[b]||[]).concat(_a.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Za(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&V(a),q=N.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?N.get(a,"olddisplay")||za(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Ua.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?za(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=N.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;N.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ya(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function $a(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function _a(a,b,c){var d,e,f=0,g=_a.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Sa||Wa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:Sa||Wa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for($a(k,j.opts.specialEasing);g>f;f++)if(d=_a.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,Ya,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(_a,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=N.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa("show"),slideUp:Xa("hide"),slideToggle:Xa("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Sa=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ta||(Ta=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(Ta),Ta=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",l.checkOn=""!==a.value,l.optSelected=c.selected,b.disabled=!0,l.optDisabled=!c.disabled,a=d.createElement("input"),a.value="t",a.type="radio",l.radioValue="t"===a.value}();var ab,bb=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return K(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),
-void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\t\r\n\f]/g;function fb(a){return a.getAttribute&&a.getAttribute("class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=fb(this),b&&N.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":N.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+fb(c)+" ").replace(eb," ").indexOf(b)>-1)return!0;return!1}});var gb=/\r/g,hb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(gb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(hb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var ib=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!ib.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),l=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,ib.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}g=0;while((h=p[g++])&&!b.isPropagationStopped())b.type=g>1?j:o.bindType||q,m=(N.get(h,"events")||{})[b.type]&&N.get(h,"handle"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b)}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin="onfocusin"in a,l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var jb=a.location,kb=n.now(),lb=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var mb=/#.*$/,nb=/([?&])_=[^&]*/,ob=/^(.*?):[ \t]*([^\r\n]*)$/gm,pb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qb=/^(?:GET|HEAD)$/,rb=/^\/\//,sb={},tb={},ub="*/".concat("*"),vb=d.createElement("a");vb.href=jb.href;function wb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function xb(a,b,c,d){var e={},f=a===tb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function yb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function zb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Ab(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jb.href,type:"GET",isLocal:pb.test(jb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ub,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?yb(yb(a,n.ajaxSettings),b):yb(n.ajaxSettings,a)},ajaxPrefilter:wb(sb),ajaxTransport:wb(tb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks("once memory"),s=m.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h){h={};while(b=ob.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||jb.href)+"").replace(mb,"").replace(rb,jb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||"*").toLowerCase().match(G)||[""],null==m.crossDomain){j=d.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=vb.protocol+"//"+vb.host!=j.protocol+"//"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),xb(sb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!qb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(lb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=nb.test(f)?f.replace(nb,"$1_="+kb++):f+(lb.test(f)?"&":"?")+"_="+kb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&x.setRequestHeader("If-None-Match",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",m.contentType),x.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+ub+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w="abort";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=xb(tb,m,c,x)){if(x.readyState=1,k&&p.trigger("ajaxSend",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,"No Transport");function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=zb(m,x,d)),u=Ab(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(n.lastModified[f]=w),w=x.getResponseHeader("etag"),w&&(n.etag[f]=w)),204===b||"HEAD"===m.type?y="nocontent":304===b?y="notmodified":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+"",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?"ajaxSuccess":"ajaxError",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger("ajaxComplete",[x,m]),--n.active||n.event.trigger("ajaxStop")))}return x},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Bb=/%20/g,Cb=/\[\]$/,Db=/\r?\n/g,Eb=/^(?:submit|button|image|reset|file)$/i,Fb=/^(?:input|select|textarea|keygen)/i;function Gb(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Cb.test(a)?d(a,e):Gb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Gb(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Gb(c,a[c],b,e);return d.join("&").replace(Bb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Fb.test(this.nodeName)&&!Eb.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Db,"\r\n")}}):{name:b.name,value:c.replace(Db,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Hb={0:200,1223:204},Ib=n.ajaxSettings.xhr();l.cors=!!Ib&&"withCredentials"in Ib,l.ajax=Ib=!!Ib,n.ajaxTransport(function(b){var c,d;return l.cors||Ib&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Hb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Jb=[],Kb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Jb.pop()||n.expando+"_"+kb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Kb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Kb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Kb,"$1"+e):b.jsonp!==!1&&(b.url+=(lb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Jb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ca([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var Lb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Lb)return Lb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function Mb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(e=d.getBoundingClientRect(),c=Mb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ea})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;n.fn[a]=function(d){return K(this,function(a,d,e){var f=Mb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ga(l.pixelPosition,function(a,c){return c?(c=Fa(a,b),Ba.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return K(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Nb=a.jQuery,Ob=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Ob),b&&a.jQuery===n&&(a.jQuery=Nb),n},b||(a.jQuery=a.$=n),n});
diff --git a/Zplot/js/plotPanelControl/PlotPanel.js b/Zplot/js/plotPanelControl/PlotPanel.js
deleted file mode 100644
index cab1d86..0000000
--- a/Zplot/js/plotPanelControl/PlotPanel.js
+++ /dev/null
@@ -1,226 +0,0 @@
-function initPlotPanel(div, serverUrl, drawControl,plotEditControl,plotting){
-    var plotPanel = document.getElementById(div);
-
-    var treeNodeStyle = document.createElement("div");
-    treeNodeStyle.style.height = '50%';
-    treeNodeStyle.style.width = '100%';
-    treeNodeStyle.style.border = '1px solid #617775';
-    treeNodeStyle.style.overflow ='scroll';
-
-    var treeNode = document.createElement("div");
-    treeNode.id = "tree";
-    treeNode.className = "ztree";
-
-    var iconNodeStyle = document.createElement("div");
-    iconNodeStyle.style.height = '50%';
-    iconNodeStyle.style.width = '100%';
-
-    var iconNode = document.createElement("div");
-    iconNode.id = "icon";
-    iconNode.style.height = '100%';
-    iconNode.style.width = '100%';
-    iconNode.style.border = '1px solid #617775';
-    iconNode.style.overflow ='scroll';
-
-    treeNodeStyle.appendChild(treeNode);
-    iconNodeStyle.appendChild(iconNode);
-
-    plotPanel.appendChild(treeNodeStyle);
-    plotPanel.appendChild(iconNodeStyle);
-
-    function beforeClickTreeNode(treeId, treeNode){
-        var tree = $.fn.zTree.getZTreeObj(treeId);
-        if (treeNode.isParent) {
-            tree.expandNode(treeNode);
-            return false;
-        } else {
-            var iconNode = document.getElementById("icon");
-            iconNode.innerHTML = "";
-            createDrawNodes(treeNode, iconNode, drawControl, serverUrl);
-        }
-    }
-
-    var setting = {
-        view: {
-            dblClickExpand: false,
-            showLine: true,
-            selectedMulti: false
-        },
-        data: {
-            simpleData: {
-                enable:true,
-                idKey: "id",
-                pIdKey: "pId",
-                rootPId: 0
-            }
-        },
-        callback: {
-            beforeClick: beforeClickTreeNode
-        }
-    };
-    var symbolLibManager = plotting.getSymbolLibManager();
-    if(symbolLibManager.isInitializeOK()){
-        var symbolTreeData = analysisSymbolTree(symbolLibManager);
-        $.fn.zTree.init($("#tree"), setting, symbolTreeData);
-    } else {
-        symbolLibManager.initializecompleted.addEventListener(function (result) {
-            if(result.libIDs.length !== 0){
-                var symbolTreeData = analysisSymbolTree(symbolLibManager);
-                $.fn.zTree.init($("#tree"), setting, symbolTreeData);
-            }
-        });
-        symbolLibManager.initializeAsync();
-    }
-}
-
-function analysisSymbolTree(symbolLibManager) {
-    var treeData = [];
-    var idIndex = addBasicCellTreeNodes(treeData);
-
-    for(var i = 0; i < symbolLibManager.getSymbolLibNumber(); i++){
-        var symbolLib = symbolLibManager.getSymbolLibByIndex(i);
-        var rootSymbolInfo = symbolLib.getRootSymbolInfo();
-        var rootSymbolIconUrl = symbolLib.getRootSymbolIconUrl();
-
-        if(rootSymbolInfo.symbolNodeType === "SYMBOL_GROUP"){
-            var rootNode = new Object();
-            rootNode.id = idIndex+i;
-            rootNode.pId = 0;
-            rootNode.name = rootSymbolInfo.symbolName;
-            rootNode.fullName = rootSymbolInfo.symbolName +"/";
-            treeData.push(rootNode);
-
-            idIndex = innerAnalysisSymbolTree(rootSymbolInfo.childNodes, treeData, rootNode, rootSymbolIconUrl);
-        }
-
-    }
-
-    return treeData;
-}
-
-function createDrawNodes(treeNode, iconNode, drawControl, serverUrl){
-    var drawNodeClick = function(){
-        if(drawControl !== null){
-            drawControl.deactivate();
-            drawControl.libID = this.libID;
-            drawControl.code = this.symbolCode;
-            //设置标号默认的模型路径
-            drawControl.drawFinishEvent.addEventListener(function (geo) {
-                if(geo.symbolType  === SuperMap.Plot.SymbolType.DOTSYMBOL ){
-                    geo.modelPath = './SampleData/plot/Cesium_Air.gltf';
-                }
-            });
-            drawControl.serverUrl = this.serverUrl;
-
-            drawControl.activate();
-            if(undefined !== plotEditControl){
-                plotEditControl.deactivate();
-            }
-        }
-    }
-
-    var me = this;
-    var drawData = treeNode.drawData;
-
-    var table = document.createElement("table");
-    table.style.height = "100%";
-    table.style.width = "100%";
-    var i = 0;
-    var rowLength = (drawData.length%3 === 0) ? drawData.length/3 : drawData.length/3+1;
-    for(var j = 0; j < rowLength; j++){
-        var tr = document.createElement("tr");
-        for(var k = 0; k < 3; k++){
-            if(drawData[i]){
-                //存储菜单信息
-                var td = document.createElement("td");
-                var drawNode = document.createElement("div");
-                drawNode.onclick = drawNodeClick;
-                drawNode.style.textAlign = "center";
-                drawNode.id = drawData[i].libID+ ""+ drawData[i].symbolCode;
-                drawNode.libID = drawData[i].libID;
-                drawNode.symbolCode = drawData[i].symbolCode;
-                drawNode.serverUrl = serverUrl;
-                //图片
-                var img = document.createElement("img");
-                img.src = drawData[i].icon;
-                //文本
-                var text = document.createElement("div");
-                text.innerHTML =  drawData[i].symbolName;
-
-                drawNode.appendChild(img);
-                drawNode.appendChild(text);
-                td.appendChild(drawNode);
-
-                tr.appendChild(td);
-            }
-            i++;
-        }
-        table.appendChild(tr);
-    }
-
-    iconNode.appendChild(table);
-}
-
-function addBasicCellTreeNodes(treeData){
-    var cellRootNode = new Object();
-    cellRootNode.id = 1;
-    cellRootNode.pId = 0;
-    cellRootNode.name = "基本标号";
-    cellRootNode.fullName = "BasicCell" +"/";
-    cellRootNode.drawData = [];
-    treeData.push(cellRootNode);
-
-    var symbolCode = [24, 28, 29, 31, 34, 410, 32, 590, 360, 390, 400, 350, 26, 370, 380, 44, 48, /*320,*/
-        1019, 1022, /*1024, 321,1023,*/  1025, 1013, 1014,3801,4401 /*1016, 1017, 1026,*/ /*1001 1003, 1004*/];
-    var symbolName = ["折线", "平行四边形", "圆", "椭圆", "注记", "正多边形", "多边形", "贝塞尔曲线", "闭合贝塞尔曲线",
-        "集结地", "大括号", "梯形", "矩形", "弓形", "扇形", "弧线", "平行线", /*"注记指示框",*/ "同心圆", "组合圆",
-        /*"标注框", "多角标注框","自由线",*/ "节点链", "跑道形", "八字形","扇形","弧线"/*"箭头线", "沿线注记", "线型标注", "对象间连线"*/
-        /*"多边形区域", "扇形区域"*/];
-    var cellId = cellRootNode.id + 1;
-    for(var i = 0; i < symbolCode.length; i++){
-        var drawCellNode = {
-            id: cellId++,
-            pId: 0,
-            icon:"js/plotPanelControl/" + cellRootNode.fullName + symbolCode[i] + ".png",
-            symbolCode: symbolCode[i],
-            libID: 0,
-            symbolName: symbolName[i]
-        };
-        cellRootNode.drawData.push(drawCellNode);
-    }
-
-    return cellId;
-}
-
-
-function innerAnalysisSymbolTree(childSymbolInfos, treeData, parentNode, rootSymbolIconUrl){
-    var drawData = [];
-    var treeNodeId = parentNode.id+1;
-    for(var i = 0; i < childSymbolInfos.length; i++){
-        if(childSymbolInfos[i].symbolNodeType === "SYMBOL_GROUP"){
-            var treeNode = new Object();
-            treeNode.id = treeNodeId++;
-            treeNode.pId = parentNode.id;
-            treeNode.name = childSymbolInfos[i].symbolName;
-            treeNode.fullName = parentNode.fullName + childSymbolInfos[i].symbolName+"/";
-            treeData.push(treeNode);
-
-            treeNodeId = innerAnalysisSymbolTree(childSymbolInfos[i].childNodes, treeData, treeNode, rootSymbolIconUrl);
-        } else if(childSymbolInfos[i].symbolNodeType === "SYMBOL_NODE"){
-            var drawNode = new Object();
-            drawNode.id = treeNodeId++;
-            drawNode.pId = parentNode.id;
-            drawNode.icon = rootSymbolIconUrl + parentNode.fullName + childSymbolInfos[i].symbolCode + ".png";
-            drawNode.symbolCode = childSymbolInfos[i].symbolCode;
-            drawNode.libID = childSymbolInfos[i].libID;
-            drawNode.symbolName = childSymbolInfos[i].symbolName + "_" + childSymbolInfos[i].symbolCode;
-            drawData.push(drawNode);
-        }
-    }
-
-    if(drawData.length !== 0){
-        parentNode.drawData = drawData;
-    }
-
-    return treeNodeId;
-}
\ No newline at end of file
diff --git a/Zplot/js/plotPanelControl/PlottingUI.Include.js b/Zplot/js/plotPanelControl/PlottingUI.Include.js
deleted file mode 100644
index 497bec7..0000000
--- a/Zplot/js/plotPanelControl/PlottingUI.Include.js
+++ /dev/null
@@ -1,31 +0,0 @@
-(function() {
-   // var isWinRT = (typeof Windows === "undefined") ? false : true;
-    var r = new RegExp("(^|(.*?\\/))(PlottingUI.Include\.js)(\\?|$)"),
-    s = document.getElementsByTagName('script'),
-    src, m, baseurl = "";
-    for(var i=0, len=s.length; i<len; i++) {
-        src = s[i].getAttribute('src');
-        if(src) {
-            var m = src.match(r);
-            if(m) {
-                baseurl = m[1];
-                break;
-            }
-        }
-    }
-    function inputScript(inc){
-       // if (!isWinRT) {
-            var script = '<' + 'script type="text/javascript" src="' + inc + '"' + '><' + '/script>';
-            document.writeln(script);
-   //     } else {
-   //         var script = document.createElement("script");
-    //        script.src = inc;
-    //        document.getElementsByTagName("HEAD")[0].appendChild(script);
-      //  }
-    }
-    //加载类库资源文件
-    function loadSMLibs() {
-        inputScript(baseurl+'PlottingUI.js');
-    }
-    loadSMLibs();
-})();
diff --git a/Zplot/js/plotPanelControl/PlottingUI.js b/Zplot/js/plotPanelControl/PlottingUI.js
deleted file mode 100644
index 809c5a6..0000000
--- a/Zplot/js/plotPanelControl/PlottingUI.js
+++ /dev/null
@@ -1,46 +0,0 @@
-//var isWinRT = (typeof Windows === "undefined") ? false : true;
-{
-    inputLink("colorpicker/css/colorpicker.css");
-    inputLink("colorpicker/css/layout.css");
-    inputLink("jquery-easyui-1.4.4/css/easyui.css");
-    inputLink("zTree/css/zTreeStyle.css");
-
-    inputScript("jquery-easyui-1.4.4/jquery.min.js");
-    inputScript("jquery-easyui-1.4.4/jquery-ui.js");
-    inputScript("jquery-easyui-1.4.4/jquery.easyui.min.js");
-
-    inputScript("colorpicker/js/colorpicker.js");
-    inputScript("colorpicker/js/colorpickerEditor.js");
-    inputScript("colorpicker/js/eye.js");
-    inputScript("colorpicker/js/utils.js");
-    inputScript("colorpicker/js/layout.js");
-
-    inputScript("zTree/jquery.ztree.core.js");
-
-    inputScript("./PlotPanel.js");
-    inputScript("./StylePanel.js");
-    // inputScript("TreePanel.js");
-
-}
-
-function inputLink(inc){
-    //if (!isWinRT) {
-        var link = '<' + 'link rel="stylesheet" type="text/css" media="screen,projection" href="js/plotPanelControl/' + inc + '"' + '><' + '/>';
-        document.writeln(link);
-    //} else {
-    //    var link = document.createElement("link");
-    //    link.href = "../PlottingPanel/zTree/" + inc;
-    //    document.getElementsByTagName("HEAD")[0].appendChild(link);
-    //}
-}
-
-function inputScript(inc){
-    //if (!isWinRT) {
-        var script = '<' + 'script type="text/javascript" src="js/plotPanelControl/' + inc + '"' + '><' + '/script>';
-        document.writeln(script);
-    //} else {
-    //    var script = document.createElement("script");
-    //    script.src = "../PlottingPanel/zTree/" + inc;
-    //    document.getElementsByTagName("HEAD")[0].appendChild(script);
-    //}
-}
diff --git a/Zplot/js/plotPanelControl/StylePanel.js b/Zplot/js/plotPanelControl/StylePanel.js
deleted file mode 100644
index 2918944..0000000
--- a/Zplot/js/plotPanelControl/StylePanel.js
+++ /dev/null
@@ -1,1250 +0,0 @@
-/**
- * Created by Administrator on 2017/12/8 0008.
- */
-
-    /**
-     * 属性面板管理器
-     * @param options
-     * {
-     *   div - 属性面板div
-     *   scene - viewer.scene
-     *   graphicObjectHandler - 标绘Handler
-     * }
-     * @constructor
-     * @example
-     */
-    var StylePanel = function(div,plotEditControl,plotting) {
-        var _self = this;
-        this._div = div;
-        this._plottingEdit = plotEditControl;
-        this._plotting = plotting;
-        this._selectedFeature = undefined;
-        this._group = ["基本", "衬线", "军标大小", "线型", "填充", "文本", "子标号",  "箭头类型", "缩放比例", "旋转角度", "图片大小"];
-        this._displayName = ["镜像", "标号级别", "点标号显示模式", "模型路径", "图片路径", "整体高度", "Width", "Height", "x", "y", "z", "拉伸高度", "模型缩放","矢量缩放"];
-        this._displayLineStyleName = ["线宽", "边线颜色", "线型"];
-        this._displayFillStyleName = ["背景色", "背景透明", "渐变填充角度", "渐变填充模式", "渐变填充竖直偏移", "渐变填充水平偏移", "前景色", "填充模式", "填充透明度"];
-        this._displayTextContentName = ["注记内容", "注记位置", "字体背景颜色", "注记大小", "注记字体", "注记颜色", "字体边框", "边框宽度", "边框颜色"];
-        this._displaySurroundLineName = ["衬线类型", "衬线宽", "衬线颜色", "衬线透明度"];
-		this._displayPositionName = ["经度", "纬度", "高度"];
-        this._displayExtendWallName = ["绘制墙"];
-        this.init();
-        // 标号被选中回调函数
-        this._plottingEdit.SelectedEvent.addEventListener(function(geoGraphicObject) {
-            _self._selectedFeature = geoGraphicObject;
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-        });
-
-        // 选中标号被释放回调函数
-        this._plottingEdit.UnSelectedEvent.addEventListener(function() {
-            _self._selectedFeature = undefined;
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-        });
-
-        this._plottingEdit.ModifiedEvent.addEventListener(function (geoGraphicObject) {
-            _self._selectedFeature = geoGraphicObject;
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-
-        });
-
-        this._plottingEdit.RemoveFeatureEvent.addEventListener(function() {
-            _self._selectedFeature = undefined;
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-        });
-
-    };
-
-
-
-
-    /**
-     * @private
-     * @function init
-     * @description 初始化属性面板
-     */
-    StylePanel.prototype.init = function() {
-
-        var _self = this;
-
-        function afterModifySelectFeature() {
-            var updated = $('#pg').propertygrid('getChanges', "updated");
-            if (updated.length !== 0) {
-                _self.updateSelectFeature(updated[0], _self._selectedFeature);
-            }
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-        }
-
-        var stylePanel = document.getElementById(_self._div);
-        var propertygrid = document.createElement('table');
-        propertygrid.id = "pg";
-        propertygrid.className = "easyui-propertygrid";
-        stylePanel.appendChild(propertygrid);
-
-        $('#pg').propertygrid({
-            showGroup:true,
-            columns : [[
-                { field : 'name', title: 'Name', width: 100, resizable: true },
-                { field : 'value', title: 'Value', width: 100, resizable: true }
-            ]],
-            onAfterEdit : afterModifySelectFeature
-        });
-    };
-
-    /**
-     * @param graphicObject
-     * @returns {Array}
-     */
-    StylePanel.prototype.collectionPropertyGridRows = function(graphicObject) {
-
-        if (null === graphicObject || undefined === graphicObject || graphicObject.symbolName === "GroupObject") {
-            return [];
-        }
-
-        var rows = [];
-        if (null !== graphicObject && undefined !== graphicObject) {
-            rows = [
-                {"name": "标号ID", "value": graphicObject.id, "group": "标号"},
-                {"name": "标号库ID", "value": graphicObject.libID, "group": "标号"},
-                {"name": "标号code", "value": graphicObject.code, "group": "标号"},
-                {"name": "标号名字", "value": graphicObject.symbolName, "group": "标号"}
-            ];
-
-            var annotationRows = this.getAnnotationRows(graphicObject);
-            var symbolRankRows = this.getSymbolRankRows(graphicObject);
-            var surroundLineTypeRows = this.getSurroundLineTypeRows(graphicObject);
-            var dotShowModeRows = this.getDotShowModeRows(graphicObject);
-            var fillSymbolIDRows = this.getFillSymbolIDRows(graphicObject);
-            var fillGradientRows = this.getFillGradientModeRows(graphicObject);
-            var lineStyleRows = this.getLineStyleRows(graphicObject);
-            var subSymbolsTypeRows = this.getSubSymbolsTypeRows(graphicObject);
-
-
-            // 镜像
-            var dotSymbolNegativeImageObj = new Object();
-            dotSymbolNegativeImageObj.name = this._displayName[0];
-            dotSymbolNegativeImageObj.value = this.checkboxValueToString(this._selectedFeature.isNegativeImage);
-            dotSymbolNegativeImageObj.group = this._group[0];
-            dotSymbolNegativeImageObj.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
-
-            // 标号级别
-            var dotSymbolRankObj = new Object();
-            dotSymbolRankObj.name = this._displayName[1];
-            dotSymbolRankObj.value = this.symbolRankToString(this._selectedFeature.symbolRank);
-            dotSymbolRankObj.group = this._group[0];
-            dotSymbolRankObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": symbolRankRows}
-            };
-
-            // 显示模式
-            var dotSymbolShowModeObj = new Object();
-            dotSymbolShowModeObj.name = this._displayName[2];
-            dotSymbolShowModeObj.value = this.showModeToString(this._selectedFeature.showMode);
-            dotSymbolShowModeObj.group = this._group[0];
-            dotSymbolShowModeObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": dotShowModeRows}
-            };
-
-            // 模型ID
-            var modelIdObj = new Object();
-            modelIdObj.name = this._displayName[3];
-            modelIdObj.value = this._selectedFeature.modelPath;
-            modelIdObj.group = this._group[0];
-            modelIdObj.editor = "text";
-
-            // 图片路径
-            var picturePathObj = new Object();
-            picturePathObj.name = this._displayName[4];
-            picturePathObj.value = this._selectedFeature.picturePath;
-            picturePathObj.group = this._group[0];
-            picturePathObj.editor = "text";
-
-
-            // 线宽
-            var lineWidthObj = new Object();
-            lineWidthObj.name = this._displayLineStyleName[0];
-            lineWidthObj.value = 1 === graphicObject._symbolType ? this._selectedFeature.gridLineWidth : this._selectedFeature.symbolStyle.lineWidth;
-            lineWidthObj.group = this._group[3];
-            lineWidthObj.editor = "text";
-
-            // 线色
-            var lineColorObj = new Object();
-            lineColorObj.name = this._displayLineStyleName[1];
-            lineColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolStyle.lineColor);
-            lineColorObj.group = this._group[3];
-            lineColorObj.editor = "colorpicker";
-
-            //拉伸墙
-            var extendWallObj = new Object();
-            extendWallObj.name = this._displayExtendWallName[0];
-            extendWallObj.value = this._selectedFeature.extendWallHeight;
-            extendWallObj.group = "绘制墙";
-            extendWallObj.editor = "text";
-
-            // 线型
-            var lineStyleObj = new Object();
-            lineStyleObj.name = this._displayLineStyleName[2];
-            lineStyleObj.value = this.lineStyleToString(this._selectedFeature.lineSymbolID);
-            lineStyleObj.group = this._group[3];
-            lineStyleObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": lineStyleRows}
-            };
-
-            // 填充背景色
-            var fillBackColorObj = new Object();
-            fillBackColorObj.name = this._displayFillStyleName[0];
-            fillBackColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolStyle.fillBackColor);
-            fillBackColorObj.group = this._group[4];
-            fillBackColorObj.editor = "colorpicker";
-
-            // 背景透明
-            var fillBackOpaqueObj = new Object();
-            fillBackOpaqueObj.name = this._displayFillStyleName[1];
-            fillBackOpaqueObj.value = this._selectedFeature.symbolStyle.fillBackOpaque;
-            fillBackOpaqueObj.group = this._group[4];
-            fillBackOpaqueObj.editor = {"type": "checkbox", "options": {"on": true, "off": false}};
-
-            // 渐变填充角度
-            var fillGradientAngleObj = new Object();
-            fillGradientAngleObj.name = this._displayFillStyleName[2];
-            fillGradientAngleObj.value = this._selectedFeature.symbolStyle.fillGradientAngle;
-            fillGradientAngleObj.group = this._group[4];
-            fillGradientAngleObj.editor = "text";
-
-            // 渐变填充模式
-            var fillGradientModeObj = new Object();
-            fillGradientModeObj.name = this._displayFillStyleName[3];
-            fillGradientModeObj.value = this.fillGradientModeToString(this._selectedFeature.symbolStyle.fillGradientMode);
-            fillGradientModeObj.group = this._group[4];
-            fillGradientModeObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": fillGradientRows}
-            };
-
-            // 渐变填充竖直偏移
-            var fillGradientOffsetRatioYObj = new Object();
-            fillGradientOffsetRatioYObj.name = this._displayFillStyleName[4];
-            fillGradientOffsetRatioYObj.value = this._selectedFeature.symbolStyle.fillGradientOffsetRatioY;
-            fillGradientOffsetRatioYObj.group = this._group[4];
-            fillGradientOffsetRatioYObj.editor = "text";
-
-            // 渐变填充水平偏移
-            var fillGradientOffsetRatioXObj = new Object();
-            fillGradientOffsetRatioXObj.name = this._displayFillStyleName[5];
-            fillGradientOffsetRatioXObj.value = this._selectedFeature.symbolStyle.fillGradientOffsetRatioY;
-            fillGradientOffsetRatioXObj.group = this._group[4];
-            fillGradientOffsetRatioXObj.editor = "text";
-
-            // 前景色
-            var fillForeColorObj = new Object();
-            fillForeColorObj.name = this._displayFillStyleName[6];
-            fillForeColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolStyle.fillForeColor);
-            fillForeColorObj.group = this._group[4];
-            fillForeColorObj.editor = "colorpicker";
-
-            // 填充模式
-            var fillSymbolIdObj = new Object();
-            fillSymbolIdObj.name = this._displayFillStyleName[7];
-            fillSymbolIdObj.value = this.fillSymbolIdToString(this._selectedFeature.symbolStyle.fillSymbolID);
-            fillSymbolIdObj.group = this._group[4];
-            fillSymbolIdObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": fillSymbolIDRows}
-            };
-
-            // 填充透明度
-            var fillOpaqueRateObj = new Object();
-            fillOpaqueRateObj.name = this._displayFillStyleName[8];
-            fillOpaqueRateObj.value = this._selectedFeature.symbolStyle.fillOpaqueRate;
-            fillOpaqueRateObj.group = this._group[4];
-            fillOpaqueRateObj.editor = "text";
-
-            // 文本内容
-            var textContentObj = new Object();
-            textContentObj.name = this._displayTextContentName[0];
-            if (34 == this._selectedFeature.symbolType) {
-                textContentObj.value = this._selectedFeature.textContent;
-            } else {
-                textContentObj.value = this._selectedFeature.textContent;
-            }
-            textContentObj.group = this._group[5];
-            textContentObj.editor = "text";
-
-            // 注记位置
-            var markPosObj = new Object();
-            markPosObj.name = this._displayTextContentName[1];
-            markPosObj.value = this.annotationToString(this._selectedFeature.textPos);
-            markPosObj.group = this._group[5];
-            markPosObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": annotationRows}
-            };
-
-            // 字体背景颜色
-            var fontBackColor = new Object();
-            fontBackColor.name = this._displayTextContentName[2];
-            fontBackColor.value = this.colorGeometryToString(this._selectedFeature.symbolTextStyle.backColor);
-            fontBackColor.group = this._group[5];
-            fontBackColor.editor = "colorpicker";
-
-            // 注记字体大小
-            var fontSizeObj = new Object();
-            fontSizeObj.name = this._displayTextContentName[3];
-            fontSizeObj.value = this._selectedFeature.symbolTextStyle.fontSize;
-            fontSizeObj.group = this._group[5];
-            fontSizeObj.editor = "text";
-
-            // 注记字体名称
-            var fontFamilyObj = new Object();
-            fontFamilyObj.name = this._displayTextContentName[4];
-            fontFamilyObj.value = this._selectedFeature.symbolTextStyle.fontName;
-            fontFamilyObj.group = this._group[5];
-            fontFamilyObj.editor = "text";
-
-            // 注记字体颜色
-            var fontColorObj = new Object();
-            fontColorObj.name = this._displayTextContentName[5];
-            fontColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolTextStyle.foreColor);
-            fontColorObj.group = this._group[5];
-            fontColorObj.editor = "colorpicker";
-
-            // 注记边框
-            var fontHaloObj = new Object();
-            fontHaloObj.name = this._displayTextContentName[6];
-            fontHaloObj.value = this.checkboxValueToString(this._selectedFeature.symbolTextStyle.outline);
-            fontHaloObj.group = this._group[5];
-            fontHaloObj.editor = {"type": "checkbox", "options": {"on": true, "off": false}};
-
-            // 注记边框宽度
-            var outlineWidthObj = new Object();
-            outlineWidthObj.name = this._displayTextContentName[7];
-            outlineWidthObj.value = this._selectedFeature.symbolTextStyle.outlineWidth;
-            outlineWidthObj.group = this._group[5];
-            outlineWidthObj.editor = "text";
-
-            // 注记边框颜色
-            var outlineColorObj = new Object();
-            outlineColorObj.name = this._displayTextContentName[8];
-            outlineColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolTextStyle.outlineColor);
-            outlineColorObj.group = this._group[5];
-            outlineColorObj.editor = "colorpicker";
-
-            // 衬线类型
-            var surroundLineTypeObj = new Object();
-            surroundLineTypeObj.name = this._displaySurroundLineName[0];
-            surroundLineTypeObj.value = this.surroundLineTypeToString(this._selectedFeature);
-            surroundLineTypeObj.group = this._group[1];
-            surroundLineTypeObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": surroundLineTypeRows}
-            };
-
-            // 衬线宽
-            var surroundLineWidthObj = new Object();
-            surroundLineWidthObj.name = this._displaySurroundLineName[1];
-            surroundLineWidthObj.value = 1===this._selectedFeature.symbolType ? this._selectedFeature.gridSurroundLineWidth : this._selectedFeature.symbolStyle.surroundLineWidth;
-            surroundLineWidthObj.group = this._group[1];
-            surroundLineWidthObj.editor = "text";
-
-            // 衬线色
-            var surroundLineColorObj = new Object();
-            surroundLineColorObj.name = this._displaySurroundLineName[2];
-            surroundLineColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolStyle.surroundLineColor);
-            surroundLineColorObj.group = this._group[1];
-            surroundLineColorObj.editor = "colorpicker";
-
-            // 标号大小
-            var gridSymbolSizeXObj, gridSymbolSizeYObj,pictureSymbolSizeXObj,pictureSymbolSizeYObj,rotationX, rotationY,rotationZ,scaleX,scaleY,scaleZ;
-            var modelScale, modelRotateX, modelRotateY, modelRotateZ;
-            if (this._selectedFeature._symbolType === 1) {
-                gridSymbolSizeXObj = new Object();
-                gridSymbolSizeXObj.name = this._displayName[6];
-                gridSymbolSizeXObj.value = parseInt(this._selectedFeature.gridSymbolSize.x);
-                gridSymbolSizeXObj.group = this._group[2];
-                gridSymbolSizeXObj.editor = "text";
-
-                // 标号大小
-                gridSymbolSizeYObj = new Object();
-                gridSymbolSizeYObj.name = this._displayName[7];
-                gridSymbolSizeYObj.value = parseInt(this._selectedFeature.gridSymbolSize.y);
-                gridSymbolSizeYObj.group = this._group[2];
-                gridSymbolSizeYObj.editor = "text";
-
-
-
-
-                // 图片大小X
-                pictureSymbolSizeXObj = new Object();
-                pictureSymbolSizeXObj.name = this._displayName[6];
-                pictureSymbolSizeXObj.value = this._selectedFeature.pictureSymbolSize.x;
-                pictureSymbolSizeXObj.group = this._group[10];
-                pictureSymbolSizeXObj.editor = "text";
-
-                // 图片大小Y
-                pictureSymbolSizeYObj = new Object();
-                pictureSymbolSizeYObj.name = this._displayName[7];
-                pictureSymbolSizeYObj.value = this._selectedFeature.pictureSymbolSize.y;
-                pictureSymbolSizeYObj.group = this._group[10];
-                pictureSymbolSizeYObj.editor = "text";
-                if(2 === this._selectedFeature.showMode){
-                    modelScale = new Object();
-                    modelScale.name = this._displayName[12];
-                    modelScale.value = this._selectedFeature.modelScale.x;
-                    modelScale.group = this._group[8];
-                    modelScale.editor = "text";
-                }else if(0 === this._selectedFeature.showMode){
-
-                    // 缩放比例X
-                    scaleX = new Object();
-                    scaleX.name = this._displayName[13];
-                    scaleX.value = this._selectedFeature.vectorScale;
-                    scaleX.group = this._group[8];
-                    scaleX.editor = "text";
-                }
-
-                if(2 === this._selectedFeature.showMode){
-                    modelRotateX = new Object();
-                    modelRotateX.name = this._displayName[8];
-                    modelRotateX.value = this._selectedFeature.modelRotate.x;
-                    modelRotateX.group = this._group[9];
-                    modelRotateX.editor = "text";
-
-                    modelRotateY = new Object();
-                    modelRotateY.name = this._displayName[9];
-                    modelRotateY.value = this._selectedFeature.modelRotate.y;
-                    modelRotateY.group = this._group[9];
-                    modelRotateY.editor = "text";
-
-                    modelRotateZ = new Object();
-                    modelRotateZ.name = this._displayName[10];
-                    modelRotateZ.value = this._selectedFeature.modelRotate.z;
-                    modelRotateZ.group = this._group[9];
-                    modelRotateZ.editor = "text";
-                }else if(0 === this._selectedFeature.showMode){
-                    // 旋转角度X
-                    rotationX = new Object();
-                    rotationX.name = this._displayName[8];
-                    rotationX.value = this._selectedFeature.vectorRotate.x;
-                    rotationX.group = this._group[9];
-                    rotationX.editor = "text";
-
-                    // 旋转角度Y
-                    rotationY = new Object();
-                    rotationY.name = this._displayName[9];
-                    rotationY.value = this._selectedFeature.vectorRotate.y;
-                    rotationY.group = this._group[9];
-                    rotationY.editor = "text";
-
-                    // 旋转角度Z
-                    rotationZ = new Object();
-                    rotationZ.name = this._displayName[10];
-                    rotationZ.value = this._selectedFeature.vectorRotate.z;
-                    rotationZ.group = this._group[9];
-                    rotationZ.editor = "text";
-                }
-
-            }
-
-            var selectedFeature = this._selectedFeature;
-
-            if (34 === selectedFeature.symbolType
-            ||  20 === selectedFeature.symbolType) {
-                if (20 === selectedFeature.symbolType) {
-                    rows.push(picturePathObj);
-                    rows.push(pictureSymbolSizeXObj);
-                    rows.push(pictureSymbolSizeYObj);
-                } else {
-                    rows.push(textContentObj);
-                    rows.push(fontHaloObj);
-                    rows.push(fontBackColor);
-                    rows.push(fontSizeObj);
-                    rows.push(fontFamilyObj);
-                    rows.push(fontColorObj);
-                    rows.push(outlineWidthObj);
-                    rows.push(outlineColorObj);
-                }
-            }
-            // 点标号
-            if (1 === selectedFeature.symbolType) {
-                if (0 === selectedFeature.showMode
-                    || 1 === selectedFeature.showMode) {
-                    rows.push(surroundLineTypeObj);
-                    rows.push(surroundLineWidthObj);
-                    rows.push(surroundLineColorObj);
-                    rows.push(dotSymbolRankObj);
-                }
-                rows.push(dotSymbolShowModeObj);
-                if (1 === selectedFeature.showMode) {
-                    rows.push(dotSymbolNegativeImageObj);
-                }
-                rows.push(modelIdObj);
-                if (0 === selectedFeature.showMode) {
-                    rows.push(scaleX);
-                    rows.push(rotationX);
-                    rows.push(rotationY);
-                    rows.push(rotationZ);
-                }
-                if (2 === selectedFeature.showMode) {
-                	rows.push(modelScale);
-                	rows.push(modelRotateX);
-                	rows.push(modelRotateY);
-                	rows.push(modelRotateZ);
-                }
-                if (3 === selectedFeature.showMode) {
-                    rows.push(pictureSymbolSizeXObj);
-                    rows.push(pictureSymbolSizeYObj);
-                }
-                rows.push(picturePathObj);
-                if (0 === selectedFeature.showMode
-                    || 1 === selectedFeature.showMode) {
-                    rows.push(fillBackColorObj);
-                    rows.push(fillBackOpaqueObj);
-                    rows.push(fillGradientAngleObj);
-                    rows.push(fillGradientModeObj);
-                    rows.push(fillGradientOffsetRatioYObj);
-                    rows.push(fillGradientOffsetRatioXObj);
-                    rows.push(fillForeColorObj);
-                    rows.push(fillSymbolIdObj);
-                    rows.push(fillOpaqueRateObj);
-                }
-                if (0 === selectedFeature.showMode
-                ||  1 === selectedFeature.showMode
-                ||  2 === selectedFeature.showMode) {
-                    rows.push(textContentObj);
-                    rows.push(fontSizeObj);
-                    rows.push(fontColorObj);
-                    rows.push(fontFamilyObj);
-                    rows.push(markPosObj);
-                    rows.push(fontHaloObj);
-                    rows.push(outlineWidthObj);
-                    rows.push(outlineColorObj);
-                }
-                if (0 === selectedFeature.showMode
-                ||  1 === selectedFeature.showMode) {
-                    rows.push(lineWidthObj);
-                    rows.push(lineColorObj);
-                    if (1 === selectedFeature.showMode) {
-                        rows.push(lineStyleObj);
-                        rows.push(gridSymbolSizeXObj);
-                        rows.push(gridSymbolSizeYObj);
-                    }
-                }
-
-                var longitudeObj = new Object();
-                longitudeObj.name = this._displayPositionName[0];
-                longitudeObj.value = selectedFeature.localPoints[0].x;
-                longitudeObj.group = "位置点";
-                longitudeObj.index = 0;
-                longitudeObj.editor = "text";
-
-                var latitudeObj = new Object();
-                latitudeObj.name = this._displayPositionName[1];
-                latitudeObj.value = selectedFeature.localPoints[0].y;
-                latitudeObj.group = "位置点";
-                latitudeObj.index = 0;
-                latitudeObj.editor = "text";
-
-                var altitudeObj = new Object();
-                altitudeObj.name = this._displayPositionName[2];
-                altitudeObj.value = selectedFeature.localPoints[0].z;
-                altitudeObj.group = "位置点";
-                altitudeObj.index = 0;
-                altitudeObj.editor = "text";
-
-                rows.push(longitudeObj);
-                rows.push(latitudeObj);
-                rows.push(altitudeObj);
-            }
-            else {
-                rows.push(surroundLineTypeObj);
-                rows.push(surroundLineWidthObj);
-                rows.push(surroundLineColorObj);
-                rows.push(fillBackColorObj);
-                rows.push(fillBackOpaqueObj);
-                rows.push(fillGradientAngleObj);
-                rows.push(fillGradientModeObj);
-                rows.push(fillGradientOffsetRatioYObj);
-                rows.push(fillGradientOffsetRatioXObj);
-                rows.push(fillForeColorObj);
-                rows.push(fillSymbolIdObj);
-                rows.push(fillOpaqueRateObj);
-                rows.push(lineWidthObj);
-                rows.push(lineColorObj);
-                rows.push(extendWallObj);
-
-                if(selectedFeature.subSymbols){
-                    //子标号
-                    for (var i=0; i<selectedFeature.subSymbols.length; ++i) {
-                        var objectSubCode = new Object();
-                        objectSubCode.name = "Code";
-                        objectSubCode.value = selectedFeature.subSymbols[i].code;
-                        objectSubCode.group = this._group[6];
-                        objectSubCode.editor = {"type":'combobox', "options" : { "valueField": 'value', "textField": 'text', "data" : subSymbolsTypeRows }};
-                        objectSubCode.index = i;
-                        rows.push(objectSubCode);
-                    }
-                    if ((0 === selectedFeature.subSymbols.length && 0 === selectedFeature.libID && 1025 === selectedFeature.code) ||
-                        (0 === selectedFeature.subSymbols.length && 100 === selectedFeature.libID && 25200 === selectedFeature.code) ||
-                        (0 === selectedFeature.subSymbols.length && 100 === selectedFeature.libID && 3020901 === selectedFeature.code)) {
-                        var objectSubCode1 = new Object();
-                        objectSubCode1.name = "Code";
-                        objectSubCode1.value = subSymbolsTypeString(selectedFeature.subSymbols.length, selectedFeature);
-                        objectSubCode1.group = this._group[6];
-                        objectSubCode1.editor = {"type" : 'combobox', "options" : { "valueField" : 'value', "textField" : "text", "data" : subSymbolsTypeRows }};
-                        objectSubCode1.index = i;
-                        rows.push(objectSubCode1);
-                    }
-                }
-
-
-                if (1025 === selectedFeature.symbolType && selectedFeature.subSymbols.length > 0) {
-                    var objectLibID = new Object();
-                    objectLibID.name = "LibID";
-                    objectLibID.value = libIDToString(selectedFeature.subSymbols[0].libID);
-                    objectLibID.group = this._group[6];
-                    objectLibID.editor = "text";
-                    rows.push(objectLibID);
-                }
-
-                for (var i=0; i<selectedFeature.localPoints.length; ++i) {
-                	var longitudeObj = new Object();
-                	longitudeObj.name = this._displayPositionName[0];
-                	longitudeObj.value = selectedFeature.localPoints[i].x;
-                	longitudeObj.group = "位置点"+(i+1);
-                	longitudeObj.index = i;
-                	longitudeObj.editor = "text";
-
-                	var latitudeObj = new Object();
-                	latitudeObj.name = this._displayPositionName[1];
-                	latitudeObj.value = selectedFeature.localPoints[i].y;
-                	latitudeObj.group = "位置点"+(i+1);
-                	latitudeObj.index = i;
-                	latitudeObj.editor = "text";
-
-                	var altitudeObj = new Object();
-                	altitudeObj.name = this._displayPositionName[2];
-                	altitudeObj.value = selectedFeature.localPoints[i].z;
-                    altitudeObj.group = "位置点"+(i+1);
-                    altitudeObj.index = i;
-                    altitudeObj.editor = "text";
-
-                    rows.push(longitudeObj);
-                    rows.push(latitudeObj);
-                    rows.push(altitudeObj);
-                }
-            }
-            return rows;
-        }
-    };
-
-    StylePanel.prototype.updateSelectFeature = function(updated, selectFeature) {
-        var _self = this;
-        if (null != updated && selectFeature) {
-            switch (updated.name) {
-                case this._displayName[0]:
-                    selectFeature.isNegativeImage = this.fromCheckboxValue(updated.value);
-                    break;
-                case this._displayName[1]:
-                    selectFeature.symbolRank = parseInt(updated.value);
-                    break;
-                case this._displayName[2]:
-                    var mode = parseInt(updated.value);
-                    if (2 === mode && 0 === selectFeature.modelPath.length) {
-                        return;
-                    }
-                    if (3 === mode && 0 === selectFeature.picturePath.length) {
-                        return;
-                    }
-                    selectFeature.showMode = parseInt(updated.value);
-                    break;
-                case this._displayName[3]:
-                    selectFeature.modelPath = updated.value;
-                    break;
-                case this._displayName[4]:
-                    selectFeature.picturePath = updated.value;
-                    break;
-                case this._displayName[5]:
-                    selectFeature.symbolStyle.wholeHeight = parseInt(updated.value);
-                    break;
-                case this._displayName[6]:
-                    if (updated.group === this._group[10]) {
-                        selectFeature.pictureSymbolSize = new cesium.Cartesian2(x = parseInt(updated.value),y = selectFeature.pictureSymbolSize.y);
-                    } else {
-                        selectFeature.gridSymbolSize =  new cesium.Cartesian2(x = parseInt(updated.value),y = selectFeature.gridSymbolSize.y);
-                    }
-                    break;
-                case this._displayName[7]:
-                    if (updated.group === this._group[10]) {
-                        selectFeature.pictureSymbolSize = new cesium.Cartesian2(x = selectFeature.pictureSymbolSize.x,y = parseInt(updated.value));
-                    } else {
-                        selectFeature.gridSymbolSize =  new cesium.Cartesian2(x = selectFeature.gridSymbolSize.x,y = parseInt(updated.value));
-                    }
-                    break;
-                case this._displayName[8]:
-                    if (updated.group === this._group[8]) {
-                        selectFeature.scale.x = parseInt(updated.value);
-                    } else if (updated.group === this._group[9]) {
-                        if (2 === selectFeature.showMode) {
-                            var rotate = selectFeature.modelRotate;
-                            selectFeature.setModelRotate(parseInt(updated.value), rotate.y , rotate.z);
-                        } else {
-                            var rotate = selectFeature.vectorRotate;
-                            selectFeature.setVectorRotate(parseInt(updated.value), rotate.y , rotate.z);
-                        }
-                    }
-                    break;
-                case this._displayName[9]:
-                    if (updated.group === this._group[8]) {
-                        selectFeature.scale.y = parseInt(updated.value);
-                    } else if (updated.group === this._group[9]) {
-                        if (2 === selectFeature.showMode) {
-                            var rotate = selectFeature.modelRotate;
-                            selectFeature.setModelRotate(rotate.x,  parseInt(updated.value), rotate.z);
-                        } else {
-                            var rotate = selectFeature.vectorRotate;
-                            selectFeature.setVectorRotate(rotate.x,  parseInt(updated.value), rotate.z);
-                        }
-                    }
-                    break;
-                case this._displayName[10]:
-                    if (updated.group === this._group[8]) {
-                        selectFeature.scale.z = parseInt(updated.value);
-                    } else if (updated.group === this._group[9]) {
-                        if (2 === selectFeature.showMode) {
-                            var rotate = selectFeature.modelRotate;
-                            selectFeature.setModelRotate(rotate.x, rotate.y, parseInt(updated.value));
-                        } else {
-                            var rotate = selectFeature.vectorRotate;
-                            selectFeature.setVectorRotate(rotate.x, rotate.y, parseInt(updated.value));
-                        }
-                    }
-                    break;
-                case this._displayName[12]:
-                    var modelScale = selectFeature.modelScale;
-                    selectFeature.modelScale = new cesium.Cartesian3(parseInt(updated.value),modelScale.y,modelScale.z);
-                    break;
-                case this._displayName[13]:
-                    selectFeature.vectorScale = parseFloat(updated.value);
-                    break;
-                case this._displaySurroundLineName[0]:
-                    selectFeature.symbolStyle.surroundLineType = parseInt(updated.value);
-                    break;
-                case this._displaySurroundLineName[1]:
-                    if (1 === selectFeature.symbolType) {
-                        selectFeature.gridSurroundLineWidth = parseInt(updated.value);
-                    } else {
-                        selectFeature.symbolStyle.surroundLineWidth = parseInt(updated.value);
-                    }
-                    break;
-                case this._displaySurroundLineName[2]:
-                    selectFeature.symbolStyle.surroundLineColor = colorConvert(updated.value);
-                    break;
-                case this._displaySurroundLineName[3]:
-                    break;
-                case this._displayFillStyleName[0]:
-                    selectFeature.symbolStyle.fillBackColor = colorConvert(updated.value);
-                    break;
-                case this._displayFillStyleName[1]:
-                    selectFeature.symbolStyle.fillBackOpaque = this.fromCheckboxValue(updated.value);
-                    break;
-                case this._displayFillStyleName[2]:
-                    selectFeature.symbolStyle.fillGradientAngle = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[3]:
-                    selectFeature.symbolStyle.fillGradientMode = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[4]:
-                    selectFeature.symbolStyle.fillGradientOffsetRatioY = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[5]:
-                    selectFeature.symbolStyle.fillGradientOffsetRatioX = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[6]:
-                    selectFeature.symbolStyle.fillForeColor = colorConvert(updated.value);
-                    break;
-                case this._displayFillStyleName[7]:
-                    selectFeature.symbolStyle.fillSymbolID = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[8]:
-                    selectFeature.symbolStyle.fillOpaqueRate = parseInt(updated.value);
-                    break;
-                case this._displayLineStyleName[0]:
-                    if (1===selectFeature.symbolType) {
-                        selectFeature.gridLineWidth = parseFloat(updated.value);
-                    } else {
-                        selectFeature.symbolStyle.lineWidth = parseFloat(updated.value);
-                    }
-                    break;
-                case this._displayLineStyleName[1]:
-                    selectFeature.symbolStyle.lineColor = colorConvert(updated.value);
-                    break;
-                case this._displayLineStyleName[2]:
-                    selectFeature.lineSymbolID = parseInt(updated.value);
-                    break;
-                case this._displayTextContentName[0]:
-                    selectFeature.textContent = updated.value;
-                    break;
-                case this._displayTextContentName[1]:
-                    selectFeature.textPos = parseInt(updated.value);
-                    break;
-                case this._displayTextContentName[2]:
-                    selectFeature.symbolTextStyle.backColor = colorConvert(updated.value);
-                    break;
-                case this._displayTextContentName[3]:
-                    selectFeature.symbolTextStyle.fontSize = parseInt(updated.value);
-                    break;
-                case this._displayTextContentName[4]:
-                    selectFeature.symbolTextStyle.fontName = updated.value;
-                    break;
-                case this._displayTextContentName[5]:
-                    selectFeature.symbolTextStyle.foreColor = colorConvert(updated.value);
-                    break;
-                case this._displayTextContentName[6]:
-                    selectFeature.symbolTextStyle.outline = this.fromCheckboxValue(updated.value);
-                    break;
-                case this._displayTextContentName[7]:
-                    selectFeature.symbolTextStyle.outlineWidth = parseFloat(updated.value);
-                    break;
-                case this._displayTextContentName[8]:
-                    selectFeature.symbolTextStyle.outlineColor = colorConvert(updated.value);
-                    break;
-                case this._displayPositionName[0]:
-                    var pts = [];
-                    for (var i=0; i<selectFeature.localPoints.length; ++i) {
-                        pts.push(selectFeature.localPoints[i].clone());
-                    }
-                    pts[updated.index].x = parseInt(updated.value);
-                    selectFeature.localPoints = pts;
-                    break;
-                case this._displayPositionName[1]:
-                    var pts = [];
-                    for (var i=0; i<selectFeature.localPoints.length; ++i) {
-                        pts.push(selectFeature.localPoints[i].clone());
-                    }
-                    pts[updated.index].y = parseInt(updated.value);
-                    selectFeature.localPoints = pts;
-                    break;
-                case this._displayPositionName[2]:
-                    var pts = [];
-                    for (var i=0; i<selectFeature.localPoints.length; ++i) {
-                        pts.push(selectFeature.localPoints[i].clone());
-                    }
-                    pts[updated.index].z = parseInt(updated.value);
-                    selectFeature.localPoints = pts;
-                    break;
-                case this._displayExtendWallName[0]:
-                    selectFeature.extendWallHeight = updated.value;
-                    break;
-                default:
-                    break;
-            }
-            if (updated.group == this._group[6]) {
-                if (updated.name == "LibID") {
-                    if (null !== updated.value) {
-                        selectFeature.subSymbols[0].libID = parseInt(updated.value);
-                    }
-                }
-                //设置子标号
-                if (updated.name == "Code") {
-                    var code = parseInt(updated.value);
-
-                    if(selectFeature.symbolType === 1025 && code != null) {
-                        var symbolLibManager = this._plotting.getSymbolLibManager();
-                        var subCode = symbolLibManager.findSymbolByCode(code);
-                        if(subCode.length !== 0 && subCode[0].symbolType === "SYMBOL_DOT"){
-                            //selectFeature.subSymbols[updated.index] = {libID : subCode[0].libID, code : code};
-                            var temp = {libID : subCode[0].libID, code : code};
-                            selectFeature.setSubSymbols(temp,updated.index);
-                        }
-
-                    } else {
-                        var temp = {libID:selectFeature.libID,code:code };
-                        selectFeature.setSubSymbols(temp,updated.index);
-                    }
-                }
-            }
-        }
-        var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-        $('#pg').propertygrid('loadData', rows);
-    };
-
-    function colorConvert(colorString) {
-        var red = parseInt(colorString.slice(1, 3), 16) / 255;
-        var green = parseInt(colorString.slice(3, 5), 16) / 255;
-        var blue = parseInt(colorString.slice(5, 7), 16) / 255;
-        return  new Cesium.Color(red,green,blue);
-    }
-
-    StylePanel.prototype.getAnnotationRows = function(graphicObject) {
-        var annotationRows = [];
-        annotationRows.push({"value" : "0", "text" : "左上"});
-        annotationRows.push({"value" : "1", "text" : "左下"});
-        annotationRows.push({"value" : "2", "text" : "右上"});
-        annotationRows.push({"value" : "3", "text" : "右下"});
-        annotationRows.push({"value" : "4", "text" : "上"});
-        annotationRows.push({"value" : "5", "text" : "下"});
-        annotationRows.push({"value" : "6", "text" : "左"});
-        annotationRows.push({"value" : "7", "text" : "右"});
-        if (graphicObject.middleMarkExist) {
-            annotationRows.push({"value" : "8", "text" : "中间"});
-        }
-        return annotationRows;
-    };
-
-    StylePanel.prototype.getSymbolRankRows = function(graphicObject) {
-        var symbolRanks = [];
-        if (graphicObject && graphicObject.symbolRanks) {
-            symbolRanks = graphicObject.symbolRanks;
-        }
-        var rows = [];
-        rows.push({"value" : "0", "text" : "无级别"});
-        for (var i=0; i<symbolRanks.length; ++i) {
-            if (1 == symbolRanks[i]) {
-                rows.push({"value" : "1", "text" : "军区级"});
-            } else if (2 == symbolRanks[i]) {
-                rows.push({"value" : "2", "text" : "副大军区级"});
-            } else if (3 == symbolRanks[i]) {
-                rows.push({"value" : "3", "text" : "集团军级"});
-            } else if (4 == symbolRanks[i]) {
-                rows.push({"value" : "4", "text" : "师级"});
-            } else if (5 == symbolRanks[i]) {
-                rows.push({"value" : "5", "text" : "旅级"});
-            } else if (6 == symbolRanks[i]) {
-                rows.push({"value" : "6", "text" : "团级"});
-            } else if (7 == symbolRanks[i]) {
-                rows.push({'value' : "7", "text" : "营级"});
-            } else if (8 == symbolRanks[i]) {
-                rows.push({'value' : "8", "text" : "连级"});
-            } else if (9 == symbolRanks[i]) {
-                rows.push({'value' : "9", "text" : "排级"});
-            }
-        }
-        return rows;
-    };
-
-    StylePanel.prototype.getSurroundLineTypeRows = function(graphicObject) {
-        var rows = [];
-        if (null == graphicObject || undefined == graphicObject) {
-            return [];
-        }
-        var symbolType = graphicObject.symbolType;
-        if (1 == symbolType) {
-            rows.push({"value" : "0", "text" : "无衬线"});
-            rows.push({"value" : "1", "text" : "有衬线"});
-        } else {
-            rows.push({"value" : "0", "text" : "无衬线"});
-            rows.push({"value" : "1", "text" : "内侧衬线"});
-            rows.push({"value" : "2", "text" : "外侧衬线"});
-            rows.push({"value" : "3", "text" : "双侧衬线"});
-        }
-        return rows;
-    };
-
-
-    StylePanel.prototype.getDotShowModeRows = function(graphicObject) {
-
-        var rows = [];
-        rows.push({"value" : "0", "text" : "矢量模式"});
-        rows.push({"value" : "1", "text" : "公告板模式"});
-        rows.push({"value" : "2", "text" : "模型模式"});
-        rows.push({"value" : "3", "text" : "图片模式"});
-        return rows;
-
-    };
-
-    StylePanel.prototype.getFillGradientModeRows = function(graphicObject) {
-        var rows = [];
-
-        rows.push({"value" : "0", "text" : "无渐变"});
-        rows.push({"value" : "1", "text" : "线性渐变"});
-        rows.push({"value" : "2", "text" : "辐射渐变"});
-
-        return rows;
-    };
-
-    StylePanel.prototype.getLineStyleRows = function(graphicObject) {
-        var rows = [];
-
-        rows.push({"value" : "0", "text" : "实线"});
-        rows.push({"value" : "1", "text" : "长虚线"});
-        rows.push({"value" : "2", "text" : "由点构成的直线"});
-        rows.push({"value" : "3", "text" : "由线划线段构成的直线"});
-        rows.push({"value" : "4", "text" : "由重复的线划点图案构成的直线"});
-
-        return rows;
-    };
-
-    StylePanel.prototype.getSubSymbolsTypeRows = function(graphicObject) {
-
-        var rows = [];
-        rows.push({"value" : "0", "text" : ""});
-
-        if (100 === graphicObject.libID) {
-            rows.push({"value" : "100", "text" : "陆军"});
-            rows.push({"value" : "200", "text" : "海军"});
-            rows.push({"value" : "300", "text" : "空军"});
-        } else if (123 === graphicObject.libID) {
-            rows.push({"value" : "10101", "text" : "武装警察部队"});
-            rows.push({"value" : "10102", "text" : "防爆装甲"});
-            rows.push({"value" : "10103", "text" : "火炮"});
-        } else if (900 === graphicObject.libID) {
-            rows.push({"value" : "910200", "text" : "人民防空重点城市"});
-            rows.push({"value" : "910300", "text" : "人民防空基本指挥所"});
-            rows.push({"value" : "910402", "text" : "水路抢修专业队"});
-        } else if (0 === graphicObject.libID) {
-            rows.push({"value" : "9", "text" : "刑警"});
-            rows.push({"value" : "80103", "text" : "交警"});
-            rows.push({"value" : "80109", "text" : "专业警"});
-        }
-        return rows;
-    };
-
-    function subSymbolsTypeString(subSymbolsLength, geometry) {
-
-        if (0 === subSymbolsLength) {
-            return "";
-        } else {
-            if (100 === geometry.libID) {
-                if (100 === geometry.subSymbols[0].code) {
-                    return "陆军";
-                }
-                if (123 === geometry.subSymbols[0].code) {
-                    return "海军";
-                }
-                if (300 === geometry.subSymbols[0].code) {
-                    return "空军";
-                }
-            } else if (123 === geometry.libID) {
-                if (10101 === geometry.subSymbols[0].code) {
-                    return "武装警察部队";
-                }
-                if (10102 === geometry.subSymbols[0].code) {
-                    return "防爆装甲";
-                }
-                if (10103 === geometry.subSymbols[0].code) {
-                    return "火炮";
-                }
-            } else if (900 === geometry.libID) {
-                if (910200 === geometry.subSymbols[0].code) {
-                    return "人民防空重点城市";
-                }
-                if (910300 === geometry.subSymbols[0].code) {
-                    return "人民防空基本指挥所";
-                }
-                if (910402 === geometry.subSymbols[0].code) {
-                    return "水路抢修专业队";
-                }
-            } else if (0 === geometry.libID) {
-                if (9 === geometry.subSymbols[0].code) {
-                    return "刑警";
-                }
-                if (80103 === geometry.subSymbols[0].code) {
-                    return "交警";
-                }
-                if (80109 === geometry.subSymbols[0].code) {
-                    return "专业警";
-                }
-            }
-        }
-    }
-
-    function libIDToString(libID) {
-        if (421 == libID) {
-            return "421(警用库)";
-        } else if (100 == libID) {
-            return "100(军队库)";
-        } else if (123 == libID) {
-            return "123(武警库)";
-        } else if (900 == libID) {
-            return "900(人防库)";
-        }
-    }
-
-    StylePanel.prototype.getFillSymbolIDRows = function(graphicObject) {
-
-        var rows = [];
-        rows.push({"value" : "0", "text" : "实填充"});
-        rows.push({"value" : "1", "text" : "无填充"});
-        // rows.push({"value" : "2", "text" : "向上斜填充"});
-        // rows.push({"value" : "3", "text" : "十字填充"});
-        // rows.push({"value" : "4", "text" : "交叉填充"});
-        // rows.push({"value" : "5", "text" : "反斜线填充"});
-        // rows.push({"value" : "6", "text" : "水平填充"});
-        // rows.push({"value" : "7", "text" : "竖直填充"});
-        return rows;
-    };
-
-    StylePanel.prototype.displayToString = function(display) {
-        if (display && display === "none") {
-            return "不显示";
-        }
-        return "显示";
-    };
-
-    StylePanel.prototype.checkboxValueToString = function(checkboxValue) {
-        if (true === checkboxValue) {
-            return "true";
-        } else if (false === checkboxValue) {
-            return "false";
-        }
-    };
-
-    StylePanel.prototype.fromCheckboxValue = function(checkboxStr) {
-        if ("true" === checkboxStr) {
-            return true;
-        } else if ("false" === checkboxStr) {
-            return false;
-        }
-    };
-
-    StylePanel.prototype.symbolRankToString = function(symbolRank) {
-        if (0 == symbolRank) {
-            return "无级别";
-        } else if (1 == symbolRank) {
-            return "军区级";
-        } else if (2 == symbolRank) {
-            return "副大军区级";
-        } else if (3 == symbolRank) {
-            return "集团军级";
-        } else if (4 == symbolRank) {
-            return "师级";
-        } else if (5 == symbolRank) {
-            return "旅级";
-        } else if (6 == symbolRank) {
-            return "团级";
-        } else if (7 == symbolRank) {
-            return "营级";
-        } else if (8 == symbolRank) {
-            return "连级";
-        } else if (9 == symbolRank) {
-            return "排级";
-        }
-    };
-
-    StylePanel.prototype.showModeToString = function(dotShowMode) {
-
-        if (0 === dotShowMode) {
-            return "矢量模式";
-        } else if (1 === dotShowMode) {
-            return "公告板模式";
-        } else if (2 === dotShowMode) {
-            return "模型模式";
-        } else if (3 === dotShowMode) {
-            return "图片模式";
-        } else {
-            return "未定义";
-        }
-
-    };
-
-    StylePanel.prototype.fillGradientModeToString = function(fillGradientMode) {
-
-        if (0 === fillGradientMode) {
-            return "无渐变";
-        } else if (1 === fillGradientMode) {
-            return "线性渐变";
-        } else if (2 === fillGradientMode) {
-            return "辐射渐变";
-        }
-
-    };
-
-    StylePanel.prototype.annotationToString = function(annotation) {
-
-        if (0 === annotation) {
-            return "左上";
-        } else if (1 === annotation) {
-            return "左下";
-        } else if (2 === annotation) {
-            return "右上";
-        } else if (3 === annotation) {
-            return "右下";
-        } else if (4 === annotation) {
-            return "上";
-        } else if (5 === annotation) {
-            return "下";
-        } else if (6 === annotation) {
-            return "左";
-        } else if (7 === annotation) {
-            return "右";
-        } else if (8 === annotation) {
-            return "中间";
-        }
-
-    };
-
-    StylePanel.prototype.surroundLineTypeToString = function(graphicObject) {
-
-        if (1 === graphicObject.symbolType) {
-            if (0 === graphicObject.symbolStyle.surroundLineType) {
-                return "无衬线";
-            } else if (1 === graphicObject.symbolStyle.surroundLineType) {
-                return "有衬线";
-            }
-        } else {
-            if (0 === graphicObject.symbolStyle.surroundLineType) {
-                return "无衬线";
-            } else if (1 === graphicObject.symbolStyle.surroundLineType) {
-                return "内侧衬线";
-            } else if (2 === graphicObject.symbolStyle.surroundLineType) {
-                return "外侧衬线";
-            } else if (3 === graphicObject.symbolStyle.surroundLineType) {
-                return "双侧衬线";
-            }
-        }
-    };
-
-    StylePanel.prototype.colorGeometryToString = function(color) {
-
-        var value = color.value;
-        var red, green, blue;
-
-        if (undefined !== value && null !== value) {
-            red = value[2]>15 ? value[2].toString(16) : "0" + value[2].toString(16);
-            green = value[1]>15 ? value[2].toString(16) : "0" + value[1].toString(16);
-            blue = value[0]>15 ? value[0].toString(16) : "0" + value[0].toString(16);
-        } else {
-            red = color.red * 255;
-            red = red > 15 ? red.toString(16) : "0" + red;
-            green = color.green * 255;
-            green = green > 15 ? green.toString(16) : "0" + green;
-            blue = color.blue * 255;
-            blue = blue > 15 ? blue.toString(16) : "0" + blue;
-        }
-        return "#" + red + green + blue;
-    };
-
-
-
-    StylePanel.prototype.lineStyleToString = function(lineStyle) {
-
-        if (0 === lineStyle) {
-            return "实线";
-        } else if (1 === lineStyle) {
-            return "长虚线";
-        } else if (2 === lineStyle) {
-            return "由点构成的直线";
-        } else if (3 === lineStyle) {
-            return "由线划线段构成的直线";
-        } else if (4 === lineStyle) {
-            return "由重复的线划点图案构成的直线";
-        }
-    };
-
-    StylePanel.prototype.fillSymbolIdToString = function(fillSymbolID) {
-
-        switch (fillSymbolID) {
-            case 0:
-                return "实填充";
-            case 1:
-                return "无填充";
-        }
-    };
-
-
diff --git a/Zplot/js/plotPanelControl/colorpicker/css/colorpicker.css b/Zplot/js/plotPanelControl/colorpicker/css/colorpicker.css
deleted file mode 100644
index bf72eca..0000000
--- a/Zplot/js/plotPanelControl/colorpicker/css/colorpicker.css
+++ /dev/null
@@ -1,162 +0,0 @@
-.colorpicker {
-	width: 356px;
-	height: 176px;
-	overflow: hidden;
-	position: absolute;
-	background: url(../images/colorpicker_background.png);
-	font-family: Arial, Helvetica, sans-serif;
-	display: none;
-	z-index: 99;
-}
-.colorpicker_color {
-	width: 150px;
-	height: 150px;
-	left: 14px;
-	top: 13px;
-	position: absolute;
-	background: #f00;
-	overflow: hidden;
-	cursor: crosshair;
-}
-.colorpicker_color div {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 150px;
-	height: 150px;
-	background: url(../images/colorpicker_overlay.png);
-}
-.colorpicker_color div div {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 11px;
-	height: 11px;
-	overflow: hidden;
-	background: url(../images/colorpicker_select.gif);
-	margin: -5px 0 0 -5px;
-}
-.colorpicker_hue {
-	position: absolute;
-	top: 13px;
-	left: 171px;
-	width: 35px;
-	height: 150px;
-	cursor: n-resize;
-}
-.colorpicker_hue div {
-	position: absolute;
-	width: 35px;
-	height: 9px;
-	overflow: hidden;
-	background: url(../images/colorpicker_indic.gif) left top;
-	margin: -4px 0 0 0;
-	left: 0px;
-}
-.colorpicker_new_color {
-	position: absolute;
-	width: 60px;
-	height: 30px;
-	left: 213px;
-	top: 13px;
-	background: #f00;
-}
-.colorpicker_current_color {
-	position: absolute;
-	width: 60px;
-	height: 30px;
-	left: 283px;
-	top: 13px;
-	background: #f00;
-}
-.colorpicker input {
-	background-color: transparent;
-	border: 1px solid transparent;
-	position: absolute;
-	font-size: 10px;
-	font-family: Arial, Helvetica, sans-serif;
-	color: #898989;
-	top: 4px;
-	right: 11px;
-	text-align: right;
-	margin: 0;
-	padding: 0;
-	height: 11px;
-}
-.colorpicker_hex {
-	position: absolute;
-	width: 72px;
-	height: 22px;
-	background: url(../images/colorpicker_hex.png) top;
-	left: 212px;
-	top: 142px;
-}
-.colorpicker_hex input {
-	right: 6px;
-}
-.colorpicker_field {
-	height: 22px;
-	width: 62px;
-	background-position: top;
-	position: absolute;
-}
-.colorpicker_field span {
-	position: absolute;
-	width: 12px;
-	height: 22px;
-	overflow: hidden;
-	top: 0;
-	right: 0;
-	cursor: n-resize;
-}
-.colorpicker_rgb_r {
-	background-image: url(../images/colorpicker_rgb_r.png);
-	top: 52px;
-	left: 212px;
-}
-.colorpicker_rgb_g {
-	background-image: url(../images/colorpicker_rgb_g.png);
-	top: 82px;
-	left: 212px;
-}
-.colorpicker_rgb_b {
-	background-image: url(../images/colorpicker_rgb_b.png);
-	top: 112px;
-	left: 212px;
-}
-.colorpicker_hsb_h {
-	background-image: url(../images/colorpicker_hsb_h.png);
-	top: 52px;
-	left: 282px;
-}
-.colorpicker_hsb_s {
-	background-image: url(../images/colorpicker_hsb_s.png);
-	top: 82px;
-	left: 282px;
-}
-.colorpicker_hsb_b {
-	background-image: url(../images/colorpicker_hsb_b.png);
-	top: 112px;
-	left: 282px;
-}
-.colorpicker_submit {
-	position: absolute;
-	width: 22px;
-	height: 22px;
-	background: url(../images/colorpicker_submit.png) top;
-	left: 322px;
-	top: 142px;
-	overflow: hidden;
-}
-.colorpicker_focus {
-	background-position: center;
-}
-.colorpicker_hex.colorpicker_focus {
-	background-position: bottom;
-}
-.colorpicker_submit.colorpicker_focus {
-	background-position: bottom;
-}
-.colorpicker_slider {
-	background-position: bottom;
-}
diff --git a/Zplot/js/plotPanelControl/colorpicker/css/layout.css b/Zplot/js/plotPanelControl/colorpicker/css/layout.css
deleted file mode 100644
index 5e0ec5f..0000000
--- a/Zplot/js/plotPanelControl/colorpicker/css/layout.css
+++ /dev/null
@@ -1,217 +0,0 @@
-body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
-	margin:0;
-	padding:0;
-}
-table {
-	border-collapse:collapse;
-	border-spacing:0;
-}
-fieldset,img { 
-	border:0;
-}
-address,caption,cite,code,dfn,em,strong,th,var {
-	font-style:normal;
-	font-weight:normal;
-}
-ol,ul {
-	list-style:none;
-}
-caption,th {
-	text-align:left;
-}
-h1,h2,h3,h4,h5,h6 {
-	font-size:100%;
-	font-weight:normal;
-}
-q:before,q:after {
-	content:'';
-}
-abbr,acronym { border:0;
-}
-html, body {
-	background-color: #fff;
-	font-family: Arial, Helvetica, sans-serif;
-	font-size: 12px;
-	line-height: 18px;
-	color: #52697E;
-}
-body {
-	overflow: auto;
-}
-.wrapper {
-	width: 700px;
-	margin: 0 auto;
-	text-align: left;
-}
-h1 {
-	font-size: 21px;
-	height: 47px;
-	line-height: 47px;
-	text-transform: uppercase;
-}
-.navigationTabs {
-	height: 23px;
-	line-height: 23px;
-	border-bottom: 1px solid #ccc;
-}
-.navigationTabs li {
-	float: left;
-	height: 23px;
-	line-height: 23px;
-	padding-right: 3px;
-}
-.navigationTabs li a{
-	float: left;
-	dispaly: block;
-	height: 23px;
-	line-height: 23px;
-	padding: 0 10px;
-	overflow: hidden;
-	color: #52697E;
-	background-color: #eee;
-	position: relative;
-	text-decoration: none;
-}
-.navigationTabs li a:hover {
-	background-color: #f0f0f0;
-}
-.navigationTabs li a.active {
-	background-color: #fff;
-	border: 1px solid #ccc;
-	border-bottom: 0px solid;
-}
-.tabsContent {
-	border: 1px solid #ccc;
-	border-top: 0px solid;
-	width: 698px;
-	overflow: hidden;
-}
-.tab {
-	padding: 16px;
-	display: none;
-}
-.tab h2 {
-	font-weight: bold;
-	font-size: 16px;
-}
-.tab h3 {
-	font-weight: bold;
-	font-size: 14px;
-	margin-top: 20px;
-}
-.tab p {
-	margin-top: 16px;
-	clear: both;
-}
-.tab ul {
-	margin-top: 16px;
-	list-style: disc;
-}
-.tab li {
-	margin: 10px 0 0 35px;
-}
-.tab a {
-	color: #8FB0CF;
-}
-.tab strong {
-	font-weight: bold;
-}
-.tab pre {
-	font-size: 11px;
-	margin-top: 20px;
-	width: 668px;
-	overflow: auto;
-	clear: both;
-}
-.tab table {
-	width: 100%;
-}
-.tab table td {
-	padding: 6px 10px 6px 0;
-	vertical-align: top;
-}
-.tab dt {
-	margin-top: 16px;
-}
-
-#colorSelector {
-	position: relative;
-	width: 36px;
-	height: 36px;
-	background: url(../images/select.png);
-}
-#colorSelector div {
-	position: absolute;
-	top: 3px;
-	left: 3px;
-	width: 30px;
-	height: 30px;
-	background: url(../images/select.png) center;
-}
-#colorSelector2 {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 36px;
-	height: 36px;
-	background: url(../images/select2.png);
-}
-#colorSelector2 div {
-	position: absolute;
-	top: 4px;
-	left: 4px;
-	width: 28px;
-	height: 28px;
-	background: url(../images/select2.png) center;
-}
-#colorpickerHolder2 {
-	top: 32px;
-	left: 0;
-	width: 356px;
-	height: 0;
-	overflow: hidden;
-	position: absolute;
-}
-#colorpickerHolder2 .colorpicker {
-	background-image: url(../images/custom_background.png);
-	position: absolute;
-	bottom: 0;
-	left: 0;
-}
-#colorpickerHolder2 .colorpicker_hue div {
-	background-image: url(../images/custom_indic.gif);
-}
-#colorpickerHolder2 .colorpicker_hex {
-	background-image: url(../images/custom_hex.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_r {
-	background-image: url(../images/custom_rgb_r.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_g {
-	background-image: url(../images/custom_rgb_g.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_b {
-	background-image: url(../images/custom_rgb_b.png);
-}
-#colorpickerHolder2 .colorpicker_hsb_s {
-	background-image: url(../images/custom_hsb_s.png);
-	display: none;
-}
-#colorpickerHolder2 .colorpicker_hsb_h {
-	background-image: url(../images/custom_hsb_h.png);
-	display: none;
-}
-#colorpickerHolder2 .colorpicker_hsb_b {
-	background-image: url(../images/custom_hsb_b.png);
-	display: none;
-}
-#colorpickerHolder2 .colorpicker_submit {
-	background-image: url(../images/custom_submit.png);
-}
-#colorpickerHolder2 .colorpicker input {
-	color: #778398;
-}
-#customWidget {
-	position: relative;
-	height: 36px;
-}
diff --git a/Zplot/js/plotPanelControl/colorpicker/js/colorpicker.js b/Zplot/js/plotPanelControl/colorpicker/js/colorpicker.js
deleted file mode 100644
index 5adb2e6..0000000
--- a/Zplot/js/plotPanelControl/colorpicker/js/colorpicker.js
+++ /dev/null
@@ -1,495 +0,0 @@
-/**
- *
- * Color picker
- * Author: Stefan Petre www.eyecon.ro
- * 
- * Dual licensed under the MIT and GPL licenses
- * 
- */
-(function ($) {
-	var ColorPicker = function () {
-		var
-			ids = {},
-			inAction,
-			charMin = 65,
-			visible,
-			tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
-			defaults = {
-				eventName: 'click',
-				onShow: function () {},
-				onBeforeShow: function(){},
-				onHide: function () {},
-				onChange: function () {},
-				onSubmit: function () {},
-				color: 'ff0000',
-				livePreview: true,
-				flat: false
-			},
-			fillRGBFields = function  (hsb, cal) {
-				var rgb = HSBToRGB(hsb);
-				$(cal).data('colorpicker').fields
-					.eq(1).val(rgb.r).end()
-					.eq(2).val(rgb.g).end()
-					.eq(3).val(rgb.b).end();
-			},
-			fillHSBFields = function  (hsb, cal) {
-				$(cal).data('colorpicker').fields
-					.eq(4).val(hsb.h).end()
-					.eq(5).val(hsb.s).end()
-					.eq(6).val(hsb.b).end();
-			},
-			fillHexFields = function (hsb, cal) {
-				$(cal).data('colorpicker').fields
-					.eq(0).val(HSBToHex(hsb)).end();
-			},
-			setSelector = function (hsb, cal) {
-				$(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
-				$(cal).data('colorpicker').selectorIndic.css({
-					left: parseInt(150 * hsb.s/100, 10),
-					top: parseInt(150 * (100-hsb.b)/100, 10)
-				});
-			},
-			setHue = function (hsb, cal) {
-				$(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
-			},
-			setCurrentColor = function (hsb, cal) {
-				$(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
-			},
-			setNewColor = function (hsb, cal) {
-				$(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
-			},
-			keyDown = function (ev) {
-				var pressedKey = ev.charCode || ev.keyCode || -1;
-				if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
-					return false;
-				}
-				var cal = $(this).parent().parent();
-				if (cal.data('colorpicker').livePreview === true) {
-					change.apply(this);
-				}
-				ev.stopPropagation();
-			},
-			mouseDown = function (ev) {
-				ev.stopPropagation();
-			},
-			change = function (ev) {
-				var cal = $(this).parent().parent(), col;
-				if (this.parentNode.className.indexOf('_hex') > 0) {
-					cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
-				} else if (this.parentNode.className.indexOf('_hsb') > 0) {
-					cal.data('colorpicker').color = col = fixHSB({
-						h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
-						s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
-						b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
-					});
-				} else {
-					cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
-						r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
-						g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
-						b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
-					}));
-				}
-				if (ev) {
-					fillRGBFields(col, cal.get(0));
-					fillHexFields(col, cal.get(0));
-					fillHSBFields(col, cal.get(0));
-				}
-				setSelector(col, cal.get(0));
-				setHue(col, cal.get(0));
-				setNewColor(col, cal.get(0));
-				cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
-			},
-			blur = function (ev) {
-				var cal = $(this).parent().parent();
-				cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
-			},
-			focus = function () {
-				charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
-				$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
-				$(this).parent().addClass('colorpicker_focus');
-			},
-			downIncrement = function (ev) {
-				var field = $(this).parent().find('input').focus();
-				var current = {
-					el: $(this).parent().addClass('colorpicker_slider'),
-					max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
-					y: ev.pageY,
-					field: field,
-					val: parseInt(field.val(), 10),
-					preview: $(this).parent().parent().data('colorpicker').livePreview					
-				};
-				$(document).bind('mouseup', current, upIncrement);
-				$(document).bind('mousemove', current, moveIncrement);
-				ev.stopPropagation();
-			},
-			moveIncrement = function (ev) {
-				ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
-				if (ev.data.preview) {
-					change.apply(ev.data.field.get(0), [true]);
-				}
-				return false;
-			},
-			upIncrement = function (ev) {
-				change.apply(ev.data.field.get(0), [true]);
-				ev.data.el.removeClass('colorpicker_slider').find('input').focus();
-				$(document).unbind('mouseup', upIncrement);
-				$(document).unbind('mousemove', moveIncrement);
-				return false;
-			},
-			downHue = function (ev) {
-				var current = {
-					cal: $(this).parent(),
-					y: $(this).offset().top
-				};
-				current.preview = current.cal.data('colorpicker').livePreview;
-				$(document).bind('mouseup', current, upHue);
-				$(document).bind('mousemove', current, moveHue);
-				ev.stopPropagation();
-			},
-			moveHue = function (ev) {
-				change.apply(
-					ev.data.cal.data('colorpicker')
-						.fields
-						.eq(4)
-						.val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
-						.get(0),
-					[ev.data.preview]
-				);
-				return false;
-			},
-			upHue = function (ev) {
-				fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-				fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-				$(document).unbind('mouseup', upHue);
-				$(document).unbind('mousemove', moveHue);
-				return false;
-			},
-			downSelector = function (ev) {
-				var current = {
-					cal: $(this).parent(),
-					pos: $(this).offset()
-				};
-				current.preview = current.cal.data('colorpicker').livePreview;
-				$(document).bind('mouseup', current, upSelector);
-				$(document).bind('mousemove', current, moveSelector);
-				ev.stopPropagation();
-			},
-			moveSelector = function (ev) {
-				change.apply(
-					ev.data.cal.data('colorpicker')
-						.fields
-						.eq(6)
-						.val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
-						.end()
-						.eq(5)
-						.val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
-						.get(0),
-					[ev.data.preview]
-				);
-				return false;
-			},
-			upSelector = function (ev) {
-				fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-				fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-				$(document).unbind('mouseup', upSelector);
-				$(document).unbind('mousemove', moveSelector);
-				return false;
-			},
-			enterSubmit = function (ev) {
-				$(this).addClass('colorpicker_focus');
-				ev.stopPropagation();
-			},
-			leaveSubmit = function (ev) {
-				$(this).removeClass('colorpicker_focus');
-			},
-			clickSubmit = function (ev) {
-				var cal = $(this).parent();
-				var col = cal.data('colorpicker').color;
-				cal.data('colorpicker').origColor = col;
-				setCurrentColor(col, cal.get(0));
-				cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
-				ev.stopPropagation();
-			},
-			show = function (ev) {
-				var cal = $('#' + $(this).data('colorpickerId'));
-				cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
-				var pos = $(this).offset();
-				var viewPort = getViewport();
-				var top = pos.top + this.offsetHeight;
-				var left = pos.left;
-				if (top + 176 > viewPort.t + viewPort.h) {
-					top -= this.offsetHeight + 176;
-				}
-				if (left + 356 > viewPort.l + viewPort.w) {
-					left -= 356;
-				}
-				cal.css({left: left + 'px', top: top + 'px'});
-				if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
-					cal.show();
-				}
-				$(document).bind('mousedown', {cal: cal}, hide);
-				return false;
-			},
-			hide = function (ev) {
-				if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
-					if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
-						ev.data.cal.hide();
-					}
-					$(document).unbind('mousedown', hide);
-				}
-			},
-			isChildOf = function(parentEl, el, container) {
-				if (parentEl == el) {
-					return true;
-				}
-				if (parentEl.contains) {
-					return parentEl.contains(el);
-				}
-				if ( parentEl.compareDocumentPosition ) {
-					return !!(parentEl.compareDocumentPosition(el) & 16);
-				}
-				var prEl = el.parentNode;
-				while(prEl && prEl != container) {
-					if (prEl == parentEl)
-						return true;
-					prEl = prEl.parentNode;
-				}
-				return false;
-			},
-			getViewport = function () {
-				var m = document.compatMode == 'CSS1Compat';
-				return {
-					l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
-					t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
-					w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
-					h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
-				};
-			},
-			fixHSB = function (hsb) {
-				return {
-					h: Math.min(360, Math.max(0, hsb.h)),
-					s: Math.min(100, Math.max(0, hsb.s)),
-					b: Math.min(100, Math.max(0, hsb.b))
-				};
-			}, 
-			fixRGB = function (rgb) {
-				return {
-					r: Math.min(255, Math.max(0, rgb.r)),
-					g: Math.min(255, Math.max(0, rgb.g)),
-					b: Math.min(255, Math.max(0, rgb.b))
-				};
-			},
-			fixHex = function (hex) {
-				var len = 6 - hex.length;
-				if (len > 0) {
-					var o = [];
-					for (var i=0; i<len; i++) {
-						o.push('0');
-					}
-					o.push(hex);
-					hex = o.join('');
-				}
-				return hex;
-			}, 
-			HexToRGB = function (hex) {
-				var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
-				return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
-			},
-			HexToHSB = function (hex) {
-				return RGBToHSB(HexToRGB(hex));
-			},
-			RGBToHSB = function (rgb) {
-				var hsb = {
-					h: 0,
-					s: 0,
-					b: 0
-				};
-				var min = Math.min(rgb.r, rgb.g, rgb.b);
-				var max = Math.max(rgb.r, rgb.g, rgb.b);
-				var delta = max - min;
-				hsb.b = max;
-				if (max != 0) {
-					
-				}
-				hsb.s = max != 0 ? 255 * delta / max : 0;
-				if (hsb.s != 0) {
-					if (rgb.r == max) {
-						hsb.h = (rgb.g - rgb.b) / delta;
-					} else if (rgb.g == max) {
-						hsb.h = 2 + (rgb.b - rgb.r) / delta;
-					} else {
-						hsb.h = 4 + (rgb.r - rgb.g) / delta;
-					}
-				} else {
-					hsb.h = -1;
-				}
-				hsb.h *= 60;
-				if (hsb.h < 0) {
-					hsb.h += 360;
-				}
-				hsb.s *= 100/255;
-				hsb.b *= 100/255;
-				return hsb;
-			},
-			HSBToRGB = function (hsb) {
-				var rgb = {};
-				var h = Math.round(hsb.h);
-				var s = Math.round(hsb.s*255/100);
-				var v = Math.round(hsb.b*255/100);
-				if(s == 0) {
-					rgb.r = rgb.g = rgb.b = v;
-				} else {
-					var t1 = v;
-					var t2 = (255-s)*v/255;
-					var t3 = (t1-t2)*(h%60)/60;
-					if(h==360) h = 0;
-					if(h<60) {rgb.r=t1;	rgb.b=t2; rgb.g=t2+t3}
-					else if(h<120) {rgb.g=t1; rgb.b=t2;	rgb.r=t1-t3}
-					else if(h<180) {rgb.g=t1; rgb.r=t2;	rgb.b=t2+t3}
-					else if(h<240) {rgb.b=t1; rgb.r=t2;	rgb.g=t1-t3}
-					else if(h<300) {rgb.b=t1; rgb.g=t2;	rgb.r=t2+t3}
-					else if(h<360) {rgb.r=t1; rgb.g=t2;	rgb.b=t1-t3}
-					else {rgb.r=0; rgb.g=0;	rgb.b=0}
-				}
-				return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
-			},
-			RGBToHex = function (rgb) {
-				var hex = [
-					rgb.r.toString(16),
-					rgb.g.toString(16),
-					rgb.b.toString(16)
-				];
-				$.each(hex, function (nr, val) {
-					if (val.length == 1) {
-						hex[nr] = '0' + val;
-					}
-				});
-				return hex.join('');
-			},
-			HSBToHex = function (hsb) {
-				return RGBToHex(HSBToRGB(hsb));
-			},
-			restoreOriginal = function () {
-				var cal = $(this).parent();
-				var col = cal.data('colorpicker').origColor;
-				cal.data('colorpicker').color = col;
-				fillRGBFields(col, cal.get(0));
-				fillHexFields(col, cal.get(0));
-				fillHSBFields(col, cal.get(0));
-				setSelector(col, cal.get(0));
-				setHue(col, cal.get(0));
-				setNewColor(col, cal.get(0));
-			};
-		return {
-			init: function (opt) {
-				opt = $.extend({}, defaults, opt||{});
-				if (typeof opt.color == 'string') {
-					opt.color = HexToHSB(opt.color);
-				} else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
-					opt.color = RGBToHSB(opt.color);
-				} else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
-					opt.color = fixHSB(opt.color);
-				} else {
-					return this;
-				}
-				return this.each(function () {
-					if (!$(this).data('colorpickerId')) {
-						var options = $.extend({}, opt);
-						options.origColor = opt.color;
-						var id = 'collorpicker_' + parseInt(Math.random() * 1000);
-						$(this).data('colorpickerId', id);
-						var cal = $(tpl).attr('id', id);
-						if (options.flat) {
-							cal.appendTo(this).show();
-						} else {
-							cal.appendTo(document.body);
-						}
-						options.fields = cal
-											.find('input')
-												.bind('keyup', keyDown)
-												.bind('change', change)
-												.bind('blur', blur)
-												.bind('focus', focus)
-												.bind('mousedown', mouseDown);
-						cal
-							.find('span').bind('mousedown', downIncrement).end()
-							.find('>div.colorpicker_current_color').bind('click', restoreOriginal);
-						options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
-						options.selectorIndic = options.selector.find('div div');
-						options.el = this;
-						options.hue = cal.find('div.colorpicker_hue div');
-						cal.find('div.colorpicker_hue').bind('mousedown', downHue);
-						options.newColor = cal.find('div.colorpicker_new_color').bind('mousedown', mouseDown);
-						options.currentColor = cal.find('div.colorpicker_current_color').bind('mousedown', mouseDown);
-						cal.data('colorpicker', options);
-						cal.find('div.colorpicker_submit')
-							.bind('mouseenter', enterSubmit)
-							.bind('mouseleave', leaveSubmit)
-							.bind('click', clickSubmit)
-							.bind('mousedown', mouseDown);
-						fillRGBFields(options.color, cal.get(0));
-						fillHSBFields(options.color, cal.get(0));
-						fillHexFields(options.color, cal.get(0));
-						setHue(options.color, cal.get(0));
-						setSelector(options.color, cal.get(0));
-						setCurrentColor(options.color, cal.get(0));
-						setNewColor(options.color, cal.get(0));
-						if (options.flat) {
-							cal.css({
-								position: 'relative',
-								display: 'block'
-							});
-						} else {
-							$(this).bind(options.eventName, show);
-						}
-					}
-				});
-			},
-			showPicker: function() {
-				return this.each( function () {
-					if ($(this).data('colorpickerId')) {
-						show.apply(this);
-					}
-				});
-			},
-			hidePicker: function() {
-				return this.each( function () {
-					if ($(this).data('colorpickerId')) {
-						$('#' + $(this).data('colorpickerId')).hide();
-					}
-				});
-			},
-			setColor: function(col) {
-				if (typeof col == 'string') {
-					col = HexToHSB(col);
-				} else if (col.r != undefined && col.g != undefined && col.b != undefined) {
-					col = RGBToHSB(col);
-				} else if (col.h != undefined && col.s != undefined && col.b != undefined) {
-					col = fixHSB(col);
-				} else {
-					return this;
-				}
-				return this.each(function(){
-					if ($(this).data('colorpickerId')) {
-						var cal = $('#' + $(this).data('colorpickerId'));
-						cal.data('colorpicker').color = col;
-						cal.data('colorpicker').origColor = col;
-						fillRGBFields(col, cal.get(0));
-						fillHSBFields(col, cal.get(0));
-						fillHexFields(col, cal.get(0));
-						setHue(col, cal.get(0));
-						setSelector(col, cal.get(0));
-						setCurrentColor(col, cal.get(0));
-						setNewColor(col, cal.get(0));
-					}
-				});
-			}
-		};
-	}();
-	$.fn.extend({
-		ColorPicker: ColorPicker.init,
-		ColorPickerHide: ColorPicker.hidePicker,
-		ColorPickerShow: ColorPicker.showPicker,
-		ColorPickerSetColor: ColorPicker.setColor
-	});
-})(jQuery)
\ No newline at end of file
diff --git a/Zplot/js/plotPanelControl/colorpicker/js/colorpickerEditor.js b/Zplot/js/plotPanelControl/colorpicker/js/colorpickerEditor.js
deleted file mode 100644
index b13dc51..0000000
--- a/Zplot/js/plotPanelControl/colorpicker/js/colorpickerEditor.js
+++ /dev/null
@@ -1,60 +0,0 @@
-$.extend($.fn.datagrid.defaults.editors, {
-    colorpicker: {//colorpicker就是你要自定义editor的名称
-        init: function (container, options) {
-            //var colorSector = $('<div id="colorSelector" class="colorSelector">').appendTo(container);
-            //$('#colorSelector').ColorPicker({
-            //    color: '#0000ff',
-            //    onShow: function (colpkr) {
-            //        $(colpkr).fadeIn(500);
-            //        return false;
-            //    },
-            //    onHide: function (colpkr) {
-            //        $(colpkr).fadeOut(500);
-            //        return false;
-            //    },
-            //    onChange: function (hsb, hex, rgb) {
-            //        $('#colorSelector div').css('backgroundColor', '#' + hex);
-            //    }
-            //});
-            //
-            //return $('#colorSelector div');
-            var input = $('<input>').appendTo(container);
-            input.ColorPicker({
-                color: '#0000ff',
-                onShow: function (colpkr) {
-                    $(colpkr).fadeIn(500);
-                    return false;
-                },
-                onHide: function (colpkr) {
-                    $(colpkr).fadeOut(500);
-                    return false;
-                },
-                onChange: function (hsb, hex, rgb) {
-                    input.css('backgroundColor', '#' + hex);
-                    input.val('0x' + hex);
-                }
-            });
-            return input;
-        },
-        getValue: function (target) {
-            return $(target).val().replace(/0x/, "#");
-        },
-        setValue: function (target, value) {
-            // 特殊处理, 因为在flash里使用的是0x16进制格式
-            value = value.replace(/0x/, "#");
-            $(target).val(value);
-            $(target).css('backgroundColor', value);
-            $(target).ColorPickerSetColor(value);
-        },
-        resize: function (target, width) {
-            var input = $(target);
-            if ($.boxModel == true) {
-                input.width(width - (input.outerWidth() - input.width()));
-            } else {
-                input.width(width);
-            }
-        }
-    }
-});
-
-
diff --git a/Zplot/js/plotPanelControl/colorpicker/js/eye.js b/Zplot/js/plotPanelControl/colorpicker/js/eye.js
deleted file mode 100644
index 8a281dc..0000000
--- a/Zplot/js/plotPanelControl/colorpicker/js/eye.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- *
- * Zoomimage
- * Author: Stefan Petre www.eyecon.ro
- * 
- */
-(function($){
-	var EYE = window.EYE = function() {
-		var _registered = {
-			init: []
-		};
-		return {
-			init: function() {
-				$.each(_registered.init, function(nr, fn){
-					fn.call();
-				});
-			},
-			extend: function(prop) {
-				for (var i in prop) {
-					if (prop[i] != undefined) {
-						this[i] = prop[i];
-					}
-				}
-			},
-			register: function(fn, type) {
-				if (!_registered[type]) {
-					_registered[type] = [];
-				}
-				_registered[type].push(fn);
-			}
-		};
-	}();
-	$(EYE.init);
-})(jQuery);
diff --git a/Zplot/js/plotPanelControl/colorpicker/js/layout.js b/Zplot/js/plotPanelControl/colorpicker/js/layout.js
deleted file mode 100644
index 6aa7d36..0000000
--- a/Zplot/js/plotPanelControl/colorpicker/js/layout.js
+++ /dev/null
@@ -1,67 +0,0 @@
-(function($){
-	var initLayout = function() {
-		var hash = window.location.hash.replace('#', '');
-		var currentTab = $('ul.navigationTabs a')
-							.bind('click', showTab);
-							//.filter('a[rel=' + hash + ']');
-		if (currentTab.size() == 0) {
-			currentTab = $('ul.navigationTabs a:first');
-		}
-		showTab.apply(currentTab.get(0));
-		$('#colorpickerHolder').ColorPicker({flat: true});
-		$('#colorpickerHolder2').ColorPicker({
-			flat: true,
-			color: '#00ff00',
-			onSubmit: function(hsb, hex, rgb) {
-				$('#colorSelector2 div').css('backgroundColor', '#' + hex);
-			}
-		});
-		$('#colorpickerHolder2>div').css('position', 'absolute');
-		var widt = false;
-		$('#colorSelector2').bind('click', function() {
-			$('#colorpickerHolder2').stop().animate({height: widt ? 0 : 173}, 500);
-			widt = !widt;
-		});
-		$('#colorpickerField1, #colorpickerField2, #colorpickerField3').ColorPicker({
-			onSubmit: function(hsb, hex, rgb, el) {
-				$(el).val(hex);
-				$(el).ColorPickerHide();
-			},
-			onBeforeShow: function () {
-				$(this).ColorPickerSetColor(this.value);
-			}
-		})
-		.bind('keyup', function(){
-			$(this).ColorPickerSetColor(this.value);
-		});
-		$('#colorSelector').ColorPicker({
-			color: '#0000ff',
-			onShow: function (colpkr) {
-				$(colpkr).fadeIn(500);
-				return false;
-			},
-			onHide: function (colpkr) {
-				$(colpkr).fadeOut(500);
-				return false;
-			},
-			onChange: function (hsb, hex, rgb) {
-				$('#colorSelector div').css('backgroundColor', '#' + hex);
-			}
-		});
-	};
-	
-	var showTab = function(e) {
-		var tabIndex = $('ul.navigationTabs a')
-							.removeClass('active')
-							.index(this);
-		$(this)
-			.addClass('active')
-			.blur();
-		$('div.tab')
-			.hide()
-				.eq(tabIndex)
-				.show();
-	};
-	
-	EYE.register(initLayout, 'init');
-})(jQuery)
\ No newline at end of file
diff --git a/Zplot/js/plotPanelControl/colorpicker/js/utils.js b/Zplot/js/plotPanelControl/colorpicker/js/utils.js
deleted file mode 100644
index d9be853..0000000
--- a/Zplot/js/plotPanelControl/colorpicker/js/utils.js
+++ /dev/null
@@ -1,252 +0,0 @@
-/**
- *
- * Utilities
- * Author: Stefan Petre www.eyecon.ro
- * 
- */
-(function($) {
-EYE.extend({
-	getPosition : function(e, forceIt)
-	{
-		var x = 0;
-		var y = 0;
-		var es = e.style;
-		var restoreStyles = false;
-		if (forceIt && jQuery.curCSS(e,'display') == 'none') {
-			var oldVisibility = es.visibility;
-			var oldPosition = es.position;
-			restoreStyles = true;
-			es.visibility = 'hidden';
-			es.display = 'block';
-			es.position = 'absolute';
-		}
-		var el = e;
-		if (el.getBoundingClientRect) { // IE
-			var box = el.getBoundingClientRect();
-			x = box.left + Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) - 2;
-			y = box.top + Math.max(document.documentElement.scrollTop, document.body.scrollTop) - 2;
-		} else {
-			x = el.offsetLeft;
-			y = el.offsetTop;
-			el = el.offsetParent;
-			if (e != el) {
-				while (el) {
-					x += el.offsetLeft;
-					y += el.offsetTop;
-					el = el.offsetParent;
-				}
-			}
-			if (jQuery.browser.safari && jQuery.curCSS(e, 'position') == 'absolute' ) {
-				x -= document.body.offsetLeft;
-				y -= document.body.offsetTop;
-			}
-			el = e.parentNode;
-			while (el && el.tagName.toUpperCase() != 'BODY' && el.tagName.toUpperCase() != 'HTML') 
-			{
-				if (jQuery.curCSS(el, 'display') != 'inline') {
-					x -= el.scrollLeft;
-					y -= el.scrollTop;
-				}
-				el = el.parentNode;
-			}
-		}
-		if (restoreStyles == true) {
-			es.display = 'none';
-			es.position = oldPosition;
-			es.visibility = oldVisibility;
-		}
-		return {x:x, y:y};
-	},
-	getSize : function(e)
-	{
-		var w = parseInt(jQuery.curCSS(e,'width'), 10);
-		var h = parseInt(jQuery.curCSS(e,'height'), 10);
-		var wb = 0;
-		var hb = 0;
-		if (jQuery.curCSS(e, 'display') != 'none') {
-			wb = e.offsetWidth;
-			hb = e.offsetHeight;
-		} else {
-			var es = e.style;
-			var oldVisibility = es.visibility;
-			var oldPosition = es.position;
-			es.visibility = 'hidden';
-			es.display = 'block';
-			es.position = 'absolute';
-			wb = e.offsetWidth;
-			hb = e.offsetHeight;
-			es.display = 'none';
-			es.position = oldPosition;
-			es.visibility = oldVisibility;
-		}
-		return {w:w, h:h, wb:wb, hb:hb};
-	},
-	getClient : function(e)
-	{
-		var h, w;
-		if (e) {
-			w = e.clientWidth;
-			h = e.clientHeight;
-		} else {
-			var de = document.documentElement;
-			w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
-			h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
-		}
-		return {w:w,h:h};
-	},
-	getScroll : function (e)
-	{
-		var t=0, l=0, w=0, h=0, iw=0, ih=0;
-		if (e && e.nodeName.toLowerCase() != 'body') {
-			t = e.scrollTop;
-			l = e.scrollLeft;
-			w = e.scrollWidth;
-			h = e.scrollHeight;
-		} else  {
-			if (document.documentElement) {
-				t = document.documentElement.scrollTop;
-				l = document.documentElement.scrollLeft;
-				w = document.documentElement.scrollWidth;
-				h = document.documentElement.scrollHeight;
-			} else if (document.body) {
-				t = document.body.scrollTop;
-				l = document.body.scrollLeft;
-				w = document.body.scrollWidth;
-				h = document.body.scrollHeight;
-			}
-			if (typeof pageYOffset != 'undefined') {
-				t = pageYOffset;
-				l = pageXOffset;
-			}
-			iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;
-			ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;
-		}
-		return { t: t, l: l, w: w, h: h, iw: iw, ih: ih };
-	},
-	getMargins : function(e, toInteger)
-	{
-		var t = jQuery.curCSS(e,'marginTop') || '';
-		var r = jQuery.curCSS(e,'marginRight') || '';
-		var b = jQuery.curCSS(e,'marginBottom') || '';
-		var l = jQuery.curCSS(e,'marginLeft') || '';
-		if (toInteger)
-			return {
-				t: parseInt(t, 10)||0,
-				r: parseInt(r, 10)||0,
-				b: parseInt(b, 10)||0,
-				l: parseInt(l, 10)
-			};
-		else
-			return {t: t, r: r,	b: b, l: l};
-	},
-	getPadding : function(e, toInteger)
-	{
-		var t = jQuery.curCSS(e,'paddingTop') || '';
-		var r = jQuery.curCSS(e,'paddingRight') || '';
-		var b = jQuery.curCSS(e,'paddingBottom') || '';
-		var l = jQuery.curCSS(e,'paddingLeft') || '';
-		if (toInteger)
-			return {
-				t: parseInt(t, 10)||0,
-				r: parseInt(r, 10)||0,
-				b: parseInt(b, 10)||0,
-				l: parseInt(l, 10)
-			};
-		else
-			return {t: t, r: r,	b: b, l: l};
-	},
-	getBorder : function(e, toInteger)
-	{
-		var t = jQuery.curCSS(e,'borderTopWidth') || '';
-		var r = jQuery.curCSS(e,'borderRightWidth') || '';
-		var b = jQuery.curCSS(e,'borderBottomWidth') || '';
-		var l = jQuery.curCSS(e,'borderLeftWidth') || '';
-		if (toInteger)
-			return {
-				t: parseInt(t, 10)||0,
-				r: parseInt(r, 10)||0,
-				b: parseInt(b, 10)||0,
-				l: parseInt(l, 10)||0
-			};
-		else
-			return {t: t, r: r,	b: b, l: l};
-	},
-	traverseDOM : function(nodeEl, func)
-	{
-		func(nodeEl);
-		nodeEl = nodeEl.firstChild;
-		while(nodeEl){
-			EYE.traverseDOM(nodeEl, func);
-			nodeEl = nodeEl.nextSibling;
-		}
-	},
-	getInnerWidth :  function(el, scroll) {
-		var offsetW = el.offsetWidth;
-		return scroll ? Math.max(el.scrollWidth,offsetW) - offsetW + el.clientWidth:el.clientWidth;
-	},
-	getInnerHeight : function(el, scroll) {
-		var offsetH = el.offsetHeight;
-		return scroll ? Math.max(el.scrollHeight,offsetH) - offsetH + el.clientHeight:el.clientHeight;
-	},
-	getExtraWidth : function(el) {
-		if($.boxModel)
-			return (parseInt($.curCSS(el, 'paddingLeft'))||0)
-				+ (parseInt($.curCSS(el, 'paddingRight'))||0)
-				+ (parseInt($.curCSS(el, 'borderLeftWidth'))||0)
-				+ (parseInt($.curCSS(el, 'borderRightWidth'))||0);
-		return 0;
-	},
-	getExtraHeight : function(el) {
-		if($.boxModel)
-			return (parseInt($.curCSS(el, 'paddingTop'))||0)
-				+ (parseInt($.curCSS(el, 'paddingBottom'))||0)
-				+ (parseInt($.curCSS(el, 'borderTopWidth'))||0)
-				+ (parseInt($.curCSS(el, 'borderBottomWidth'))||0);
-		return 0;
-	},
-	isChildOf: function(parentEl, el, container) {
-		if (parentEl == el) {
-			return true;
-		}
-		if (!el || !el.nodeType || el.nodeType != 1) {
-			return false;
-		}
-		if (parentEl.contains && !$.browser.safari) {
-			return parentEl.contains(el);
-		}
-		if ( parentEl.compareDocumentPosition ) {
-			return !!(parentEl.compareDocumentPosition(el) & 16);
-		}
-		var prEl = el.parentNode;
-		while(prEl && prEl != container) {
-			if (prEl == parentEl)
-				return true;
-			prEl = prEl.parentNode;
-		}
-		return false;
-	},
-	centerEl : function(el, axis)
-	{
-		var clientScroll = EYE.getScroll();
-		var size = EYE.getSize(el);
-		if (!axis || axis == 'vertically')
-			$(el).css(
-				{
-					top: clientScroll.t + ((Math.min(clientScroll.h,clientScroll.ih) - size.hb)/2) + 'px'
-				}
-			);
-		if (!axis || axis == 'horizontally')
-			$(el).css(
-				{
-					left: clientScroll.l + ((Math.min(clientScroll.w,clientScroll.iw) - size.wb)/2) + 'px'
-				}
-			);
-	}
-});
-if (!$.easing.easeout) {
-	$.easing.easeout = function(p, n, firstNum, delta, duration) {
-		return -delta * ((n=n/duration-1)*n*n*n - 1) + firstNum;
-	};
-}
-	
-})(jQuery);
\ No newline at end of file
diff --git a/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/css/easyui.css b/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/css/easyui.css
deleted file mode 100644
index 4e21c27..0000000
--- a/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/css/easyui.css
+++ /dev/null
@@ -1,2869 +0,0 @@
-.panel {
-  overflow: hidden;
-  text-align: left;
-  margin: 0;
-  border: 0;
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.panel-header,
-.panel-body {
-  border-width: 1px;
-  border-style: solid;
-}
-.panel-header {
-  padding: 5px;
-  position: relative;
-}
-.panel-title {
-  background: url('images/blank.gif') no-repeat;
-}
-.panel-header-noborder {
-  border-width: 0 0 1px 0;
-}
-.panel-body {
-  overflow: auto;
-  border-top-width: 0;
-  padding: 0;
-}
-.panel-body-noheader {
-  border-top-width: 1px;
-}
-.panel-body-noborder {
-  border-width: 0px;
-}
-.panel-body-nobottom {
-  border-bottom-width: 0;
-}
-.panel-with-icon {
-  padding-left: 18px;
-}
-.panel-icon,
-.panel-tool {
-  position: absolute;
-  top: 50%;
-  margin-top: -8px;
-  height: 16px;
-  overflow: hidden;
-}
-.panel-icon {
-  left: 5px;
-  width: 16px;
-}
-.panel-tool {
-  right: 5px;
-  width: auto;
-}
-.panel-tool a {
-  display: inline-block;
-  width: 16px;
-  height: 16px;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  margin: 0 0 0 2px;
-  vertical-align: top;
-}
-.panel-tool a:hover {
-  opacity: 1;
-  filter: alpha(opacity=100);
-  background-color: #eaf2ff;
-  -moz-border-radius: 3px 3px 3px 3px;
-  -webkit-border-radius: 3px 3px 3px 3px;
-  border-radius: 3px 3px 3px 3px;
-}
-.panel-loading {
-  padding: 11px 0px 10px 30px;
-}
-.panel-noscroll {
-  overflow: hidden;
-}
-.panel-fit,
-.panel-fit body {
-  height: 100%;
-  margin: 0;
-  padding: 0;
-  border: 0;
-  overflow: hidden;
-}
-.panel-loading {
-  background: url('images/loading.gif') no-repeat 10px 10px;
-}
-.panel-tool-close {
-  background: url('images/panel_tools.png') no-repeat -16px 0px;
-}
-.panel-tool-min {
-  background: url('images/panel_tools.png') no-repeat 0px 0px;
-}
-.panel-tool-max {
-  background: url('images/panel_tools.png') no-repeat 0px -16px;
-}
-.panel-tool-restore {
-  background: url('images/panel_tools.png') no-repeat -16px -16px;
-}
-.panel-tool-collapse {
-  background: url('images/panel_tools.png') no-repeat -32px 0;
-}
-.panel-tool-expand {
-  background: url('images/panel_tools.png') no-repeat -32px -16px;
-}
-.panel-header,
-.panel-body {
-  border-color: #95B8E7;
-}
-.panel-header {
-  background-color: #E0ECFF;
-  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);
-}
-.panel-body {
-  background-color: #ffffff;
-  color: #000000;
-  font-size: 12px;
-}
-.panel-title {
-  font-size: 12px;
-  font-weight: bold;
-  color: #0E2D5F;
-  height: 16px;
-  line-height: 16px;
-}
-.panel-footer {
-  border: 1px solid #95B8E7;
-  overflow: hidden;
-  background: #F4F4F4;
-}
-.panel-footer-noborder {
-  border-width: 1px 0 0 0;
-}
-.accordion {
-  overflow: hidden;
-  border-width: 1px;
-  border-style: solid;
-}
-.accordion .accordion-header {
-  border-width: 0 0 1px;
-  cursor: pointer;
-}
-.accordion .accordion-body {
-  border-width: 0 0 1px;
-}
-.accordion-noborder {
-  border-width: 0;
-}
-.accordion-noborder .accordion-header {
-  border-width: 0 0 1px;
-}
-.accordion-noborder .accordion-body {
-  border-width: 0 0 1px;
-}
-.accordion-collapse {
-  background: url('images/accordion_arrows.png') no-repeat 0 0;
-}
-.accordion-expand {
-  background: url('images/accordion_arrows.png') no-repeat -16px 0;
-}
-.accordion {
-  background: #ffffff;
-  border-color: #95B8E7;
-}
-.accordion .accordion-header {
-  background: #E0ECFF;
-  filter: none;
-}
-.accordion .accordion-header-selected {
-  background: #ffe48d;
-}
-.accordion .accordion-header-selected .panel-title {
-  color: #000000;
-}
-.window {
-  overflow: hidden;
-  padding: 5px;
-  border-width: 1px;
-  border-style: solid;
-}
-.window .window-header {
-  background: transparent;
-  padding: 0px 0px 6px 0px;
-}
-.window .window-body {
-  border-width: 1px;
-  border-style: solid;
-  border-top-width: 0px;
-}
-.window .window-body-noheader {
-  border-top-width: 1px;
-}
-.window .panel-body-nobottom {
-  border-bottom-width: 0;
-}
-.window .window-header .panel-icon,
-.window .window-header .panel-tool {
-  top: 50%;
-  margin-top: -11px;
-}
-.window .window-header .panel-icon {
-  left: 1px;
-}
-.window .window-header .panel-tool {
-  right: 1px;
-}
-.window .window-header .panel-with-icon {
-  padding-left: 18px;
-}
-.window-proxy {
-  position: absolute;
-  overflow: hidden;
-}
-.window-proxy-mask {
-  position: absolute;
-  filter: alpha(opacity=5);
-  opacity: 0.05;
-}
-.window-mask {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  filter: alpha(opacity=40);
-  opacity: 0.40;
-  font-size: 1px;
-  overflow: hidden;
-}
-.window,
-.window-shadow {
-  position: absolute;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.window-shadow {
-  background: #ccc;
-  -moz-box-shadow: 2px 2px 3px #cccccc;
-  -webkit-box-shadow: 2px 2px 3px #cccccc;
-  box-shadow: 2px 2px 3px #cccccc;
-  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);
-}
-.window,
-.window .window-body {
-  border-color: #95B8E7;
-}
-.window {
-  background-color: #E0ECFF;
-  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);
-  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);
-  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);
-  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);
-}
-.window-proxy {
-  border: 1px dashed #95B8E7;
-}
-.window-proxy-mask,
-.window-mask {
-  background: #ccc;
-}
-.window .panel-footer {
-  border: 1px solid #95B8E7;
-  position: relative;
-  top: -1px;
-}
-.dialog-content {
-  overflow: auto;
-}
-.dialog-toolbar {
-  padding: 2px 5px;
-}
-.dialog-tool-separator {
-  float: left;
-  height: 24px;
-  border-left: 1px solid #ccc;
-  border-right: 1px solid #fff;
-  margin: 2px 1px;
-}
-.dialog-button {
-  padding: 5px;
-  text-align: right;
-}
-.dialog-button .l-btn {
-  margin-left: 5px;
-}
-.dialog-toolbar,
-.dialog-button {
-  background: #F4F4F4;
-  border-width: 1px;
-  border-style: solid;
-}
-.dialog-toolbar {
-  border-color: #95B8E7 #95B8E7 #dddddd #95B8E7;
-}
-.dialog-button {
-  border-color: #dddddd #95B8E7 #95B8E7 #95B8E7;
-}
-.l-btn {
-  text-decoration: none;
-  display: inline-block;
-  overflow: hidden;
-  margin: 0;
-  padding: 0;
-  cursor: pointer;
-  outline: none;
-  text-align: center;
-  vertical-align: middle;
-  line-height: normal;
-}
-.l-btn-plain {
-  border-width: 0;
-  padding: 1px;
-}
-.l-btn-left {
-  display: inline-block;
-  position: relative;
-  overflow: hidden;
-  margin: 0;
-  padding: 0;
-  vertical-align: top;
-}
-.l-btn-text {
-  display: inline-block;
-  vertical-align: top;
-  width: auto;
-  line-height: 24px;
-  font-size: 12px;
-  padding: 0;
-  margin: 0 4px;
-}
-.l-btn-icon {
-  display: inline-block;
-  width: 16px;
-  height: 16px;
-  line-height: 16px;
-  position: absolute;
-  top: 50%;
-  margin-top: -8px;
-  font-size: 1px;
-}
-.l-btn span span .l-btn-empty {
-  display: inline-block;
-  margin: 0;
-  width: 16px;
-  height: 24px;
-  font-size: 1px;
-  vertical-align: top;
-}
-.l-btn span .l-btn-icon-left {
-  padding: 0 0 0 20px;
-  background-position: left center;
-}
-.l-btn span .l-btn-icon-right {
-  padding: 0 20px 0 0;
-  background-position: right center;
-}
-.l-btn-icon-left .l-btn-text {
-  margin: 0 4px 0 24px;
-}
-.l-btn-icon-left .l-btn-icon {
-  left: 4px;
-}
-.l-btn-icon-right .l-btn-text {
-  margin: 0 24px 0 4px;
-}
-.l-btn-icon-right .l-btn-icon {
-  right: 4px;
-}
-.l-btn-icon-top .l-btn-text {
-  margin: 20px 4px 0 4px;
-}
-.l-btn-icon-top .l-btn-icon {
-  top: 4px;
-  left: 50%;
-  margin: 0 0 0 -8px;
-}
-.l-btn-icon-bottom .l-btn-text {
-  margin: 0 4px 20px 4px;
-}
-.l-btn-icon-bottom .l-btn-icon {
-  top: auto;
-  bottom: 4px;
-  left: 50%;
-  margin: 0 0 0 -8px;
-}
-.l-btn-left .l-btn-empty {
-  margin: 0 4px;
-  width: 16px;
-}
-.l-btn-plain:hover {
-  padding: 0;
-}
-.l-btn-focus {
-  outline: #0000FF dotted thin;
-}
-.l-btn-large .l-btn-text {
-  line-height: 40px;
-}
-.l-btn-large .l-btn-icon {
-  width: 32px;
-  height: 32px;
-  line-height: 32px;
-  margin-top: -16px;
-}
-.l-btn-large .l-btn-icon-left .l-btn-text {
-  margin-left: 40px;
-}
-.l-btn-large .l-btn-icon-right .l-btn-text {
-  margin-right: 40px;
-}
-.l-btn-large .l-btn-icon-top .l-btn-text {
-  margin-top: 36px;
-  line-height: 24px;
-  min-width: 32px;
-}
-.l-btn-large .l-btn-icon-top .l-btn-icon {
-  margin: 0 0 0 -16px;
-}
-.l-btn-large .l-btn-icon-bottom .l-btn-text {
-  margin-bottom: 36px;
-  line-height: 24px;
-  min-width: 32px;
-}
-.l-btn-large .l-btn-icon-bottom .l-btn-icon {
-  margin: 0 0 0 -16px;
-}
-.l-btn-large .l-btn-left .l-btn-empty {
-  margin: 0 4px;
-  width: 32px;
-}
-.l-btn {
-  color: #444;
-  background: #fafafa;
-  background-repeat: repeat-x;
-  border: 1px solid #bbb;
-  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.l-btn:hover {
-  background: #eaf2ff;
-  color: #000000;
-  border: 1px solid #b7d2ff;
-  filter: none;
-}
-.l-btn-plain {
-  background: transparent;
-  border-width: 0;
-  filter: none;
-}
-.l-btn-outline {
-  border-width: 1px;
-  border-color: #b7d2ff;
-  padding: 0;
-}
-.l-btn-plain:hover {
-  background: #eaf2ff;
-  color: #000000;
-  border: 1px solid #b7d2ff;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.l-btn-disabled,
-.l-btn-disabled:hover {
-  opacity: 0.5;
-  cursor: default;
-  background: #fafafa;
-  color: #444;
-  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);
-}
-.l-btn-disabled .l-btn-text,
-.l-btn-disabled .l-btn-icon {
-  filter: alpha(opacity=50);
-}
-.l-btn-plain-disabled,
-.l-btn-plain-disabled:hover {
-  background: transparent;
-  filter: alpha(opacity=50);
-}
-.l-btn-selected,
-.l-btn-selected:hover {
-  background: #ddd;
-  filter: none;
-}
-.l-btn-plain-selected,
-.l-btn-plain-selected:hover {
-  background: #ddd;
-}
-.textbox {
-  position: relative;
-  border: 1px solid #95B8E7;
-  background-color: #fff;
-  vertical-align: middle;
-  display: inline-block;
-  overflow: hidden;
-  white-space: nowrap;
-  margin: 0;
-  padding: 0;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.textbox .textbox-text {
-  font-size: 12px;
-  border: 0;
-  margin: 0;
-  padding: 4px;
-  white-space: normal;
-  vertical-align: top;
-  outline-style: none;
-  resize: none;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.textbox textarea.textbox-text {
-  white-space: pre-wrap;
-}
-.textbox .textbox-prompt {
-  font-size: 12px;
-  color: #aaa;
-}
-.textbox .textbox-button,
-.textbox .textbox-button:hover {
-  position: absolute;
-  top: 0;
-  padding: 0;
-  vertical-align: top;
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.textbox-button-right,
-.textbox-button-right:hover {
-  border-width: 0 0 0 1px;
-}
-.textbox-button-left,
-.textbox-button-left:hover {
-  border-width: 0 1px 0 0;
-}
-.textbox-addon {
-  position: absolute;
-  top: 0;
-}
-.textbox-icon {
-  display: inline-block;
-  width: 18px;
-  height: 20px;
-  overflow: hidden;
-  vertical-align: top;
-  background-position: center center;
-  cursor: pointer;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  text-decoration: none;
-  outline-style: none;
-}
-.textbox-icon-disabled,
-.textbox-icon-readonly {
-  cursor: default;
-}
-.textbox-icon:hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.textbox-icon-disabled:hover {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.textbox-focused {
-  -moz-box-shadow: 0 0 3px 0 #95B8E7;
-  -webkit-box-shadow: 0 0 3px 0 #95B8E7;
-  box-shadow: 0 0 3px 0 #95B8E7;
-}
-.textbox-invalid {
-  border-color: #ffa8a8;
-  background-color: #fff3f3;
-}
-.filebox .textbox-value {
-  vertical-align: top;
-  position: absolute;
-  top: 0;
-  left: -5000px;
-}
-.filebox-label {
-  display: inline-block;
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  cursor: pointer;
-  left: 0;
-  top: 0;
-  z-index: 10;
-  background: url('images/blank.gif') no-repeat;
-}
-.l-btn-disabled .filebox-label {
-  cursor: default;
-}
-.combo {
-  display: inline-block;
-  white-space: nowrap;
-  margin: 0;
-  padding: 0;
-  border-width: 1px;
-  border-style: solid;
-  overflow: hidden;
-  vertical-align: middle;
-}
-.combo .combo-text {
-  font-size: 12px;
-  border: 0px;
-  margin: 0;
-  padding: 0px 2px;
-  vertical-align: baseline;
-}
-.combo-arrow {
-  width: 18px;
-  height: 20px;
-  overflow: hidden;
-  display: inline-block;
-  vertical-align: top;
-  cursor: pointer;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.combo-arrow-hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.combo-panel {
-  overflow: auto;
-}
-.combo-arrow {
-  background: url('images/combo_arrow.png') no-repeat center center;
-}
-.combo-panel {
-  background-color: #ffffff;
-}
-.combo {
-  border-color: #95B8E7;
-  background-color: #fff;
-}
-.combo-arrow {
-  background-color: #E0ECFF;
-}
-.combo-arrow-hover {
-  background-color: #eaf2ff;
-}
-.combo-arrow:hover {
-  background-color: #eaf2ff;
-}
-.combo .textbox-icon-disabled:hover {
-  cursor: default;
-}
-.textbox-invalid {
-  border-color: #ffa8a8;
-  background-color: #fff3f3;
-}
-.combobox-item,
-.combobox-group {
-  font-size: 12px;
-  padding: 3px;
-  padding-right: 0px;
-}
-.combobox-item-disabled {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-.combobox-gitem {
-  padding-left: 10px;
-}
-.combobox-group {
-  font-weight: bold;
-}
-.combobox-item-hover {
-  background-color: #eaf2ff;
-  color: #000000;
-}
-.combobox-item-selected {
-  background-color: #ffe48d;
-  color: #000000;
-}
-.layout {
-  position: relative;
-  overflow: hidden;
-  margin: 0;
-  padding: 0;
-  z-index: 0;
-}
-.layout-panel {
-  position: absolute;
-  overflow: hidden;
-}
-.layout-body {
-  min-width: 1px;
-  min-height: 1px;
-}
-.layout-panel-east,
-.layout-panel-west {
-  z-index: 2;
-}
-.layout-panel-north,
-.layout-panel-south {
-  z-index: 3;
-}
-.layout-expand {
-  position: absolute;
-  padding: 0px;
-  font-size: 1px;
-  cursor: pointer;
-  z-index: 1;
-}
-.layout-expand .panel-header,
-.layout-expand .panel-body {
-  background: transparent;
-  filter: none;
-  overflow: hidden;
-}
-.layout-expand .panel-header {
-  border-bottom-width: 0px;
-}
-.layout-expand .panel-body {
-  position: relative;
-}
-.layout-expand .panel-body .panel-icon {
-  margin-top: 0;
-  top: 0;
-  left: 50%;
-  margin-left: -8px;
-}
-.layout-expand-west .panel-header .panel-icon,
-.layout-expand-east .panel-header .panel-icon {
-  display: none;
-}
-.layout-expand-title {
-  position: absolute;
-  top: 0;
-  left: 21px;
-  white-space: nowrap;
-  word-wrap: normal;
-  -webkit-transform: rotate(90deg);
-  -webkit-transform-origin: 0 0;
-  -moz-transform: rotate(90deg);
-  -moz-transform-origin: 0 0;
-  -o-transform: rotate(90deg);
-  -o-transform-origin: 0 0;
-  transform: rotate(90deg);
-  transform-origin: 0 0;
-}
-.layout-expand-with-icon {
-  top: 18px;
-}
-.layout-expand .panel-body-noheader .layout-expand-title,
-.layout-expand .panel-body-noheader .panel-icon {
-  top: 5px;
-}
-.layout-expand .panel-body-noheader .layout-expand-with-icon {
-  top: 23px;
-}
-.layout-split-proxy-h,
-.layout-split-proxy-v {
-  position: absolute;
-  font-size: 1px;
-  display: none;
-  z-index: 5;
-}
-.layout-split-proxy-h {
-  width: 5px;
-  cursor: e-resize;
-}
-.layout-split-proxy-v {
-  height: 5px;
-  cursor: n-resize;
-}
-.layout-mask {
-  position: absolute;
-  background: #fafafa;
-  filter: alpha(opacity=10);
-  opacity: 0.10;
-  z-index: 4;
-}
-.layout-button-up {
-  background: url('images/layout_arrows.png') no-repeat -16px -16px;
-}
-.layout-button-down {
-  background: url('images/layout_arrows.png') no-repeat -16px 0;
-}
-.layout-button-left {
-  background: url('images/layout_arrows.png') no-repeat 0 0;
-}
-.layout-button-right {
-  background: url('images/layout_arrows.png') no-repeat 0 -16px;
-}
-.layout-split-proxy-h,
-.layout-split-proxy-v {
-  background-color: #aac5e7;
-}
-.layout-split-north {
-  border-bottom: 5px solid #E6EEF8;
-}
-.layout-split-south {
-  border-top: 5px solid #E6EEF8;
-}
-.layout-split-east {
-  border-left: 5px solid #E6EEF8;
-}
-.layout-split-west {
-  border-right: 5px solid #E6EEF8;
-}
-.layout-expand {
-  background-color: #E0ECFF;
-}
-.layout-expand-over {
-  background-color: #E0ECFF;
-}
-.tabs-container {
-  overflow: hidden;
-}
-.tabs-header {
-  border-width: 1px;
-  border-style: solid;
-  border-bottom-width: 0;
-  position: relative;
-  padding: 0;
-  padding-top: 2px;
-  overflow: hidden;
-}
-.tabs-scroller-left,
-.tabs-scroller-right {
-  position: absolute;
-  top: auto;
-  bottom: 0;
-  width: 18px;
-  font-size: 1px;
-  display: none;
-  cursor: pointer;
-  border-width: 1px;
-  border-style: solid;
-}
-.tabs-scroller-left {
-  left: 0;
-}
-.tabs-scroller-right {
-  right: 0;
-}
-.tabs-tool {
-  position: absolute;
-  bottom: 0;
-  padding: 1px;
-  overflow: hidden;
-  border-width: 1px;
-  border-style: solid;
-}
-.tabs-header-plain .tabs-tool {
-  padding: 0 1px;
-}
-.tabs-wrap {
-  position: relative;
-  left: 0;
-  overflow: hidden;
-  width: 100%;
-  margin: 0;
-  padding: 0;
-}
-.tabs-scrolling {
-  margin-left: 18px;
-  margin-right: 18px;
-}
-.tabs-disabled {
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-}
-.tabs {
-  list-style-type: none;
-  height: 26px;
-  margin: 0px;
-  padding: 0px;
-  padding-left: 4px;
-  width: 50000px;
-  border-style: solid;
-  border-width: 0 0 1px 0;
-}
-.tabs li {
-  float: left;
-  display: inline-block;
-  margin: 0 4px -1px 0;
-  padding: 0;
-  position: relative;
-  border: 0;
-}
-.tabs li a.tabs-inner {
-  display: inline-block;
-  text-decoration: none;
-  margin: 0;
-  padding: 0 10px;
-  height: 25px;
-  line-height: 25px;
-  text-align: center;
-  white-space: nowrap;
-  border-width: 1px;
-  border-style: solid;
-  -moz-border-radius: 5px 5px 0 0;
-  -webkit-border-radius: 5px 5px 0 0;
-  border-radius: 5px 5px 0 0;
-}
-.tabs li.tabs-selected a.tabs-inner {
-  font-weight: bold;
-  outline: none;
-}
-.tabs li.tabs-selected a:hover.tabs-inner {
-  cursor: default;
-  pointer: default;
-}
-.tabs li a.tabs-close,
-.tabs-p-tool {
-  position: absolute;
-  font-size: 1px;
-  display: block;
-  height: 12px;
-  padding: 0;
-  top: 50%;
-  margin-top: -6px;
-  overflow: hidden;
-}
-.tabs li a.tabs-close {
-  width: 12px;
-  right: 5px;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.tabs-p-tool {
-  right: 16px;
-}
-.tabs-p-tool a {
-  display: inline-block;
-  font-size: 1px;
-  width: 12px;
-  height: 12px;
-  margin: 0;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.tabs li a:hover.tabs-close,
-.tabs-p-tool a:hover {
-  opacity: 1;
-  filter: alpha(opacity=100);
-  cursor: hand;
-  cursor: pointer;
-}
-.tabs-with-icon {
-  padding-left: 18px;
-}
-.tabs-icon {
-  position: absolute;
-  width: 16px;
-  height: 16px;
-  left: 10px;
-  top: 50%;
-  margin-top: -8px;
-}
-.tabs-title {
-  font-size: 12px;
-}
-.tabs-closable {
-  padding-right: 8px;
-}
-.tabs-panels {
-  margin: 0px;
-  padding: 0px;
-  border-width: 1px;
-  border-style: solid;
-  border-top-width: 0;
-  overflow: hidden;
-}
-.tabs-header-bottom {
-  border-width: 0 1px 1px 1px;
-  padding: 0 0 2px 0;
-}
-.tabs-header-bottom .tabs {
-  border-width: 1px 0 0 0;
-}
-.tabs-header-bottom .tabs li {
-  margin: -1px 4px 0 0;
-}
-.tabs-header-bottom .tabs li a.tabs-inner {
-  -moz-border-radius: 0 0 5px 5px;
-  -webkit-border-radius: 0 0 5px 5px;
-  border-radius: 0 0 5px 5px;
-}
-.tabs-header-bottom .tabs-tool {
-  top: 0;
-}
-.tabs-header-bottom .tabs-scroller-left,
-.tabs-header-bottom .tabs-scroller-right {
-  top: 0;
-  bottom: auto;
-}
-.tabs-panels-top {
-  border-width: 1px 1px 0 1px;
-}
-.tabs-header-left {
-  float: left;
-  border-width: 1px 0 1px 1px;
-  padding: 0;
-}
-.tabs-header-right {
-  float: right;
-  border-width: 1px 1px 1px 0;
-  padding: 0;
-}
-.tabs-header-left .tabs-wrap,
-.tabs-header-right .tabs-wrap {
-  height: 100%;
-}
-.tabs-header-left .tabs {
-  height: 100%;
-  padding: 4px 0 0 2px;
-  border-width: 0 1px 0 0;
-}
-.tabs-header-right .tabs {
-  height: 100%;
-  padding: 4px 2px 0 0;
-  border-width: 0 0 0 1px;
-}
-.tabs-header-left .tabs li,
-.tabs-header-right .tabs li {
-  display: block;
-  width: 100%;
-  position: relative;
-}
-.tabs-header-left .tabs li {
-  left: auto;
-  right: 0;
-  margin: 0 -1px 4px 0;
-  float: right;
-}
-.tabs-header-right .tabs li {
-  left: 0;
-  right: auto;
-  margin: 0 0 4px -1px;
-  float: left;
-}
-.tabs-justified li a.tabs-inner {
-  padding-left: 0;
-  padding-right: 0;
-}
-.tabs-header-left .tabs li a.tabs-inner {
-  display: block;
-  text-align: left;
-  padding-left: 10px;
-  padding-right: 10px;
-  -moz-border-radius: 5px 0 0 5px;
-  -webkit-border-radius: 5px 0 0 5px;
-  border-radius: 5px 0 0 5px;
-}
-.tabs-header-right .tabs li a.tabs-inner {
-  display: block;
-  text-align: left;
-  padding-left: 10px;
-  padding-right: 10px;
-  -moz-border-radius: 0 5px 5px 0;
-  -webkit-border-radius: 0 5px 5px 0;
-  border-radius: 0 5px 5px 0;
-}
-.tabs-panels-right {
-  float: right;
-  border-width: 1px 1px 1px 0;
-}
-.tabs-panels-left {
-  float: left;
-  border-width: 1px 0 1px 1px;
-}
-.tabs-header-noborder,
-.tabs-panels-noborder {
-  border: 0px;
-}
-.tabs-header-plain {
-  border: 0px;
-  background: transparent;
-}
-.tabs-pill {
-  padding-bottom: 3px;
-}
-.tabs-header-bottom .tabs-pill {
-  padding-top: 3px;
-  padding-bottom: 0;
-}
-.tabs-header-left .tabs-pill {
-  padding-right: 3px;
-}
-.tabs-header-right .tabs-pill {
-  padding-left: 3px;
-}
-.tabs-header .tabs-pill li a.tabs-inner {
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.tabs-header-narrow,
-.tabs-header-narrow .tabs-narrow {
-  padding: 0;
-}
-.tabs-narrow li,
-.tabs-header-bottom .tabs-narrow li {
-  margin-left: 0;
-  margin-right: -1px;
-}
-.tabs-narrow li.tabs-last,
-.tabs-header-bottom .tabs-narrow li.tabs-last {
-  margin-right: 0;
-}
-.tabs-header-left .tabs-narrow,
-.tabs-header-right .tabs-narrow {
-  padding-top: 0;
-}
-.tabs-header-left .tabs-narrow li {
-  margin-bottom: -1px;
-  margin-right: -1px;
-}
-.tabs-header-left .tabs-narrow li.tabs-last,
-.tabs-header-right .tabs-narrow li.tabs-last {
-  margin-bottom: 0;
-}
-.tabs-header-right .tabs-narrow li {
-  margin-bottom: -1px;
-  margin-left: -1px;
-}
-.tabs-scroller-left {
-  background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center;
-}
-.tabs-scroller-right {
-  background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center;
-}
-.tabs li a.tabs-close {
-  background: url('images/tabs_icons.png') no-repeat -34px center;
-}
-.tabs li a.tabs-inner:hover {
-  background: #eaf2ff;
-  color: #000000;
-  filter: none;
-}
-.tabs li.tabs-selected a.tabs-inner {
-  background-color: #ffffff;
-  color: #0E2D5F;
-  background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%);
-  background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%);
-  background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%);
-  background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0);
-}
-.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {
-  background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%);
-  background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%);
-  background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%);
-  background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0);
-}
-.tabs-header-left .tabs li.tabs-selected a.tabs-inner {
-  background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%);
-  background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%);
-  background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%);
-  background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%);
-  background-repeat: repeat-y;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1);
-}
-.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
-  background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%);
-  background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%);
-  background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%);
-  background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%);
-  background-repeat: repeat-y;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1);
-}
-.tabs li a.tabs-inner {
-  color: #0E2D5F;
-  background-color: #E0ECFF;
-  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);
-}
-.tabs-header,
-.tabs-tool {
-  background-color: #E0ECFF;
-}
-.tabs-header-plain {
-  background: transparent;
-}
-.tabs-header,
-.tabs-scroller-left,
-.tabs-scroller-right,
-.tabs-tool,
-.tabs,
-.tabs-panels,
-.tabs li a.tabs-inner,
-.tabs li.tabs-selected a.tabs-inner,
-.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,
-.tabs-header-left .tabs li.tabs-selected a.tabs-inner,
-.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
-  border-color: #95B8E7;
-}
-.tabs-p-tool a:hover,
-.tabs li a:hover.tabs-close,
-.tabs-scroller-over {
-  background-color: #eaf2ff;
-}
-.tabs li.tabs-selected a.tabs-inner {
-  border-bottom: 1px solid #ffffff;
-}
-.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {
-  border-top: 1px solid #ffffff;
-}
-.tabs-header-left .tabs li.tabs-selected a.tabs-inner {
-  border-right: 1px solid #ffffff;
-}
-.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
-  border-left: 1px solid #ffffff;
-}
-.tabs-header .tabs-pill li.tabs-selected a.tabs-inner {
-  background: #ffe48d;
-  color: #000000;
-  filter: none;
-  border-color: #95B8E7;
-}
-.datagrid .panel-body {
-  overflow: hidden;
-  position: relative;
-}
-.datagrid-view {
-  position: relative;
-  overflow: hidden;
-}
-.datagrid-view1,
-.datagrid-view2 {
-  position: absolute;
-  overflow: hidden;
-  top: 0;
-}
-.datagrid-view1 {
-  left: 0;
-}
-.datagrid-view2 {
-  right: 0;
-}
-.datagrid-mask {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-  display: none;
-}
-.datagrid-mask-msg {
-  position: absolute;
-  top: 50%;
-  margin-top: -20px;
-  padding: 10px 5px 10px 30px;
-  width: auto;
-  height: 16px;
-  border-width: 2px;
-  border-style: solid;
-  display: none;
-}
-.datagrid-sort-icon {
-  padding: 0;
-  display: none;
-}
-.datagrid-toolbar {
-  height: auto;
-  padding: 1px 2px;
-  border-width: 0 0 1px 0;
-  border-style: solid;
-}
-.datagrid-btn-separator {
-  float: left;
-  height: 24px;
-  border-left: 1px solid #ccc;
-  border-right: 1px solid #fff;
-  margin: 2px 1px;
-}
-.datagrid .datagrid-pager {
-  display: block;
-  margin: 0;
-  border-width: 1px 0 0 0;
-  border-style: solid;
-}
-.datagrid .datagrid-pager-top {
-  border-width: 0 0 1px 0;
-}
-.datagrid-header {
-  overflow: hidden;
-  cursor: default;
-  border-width: 0 0 1px 0;
-  border-style: solid;
-}
-.datagrid-header-inner {
-  float: left;
-  width: 10000px;
-}
-.datagrid-header-row,
-.datagrid-row {
-  height: 25px;
-}
-.datagrid-header td,
-.datagrid-body td,
-.datagrid-footer td {
-  border-width: 0 1px 1px 0;
-  border-style: dotted;
-  margin: 0;
-  padding: 0;
-}
-.datagrid-cell,
-.datagrid-cell-group,
-.datagrid-header-rownumber,
-.datagrid-cell-rownumber {
-  margin: 0;
-  padding: 0 4px;
-  white-space: nowrap;
-  word-wrap: normal;
-  overflow: hidden;
-  height: 18px;
-  line-height: 18px;
-  font-size: 12px;
-}
-.datagrid-header .datagrid-cell {
-  height: auto;
-}
-.datagrid-header .datagrid-cell span {
-  font-size: 12px;
-}
-.datagrid-cell-group {
-  text-align: center;
-  text-overflow: ellipsis;
-}
-.datagrid-header-rownumber,
-.datagrid-cell-rownumber {
-  width: 30px;
-  text-align: center;
-  margin: 0;
-  padding: 0;
-}
-.datagrid-body {
-  margin: 0;
-  padding: 0;
-  overflow: auto;
-  zoom: 1;
-}
-.datagrid-view1 .datagrid-body-inner {
-  padding-bottom: 20px;
-}
-.datagrid-view1 .datagrid-body {
-  overflow: hidden;
-}
-.datagrid-footer {
-  overflow: hidden;
-}
-.datagrid-footer-inner {
-  border-width: 1px 0 0 0;
-  border-style: solid;
-  width: 10000px;
-  float: left;
-}
-.datagrid-row-editing .datagrid-cell {
-  height: auto;
-}
-.datagrid-header-check,
-.datagrid-cell-check {
-  padding: 0;
-  width: 27px;
-  height: 18px;
-  font-size: 1px;
-  text-align: center;
-  overflow: hidden;
-}
-.datagrid-header-check input,
-.datagrid-cell-check input {
-  margin: 0;
-  padding: 0;
-  width: 15px;
-  height: 18px;
-}
-.datagrid-resize-proxy {
-  position: absolute;
-  width: 1px;
-  height: 10000px;
-  top: 0;
-  cursor: e-resize;
-  display: none;
-}
-.datagrid-body .datagrid-editable {
-  margin: 0;
-  padding: 0;
-}
-.datagrid-body .datagrid-editable table {
-  width: 100%;
-  height: 100%;
-}
-.datagrid-body .datagrid-editable td {
-  border: 0;
-  margin: 0;
-  padding: 0;
-}
-.datagrid-view .datagrid-editable-input {
-  margin: 0;
-  padding: 2px 4px;
-  border: 1px solid #95B8E7;
-  font-size: 12px;
-  outline-style: none;
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.datagrid-sort .datagrid-sort-icon {
-  display: inline;
-  padding: 0 13px 0 0;
-  background: url('images/datagrid_icons.png') no-repeat -64px center;
-}
-.datagrid-sort-desc .datagrid-sort-icon {
-  display: inline;
-  padding: 0 13px 0 0;
-  background: url('images/datagrid_icons.png') no-repeat -16px center;
-}
-.datagrid-sort-asc .datagrid-sort-icon {
-  display: inline;
-  padding: 0 13px 0 0;
-  background: url('images/datagrid_icons.png') no-repeat 0px center;
-}
-.datagrid-row-collapse {
-  background: url('images/datagrid_icons.png') no-repeat -48px center;
-}
-.datagrid-row-expand {
-  background: url('images/datagrid_icons.png') no-repeat -32px center;
-}
-.datagrid-mask-msg {
-  background: #ffffff url('images/loading.gif') no-repeat scroll 5px center;
-}
-.datagrid-header,
-.datagrid-td-rownumber {
-  background-color: #efefef;
-  background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%);
-  background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%);
-  background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%);
-  background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0);
-}
-.datagrid-cell-rownumber {
-  color: #000000;
-}
-.datagrid-resize-proxy {
-  background: #aac5e7;
-}
-.datagrid-mask {
-  background: #ccc;
-}
-.datagrid-mask-msg {
-  border-color: #95B8E7;
-}
-.datagrid-toolbar,
-.datagrid-pager {
-  background: #F4F4F4;
-}
-.datagrid-header,
-.datagrid-toolbar,
-.datagrid-pager,
-.datagrid-footer-inner {
-  border-color: #dddddd;
-}
-.datagrid-header td,
-.datagrid-body td,
-.datagrid-footer td {
-  border-color: #ccc;
-}
-.datagrid-htable,
-.datagrid-btable,
-.datagrid-ftable {
-  color: #000000;
-  border-collapse: separate;
-}
-.datagrid-row-alt {
-  background: #fafafa;
-}
-.datagrid-row-over,
-.datagrid-header td.datagrid-header-over {
-  background: #eaf2ff;
-  color: #000000;
-  cursor: default;
-}
-.datagrid-row-selected {
-  background: #ffe48d;
-  color: #000000;
-}
-.datagrid-row-editing .textbox,
-.datagrid-row-editing .textbox-text {
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.propertygrid .datagrid-view1 .datagrid-body td {
-  padding-bottom: 1px;
-  border-width: 0 1px 0 0;
-}
-.propertygrid .datagrid-group {
-  height: 21px;
-  overflow: hidden;
-  border-width: 0 0 1px 0;
-  border-style: solid;
-}
-.propertygrid .datagrid-group span {
-  font-weight: bold;
-}
-.propertygrid .datagrid-view1 .datagrid-body td {
-  border-color: #dddddd;
-}
-.propertygrid .datagrid-view1 .datagrid-group {
-  border-color: #E0ECFF;
-}
-.propertygrid .datagrid-view2 .datagrid-group {
-  border-color: #dddddd;
-}
-.propertygrid .datagrid-group,
-.propertygrid .datagrid-view1 .datagrid-body,
-.propertygrid .datagrid-view1 .datagrid-row-over,
-.propertygrid .datagrid-view1 .datagrid-row-selected {
-  background: #E0ECFF;
-}
-.datalist .datagrid-header {
-  border-width: 0;
-}
-.datalist .datagrid-group,
-.m-list .m-list-group {
-  height: 25px;
-  line-height: 25px;
-  font-weight: bold;
-  overflow: hidden;
-  background-color: #efefef;
-  border-style: solid;
-  border-width: 0 0 1px 0;
-  border-color: #ccc;
-}
-.datalist .datagrid-group-expander {
-  display: none;
-}
-.datalist .datagrid-group-title {
-  padding: 0 4px;
-}
-.datalist .datagrid-btable {
-  width: 100%;
-  table-layout: fixed;
-}
-.datalist .datagrid-row td {
-  border-style: solid;
-  border-left-color: transparent;
-  border-right-color: transparent;
-  border-bottom-width: 0;
-}
-.datalist-lines .datagrid-row td {
-  border-bottom-width: 1px;
-}
-.datalist .datagrid-cell,
-.m-list li {
-  width: auto;
-  height: auto;
-  padding: 2px 4px;
-  line-height: 18px;
-  position: relative;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-}
-.datalist-link,
-.m-list li>a {
-  display: block;
-  position: relative;
-  cursor: pointer;
-  color: #000000;
-  text-decoration: none;
-  overflow: hidden;
-  margin: -2px -4px;
-  padding: 2px 4px;
-  padding-right: 16px;
-  line-height: 18px;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-}
-.datalist-link::after,
-.m-list li>a::after {
-  position: absolute;
-  display: block;
-  width: 8px;
-  height: 8px;
-  content: '';
-  right: 6px;
-  top: 50%;
-  margin-top: -4px;
-  border-style: solid;
-  border-width: 1px 1px 0 0;
-  -ms-transform: rotate(45deg);
-  -moz-transform: rotate(45deg);
-  -webkit-transform: rotate(45deg);
-  -o-transform: rotate(45deg);
-  transform: rotate(45deg);
-}
-.m-list {
-  margin: 0;
-  padding: 0;
-  list-style: none;
-}
-.m-list li {
-  border-style: solid;
-  border-width: 0 0 1px 0;
-  border-color: #ccc;
-}
-.m-list li>a:hover {
-  background: #eaf2ff;
-  color: #000000;
-}
-.m-list .m-list-group {
-  padding: 0 4px;
-}
-.pagination {
-  zoom: 1;
-}
-.pagination table {
-  float: left;
-  height: 30px;
-}
-.pagination td {
-  border: 0;
-}
-.pagination-btn-separator {
-  float: left;
-  height: 24px;
-  border-left: 1px solid #ccc;
-  border-right: 1px solid #fff;
-  margin: 3px 1px;
-}
-.pagination .pagination-num {
-  border-width: 1px;
-  border-style: solid;
-  margin: 0 2px;
-  padding: 2px;
-  width: 2em;
-  height: auto;
-}
-.pagination-page-list {
-  margin: 0px 6px;
-  padding: 1px 2px;
-  width: auto;
-  height: auto;
-  border-width: 1px;
-  border-style: solid;
-}
-.pagination-info {
-  float: right;
-  margin: 0 6px 0 0;
-  padding: 0;
-  height: 30px;
-  line-height: 30px;
-  font-size: 12px;
-}
-.pagination span {
-  font-size: 12px;
-}
-.pagination-link .l-btn-text {
-  width: 24px;
-  text-align: center;
-  margin: 0;
-}
-.pagination-first {
-  background: url('images/pagination_icons.png') no-repeat 0 center;
-}
-.pagination-prev {
-  background: url('images/pagination_icons.png') no-repeat -16px center;
-}
-.pagination-next {
-  background: url('images/pagination_icons.png') no-repeat -32px center;
-}
-.pagination-last {
-  background: url('images/pagination_icons.png') no-repeat -48px center;
-}
-.pagination-load {
-  background: url('images/pagination_icons.png') no-repeat -64px center;
-}
-.pagination-loading {
-  background: url('images/loading.gif') no-repeat center center;
-}
-.pagination-page-list,
-.pagination .pagination-num {
-  border-color: #95B8E7;
-}
-.calendar {
-  border-width: 1px;
-  border-style: solid;
-  padding: 1px;
-  overflow: hidden;
-}
-.calendar table {
-  table-layout: fixed;
-  border-collapse: separate;
-  font-size: 12px;
-  width: 100%;
-  height: 100%;
-}
-.calendar table td,
-.calendar table th {
-  font-size: 12px;
-}
-.calendar-noborder {
-  border: 0;
-}
-.calendar-header {
-  position: relative;
-  height: 22px;
-}
-.calendar-title {
-  text-align: center;
-  height: 22px;
-}
-.calendar-title span {
-  position: relative;
-  display: inline-block;
-  top: 2px;
-  padding: 0 3px;
-  height: 18px;
-  line-height: 18px;
-  font-size: 12px;
-  cursor: pointer;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-prevmonth,
-.calendar-nextmonth,
-.calendar-prevyear,
-.calendar-nextyear {
-  position: absolute;
-  top: 50%;
-  margin-top: -7px;
-  width: 14px;
-  height: 14px;
-  cursor: pointer;
-  font-size: 1px;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-prevmonth {
-  left: 20px;
-  background: url('images/calendar_arrows.png') no-repeat -18px -2px;
-}
-.calendar-nextmonth {
-  right: 20px;
-  background: url('images/calendar_arrows.png') no-repeat -34px -2px;
-}
-.calendar-prevyear {
-  left: 3px;
-  background: url('images/calendar_arrows.png') no-repeat -1px -2px;
-}
-.calendar-nextyear {
-  right: 3px;
-  background: url('images/calendar_arrows.png') no-repeat -49px -2px;
-}
-.calendar-body {
-  position: relative;
-}
-.calendar-body th,
-.calendar-body td {
-  text-align: center;
-}
-.calendar-day {
-  border: 0;
-  padding: 1px;
-  cursor: pointer;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-other-month {
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-}
-.calendar-disabled {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  cursor: default;
-}
-.calendar-menu {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 180px;
-  height: 150px;
-  padding: 5px;
-  font-size: 12px;
-  display: none;
-  overflow: hidden;
-}
-.calendar-menu-year-inner {
-  text-align: center;
-  padding-bottom: 5px;
-}
-.calendar-menu-year {
-  width: 40px;
-  text-align: center;
-  border-width: 1px;
-  border-style: solid;
-  margin: 0;
-  padding: 2px;
-  font-weight: bold;
-  font-size: 12px;
-}
-.calendar-menu-prev,
-.calendar-menu-next {
-  display: inline-block;
-  width: 21px;
-  height: 21px;
-  vertical-align: top;
-  cursor: pointer;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-menu-prev {
-  margin-right: 10px;
-  background: url('images/calendar_arrows.png') no-repeat 2px 2px;
-}
-.calendar-menu-next {
-  margin-left: 10px;
-  background: url('images/calendar_arrows.png') no-repeat -45px 2px;
-}
-.calendar-menu-month {
-  text-align: center;
-  cursor: pointer;
-  font-weight: bold;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-body th,
-.calendar-menu-month {
-  color: #4d4d4d;
-}
-.calendar-day {
-  color: #000000;
-}
-.calendar-sunday {
-  color: #CC2222;
-}
-.calendar-saturday {
-  color: #00ee00;
-}
-.calendar-today {
-  color: #0000ff;
-}
-.calendar-menu-year {
-  border-color: #95B8E7;
-}
-.calendar {
-  border-color: #95B8E7;
-}
-.calendar-header {
-  background: #E0ECFF;
-}
-.calendar-body,
-.calendar-menu {
-  background: #ffffff;
-}
-.calendar-body th {
-  background: #F4F4F4;
-  padding: 2px 0;
-}
-.calendar-hover,
-.calendar-nav-hover,
-.calendar-menu-hover {
-  background-color: #eaf2ff;
-  color: #000000;
-}
-.calendar-hover {
-  border: 1px solid #b7d2ff;
-  padding: 0;
-}
-.calendar-selected {
-  background-color: #ffe48d;
-  color: #000000;
-  border: 1px solid #ffab3f;
-  padding: 0;
-}
-.datebox-calendar-inner {
-  height: 180px;
-}
-.datebox-button {
-  height: 18px;
-  padding: 2px 5px;
-  text-align: center;
-}
-.datebox-button a {
-  font-size: 12px;
-  font-weight: bold;
-  text-decoration: none;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.datebox-button a:hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.datebox-current,
-.datebox-close {
-  float: left;
-}
-.datebox-close {
-  float: right;
-}
-.datebox .combo-arrow {
-  background-image: url('images/datebox_arrow.png');
-  background-position: center center;
-}
-.datebox-button {
-  background-color: #F4F4F4;
-}
-.datebox-button a {
-  color: #444;
-}
-.numberbox {
-  border: 1px solid #95B8E7;
-  margin: 0;
-  padding: 0 2px;
-  vertical-align: middle;
-}
-.textbox {
-  padding: 0;
-}
-.spinner {
-  display: inline-block;
-  white-space: nowrap;
-  margin: 0;
-  padding: 0;
-  border-width: 1px;
-  border-style: solid;
-  overflow: hidden;
-  vertical-align: middle;
-}
-.spinner .spinner-text {
-  font-size: 12px;
-  border: 0px;
-  margin: 0;
-  padding: 0 2px;
-  vertical-align: baseline;
-}
-.spinner-arrow {
-  background-color: #E0ECFF;
-  display: inline-block;
-  overflow: hidden;
-  vertical-align: top;
-  margin: 0;
-  padding: 0;
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-  width: 18px;
-}
-.spinner-arrow-up,
-.spinner-arrow-down {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  display: block;
-  font-size: 1px;
-  width: 18px;
-  height: 10px;
-  width: 100%;
-  height: 50%;
-  color: #444;
-  outline-style: none;
-}
-.spinner-arrow-hover {
-  background-color: #eaf2ff;
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.spinner-arrow-up:hover,
-.spinner-arrow-down:hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-  background-color: #eaf2ff;
-}
-.textbox-icon-disabled .spinner-arrow-up:hover,
-.textbox-icon-disabled .spinner-arrow-down:hover {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  background-color: #E0ECFF;
-  cursor: default;
-}
-.spinner .textbox-icon-disabled {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.spinner-arrow-up {
-  background: url('images/spinner_arrows.png') no-repeat 1px center;
-}
-.spinner-arrow-down {
-  background: url('images/spinner_arrows.png') no-repeat -15px center;
-}
-.spinner {
-  border-color: #95B8E7;
-}
-.progressbar {
-  border-width: 1px;
-  border-style: solid;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-  overflow: hidden;
-  position: relative;
-}
-.progressbar-text {
-  text-align: center;
-  position: absolute;
-}
-.progressbar-value {
-  position: relative;
-  overflow: hidden;
-  width: 0;
-  -moz-border-radius: 5px 0 0 5px;
-  -webkit-border-radius: 5px 0 0 5px;
-  border-radius: 5px 0 0 5px;
-}
-.progressbar {
-  border-color: #95B8E7;
-}
-.progressbar-text {
-  color: #000000;
-  font-size: 12px;
-}
-.progressbar-value .progressbar-text {
-  background-color: #ffe48d;
-  color: #000000;
-}
-.searchbox {
-  display: inline-block;
-  white-space: nowrap;
-  margin: 0;
-  padding: 0;
-  border-width: 1px;
-  border-style: solid;
-  overflow: hidden;
-  vertical-align: middle;
-}
-.searchbox .searchbox-text {
-  font-size: 12px;
-  border: 0;
-  margin: 0;
-  padding: 0 2px;
-  vertical-align: top;
-}
-.searchbox .searchbox-prompt {
-  font-size: 12px;
-  color: #ccc;
-}
-.searchbox-button {
-  width: 18px;
-  height: 20px;
-  overflow: hidden;
-  display: inline-block;
-  vertical-align: top;
-  cursor: pointer;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.searchbox-button-hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.searchbox .l-btn-plain {
-  border: 0;
-  padding: 0;
-  vertical-align: top;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.searchbox .l-btn-plain:hover {
-  border: 0;
-  padding: 0;
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.searchbox a.m-btn-plain-active {
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.searchbox .m-btn-active {
-  border-width: 0 1px 0 0;
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.searchbox .textbox-button-right {
-  border-width: 0 0 0 1px;
-}
-.searchbox .textbox-button-left {
-  border-width: 0 1px 0 0;
-}
-.searchbox-button {
-  background: url('images/searchbox_button.png') no-repeat center center;
-}
-.searchbox {
-  border-color: #95B8E7;
-  background-color: #fff;
-}
-.searchbox .l-btn-plain {
-  background: #E0ECFF;
-}
-.searchbox .l-btn-plain-disabled,
-.searchbox .l-btn-plain-disabled:hover {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-.textbox-invalid {
-  border-color: #ffa8a8;
-  background-color: #fff3f3;
-}
-.slider-disabled {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-.slider-h {
-  height: 22px;
-}
-.slider-v {
-  width: 22px;
-}
-.slider-inner {
-  position: relative;
-  height: 6px;
-  top: 7px;
-  border-width: 1px;
-  border-style: solid;
-  border-radius: 5px;
-}
-.slider-handle {
-  position: absolute;
-  display: block;
-  outline: none;
-  width: 20px;
-  height: 20px;
-  top: 50%;
-  margin-top: -10px;
-  margin-left: -10px;
-}
-.slider-tip {
-  position: absolute;
-  display: inline-block;
-  line-height: 12px;
-  font-size: 12px;
-  white-space: nowrap;
-  top: -22px;
-}
-.slider-rule {
-  position: relative;
-  top: 15px;
-}
-.slider-rule span {
-  position: absolute;
-  display: inline-block;
-  font-size: 0;
-  height: 5px;
-  border-width: 0 0 0 1px;
-  border-style: solid;
-}
-.slider-rulelabel {
-  position: relative;
-  top: 20px;
-}
-.slider-rulelabel span {
-  position: absolute;
-  display: inline-block;
-  font-size: 12px;
-}
-.slider-v .slider-inner {
-  width: 6px;
-  left: 7px;
-  top: 0;
-  float: left;
-}
-.slider-v .slider-handle {
-  left: 50%;
-  margin-top: -10px;
-}
-.slider-v .slider-tip {
-  left: -10px;
-  margin-top: -6px;
-}
-.slider-v .slider-rule {
-  float: left;
-  top: 0;
-  left: 16px;
-}
-.slider-v .slider-rule span {
-  width: 5px;
-  height: 'auto';
-  border-left: 0;
-  border-width: 1px 0 0 0;
-  border-style: solid;
-}
-.slider-v .slider-rulelabel {
-  float: left;
-  top: 0;
-  left: 23px;
-}
-.slider-handle {
-  background: url('images/slider_handle.png') no-repeat;
-}
-.slider-inner {
-  border-color: #95B8E7;
-  background: #E0ECFF;
-}
-.slider-rule span {
-  border-color: #95B8E7;
-}
-.slider-rulelabel span {
-  color: #000000;
-}
-.menu {
-  position: absolute;
-  margin: 0;
-  padding: 2px;
-  border-width: 1px;
-  border-style: solid;
-  overflow: hidden;
-}
-.menu-inline {
-  position: relative;
-}
-.menu-item {
-  position: relative;
-  margin: 0;
-  padding: 0;
-  overflow: hidden;
-  white-space: nowrap;
-  cursor: pointer;
-  border-width: 1px;
-  border-style: solid;
-}
-.menu-text {
-  height: 20px;
-  line-height: 20px;
-  float: left;
-  padding-left: 28px;
-}
-.menu-icon {
-  position: absolute;
-  width: 16px;
-  height: 16px;
-  left: 2px;
-  top: 50%;
-  margin-top: -8px;
-}
-.menu-rightarrow {
-  position: absolute;
-  width: 16px;
-  height: 16px;
-  right: 0;
-  top: 50%;
-  margin-top: -8px;
-}
-.menu-line {
-  position: absolute;
-  left: 26px;
-  top: 0;
-  height: 2000px;
-  font-size: 1px;
-}
-.menu-sep {
-  margin: 3px 0px 3px 25px;
-  font-size: 1px;
-}
-.menu-noline .menu-line {
-  display: none;
-}
-.menu-noline .menu-sep {
-  margin-left: 0;
-  margin-right: 0;
-}
-.menu-active {
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.menu-item-disabled {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-  cursor: default;
-}
-.menu-text,
-.menu-text span {
-  font-size: 12px;
-}
-.menu-shadow {
-  position: absolute;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-  background: #ccc;
-  -moz-box-shadow: 2px 2px 3px #cccccc;
-  -webkit-box-shadow: 2px 2px 3px #cccccc;
-  box-shadow: 2px 2px 3px #cccccc;
-  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);
-}
-.menu-rightarrow {
-  background: url('images/menu_arrows.png') no-repeat -32px center;
-}
-.menu-line {
-  border-left: 1px solid #ccc;
-  border-right: 1px solid #fff;
-}
-.menu-sep {
-  border-top: 1px solid #ccc;
-  border-bottom: 1px solid #fff;
-}
-.menu {
-  background-color: #fafafa;
-  border-color: #ddd;
-  color: #444;
-}
-.menu-content {
-  background: #ffffff;
-}
-.menu-item {
-  border-color: transparent;
-  _border-color: #fafafa;
-}
-.menu-active {
-  border-color: #b7d2ff;
-  color: #000000;
-  background: #eaf2ff;
-}
-.menu-active-disabled {
-  border-color: transparent;
-  background: transparent;
-  color: #444;
-}
-.m-btn-downarrow,
-.s-btn-downarrow {
-  display: inline-block;
-  position: absolute;
-  width: 16px;
-  height: 16px;
-  font-size: 1px;
-  right: 0;
-  top: 50%;
-  margin-top: -8px;
-}
-.m-btn-active,
-.s-btn-active {
-  background: #eaf2ff;
-  color: #000000;
-  border: 1px solid #b7d2ff;
-  filter: none;
-}
-.m-btn-plain-active,
-.s-btn-plain-active {
-  background: transparent;
-  padding: 0;
-  border-width: 1px;
-  border-style: solid;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.m-btn .l-btn-left .l-btn-text {
-  margin-right: 20px;
-}
-.m-btn .l-btn-icon-right .l-btn-text {
-  margin-right: 40px;
-}
-.m-btn .l-btn-icon-right .l-btn-icon {
-  right: 20px;
-}
-.m-btn .l-btn-icon-top .l-btn-text {
-  margin-right: 4px;
-  margin-bottom: 14px;
-}
-.m-btn .l-btn-icon-bottom .l-btn-text {
-  margin-right: 4px;
-  margin-bottom: 34px;
-}
-.m-btn .l-btn-icon-bottom .l-btn-icon {
-  top: auto;
-  bottom: 20px;
-}
-.m-btn .l-btn-icon-top .m-btn-downarrow,
-.m-btn .l-btn-icon-bottom .m-btn-downarrow {
-  top: auto;
-  bottom: 0px;
-  left: 50%;
-  margin-left: -8px;
-}
-.m-btn-line {
-  display: inline-block;
-  position: absolute;
-  font-size: 1px;
-  display: none;
-}
-.m-btn .l-btn-left .m-btn-line {
-  right: 0;
-  width: 16px;
-  height: 500px;
-  border-style: solid;
-  border-color: #aac5e7;
-  border-width: 0 0 0 1px;
-}
-.m-btn .l-btn-icon-top .m-btn-line,
-.m-btn .l-btn-icon-bottom .m-btn-line {
-  left: 0;
-  bottom: 0;
-  width: 500px;
-  height: 16px;
-  border-width: 1px 0 0 0;
-}
-.m-btn-large .l-btn-icon-right .l-btn-text {
-  margin-right: 56px;
-}
-.m-btn-large .l-btn-icon-bottom .l-btn-text {
-  margin-bottom: 50px;
-}
-.m-btn-downarrow,
-.s-btn-downarrow {
-  background: url('images/menu_arrows.png') no-repeat 0 center;
-}
-.m-btn-plain-active,
-.s-btn-plain-active {
-  border-color: #b7d2ff;
-  background-color: #eaf2ff;
-  color: #000000;
-}
-.s-btn:hover .m-btn-line,
-.s-btn-active .m-btn-line,
-.s-btn-plain-active .m-btn-line {
-  display: inline-block;
-}
-.l-btn:hover .s-btn-downarrow,
-.s-btn-active .s-btn-downarrow,
-.s-btn-plain-active .s-btn-downarrow {
-  border-style: solid;
-  border-color: #aac5e7;
-  border-width: 0 0 0 1px;
-}
-.messager-body {
-  padding: 10px;
-  overflow: auto;
-}
-.messager-button {
-  text-align: center;
-  padding: 5px;
-}
-.messager-button .l-btn {
-  width: 70px;
-}
-.messager-icon {
-  float: left;
-  width: 32px;
-  height: 32px;
-  margin: 0 10px 10px 0;
-}
-.messager-error {
-  background: url('images/messager_icons.png') no-repeat scroll -64px 0;
-}
-.messager-info {
-  background: url('images/messager_icons.png') no-repeat scroll 0 0;
-}
-.messager-question {
-  background: url('images/messager_icons.png') no-repeat scroll -32px 0;
-}
-.messager-warning {
-  background: url('images/messager_icons.png') no-repeat scroll -96px 0;
-}
-.messager-progress {
-  padding: 10px;
-}
-.messager-p-msg {
-  margin-bottom: 5px;
-}
-.messager-body .messager-input {
-  width: 100%;
-  padding: 1px 0;
-  border: 1px solid #95B8E7;
-}
-.tree {
-  margin: 0;
-  padding: 0;
-  list-style-type: none;
-}
-.tree li {
-  white-space: nowrap;
-}
-.tree li ul {
-  list-style-type: none;
-  margin: 0;
-  padding: 0;
-}
-.tree-node {
-  height: 18px;
-  white-space: nowrap;
-  cursor: pointer;
-}
-.tree-hit {
-  cursor: pointer;
-}
-.tree-expanded,
-.tree-collapsed,
-.tree-folder,
-.tree-file,
-.tree-checkbox,
-.tree-indent {
-  display: inline-block;
-  width: 16px;
-  height: 18px;
-  vertical-align: top;
-  overflow: hidden;
-}
-.tree-expanded {
-  background: url('images/tree_icons.png') no-repeat -18px 0px;
-}
-.tree-expanded-hover {
-  background: url('images/tree_icons.png') no-repeat -50px 0px;
-}
-.tree-collapsed {
-  background: url('images/tree_icons.png') no-repeat 0px 0px;
-}
-.tree-collapsed-hover {
-  background: url('images/tree_icons.png') no-repeat -32px 0px;
-}
-.tree-lines .tree-expanded,
-.tree-lines .tree-root-first .tree-expanded {
-  background: url('images/tree_icons.png') no-repeat -144px 0;
-}
-.tree-lines .tree-collapsed,
-.tree-lines .tree-root-first .tree-collapsed {
-  background: url('images/tree_icons.png') no-repeat -128px 0;
-}
-.tree-lines .tree-node-last .tree-expanded,
-.tree-lines .tree-root-one .tree-expanded {
-  background: url('images/tree_icons.png') no-repeat -80px 0;
-}
-.tree-lines .tree-node-last .tree-collapsed,
-.tree-lines .tree-root-one .tree-collapsed {
-  background: url('images/tree_icons.png') no-repeat -64px 0;
-}
-.tree-line {
-  background: url('images/tree_icons.png') no-repeat -176px 0;
-}
-.tree-join {
-  background: url('images/tree_icons.png') no-repeat -192px 0;
-}
-.tree-joinbottom {
-  background: url('images/tree_icons.png') no-repeat -160px 0;
-}
-.tree-folder {
-  background: url('images/tree_icons.png') no-repeat -208px 0;
-}
-.tree-folder-open {
-  background: url('images/tree_icons.png') no-repeat -224px 0;
-}
-.tree-file {
-  background: url('images/tree_icons.png') no-repeat -240px 0;
-}
-.tree-loading {
-  background: url('images/loading.gif') no-repeat center center;
-}
-.tree-checkbox0 {
-  background: url('images/tree_icons.png') no-repeat -208px -18px;
-}
-.tree-checkbox1 {
-  background: url('images/tree_icons.png') no-repeat -224px -18px;
-}
-.tree-checkbox2 {
-  background: url('images/tree_icons.png') no-repeat -240px -18px;
-}
-.tree-title {
-  font-size: 12px;
-  display: inline-block;
-  text-decoration: none;
-  vertical-align: top;
-  white-space: nowrap;
-  padding: 0 2px;
-  height: 18px;
-  line-height: 18px;
-}
-.tree-node-proxy {
-  font-size: 12px;
-  line-height: 20px;
-  padding: 0 2px 0 20px;
-  border-width: 1px;
-  border-style: solid;
-  z-index: 9900000;
-}
-.tree-dnd-icon {
-  display: inline-block;
-  position: absolute;
-  width: 16px;
-  height: 18px;
-  left: 2px;
-  top: 50%;
-  margin-top: -9px;
-}
-.tree-dnd-yes {
-  background: url('images/tree_icons.png') no-repeat -256px 0;
-}
-.tree-dnd-no {
-  background: url('images/tree_icons.png') no-repeat -256px -18px;
-}
-.tree-node-top {
-  border-top: 1px dotted red;
-}
-.tree-node-bottom {
-  border-bottom: 1px dotted red;
-}
-.tree-node-append .tree-title {
-  border: 1px dotted red;
-}
-.tree-editor {
-  border: 1px solid #ccc;
-  font-size: 12px;
-  height: 14px !important;
-  height: 18px;
-  line-height: 14px;
-  padding: 1px 2px;
-  width: 80px;
-  position: absolute;
-  top: 0;
-}
-.tree-node-proxy {
-  background-color: #ffffff;
-  color: #000000;
-  border-color: #95B8E7;
-}
-.tree-node-hover {
-  background: #eaf2ff;
-  color: #000000;
-}
-.tree-node-selected {
-  background: #ffe48d;
-  color: #000000;
-}
-.tree-node-hidden {
-  display: none;
-}
-.validatebox-invalid {
-  border-color: #ffa8a8;
-  background-color: #fff3f3;
-  color: #000;
-}
-.tooltip {
-  position: absolute;
-  display: none;
-  z-index: 9900000;
-  outline: none;
-  opacity: 1;
-  filter: alpha(opacity=100);
-  padding: 5px;
-  border-width: 1px;
-  border-style: solid;
-  border-radius: 5px;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.tooltip-content {
-  font-size: 12px;
-}
-.tooltip-arrow-outer,
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  line-height: 0;
-  font-size: 0;
-  border-style: solid;
-  border-width: 6px;
-  border-color: transparent;
-  _border-color: tomato;
-  _filter: chroma(color=tomato);
-}
-.tooltip-arrow {
-  display: none \9;
-}
-.tooltip-right .tooltip-arrow-outer {
-  left: 0;
-  top: 50%;
-  margin: -6px 0 0 -13px;
-}
-.tooltip-right .tooltip-arrow {
-  left: 0;
-  top: 50%;
-  margin: -6px 0 0 -12px;
-}
-.tooltip-left .tooltip-arrow-outer {
-  right: 0;
-  top: 50%;
-  margin: -6px -13px 0 0;
-}
-.tooltip-left .tooltip-arrow {
-  right: 0;
-  top: 50%;
-  margin: -6px -12px 0 0;
-}
-.tooltip-top .tooltip-arrow-outer {
-  bottom: 0;
-  left: 50%;
-  margin: 0 0 -13px -6px;
-}
-.tooltip-top .tooltip-arrow {
-  bottom: 0;
-  left: 50%;
-  margin: 0 0 -12px -6px;
-}
-.tooltip-bottom .tooltip-arrow-outer {
-  top: 0;
-  left: 50%;
-  margin: -13px 0 0 -6px;
-}
-.tooltip-bottom .tooltip-arrow {
-  top: 0;
-  left: 50%;
-  margin: -12px 0 0 -6px;
-}
-.tooltip {
-  background-color: #ffffff;
-  border-color: #95B8E7;
-  color: #000000;
-}
-.tooltip-right .tooltip-arrow-outer {
-  border-right-color: #95B8E7;
-}
-.tooltip-right .tooltip-arrow {
-  border-right-color: #ffffff;
-}
-.tooltip-left .tooltip-arrow-outer {
-  border-left-color: #95B8E7;
-}
-.tooltip-left .tooltip-arrow {
-  border-left-color: #ffffff;
-}
-.tooltip-top .tooltip-arrow-outer {
-  border-top-color: #95B8E7;
-}
-.tooltip-top .tooltip-arrow {
-  border-top-color: #ffffff;
-}
-.tooltip-bottom .tooltip-arrow-outer {
-  border-bottom-color: #95B8E7;
-}
-.tooltip-bottom .tooltip-arrow {
-  border-bottom-color: #ffffff;
-}
-.switchbutton {
-  text-decoration: none;
-  display: inline-block;
-  overflow: hidden;
-  vertical-align: middle;
-  margin: 0;
-  padding: 0;
-  cursor: pointer;
-  background: #bbb;
-  border: 1px solid #bbb;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.switchbutton-inner {
-  display: inline-block;
-  overflow: hidden;
-  position: relative;
-  top: -1px;
-  left: -1px;
-}
-.switchbutton-on,
-.switchbutton-off,
-.switchbutton-handle {
-  display: inline-block;
-  text-align: center;
-  height: 100%;
-  float: left;
-  font-size: 12px;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.switchbutton-on {
-  background: #ffe48d;
-  color: #000000;
-}
-.switchbutton-off {
-  background-color: #ffffff;
-  color: #000000;
-}
-.switchbutton-on,
-.switchbutton-reversed .switchbutton-off {
-  -moz-border-radius: 5px 0 0 5px;
-  -webkit-border-radius: 5px 0 0 5px;
-  border-radius: 5px 0 0 5px;
-}
-.switchbutton-off,
-.switchbutton-reversed .switchbutton-on {
-  -moz-border-radius: 0 5px 5px 0;
-  -webkit-border-radius: 0 5px 5px 0;
-  border-radius: 0 5px 5px 0;
-}
-.switchbutton-handle {
-  position: absolute;
-  top: 0;
-  left: 50%;
-  background-color: #ffffff;
-  color: #000000;
-  border: 1px solid #bbb;
-  -moz-box-shadow: 0 0 3px 0 #bbb;
-  -webkit-box-shadow: 0 0 3px 0 #bbb;
-  box-shadow: 0 0 3px 0 #bbb;
-}
-.switchbutton-value {
-  position: absolute;
-  top: 0;
-  left: -5000px;
-}
-.switchbutton-disabled {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-.switchbutton-disabled,
-.switchbutton-readonly {
-  cursor: default;
-}
diff --git a/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery-ui.js b/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery-ui.js
deleted file mode 100644
index e1779c3..0000000
--- a/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery-ui.js
+++ /dev/null
@@ -1,16617 +0,0 @@
-/*! jQuery UI - v1.11.4 - 2016-01-10
-* http://jqueryui.com
-* Includes: core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, resizable.js, selectable.js, sortable.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, menu.js, progressbar.js, selectmenu.js, slider.js, spinner.js, tabs.js, tooltip.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-(function( factory ) {
-	if ( typeof define === "function" && define.amd ) {
-
-		// AMD. Register as an anonymous module.
-		define([ "jquery" ], factory );
-	} else {
-
-		// Browser globals
-		factory( jQuery );
-	}
-}(function( $ ) {
-/*!
- * jQuery UI Core 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/ui-core/
- */
-
-
-// $.ui might exist from components with no dependencies, e.g., $.ui.position
-$.ui = $.ui || {};
-
-$.extend( $.ui, {
-	version: "1.11.4",
-
-	keyCode: {
-		BACKSPACE: 8,
-		COMMA: 188,
-		DELETE: 46,
-		DOWN: 40,
-		END: 35,
-		ENTER: 13,
-		ESCAPE: 27,
-		HOME: 36,
-		LEFT: 37,
-		PAGE_DOWN: 34,
-		PAGE_UP: 33,
-		PERIOD: 190,
-		RIGHT: 39,
-		SPACE: 32,
-		TAB: 9,
-		UP: 38
-	}
-});
-
-// plugins
-$.fn.extend({
-	scrollParent: function( includeHidden ) {
-		var position = this.css( "position" ),
-			excludeStaticParent = position === "absolute",
-			overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
-			scrollParent = this.parents().filter( function() {
-				var parent = $( this );
-				if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
-					return false;
-				}
-				return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) );
-			}).eq( 0 );
-
-		return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;
-	},
-
-	uniqueId: (function() {
-		var uuid = 0;
-
-		return function() {
-			return this.each(function() {
-				if ( !this.id ) {
-					this.id = "ui-id-" + ( ++uuid );
-				}
-			});
-		};
-	})(),
-
-	removeUniqueId: function() {
-		return this.each(function() {
-			if ( /^ui-id-\d+$/.test( this.id ) ) {
-				$( this ).removeAttr( "id" );
-			}
-		});
-	}
-});
-
-// selectors
-function focusable( element, isTabIndexNotNaN ) {
-	var map, mapName, img,
-		nodeName = element.nodeName.toLowerCase();
-	if ( "area" === nodeName ) {
-		map = element.parentNode;
-		mapName = map.name;
-		if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
-			return false;
-		}
-		img = $( "img[usemap='#" + mapName + "']" )[ 0 ];
-		return !!img && visible( img );
-	}
-	return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ?
-		!element.disabled :
-		"a" === nodeName ?
-			element.href || isTabIndexNotNaN :
-			isTabIndexNotNaN) &&
-		// the element and all of its ancestors must be visible
-		visible( element );
-}
-
-function visible( element ) {
-	return $.expr.filters.visible( element ) &&
-		!$( element ).parents().addBack().filter(function() {
-			return $.css( this, "visibility" ) === "hidden";
-		}).length;
-}
-
-$.extend( $.expr[ ":" ], {
-	data: $.expr.createPseudo ?
-		$.expr.createPseudo(function( dataName ) {
-			return function( elem ) {
-				return !!$.data( elem, dataName );
-			};
-		}) :
-		// support: jQuery <1.8
-		function( elem, i, match ) {
-			return !!$.data( elem, match[ 3 ] );
-		},
-
-	focusable: function( element ) {
-		return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
-	},
-
-	tabbable: function( element ) {
-		var tabIndex = $.attr( element, "tabindex" ),
-			isTabIndexNaN = isNaN( tabIndex );
-		return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
-	}
-});
-
-// support: jQuery <1.8
-if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
-	$.each( [ "Width", "Height" ], function( i, name ) {
-		var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
-			type = name.toLowerCase(),
-			orig = {
-				innerWidth: $.fn.innerWidth,
-				innerHeight: $.fn.innerHeight,
-				outerWidth: $.fn.outerWidth,
-				outerHeight: $.fn.outerHeight
-			};
-
-		function reduce( elem, size, border, margin ) {
-			$.each( side, function() {
-				size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
-				if ( border ) {
-					size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
-				}
-				if ( margin ) {
-					size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
-				}
-			});
-			return size;
-		}
-
-		$.fn[ "inner" + name ] = function( size ) {
-			if ( size === undefined ) {
-				return orig[ "inner" + name ].call( this );
-			}
-
-			return this.each(function() {
-				$( this ).css( type, reduce( this, size ) + "px" );
-			});
-		};
-
-		$.fn[ "outer" + name] = function( size, margin ) {
-			if ( typeof size !== "number" ) {
-				return orig[ "outer" + name ].call( this, size );
-			}
-
-			return this.each(function() {
-				$( this).css( type, reduce( this, size, true, margin ) + "px" );
-			});
-		};
-	});
-}
-
-// support: jQuery <1.8
-if ( !$.fn.addBack ) {
-	$.fn.addBack = function( selector ) {
-		return this.add( selector == null ?
-			this.prevObject : this.prevObject.filter( selector )
-		);
-	};
-}
-
-// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)
-if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
-	$.fn.removeData = (function( removeData ) {
-		return function( key ) {
-			if ( arguments.length ) {
-				return removeData.call( this, $.camelCase( key ) );
-			} else {
-				return removeData.call( this );
-			}
-		};
-	})( $.fn.removeData );
-}
-
-// deprecated
-$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
-
-$.fn.extend({
-	focus: (function( orig ) {
-		return function( delay, fn ) {
-			return typeof delay === "number" ?
-				this.each(function() {
-					var elem = this;
-					setTimeout(function() {
-						$( elem ).focus();
-						if ( fn ) {
-							fn.call( elem );
-						}
-					}, delay );
-				}) :
-				orig.apply( this, arguments );
-		};
-	})( $.fn.focus ),
-
-	disableSelection: (function() {
-		var eventType = "onselectstart" in document.createElement( "div" ) ?
-			"selectstart" :
-			"mousedown";
-
-		return function() {
-			return this.bind( eventType + ".ui-disableSelection", function( event ) {
-				event.preventDefault();
-			});
-		};
-	})(),
-
-	enableSelection: function() {
-		return this.unbind( ".ui-disableSelection" );
-	},
-
-	zIndex: function( zIndex ) {
-		if ( zIndex !== undefined ) {
-			return this.css( "zIndex", zIndex );
-		}
-
-		if ( this.length ) {
-			var elem = $( this[ 0 ] ), position, value;
-			while ( elem.length && elem[ 0 ] !== document ) {
-				// Ignore z-index if position is set to a value where z-index is ignored by the browser
-				// This makes behavior of this function consistent across browsers
-				// WebKit always returns auto if the element is positioned
-				position = elem.css( "position" );
-				if ( position === "absolute" || position === "relative" || position === "fixed" ) {
-					// IE returns 0 when zIndex is not specified
-					// other browsers return a string
-					// we ignore the case of nested elements with an explicit value of 0
-					// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
-					value = parseInt( elem.css( "zIndex" ), 10 );
-					if ( !isNaN( value ) && value !== 0 ) {
-						return value;
-					}
-				}
-				elem = elem.parent();
-			}
-		}
-
-		return 0;
-	}
-});
-
-// $.ui.plugin is deprecated. Use $.widget() extensions instead.
-$.ui.plugin = {
-	add: function( module, option, set ) {
-		var i,
-			proto = $.ui[ module ].prototype;
-		for ( i in set ) {
-			proto.plugins[ i ] = proto.plugins[ i ] || [];
-			proto.plugins[ i ].push( [ option, set[ i ] ] );
-		}
-	},
-	call: function( instance, name, args, allowDisconnected ) {
-		var i,
-			set = instance.plugins[ name ];
-
-		if ( !set ) {
-			return;
-		}
-
-		if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) {
-			return;
-		}
-
-		for ( i = 0; i < set.length; i++ ) {
-			if ( instance.options[ set[ i ][ 0 ] ] ) {
-				set[ i ][ 1 ].apply( instance.element, args );
-			}
-		}
-	}
-};
-
-
-/*!
- * jQuery UI Widget 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/jQuery.widget/
- */
-
-
-var widget_uuid = 0,
-	widget_slice = Array.prototype.slice;
-
-$.cleanData = (function( orig ) {
-	return function( elems ) {
-		var events, elem, i;
-		for ( i = 0; (elem = elems[i]) != null; i++ ) {
-			try {
-
-				// Only trigger remove when necessary to save time
-				events = $._data( elem, "events" );
-				if ( events && events.remove ) {
-					$( elem ).triggerHandler( "remove" );
-				}
-
-			// http://bugs.jquery.com/ticket/8235
-			} catch ( e ) {}
-		}
-		orig( elems );
-	};
-})( $.cleanData );
-
-$.widget = function( name, base, prototype ) {
-	var fullName, existingConstructor, constructor, basePrototype,
-		// proxiedPrototype allows the provided prototype to remain unmodified
-		// so that it can be used as a mixin for multiple widgets (#8876)
-		proxiedPrototype = {},
-		namespace = name.split( "." )[ 0 ];
-
-	name = name.split( "." )[ 1 ];
-	fullName = namespace + "-" + name;
-
-	if ( !prototype ) {
-		prototype = base;
-		base = $.Widget;
-	}
-
-	// create selector for plugin
-	$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
-		return !!$.data( elem, fullName );
-	};
-
-	$[ namespace ] = $[ namespace ] || {};
-	existingConstructor = $[ namespace ][ name ];
-	constructor = $[ namespace ][ name ] = function( options, element ) {
-		// allow instantiation without "new" keyword
-		if ( !this._createWidget ) {
-			return new constructor( options, element );
-		}
-
-		// allow instantiation without initializing for simple inheritance
-		// must use "new" keyword (the code above always passes args)
-		if ( arguments.length ) {
-			this._createWidget( options, element );
-		}
-	};
-	// extend with the existing constructor to carry over any static properties
-	$.extend( constructor, existingConstructor, {
-		version: prototype.version,
-		// copy the object used to create the prototype in case we need to
-		// redefine the widget later
-		_proto: $.extend( {}, prototype ),
-		// track widgets that inherit from this widget in case this widget is
-		// redefined after a widget inherits from it
-		_childConstructors: []
-	});
-
-	basePrototype = new base();
-	// we need to make the options hash a property directly on the new instance
-	// otherwise we'll modify the options hash on the prototype that we're
-	// inheriting from
-	basePrototype.options = $.widget.extend( {}, basePrototype.options );
-	$.each( prototype, function( prop, value ) {
-		if ( !$.isFunction( value ) ) {
-			proxiedPrototype[ prop ] = value;
-			return;
-		}
-		proxiedPrototype[ prop ] = (function() {
-			var _super = function() {
-					return base.prototype[ prop ].apply( this, arguments );
-				},
-				_superApply = function( args ) {
-					return base.prototype[ prop ].apply( this, args );
-				};
-			return function() {
-				var __super = this._super,
-					__superApply = this._superApply,
-					returnValue;
-
-				this._super = _super;
-				this._superApply = _superApply;
-
-				returnValue = value.apply( this, arguments );
-
-				this._super = __super;
-				this._superApply = __superApply;
-
-				return returnValue;
-			};
-		})();
-	});
-	constructor.prototype = $.widget.extend( basePrototype, {
-		// TODO: remove support for widgetEventPrefix
-		// always use the name + a colon as the prefix, e.g., draggable:start
-		// don't prefix for widgets that aren't DOM-based
-		widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
-	}, proxiedPrototype, {
-		constructor: constructor,
-		namespace: namespace,
-		widgetName: name,
-		widgetFullName: fullName
-	});
-
-	// If this widget is being redefined then we need to find all widgets that
-	// are inheriting from it and redefine all of them so that they inherit from
-	// the new version of this widget. We're essentially trying to replace one
-	// level in the prototype chain.
-	if ( existingConstructor ) {
-		$.each( existingConstructor._childConstructors, function( i, child ) {
-			var childPrototype = child.prototype;
-
-			// redefine the child widget using the same prototype that was
-			// originally used, but inherit from the new version of the base
-			$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
-		});
-		// remove the list of existing child constructors from the old constructor
-		// so the old child constructors can be garbage collected
-		delete existingConstructor._childConstructors;
-	} else {
-		base._childConstructors.push( constructor );
-	}
-
-	$.widget.bridge( name, constructor );
-
-	return constructor;
-};
-
-$.widget.extend = function( target ) {
-	var input = widget_slice.call( arguments, 1 ),
-		inputIndex = 0,
-		inputLength = input.length,
-		key,
-		value;
-	for ( ; inputIndex < inputLength; inputIndex++ ) {
-		for ( key in input[ inputIndex ] ) {
-			value = input[ inputIndex ][ key ];
-			if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
-				// Clone objects
-				if ( $.isPlainObject( value ) ) {
-					target[ key ] = $.isPlainObject( target[ key ] ) ?
-						$.widget.extend( {}, target[ key ], value ) :
-						// Don't extend strings, arrays, etc. with objects
-						$.widget.extend( {}, value );
-				// Copy everything else by reference
-				} else {
-					target[ key ] = value;
-				}
-			}
-		}
-	}
-	return target;
-};
-
-$.widget.bridge = function( name, object ) {
-	var fullName = object.prototype.widgetFullName || name;
-	$.fn[ name ] = function( options ) {
-		var isMethodCall = typeof options === "string",
-			args = widget_slice.call( arguments, 1 ),
-			returnValue = this;
-
-		if ( isMethodCall ) {
-			this.each(function() {
-				var methodValue,
-					instance = $.data( this, fullName );
-				if ( options === "instance" ) {
-					returnValue = instance;
-					return false;
-				}
-				if ( !instance ) {
-					return $.error( "cannot call methods on " + name + " prior to initialization; " +
-						"attempted to call method '" + options + "'" );
-				}
-				if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
-					return $.error( "no such method '" + options + "' for " + name + " widget instance" );
-				}
-				methodValue = instance[ options ].apply( instance, args );
-				if ( methodValue !== instance && methodValue !== undefined ) {
-					returnValue = methodValue && methodValue.jquery ?
-						returnValue.pushStack( methodValue.get() ) :
-						methodValue;
-					return false;
-				}
-			});
-		} else {
-
-			// Allow multiple hashes to be passed on init
-			if ( args.length ) {
-				options = $.widget.extend.apply( null, [ options ].concat(args) );
-			}
-
-			this.each(function() {
-				var instance = $.data( this, fullName );
-				if ( instance ) {
-					instance.option( options || {} );
-					if ( instance._init ) {
-						instance._init();
-					}
-				} else {
-					$.data( this, fullName, new object( options, this ) );
-				}
-			});
-		}
-
-		return returnValue;
-	};
-};
-
-$.Widget = function( /* options, element */ ) {};
-$.Widget._childConstructors = [];
-
-$.Widget.prototype = {
-	widgetName: "widget",
-	widgetEventPrefix: "",
-	defaultElement: "<div>",
-	options: {
-		disabled: false,
-
-		// callbacks
-		create: null
-	},
-	_createWidget: function( options, element ) {
-		element = $( element || this.defaultElement || this )[ 0 ];
-		this.element = $( element );
-		this.uuid = widget_uuid++;
-		this.eventNamespace = "." + this.widgetName + this.uuid;
-
-		this.bindings = $();
-		this.hoverable = $();
-		this.focusable = $();
-
-		if ( element !== this ) {
-			$.data( element, this.widgetFullName, this );
-			this._on( true, this.element, {
-				remove: function( event ) {
-					if ( event.target === element ) {
-						this.destroy();
-					}
-				}
-			});
-			this.document = $( element.style ?
-				// element within the document
-				element.ownerDocument :
-				// element is window or document
-				element.document || element );
-			this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
-		}
-
-		this.options = $.widget.extend( {},
-			this.options,
-			this._getCreateOptions(),
-			options );
-
-		this._create();
-		this._trigger( "create", null, this._getCreateEventData() );
-		this._init();
-	},
-	_getCreateOptions: $.noop,
-	_getCreateEventData: $.noop,
-	_create: $.noop,
-	_init: $.noop,
-
-	destroy: function() {
-		this._destroy();
-		// we can probably remove the unbind calls in 2.0
-		// all event bindings should go through this._on()
-		this.element
-			.unbind( this.eventNamespace )
-			.removeData( this.widgetFullName )
-			// support: jquery <1.6.3
-			// http://bugs.jquery.com/ticket/9413
-			.removeData( $.camelCase( this.widgetFullName ) );
-		this.widget()
-			.unbind( this.eventNamespace )
-			.removeAttr( "aria-disabled" )
-			.removeClass(
-				this.widgetFullName + "-disabled " +
-				"ui-state-disabled" );
-
-		// clean up events and states
-		this.bindings.unbind( this.eventNamespace );
-		this.hoverable.removeClass( "ui-state-hover" );
-		this.focusable.removeClass( "ui-state-focus" );
-	},
-	_destroy: $.noop,
-
-	widget: function() {
-		return this.element;
-	},
-
-	option: function( key, value ) {
-		var options = key,
-			parts,
-			curOption,
-			i;
-
-		if ( arguments.length === 0 ) {
-			// don't return a reference to the internal hash
-			return $.widget.extend( {}, this.options );
-		}
-
-		if ( typeof key === "string" ) {
-			// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
-			options = {};
-			parts = key.split( "." );
-			key = parts.shift();
-			if ( parts.length ) {
-				curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
-				for ( i = 0; i < parts.length - 1; i++ ) {
-					curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
-					curOption = curOption[ parts[ i ] ];
-				}
-				key = parts.pop();
-				if ( arguments.length === 1 ) {
-					return curOption[ key ] === undefined ? null : curOption[ key ];
-				}
-				curOption[ key ] = value;
-			} else {
-				if ( arguments.length === 1 ) {
-					return this.options[ key ] === undefined ? null : this.options[ key ];
-				}
-				options[ key ] = value;
-			}
-		}
-
-		this._setOptions( options );
-
-		return this;
-	},
-	_setOptions: function( options ) {
-		var key;
-
-		for ( key in options ) {
-			this._setOption( key, options[ key ] );
-		}
-
-		return this;
-	},
-	_setOption: function( key, value ) {
-		this.options[ key ] = value;
-
-		if ( key === "disabled" ) {
-			this.widget()
-				.toggleClass( this.widgetFullName + "-disabled", !!value );
-
-			// If the widget is becoming disabled, then nothing is interactive
-			if ( value ) {
-				this.hoverable.removeClass( "ui-state-hover" );
-				this.focusable.removeClass( "ui-state-focus" );
-			}
-		}
-
-		return this;
-	},
-
-	enable: function() {
-		return this._setOptions({ disabled: false });
-	},
-	disable: function() {
-		return this._setOptions({ disabled: true });
-	},
-
-	_on: function( suppressDisabledCheck, element, handlers ) {
-		var delegateElement,
-			instance = this;
-
-		// no suppressDisabledCheck flag, shuffle arguments
-		if ( typeof suppressDisabledCheck !== "boolean" ) {
-			handlers = element;
-			element = suppressDisabledCheck;
-			suppressDisabledCheck = false;
-		}
-
-		// no element argument, shuffle and use this.element
-		if ( !handlers ) {
-			handlers = element;
-			element = this.element;
-			delegateElement = this.widget();
-		} else {
-			element = delegateElement = $( element );
-			this.bindings = this.bindings.add( element );
-		}
-
-		$.each( handlers, function( event, handler ) {
-			function handlerProxy() {
-				// allow widgets to customize the disabled handling
-				// - disabled as an array instead of boolean
-				// - disabled class as method for disabling individual parts
-				if ( !suppressDisabledCheck &&
-						( instance.options.disabled === true ||
-							$( this ).hasClass( "ui-state-disabled" ) ) ) {
-					return;
-				}
-				return ( typeof handler === "string" ? instance[ handler ] : handler )
-					.apply( instance, arguments );
-			}
-
-			// copy the guid so direct unbinding works
-			if ( typeof handler !== "string" ) {
-				handlerProxy.guid = handler.guid =
-					handler.guid || handlerProxy.guid || $.guid++;
-			}
-
-			var match = event.match( /^([\w:-]*)\s*(.*)$/ ),
-				eventName = match[1] + instance.eventNamespace,
-				selector = match[2];
-			if ( selector ) {
-				delegateElement.delegate( selector, eventName, handlerProxy );
-			} else {
-				element.bind( eventName, handlerProxy );
-			}
-		});
-	},
-
-	_off: function( element, eventName ) {
-		eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) +
-			this.eventNamespace;
-		element.unbind( eventName ).undelegate( eventName );
-
-		// Clear the stack to avoid memory leaks (#10056)
-		this.bindings = $( this.bindings.not( element ).get() );
-		this.focusable = $( this.focusable.not( element ).get() );
-		this.hoverable = $( this.hoverable.not( element ).get() );
-	},
-
-	_delay: function( handler, delay ) {
-		function handlerProxy() {
-			return ( typeof handler === "string" ? instance[ handler ] : handler )
-				.apply( instance, arguments );
-		}
-		var instance = this;
-		return setTimeout( handlerProxy, delay || 0 );
-	},
-
-	_hoverable: function( element ) {
-		this.hoverable = this.hoverable.add( element );
-		this._on( element, {
-			mouseenter: function( event ) {
-				$( event.currentTarget ).addClass( "ui-state-hover" );
-			},
-			mouseleave: function( event ) {
-				$( event.currentTarget ).removeClass( "ui-state-hover" );
-			}
-		});
-	},
-
-	_focusable: function( element ) {
-		this.focusable = this.focusable.add( element );
-		this._on( element, {
-			focusin: function( event ) {
-				$( event.currentTarget ).addClass( "ui-state-focus" );
-			},
-			focusout: function( event ) {
-				$( event.currentTarget ).removeClass( "ui-state-focus" );
-			}
-		});
-	},
-
-	_trigger: function( type, event, data ) {
-		var prop, orig,
-			callback = this.options[ type ];
-
-		data = data || {};
-		event = $.Event( event );
-		event.type = ( type === this.widgetEventPrefix ?
-			type :
-			this.widgetEventPrefix + type ).toLowerCase();
-		// the original event may come from any element
-		// so we need to reset the target on the new event
-		event.target = this.element[ 0 ];
-
-		// copy original event properties over to the new event
-		orig = event.originalEvent;
-		if ( orig ) {
-			for ( prop in orig ) {
-				if ( !( prop in event ) ) {
-					event[ prop ] = orig[ prop ];
-				}
-			}
-		}
-
-		this.element.trigger( event, data );
-		return !( $.isFunction( callback ) &&
-			callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
-			event.isDefaultPrevented() );
-	}
-};
-
-$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
-	$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
-		if ( typeof options === "string" ) {
-			options = { effect: options };
-		}
-		var hasOptions,
-			effectName = !options ?
-				method :
-				options === true || typeof options === "number" ?
-					defaultEffect :
-					options.effect || defaultEffect;
-		options = options || {};
-		if ( typeof options === "number" ) {
-			options = { duration: options };
-		}
-		hasOptions = !$.isEmptyObject( options );
-		options.complete = callback;
-		if ( options.delay ) {
-			element.delay( options.delay );
-		}
-		if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
-			element[ method ]( options );
-		} else if ( effectName !== method && element[ effectName ] ) {
-			element[ effectName ]( options.duration, options.easing, callback );
-		} else {
-			element.queue(function( next ) {
-				$( this )[ method ]();
-				if ( callback ) {
-					callback.call( element[ 0 ] );
-				}
-				next();
-			});
-		}
-	};
-});
-
-var widget = $.widget;
-
-
-/*!
- * jQuery UI Mouse 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/mouse/
- */
-
-
-var mouseHandled = false;
-$( document ).mouseup( function() {
-	mouseHandled = false;
-});
-
-var mouse = $.widget("ui.mouse", {
-	version: "1.11.4",
-	options: {
-		cancel: "input,textarea,button,select,option",
-		distance: 1,
-		delay: 0
-	},
-	_mouseInit: function() {
-		var that = this;
-
-		this.element
-			.bind("mousedown." + this.widgetName, function(event) {
-				return that._mouseDown(event);
-			})
-			.bind("click." + this.widgetName, function(event) {
-				if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
-					$.removeData(event.target, that.widgetName + ".preventClickEvent");
-					event.stopImmediatePropagation();
-					return false;
-				}
-			});
-
-		this.started = false;
-	},
-
-	// TODO: make sure destroying one instance of mouse doesn't mess with
-	// other instances of mouse
-	_mouseDestroy: function() {
-		this.element.unbind("." + this.widgetName);
-		if ( this._mouseMoveDelegate ) {
-			this.document
-				.unbind("mousemove." + this.widgetName, this._mouseMoveDelegate)
-				.unbind("mouseup." + this.widgetName, this._mouseUpDelegate);
-		}
-	},
-
-	_mouseDown: function(event) {
-		// don't let more than one widget handle mouseStart
-		if ( mouseHandled ) {
-			return;
-		}
-
-		this._mouseMoved = false;
-
-		// we may have missed mouseup (out of window)
-		(this._mouseStarted && this._mouseUp(event));
-
-		this._mouseDownEvent = event;
-
-		var that = this,
-			btnIsLeft = (event.which === 1),
-			// event.target.nodeName works around a bug in IE 8 with
-			// disabled inputs (#7620)
-			elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);
-		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
-			return true;
-		}
-
-		this.mouseDelayMet = !this.options.delay;
-		if (!this.mouseDelayMet) {
-			this._mouseDelayTimer = setTimeout(function() {
-				that.mouseDelayMet = true;
-			}, this.options.delay);
-		}
-
-		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
-			this._mouseStarted = (this._mouseStart(event) !== false);
-			if (!this._mouseStarted) {
-				event.preventDefault();
-				return true;
-			}
-		}
-
-		// Click event may never have fired (Gecko & Opera)
-		if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
-			$.removeData(event.target, this.widgetName + ".preventClickEvent");
-		}
-
-		// these delegates are required to keep context
-		this._mouseMoveDelegate = function(event) {
-			return that._mouseMove(event);
-		};
-		this._mouseUpDelegate = function(event) {
-			return that._mouseUp(event);
-		};
-
-		this.document
-			.bind( "mousemove." + this.widgetName, this._mouseMoveDelegate )
-			.bind( "mouseup." + this.widgetName, this._mouseUpDelegate );
-
-		event.preventDefault();
-
-		mouseHandled = true;
-		return true;
-	},
-
-	_mouseMove: function(event) {
-		// Only check for mouseups outside the document if you've moved inside the document
-		// at least once. This prevents the firing of mouseup in the case of IE<9, which will
-		// fire a mousemove event if content is placed under the cursor. See #7778
-		// Support: IE <9
-		if ( this._mouseMoved ) {
-			// IE mouseup check - mouseup happened when mouse was out of window
-			if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
-				return this._mouseUp(event);
-
-			// Iframe mouseup check - mouseup occurred in another document
-			} else if ( !event.which ) {
-				return this._mouseUp( event );
-			}
-		}
-
-		if ( event.which || event.button ) {
-			this._mouseMoved = true;
-		}
-
-		if (this._mouseStarted) {
-			this._mouseDrag(event);
-			return event.preventDefault();
-		}
-
-		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
-			this._mouseStarted =
-				(this._mouseStart(this._mouseDownEvent, event) !== false);
-			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
-		}
-
-		return !this._mouseStarted;
-	},
-
-	_mouseUp: function(event) {
-		this.document
-			.unbind( "mousemove." + this.widgetName, this._mouseMoveDelegate )
-			.unbind( "mouseup." + this.widgetName, this._mouseUpDelegate );
-
-		if (this._mouseStarted) {
-			this._mouseStarted = false;
-
-			if (event.target === this._mouseDownEvent.target) {
-				$.data(event.target, this.widgetName + ".preventClickEvent", true);
-			}
-
-			this._mouseStop(event);
-		}
-
-		mouseHandled = false;
-		return false;
-	},
-
-	_mouseDistanceMet: function(event) {
-		return (Math.max(
-				Math.abs(this._mouseDownEvent.pageX - event.pageX),
-				Math.abs(this._mouseDownEvent.pageY - event.pageY)
-			) >= this.options.distance
-		);
-	},
-
-	_mouseDelayMet: function(/* event */) {
-		return this.mouseDelayMet;
-	},
-
-	// These are placeholder methods, to be overriden by extending plugin
-	_mouseStart: function(/* event */) {},
-	_mouseDrag: function(/* event */) {},
-	_mouseStop: function(/* event */) {},
-	_mouseCapture: function(/* event */) { return true; }
-});
-
-
-/*!
- * jQuery UI Position 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/position/
- */
-
-(function() {
-
-$.ui = $.ui || {};
-
-var cachedScrollbarWidth, supportsOffsetFractions,
-	max = Math.max,
-	abs = Math.abs,
-	round = Math.round,
-	rhorizontal = /left|center|right/,
-	rvertical = /top|center|bottom/,
-	roffset = /[\+\-]\d+(\.[\d]+)?%?/,
-	rposition = /^\w+/,
-	rpercent = /%$/,
-	_position = $.fn.position;
-
-function getOffsets( offsets, width, height ) {
-	return [
-		parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),
-		parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )
-	];
-}
-
-function parseCss( element, property ) {
-	return parseInt( $.css( element, property ), 10 ) || 0;
-}
-
-function getDimensions( elem ) {
-	var raw = elem[0];
-	if ( raw.nodeType === 9 ) {
-		return {
-			width: elem.width(),
-			height: elem.height(),
-			offset: { top: 0, left: 0 }
-		};
-	}
-	if ( $.isWindow( raw ) ) {
-		return {
-			width: elem.width(),
-			height: elem.height(),
-			offset: { top: elem.scrollTop(), left: elem.scrollLeft() }
-		};
-	}
-	if ( raw.preventDefault ) {
-		return {
-			width: 0,
-			height: 0,
-			offset: { top: raw.pageY, left: raw.pageX }
-		};
-	}
-	return {
-		width: elem.outerWidth(),
-		height: elem.outerHeight(),
-		offset: elem.offset()
-	};
-}
-
-$.position = {
-	scrollbarWidth: function() {
-		if ( cachedScrollbarWidth !== undefined ) {
-			return cachedScrollbarWidth;
-		}
-		var w1, w2,
-			div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
-			innerDiv = div.children()[0];
-
-		$( "body" ).append( div );
-		w1 = innerDiv.offsetWidth;
-		div.css( "overflow", "scroll" );
-
-		w2 = innerDiv.offsetWidth;
-
-		if ( w1 === w2 ) {
-			w2 = div[0].clientWidth;
-		}
-
-		div.remove();
-
-		return (cachedScrollbarWidth = w1 - w2);
-	},
-	getScrollInfo: function( within ) {
-		var overflowX = within.isWindow || within.isDocument ? "" :
-				within.element.css( "overflow-x" ),
-			overflowY = within.isWindow || within.isDocument ? "" :
-				within.element.css( "overflow-y" ),
-			hasOverflowX = overflowX === "scroll" ||
-				( overflowX === "auto" && within.width < within.element[0].scrollWidth ),
-			hasOverflowY = overflowY === "scroll" ||
-				( overflowY === "auto" && within.height < within.element[0].scrollHeight );
-		return {
-			width: hasOverflowY ? $.position.scrollbarWidth() : 0,
-			height: hasOverflowX ? $.position.scrollbarWidth() : 0
-		};
-	},
-	getWithinInfo: function( element ) {
-		var withinElement = $( element || window ),
-			isWindow = $.isWindow( withinElement[0] ),
-			isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9;
-		return {
-			element: withinElement,
-			isWindow: isWindow,
-			isDocument: isDocument,
-			offset: withinElement.offset() || { left: 0, top: 0 },
-			scrollLeft: withinElement.scrollLeft(),
-			scrollTop: withinElement.scrollTop(),
-
-			// support: jQuery 1.6.x
-			// jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows
-			width: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(),
-			height: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight()
-		};
-	}
-};
-
-$.fn.position = function( options ) {
-	if ( !options || !options.of ) {
-		return _position.apply( this, arguments );
-	}
-
-	// make a copy, we don't want to modify arguments
-	options = $.extend( {}, options );
-
-	var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
-		target = $( options.of ),
-		within = $.position.getWithinInfo( options.within ),
-		scrollInfo = $.position.getScrollInfo( within ),
-		collision = ( options.collision || "flip" ).split( " " ),
-		offsets = {};
-
-	dimensions = getDimensions( target );
-	if ( target[0].preventDefault ) {
-		// force left top to allow flipping
-		options.at = "left top";
-	}
-	targetWidth = dimensions.width;
-	targetHeight = dimensions.height;
-	targetOffset = dimensions.offset;
-	// clone to reuse original targetOffset later
-	basePosition = $.extend( {}, targetOffset );
-
-	// force my and at to have valid horizontal and vertical positions
-	// if a value is missing or invalid, it will be converted to center
-	$.each( [ "my", "at" ], function() {
-		var pos = ( options[ this ] || "" ).split( " " ),
-			horizontalOffset,
-			verticalOffset;
-
-		if ( pos.length === 1) {
-			pos = rhorizontal.test( pos[ 0 ] ) ?
-				pos.concat( [ "center" ] ) :
-				rvertical.test( pos[ 0 ] ) ?
-					[ "center" ].concat( pos ) :
-					[ "center", "center" ];
-		}
-		pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center";
-		pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center";
-
-		// calculate offsets
-		horizontalOffset = roffset.exec( pos[ 0 ] );
-		verticalOffset = roffset.exec( pos[ 1 ] );
-		offsets[ this ] = [
-			horizontalOffset ? horizontalOffset[ 0 ] : 0,
-			verticalOffset ? verticalOffset[ 0 ] : 0
-		];
-
-		// reduce to just the positions without the offsets
-		options[ this ] = [
-			rposition.exec( pos[ 0 ] )[ 0 ],
-			rposition.exec( pos[ 1 ] )[ 0 ]
-		];
-	});
-
-	// normalize collision option
-	if ( collision.length === 1 ) {
-		collision[ 1 ] = collision[ 0 ];
-	}
-
-	if ( options.at[ 0 ] === "right" ) {
-		basePosition.left += targetWidth;
-	} else if ( options.at[ 0 ] === "center" ) {
-		basePosition.left += targetWidth / 2;
-	}
-
-	if ( options.at[ 1 ] === "bottom" ) {
-		basePosition.top += targetHeight;
-	} else if ( options.at[ 1 ] === "center" ) {
-		basePosition.top += targetHeight / 2;
-	}
-
-	atOffset = getOffsets( offsets.at, targetWidth, targetHeight );
-	basePosition.left += atOffset[ 0 ];
-	basePosition.top += atOffset[ 1 ];
-
-	return this.each(function() {
-		var collisionPosition, using,
-			elem = $( this ),
-			elemWidth = elem.outerWidth(),
-			elemHeight = elem.outerHeight(),
-			marginLeft = parseCss( this, "marginLeft" ),
-			marginTop = parseCss( this, "marginTop" ),
-			collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width,
-			collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height,
-			position = $.extend( {}, basePosition ),
-			myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );
-
-		if ( options.my[ 0 ] === "right" ) {
-			position.left -= elemWidth;
-		} else if ( options.my[ 0 ] === "center" ) {
-			position.left -= elemWidth / 2;
-		}
-
-		if ( options.my[ 1 ] === "bottom" ) {
-			position.top -= elemHeight;
-		} else if ( options.my[ 1 ] === "center" ) {
-			position.top -= elemHeight / 2;
-		}
-
-		position.left += myOffset[ 0 ];
-		position.top += myOffset[ 1 ];
-
-		// if the browser doesn't support fractions, then round for consistent results
-		if ( !supportsOffsetFractions ) {
-			position.left = round( position.left );
-			position.top = round( position.top );
-		}
-
-		collisionPosition = {
-			marginLeft: marginLeft,
-			marginTop: marginTop
-		};
-
-		$.each( [ "left", "top" ], function( i, dir ) {
-			if ( $.ui.position[ collision[ i ] ] ) {
-				$.ui.position[ collision[ i ] ][ dir ]( position, {
-					targetWidth: targetWidth,
-					targetHeight: targetHeight,
-					elemWidth: elemWidth,
-					elemHeight: elemHeight,
-					collisionPosition: collisionPosition,
-					collisionWidth: collisionWidth,
-					collisionHeight: collisionHeight,
-					offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],
-					my: options.my,
-					at: options.at,
-					within: within,
-					elem: elem
-				});
-			}
-		});
-
-		if ( options.using ) {
-			// adds feedback as second argument to using callback, if present
-			using = function( props ) {
-				var left = targetOffset.left - position.left,
-					right = left + targetWidth - elemWidth,
-					top = targetOffset.top - position.top,
-					bottom = top + targetHeight - elemHeight,
-					feedback = {
-						target: {
-							element: target,
-							left: targetOffset.left,
-							top: targetOffset.top,
-							width: targetWidth,
-							height: targetHeight
-						},
-						element: {
-							element: elem,
-							left: position.left,
-							top: position.top,
-							width: elemWidth,
-							height: elemHeight
-						},
-						horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
-						vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
-					};
-				if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {
-					feedback.horizontal = "center";
-				}
-				if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {
-					feedback.vertical = "middle";
-				}
-				if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {
-					feedback.important = "horizontal";
-				} else {
-					feedback.important = "vertical";
-				}
-				options.using.call( this, props, feedback );
-			};
-		}
-
-		elem.offset( $.extend( position, { using: using } ) );
-	});
-};
-
-$.ui.position = {
-	fit: {
-		left: function( position, data ) {
-			var within = data.within,
-				withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
-				outerWidth = within.width,
-				collisionPosLeft = position.left - data.collisionPosition.marginLeft,
-				overLeft = withinOffset - collisionPosLeft,
-				overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
-				newOverRight;
-
-			// element is wider than within
-			if ( data.collisionWidth > outerWidth ) {
-				// element is initially over the left side of within
-				if ( overLeft > 0 && overRight <= 0 ) {
-					newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
-					position.left += overLeft - newOverRight;
-				// element is initially over right side of within
-				} else if ( overRight > 0 && overLeft <= 0 ) {
-					position.left = withinOffset;
-				// element is initially over both left and right sides of within
-				} else {
-					if ( overLeft > overRight ) {
-						position.left = withinOffset + outerWidth - data.collisionWidth;
-					} else {
-						position.left = withinOffset;
-					}
-				}
-			// too far left -> align with left edge
-			} else if ( overLeft > 0 ) {
-				position.left += overLeft;
-			// too far right -> align with right edge
-			} else if ( overRight > 0 ) {
-				position.left -= overRight;
-			// adjust based on position and margin
-			} else {
-				position.left = max( position.left - collisionPosLeft, position.left );
-			}
-		},
-		top: function( position, data ) {
-			var within = data.within,
-				withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
-				outerHeight = data.within.height,
-				collisionPosTop = position.top - data.collisionPosition.marginTop,
-				overTop = withinOffset - collisionPosTop,
-				overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
-				newOverBottom;
-
-			// element is taller than within
-			if ( data.collisionHeight > outerHeight ) {
-				// element is initially over the top of within
-				if ( overTop > 0 && overBottom <= 0 ) {
-					newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
-					position.top += overTop - newOverBottom;
-				// element is initially over bottom of within
-				} else if ( overBottom > 0 && overTop <= 0 ) {
-					position.top = withinOffset;
-				// element is initially over both top and bottom of within
-				} else {
-					if ( overTop > overBottom ) {
-						position.top = withinOffset + outerHeight - data.collisionHeight;
-					} else {
-						position.top = withinOffset;
-					}
-				}
-			// too far up -> align with top
-			} else if ( overTop > 0 ) {
-				position.top += overTop;
-			// too far down -> align with bottom edge
-			} else if ( overBottom > 0 ) {
-				position.top -= overBottom;
-			// adjust based on position and margin
-			} else {
-				position.top = max( position.top - collisionPosTop, position.top );
-			}
-		}
-	},
-	flip: {
-		left: function( position, data ) {
-			var within = data.within,
-				withinOffset = within.offset.left + within.scrollLeft,
-				outerWidth = within.width,
-				offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
-				collisionPosLeft = position.left - data.collisionPosition.marginLeft,
-				overLeft = collisionPosLeft - offsetLeft,
-				overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
-				myOffset = data.my[ 0 ] === "left" ?
-					-data.elemWidth :
-					data.my[ 0 ] === "right" ?
-						data.elemWidth :
-						0,
-				atOffset = data.at[ 0 ] === "left" ?
-					data.targetWidth :
-					data.at[ 0 ] === "right" ?
-						-data.targetWidth :
-						0,
-				offset = -2 * data.offset[ 0 ],
-				newOverRight,
-				newOverLeft;
-
-			if ( overLeft < 0 ) {
-				newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
-				if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {
-					position.left += myOffset + atOffset + offset;
-				}
-			} else if ( overRight > 0 ) {
-				newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
-				if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {
-					position.left += myOffset + atOffset + offset;
-				}
-			}
-		},
-		top: function( position, data ) {
-			var within = data.within,
-				withinOffset = within.offset.top + within.scrollTop,
-				outerHeight = within.height,
-				offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
-				collisionPosTop = position.top - data.collisionPosition.marginTop,
-				overTop = collisionPosTop - offsetTop,
-				overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
-				top = data.my[ 1 ] === "top",
-				myOffset = top ?
-					-data.elemHeight :
-					data.my[ 1 ] === "bottom" ?
-						data.elemHeight :
-						0,
-				atOffset = data.at[ 1 ] === "top" ?
-					data.targetHeight :
-					data.at[ 1 ] === "bottom" ?
-						-data.targetHeight :
-						0,
-				offset = -2 * data.offset[ 1 ],
-				newOverTop,
-				newOverBottom;
-			if ( overTop < 0 ) {
-				newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
-				if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {
-					position.top += myOffset + atOffset + offset;
-				}
-			} else if ( overBottom > 0 ) {
-				newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
-				if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {
-					position.top += myOffset + atOffset + offset;
-				}
-			}
-		}
-	},
-	flipfit: {
-		left: function() {
-			$.ui.position.flip.left.apply( this, arguments );
-			$.ui.position.fit.left.apply( this, arguments );
-		},
-		top: function() {
-			$.ui.position.flip.top.apply( this, arguments );
-			$.ui.position.fit.top.apply( this, arguments );
-		}
-	}
-};
-
-// fraction support test
-(function() {
-	var testElement, testElementParent, testElementStyle, offsetLeft, i,
-		body = document.getElementsByTagName( "body" )[ 0 ],
-		div = document.createElement( "div" );
-
-	//Create a "fake body" for testing based on method used in jQuery.support
-	testElement = document.createElement( body ? "div" : "body" );
-	testElementStyle = {
-		visibility: "hidden",
-		width: 0,
-		height: 0,
-		border: 0,
-		margin: 0,
-		background: "none"
-	};
-	if ( body ) {
-		$.extend( testElementStyle, {
-			position: "absolute",
-			left: "-1000px",
-			top: "-1000px"
-		});
-	}
-	for ( i in testElementStyle ) {
-		testElement.style[ i ] = testElementStyle[ i ];
-	}
-	testElement.appendChild( div );
-	testElementParent = body || document.documentElement;
-	testElementParent.insertBefore( testElement, testElementParent.firstChild );
-
-	div.style.cssText = "position: absolute; left: 10.7432222px;";
-
-	offsetLeft = $( div ).offset().left;
-	supportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11;
-
-	testElement.innerHTML = "";
-	testElementParent.removeChild( testElement );
-})();
-
-})();
-
-var position = $.ui.position;
-
-
-/*!
- * jQuery UI Draggable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/draggable/
- */
-
-
-$.widget("ui.draggable", $.ui.mouse, {
-	version: "1.11.4",
-	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,
-
-		// callbacks
-		drag: null,
-		start: null,
-		stop: null
-	},
-	_create: function() {
-
-		if ( this.options.helper === "original" ) {
-			this._setPositionRelative();
-		}
-		if (this.options.addClasses){
-			this.element.addClass("ui-draggable");
-		}
-		if (this.options.disabled){
-			this.element.addClass("ui-draggable-disabled");
-		}
-		this._setHandleClassName();
-
-		this._mouseInit();
-	},
-
-	_setOption: function( key, value ) {
-		this._super( key, value );
-		if ( key === "handle" ) {
-			this._removeHandleClassName();
-			this._setHandleClassName();
-		}
-	},
-
-	_destroy: function() {
-		if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) {
-			this.destroyOnClear = true;
-			return;
-		}
-		this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
-		this._removeHandleClassName();
-		this._mouseDestroy();
-	},
-
-	_mouseCapture: function(event) {
-		var o = this.options;
-
-		this._blurActiveElement( event );
-
-		// among others, prevent a drag on a resizable-handle
-		if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
-			return false;
-		}
-
-		//Quit if we're not on a valid handle
-		this.handle = this._getHandle(event);
-		if (!this.handle) {
-			return false;
-		}
-
-		this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix );
-
-		return true;
-
-	},
-
-	_blockFrames: function( selector ) {
-		this.iframeBlocks = this.document.find( selector ).map(function() {
-			var iframe = $( this );
-
-			return $( "<div>" )
-				.css( "position", "absolute" )
-				.appendTo( iframe.parent() )
-				.outerWidth( iframe.outerWidth() )
-				.outerHeight( iframe.outerHeight() )
-				.offset( iframe.offset() )[ 0 ];
-		});
-	},
-
-	_unblockFrames: function() {
-		if ( this.iframeBlocks ) {
-			this.iframeBlocks.remove();
-			delete this.iframeBlocks;
-		}
-	},
-
-	_blurActiveElement: function( event ) {
-		var document = this.document[ 0 ];
-
-		// Only need to blur if the event occurred on the draggable itself, see #10527
-		if ( !this.handleElement.is( event.target ) ) {
-			return;
-		}
-
-		// support: IE9
-		// IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
-		try {
-
-			// Support: IE9, IE10
-			// If the <body> is blurred, IE will switch windows, see #9520
-			if ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== "body" ) {
-
-				// Blur any element that currently has focus, see #4261
-				$( document.activeElement ).blur();
-			}
-		} catch ( error ) {}
-	},
-
-	_mouseStart: function(event) {
-
-		var o = this.options;
-
-		//Create and append the visible helper
-		this.helper = this._createHelper(event);
-
-		this.helper.addClass("ui-draggable-dragging");
-
-		//Cache the helper size
-		this._cacheHelperProportions();
-
-		//If ddmanager is used for droppables, set the global draggable
-		if ($.ui.ddmanager) {
-			$.ui.ddmanager.current = this;
-		}
-
-		/*
-		 * - Position generation -
-		 * This block generates everything position related - it's the core of draggables.
-		 */
-
-		//Cache the margins of the original element
-		this._cacheMargins();
-
-		//Store the helper's css position
-		this.cssPosition = this.helper.css( "position" );
-		this.scrollParent = this.helper.scrollParent( true );
-		this.offsetParent = this.helper.offsetParent();
-		this.hasFixedAncestor = this.helper.parents().filter(function() {
-				return $( this ).css( "position" ) === "fixed";
-			}).length > 0;
-
-		//The element's absolute position on the page minus margins
-		this.positionAbs = this.element.offset();
-		this._refreshOffsets( event );
-
-		//Generate the original position
-		this.originalPosition = this.position = this._generatePosition( event, false );
-		this.originalPageX = event.pageX;
-		this.originalPageY = event.pageY;
-
-		//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
-		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
-
-		//Set a containment if given in the options
-		this._setContainment();
-
-		//Trigger event + callbacks
-		if (this._trigger("start", event) === false) {
-			this._clear();
-			return false;
-		}
-
-		//Recache the helper size
-		this._cacheHelperProportions();
-
-		//Prepare the droppable offsets
-		if ($.ui.ddmanager && !o.dropBehaviour) {
-			$.ui.ddmanager.prepareOffsets(this, event);
-		}
-
-		// Reset helper's right/bottom css if they're set and set explicit width/height instead
-		// as this prevents resizing of elements with right/bottom set (see #7772)
-		this._normalizeRightBottom();
-
-		this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
-
-		//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
-		if ( $.ui.ddmanager ) {
-			$.ui.ddmanager.dragStart(this, event);
-		}
-
-		return true;
-	},
-
-	_refreshOffsets: function( event ) {
-		this.offset = {
-			top: this.positionAbs.top - this.margins.top,
-			left: this.positionAbs.left - this.margins.left,
-			scroll: false,
-			parent: this._getParentOffset(),
-			relative: this._getRelativeOffset()
-		};
-
-		this.offset.click = {
-			left: event.pageX - this.offset.left,
-			top: event.pageY - this.offset.top
-		};
-	},
-
-	_mouseDrag: function(event, noPropagation) {
-		// reset any necessary cached properties (see #5009)
-		if ( this.hasFixedAncestor ) {
-			this.offset.parent = this._getParentOffset();
-		}
-
-		//Compute the helpers position
-		this.position = this._generatePosition( event, true );
-		this.positionAbs = this._convertPositionTo("absolute");
-
-		//Call plugins and callbacks and use the resulting position if something is returned
-		if (!noPropagation) {
-			var ui = this._uiHash();
-			if (this._trigger("drag", event, ui) === false) {
-				this._mouseUp({});
-				return false;
-			}
-			this.position = ui.position;
-		}
-
-		this.helper[ 0 ].style.left = this.position.left + "px";
-		this.helper[ 0 ].style.top = this.position.top + "px";
-
-		if ($.ui.ddmanager) {
-			$.ui.ddmanager.drag(this, event);
-		}
-
-		return false;
-	},
-
-	_mouseStop: function(event) {
-
-		//If we are using droppables, inform the manager about the drop
-		var that = this,
-			dropped = false;
-		if ($.ui.ddmanager && !this.options.dropBehaviour) {
-			dropped = $.ui.ddmanager.drop(this, event);
-		}
-
-		//if a drop comes from outside (a sortable)
-		if (this.dropped) {
-			dropped = this.dropped;
-			this.dropped = false;
-		}
-
-		if ((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
-			$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
-				if (that._trigger("stop", event) !== false) {
-					that._clear();
-				}
-			});
-		} else {
-			if (this._trigger("stop", event) !== false) {
-				this._clear();
-			}
-		}
-
-		return false;
-	},
-
-	_mouseUp: function( event ) {
-		this._unblockFrames();
-
-		//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
-		if ( $.ui.ddmanager ) {
-			$.ui.ddmanager.dragStop(this, event);
-		}
-
-		// Only need to focus if the event occurred on the draggable itself, see #10527
-		if ( this.handleElement.is( event.target ) ) {
-			// The interaction is over; whether or not the click resulted in a drag, focus the element
-			this.element.focus();
-		}
-
-		return $.ui.mouse.prototype._mouseUp.call(this, event);
-	},
-
-	cancel: function() {
-
-		if (this.helper.is(".ui-draggable-dragging")) {
-			this._mouseUp({});
-		} else {
-			this._clear();
-		}
-
-		return this;
-
-	},
-
-	_getHandle: function(event) {
-		return this.options.handle ?
-			!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
-			true;
-	},
-
-	_setHandleClassName: function() {
-		this.handleElement = this.options.handle ?
-			this.element.find( this.options.handle ) : this.element;
-		this.handleElement.addClass( "ui-draggable-handle" );
-	},
-
-	_removeHandleClassName: function() {
-		this.handleElement.removeClass( "ui-draggable-handle" );
-	},
-
-	_createHelper: function(event) {
-
-		var o = this.options,
-			helperIsFunction = $.isFunction( o.helper ),
-			helper = helperIsFunction ?
-				$( o.helper.apply( this.element[ 0 ], [ event ] ) ) :
-				( o.helper === "clone" ?
-					this.element.clone().removeAttr( "id" ) :
-					this.element );
-
-		if (!helper.parents("body").length) {
-			helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
-		}
-
-		// http://bugs.jqueryui.com/ticket/9446
-		// a helper function can return the original element
-		// which wouldn't have been set to relative in _create
-		if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {
-			this._setPositionRelative();
-		}
-
-		if (helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
-			helper.css("position", "absolute");
-		}
-
-		return helper;
-
-	},
-
-	_setPositionRelative: function() {
-		if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) {
-			this.element[ 0 ].style.position = "relative";
-		}
-	},
-
-	_adjustOffsetFromHelper: function(obj) {
-		if (typeof obj === "string") {
-			obj = obj.split(" ");
-		}
-		if ($.isArray(obj)) {
-			obj = { left: +obj[0], top: +obj[1] || 0 };
-		}
-		if ("left" in obj) {
-			this.offset.click.left = obj.left + this.margins.left;
-		}
-		if ("right" in obj) {
-			this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
-		}
-		if ("top" in obj) {
-			this.offset.click.top = obj.top + this.margins.top;
-		}
-		if ("bottom" in obj) {
-			this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
-		}
-	},
-
-	_isRootNode: function( element ) {
-		return ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ];
-	},
-
-	_getParentOffset: function() {
-
-		//Get the offsetParent and cache its position
-		var po = this.offsetParent.offset(),
-			document = this.document[ 0 ];
-
-		// This is a special case where we need to modify a offset calculated on start, since the following happened:
-		// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
-		// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
-		//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
-		if (this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
-			po.left += this.scrollParent.scrollLeft();
-			po.top += this.scrollParent.scrollTop();
-		}
-
-		if ( this._isRootNode( this.offsetParent[ 0 ] ) ) {
-			po = { top: 0, left: 0 };
-		}
-
-		return {
-			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
-			left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
-		};
-
-	},
-
-	_getRelativeOffset: function() {
-		if ( this.cssPosition !== "relative" ) {
-			return { top: 0, left: 0 };
-		}
-
-		var p = this.element.position(),
-			scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );
-
-		return {
-			top: p.top - ( parseInt(this.helper.css( "top" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ),
-			left: p.left - ( parseInt(this.helper.css( "left" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 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 isUserScrollable, c, ce,
-			o = this.options,
-			document = this.document[ 0 ];
-
-		this.relativeContainer = null;
-
-		if ( !o.containment ) {
-			this.containment = null;
-			return;
-		}
-
-		if ( o.containment === "window" ) {
-			this.containment = [
-				$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
-				$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,
-				$( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left,
-				$( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
-			];
-			return;
-		}
-
-		if ( o.containment === "document") {
-			this.containment = [
-				0,
-				0,
-				$( document ).width() - this.helperProportions.width - this.margins.left,
-				( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
-			];
-			return;
-		}
-
-		if ( o.containment.constructor === Array ) {
-			this.containment = o.containment;
-			return;
-		}
-
-		if ( o.containment === "parent" ) {
-			o.containment = this.helper[ 0 ].parentNode;
-		}
-
-		c = $( o.containment );
-		ce = c[ 0 ];
-
-		if ( !ce ) {
-			return;
-		}
-
-		isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) );
-
-		this.containment = [
-			( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
-			( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ),
-			( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -
-				( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) -
-				( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) -
-				this.helperProportions.width -
-				this.margins.left -
-				this.margins.right,
-			( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -
-				( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) -
-				( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) -
-				this.helperProportions.height -
-				this.margins.top -
-				this.margins.bottom
-		];
-		this.relativeContainer = c;
-	},
-
-	_convertPositionTo: function(d, pos) {
-
-		if (!pos) {
-			pos = this.position;
-		}
-
-		var mod = d === "absolute" ? 1 : -1,
-			scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );
-
-		return {
-			top: (
-				pos.top	+																// The absolute mouse position
-				this.offset.relative.top * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.top * mod -										// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod)
-			),
-			left: (
-				pos.left +																// The absolute mouse position
-				this.offset.relative.left * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.left * mod	-										// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod)
-			)
-		};
-
-	},
-
-	_generatePosition: function( event, constrainPosition ) {
-
-		var containment, co, top, left,
-			o = this.options,
-			scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ),
-			pageX = event.pageX,
-			pageY = event.pageY;
-
-		// Cache the scroll
-		if ( !scrollIsRootNode || !this.offset.scroll ) {
-			this.offset.scroll = {
-				top: this.scrollParent.scrollTop(),
-				left: this.scrollParent.scrollLeft()
-			};
-		}
-
-		/*
-		 * - Position constraining -
-		 * Constrain the position to a mix of grid, containment.
-		 */
-
-		// If we are not dragging yet, we won't check for options
-		if ( constrainPosition ) {
-			if ( this.containment ) {
-				if ( this.relativeContainer ){
-					co = this.relativeContainer.offset();
-					containment = [
-						this.containment[ 0 ] + co.left,
-						this.containment[ 1 ] + co.top,
-						this.containment[ 2 ] + co.left,
-						this.containment[ 3 ] + co.top
-					];
-				} else {
-					containment = this.containment;
-				}
-
-				if (event.pageX - this.offset.click.left < containment[0]) {
-					pageX = containment[0] + this.offset.click.left;
-				}
-				if (event.pageY - this.offset.click.top < containment[1]) {
-					pageY = containment[1] + this.offset.click.top;
-				}
-				if (event.pageX - this.offset.click.left > containment[2]) {
-					pageX = containment[2] + this.offset.click.left;
-				}
-				if (event.pageY - this.offset.click.top > containment[3]) {
-					pageY = containment[3] + this.offset.click.top;
-				}
-			}
-
-			if (o.grid) {
-				//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
-				top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
-				pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
-
-				left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
-				pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
-			}
-
-			if ( o.axis === "y" ) {
-				pageX = this.originalPageX;
-			}
-
-			if ( o.axis === "x" ) {
-				pageY = this.originalPageY;
-			}
-		}
-
-		return {
-			top: (
-				pageY -																	// The absolute mouse position
-				this.offset.click.top	-												// Click offset (relative to the element)
-				this.offset.relative.top -												// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.top +												// The offsetParent's offset without borders (offset + border)
-				( this.cssPosition === "fixed" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) )
-			),
-			left: (
-				pageX -																	// The absolute mouse position
-				this.offset.click.left -												// Click offset (relative to the element)
-				this.offset.relative.left -												// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.left +												// The offsetParent's offset without borders (offset + border)
-				( this.cssPosition === "fixed" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) )
-			)
-		};
-
-	},
-
-	_clear: function() {
-		this.helper.removeClass("ui-draggable-dragging");
-		if (this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {
-			this.helper.remove();
-		}
-		this.helper = null;
-		this.cancelHelperRemoval = false;
-		if ( this.destroyOnClear ) {
-			this.destroy();
-		}
-	},
-
-	_normalizeRightBottom: function() {
-		if ( this.options.axis !== "y" && this.helper.css( "right" ) !== "auto" ) {
-			this.helper.width( this.helper.width() );
-			this.helper.css( "right", "auto" );
-		}
-		if ( this.options.axis !== "x" && this.helper.css( "bottom" ) !== "auto" ) {
-			this.helper.height( this.helper.height() );
-			this.helper.css( "bottom", "auto" );
-		}
-	},
-
-	// From now on bulk stuff - mainly helpers
-
-	_trigger: function( type, event, ui ) {
-		ui = ui || this._uiHash();
-		$.ui.plugin.call( this, type, [ event, ui, this ], true );
-
-		// Absolute position and offset (see #6884 ) have to be recalculated after plugins
-		if ( /^(drag|start|stop)/.test( type ) ) {
-			this.positionAbs = this._convertPositionTo( "absolute" );
-			ui.offset = this.positionAbs;
-		}
-		return $.Widget.prototype._trigger.call( this, type, event, ui );
-	},
-
-	plugins: {},
-
-	_uiHash: function() {
-		return {
-			helper: this.helper,
-			position: this.position,
-			originalPosition: this.originalPosition,
-			offset: this.positionAbs
-		};
-	}
-
-});
-
-$.ui.plugin.add( "draggable", "connectToSortable", {
-	start: function( event, ui, draggable ) {
-		var uiSortable = $.extend( {}, ui, {
-			item: draggable.element
-		});
-
-		draggable.sortables = [];
-		$( draggable.options.connectToSortable ).each(function() {
-			var sortable = $( this ).sortable( "instance" );
-
-			if ( sortable && !sortable.options.disabled ) {
-				draggable.sortables.push( sortable );
-
-				// refreshPositions is called at drag start to refresh the containerCache
-				// which is used in drag. This ensures it's initialized and synchronized
-				// with any changes that might have happened on the page since initialization.
-				sortable.refreshPositions();
-				sortable._trigger("activate", event, uiSortable);
-			}
-		});
-	},
-	stop: function( event, ui, draggable ) {
-		var uiSortable = $.extend( {}, ui, {
-			item: draggable.element
-		});
-
-		draggable.cancelHelperRemoval = false;
-
-		$.each( draggable.sortables, function() {
-			var sortable = this;
-
-			if ( sortable.isOver ) {
-				sortable.isOver = 0;
-
-				// Allow this sortable to handle removing the helper
-				draggable.cancelHelperRemoval = true;
-				sortable.cancelHelperRemoval = false;
-
-				// Use _storedCSS To restore properties in the sortable,
-				// as this also handles revert (#9675) since the draggable
-				// may have modified them in unexpected ways (#8809)
-				sortable._storedCSS = {
-					position: sortable.placeholder.css( "position" ),
-					top: sortable.placeholder.css( "top" ),
-					left: sortable.placeholder.css( "left" )
-				};
-
-				sortable._mouseStop(event);
-
-				// Once drag has ended, the sortable should return to using
-				// its original helper, not the shared helper from draggable
-				sortable.options.helper = sortable.options._helper;
-			} else {
-				// Prevent this Sortable from removing the helper.
-				// However, don't set the draggable to remove the helper
-				// either as another connected Sortable may yet handle the removal.
-				sortable.cancelHelperRemoval = true;
-
-				sortable._trigger( "deactivate", event, uiSortable );
-			}
-		});
-	},
-	drag: function( event, ui, draggable ) {
-		$.each( draggable.sortables, function() {
-			var innermostIntersecting = false,
-				sortable = this;
-
-			// Copy over variables that sortable's _intersectsWith uses
-			sortable.positionAbs = draggable.positionAbs;
-			sortable.helperProportions = draggable.helperProportions;
-			sortable.offset.click = draggable.offset.click;
-
-			if ( sortable._intersectsWith( sortable.containerCache ) ) {
-				innermostIntersecting = true;
-
-				$.each( draggable.sortables, function() {
-					// Copy over variables that sortable's _intersectsWith uses
-					this.positionAbs = draggable.positionAbs;
-					this.helperProportions = draggable.helperProportions;
-					this.offset.click = draggable.offset.click;
-
-					if ( this !== sortable &&
-							this._intersectsWith( this.containerCache ) &&
-							$.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {
-						innermostIntersecting = false;
-					}
-
-					return innermostIntersecting;
-				});
-			}
-
-			if ( innermostIntersecting ) {
-				// If it intersects, we use a little isOver variable and set it once,
-				// so that the move-in stuff gets fired only once.
-				if ( !sortable.isOver ) {
-					sortable.isOver = 1;
-
-					// Store draggable's parent in case we need to reappend to it later.
-					draggable._parent = ui.helper.parent();
-
-					sortable.currentItem = ui.helper
-						.appendTo( sortable.element )
-						.data( "ui-sortable-item", true );
-
-					// Store helper option to later restore it
-					sortable.options._helper = sortable.options.helper;
-
-					sortable.options.helper = function() {
-						return ui.helper[ 0 ];
-					};
-
-					// Fire the start events of the sortable with our passed browser event,
-					// and our own helper (so it doesn't create a new one)
-					event.target = sortable.currentItem[ 0 ];
-					sortable._mouseCapture( event, true );
-					sortable._mouseStart( event, true, true );
-
-					// Because the browser event is way off the new appended portlet,
-					// modify necessary variables to reflect the changes
-					sortable.offset.click.top = draggable.offset.click.top;
-					sortable.offset.click.left = draggable.offset.click.left;
-					sortable.offset.parent.left -= draggable.offset.parent.left -
-						sortable.offset.parent.left;
-					sortable.offset.parent.top -= draggable.offset.parent.top -
-						sortable.offset.parent.top;
-
-					draggable._trigger( "toSortable", event );
-
-					// Inform draggable that the helper is in a valid drop zone,
-					// used solely in the revert option to handle "valid/invalid".
-					draggable.dropped = sortable.element;
-
-					// Need to refreshPositions of all sortables in the case that
-					// adding to one sortable changes the location of the other sortables (#9675)
-					$.each( draggable.sortables, function() {
-						this.refreshPositions();
-					});
-
-					// hack so receive/update callbacks work (mostly)
-					draggable.currentItem = draggable.element;
-					sortable.fromOutside = draggable;
-				}
-
-				if ( sortable.currentItem ) {
-					sortable._mouseDrag( event );
-					// Copy the sortable's position because the draggable's can potentially reflect
-					// a relative position, while sortable is always absolute, which the dragged
-					// element has now become. (#8809)
-					ui.position = sortable.position;
-				}
-			} else {
-				// If it doesn't intersect with the sortable, and it intersected before,
-				// we fake the drag stop of the sortable, but make sure it doesn't remove
-				// the helper by using cancelHelperRemoval.
-				if ( sortable.isOver ) {
-
-					sortable.isOver = 0;
-					sortable.cancelHelperRemoval = true;
-
-					// Calling sortable's mouseStop would trigger a revert,
-					// so revert must be temporarily false until after mouseStop is called.
-					sortable.options._revert = sortable.options.revert;
-					sortable.options.revert = false;
-
-					sortable._trigger( "out", event, sortable._uiHash( sortable ) );
-					sortable._mouseStop( event, true );
-
-					// restore sortable behaviors that were modfied
-					// when the draggable entered the sortable area (#9481)
-					sortable.options.revert = sortable.options._revert;
-					sortable.options.helper = sortable.options._helper;
-
-					if ( sortable.placeholder ) {
-						sortable.placeholder.remove();
-					}
-
-					// Restore and recalculate the draggable's offset considering the sortable
-					// may have modified them in unexpected ways. (#8809, #10669)
-					ui.helper.appendTo( draggable._parent );
-					draggable._refreshOffsets( event );
-					ui.position = draggable._generatePosition( event, true );
-
-					draggable._trigger( "fromSortable", event );
-
-					// Inform draggable that the helper is no longer in a valid drop zone
-					draggable.dropped = false;
-
-					// Need to refreshPositions of all sortables just in case removing
-					// from one sortable changes the location of other sortables (#9675)
-					$.each( draggable.sortables, function() {
-						this.refreshPositions();
-					});
-				}
-			}
-		});
-	}
-});
-
-$.ui.plugin.add("draggable", "cursor", {
-	start: function( event, ui, instance ) {
-		var t = $( "body" ),
-			o = instance.options;
-
-		if (t.css("cursor")) {
-			o._cursor = t.css("cursor");
-		}
-		t.css("cursor", o.cursor);
-	},
-	stop: function( event, ui, instance ) {
-		var o = instance.options;
-		if (o._cursor) {
-			$("body").css("cursor", o._cursor);
-		}
-	}
-});
-
-$.ui.plugin.add("draggable", "opacity", {
-	start: function( event, ui, instance ) {
-		var t = $( ui.helper ),
-			o = instance.options;
-		if (t.css("opacity")) {
-			o._opacity = t.css("opacity");
-		}
-		t.css("opacity", o.opacity);
-	},
-	stop: function( event, ui, instance ) {
-		var o = instance.options;
-		if (o._opacity) {
-			$(ui.helper).css("opacity", o._opacity);
-		}
-	}
-});
-
-$.ui.plugin.add("draggable", "scroll", {
-	start: function( event, ui, i ) {
-		if ( !i.scrollParentNotHidden ) {
-			i.scrollParentNotHidden = i.helper.scrollParent( false );
-		}
-
-		if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) {
-			i.overflowOffset = i.scrollParentNotHidden.offset();
-		}
-	},
-	drag: function( event, ui, i  ) {
-
-		var o = i.options,
-			scrolled = false,
-			scrollParent = i.scrollParentNotHidden[ 0 ],
-			document = i.document[ 0 ];
-
-		if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) {
-			if ( !o.axis || o.axis !== "x" ) {
-				if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < o.scrollSensitivity ) {
-					scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;
-				} else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {
-					scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;
-				}
-			}
-
-			if ( !o.axis || o.axis !== "y" ) {
-				if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < o.scrollSensitivity ) {
-					scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;
-				} else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {
-					scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;
-				}
-			}
-
-		} else {
-
-			if (!o.axis || o.axis !== "x") {
-				if (event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
-					scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
-				} else if ($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
-					scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
-				}
-			}
-
-			if (!o.axis || o.axis !== "y") {
-				if (event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
-					scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
-				} else if ($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
-					scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
-				}
-			}
-
-		}
-
-		if (scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
-			$.ui.ddmanager.prepareOffsets(i, event);
-		}
-
-	}
-});
-
-$.ui.plugin.add("draggable", "snap", {
-	start: function( event, ui, i ) {
-
-		var o = i.options;
-
-		i.snapElements = [];
-
-		$(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() {
-			var $t = $(this),
-				$o = $t.offset();
-			if (this !== i.element[0]) {
-				i.snapElements.push({
-					item: this,
-					width: $t.outerWidth(), height: $t.outerHeight(),
-					top: $o.top, left: $o.left
-				});
-			}
-		});
-
-	},
-	drag: function( event, ui, inst ) {
-
-		var ts, bs, ls, rs, l, r, t, b, i, first,
-			o = inst.options,
-			d = o.snapTolerance,
-			x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
-			y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
-
-		for (i = inst.snapElements.length - 1; i >= 0; i--){
-
-			l = inst.snapElements[i].left - inst.margins.left;
-			r = l + inst.snapElements[i].width;
-			t = inst.snapElements[i].top - inst.margins.top;
-			b = t + inst.snapElements[i].height;
-
-			if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {
-				if (inst.snapElements[i].snapping) {
-					(inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
-				}
-				inst.snapElements[i].snapping = false;
-				continue;
-			}
-
-			if (o.snapMode !== "inner") {
-				ts = Math.abs(t - y2) <= d;
-				bs = Math.abs(b - y1) <= d;
-				ls = Math.abs(l - x2) <= d;
-				rs = Math.abs(r - x1) <= d;
-				if (ts) {
-					ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top;
-				}
-				if (bs) {
-					ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top;
-				}
-				if (ls) {
-					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left;
-				}
-				if (rs) {
-					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left;
-				}
-			}
-
-			first = (ts || bs || ls || rs);
-
-			if (o.snapMode !== "outer") {
-				ts = Math.abs(t - y1) <= d;
-				bs = Math.abs(b - y2) <= d;
-				ls = Math.abs(l - x1) <= d;
-				rs = Math.abs(r - x2) <= d;
-				if (ts) {
-					ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top;
-				}
-				if (bs) {
-					ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top;
-				}
-				if (ls) {
-					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left;
-				}
-				if (rs) {
-					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left;
-				}
-			}
-
-			if (!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {
-				(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
-			}
-			inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
-
-		}
-
-	}
-});
-
-$.ui.plugin.add("draggable", "stack", {
-	start: function( event, ui, instance ) {
-		var min,
-			o = instance.options,
-			group = $.makeArray($(o.stack)).sort(function(a, b) {
-				return (parseInt($(a).css("zIndex"), 10) || 0) - (parseInt($(b).css("zIndex"), 10) || 0);
-			});
-
-		if (!group.length) { return; }
-
-		min = parseInt($(group[0]).css("zIndex"), 10) || 0;
-		$(group).each(function(i) {
-			$(this).css("zIndex", min + i);
-		});
-		this.css("zIndex", (min + group.length));
-	}
-});
-
-$.ui.plugin.add("draggable", "zIndex", {
-	start: function( event, ui, instance ) {
-		var t = $( ui.helper ),
-			o = instance.options;
-
-		if (t.css("zIndex")) {
-			o._zIndex = t.css("zIndex");
-		}
-		t.css("zIndex", o.zIndex);
-	},
-	stop: function( event, ui, instance ) {
-		var o = instance.options;
-
-		if (o._zIndex) {
-			$(ui.helper).css("zIndex", o._zIndex);
-		}
-	}
-});
-
-var draggable = $.ui.draggable;
-
-
-/*!
- * jQuery UI Droppable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/droppable/
- */
-
-
-$.widget( "ui.droppable", {
-	version: "1.11.4",
-	widgetEventPrefix: "drop",
-	options: {
-		accept: "*",
-		activeClass: false,
-		addClasses: true,
-		greedy: false,
-		hoverClass: false,
-		scope: "default",
-		tolerance: "intersect",
-
-		// callbacks
-		activate: null,
-		deactivate: null,
-		drop: null,
-		out: null,
-		over: null
-	},
-	_create: function() {
-
-		var proportions,
-			o = this.options,
-			accept = o.accept;
-
-		this.isover = false;
-		this.isout = true;
-
-		this.accept = $.isFunction( accept ) ? accept : function( d ) {
-			return d.is( accept );
-		};
-
-		this.proportions = function( /* valueToWrite */ ) {
-			if ( arguments.length ) {
-				// Store the droppable's proportions
-				proportions = arguments[ 0 ];
-			} else {
-				// Retrieve or derive the droppable's proportions
-				return proportions ?
-					proportions :
-					proportions = {
-						width: this.element[ 0 ].offsetWidth,
-						height: this.element[ 0 ].offsetHeight
-					};
-			}
-		};
-
-		this._addToManager( o.scope );
-
-		o.addClasses && this.element.addClass( "ui-droppable" );
-
-	},
-
-	_addToManager: function( scope ) {
-		// Add the reference and positions to the manager
-		$.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || [];
-		$.ui.ddmanager.droppables[ scope ].push( this );
-	},
-
-	_splice: function( drop ) {
-		var i = 0;
-		for ( ; i < drop.length; i++ ) {
-			if ( drop[ i ] === this ) {
-				drop.splice( i, 1 );
-			}
-		}
-	},
-
-	_destroy: function() {
-		var drop = $.ui.ddmanager.droppables[ this.options.scope ];
-
-		this._splice( drop );
-
-		this.element.removeClass( "ui-droppable ui-droppable-disabled" );
-	},
-
-	_setOption: function( key, value ) {
-
-		if ( key === "accept" ) {
-			this.accept = $.isFunction( value ) ? value : function( d ) {
-				return d.is( value );
-			};
-		} else if ( key === "scope" ) {
-			var drop = $.ui.ddmanager.droppables[ this.options.scope ];
-
-			this._splice( drop );
-			this._addToManager( value );
-		}
-
-		this._super( key, value );
-	},
-
-	_activate: function( event ) {
-		var draggable = $.ui.ddmanager.current;
-		if ( this.options.activeClass ) {
-			this.element.addClass( this.options.activeClass );
-		}
-		if ( draggable ){
-			this._trigger( "activate", event, this.ui( draggable ) );
-		}
-	},
-
-	_deactivate: function( event ) {
-		var draggable = $.ui.ddmanager.current;
-		if ( this.options.activeClass ) {
-			this.element.removeClass( this.options.activeClass );
-		}
-		if ( draggable ){
-			this._trigger( "deactivate", event, this.ui( draggable ) );
-		}
-	},
-
-	_over: function( event ) {
-
-		var draggable = $.ui.ddmanager.current;
-
-		// Bail if draggable and droppable are same element
-		if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {
-			return;
-		}
-
-		if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {
-			if ( this.options.hoverClass ) {
-				this.element.addClass( this.options.hoverClass );
-			}
-			this._trigger( "over", event, this.ui( draggable ) );
-		}
-
-	},
-
-	_out: function( event ) {
-
-		var draggable = $.ui.ddmanager.current;
-
-		// Bail if draggable and droppable are same element
-		if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {
-			return;
-		}
-
-		if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {
-			if ( this.options.hoverClass ) {
-				this.element.removeClass( this.options.hoverClass );
-			}
-			this._trigger( "out", event, this.ui( draggable ) );
-		}
-
-	},
-
-	_drop: function( event, custom ) {
-
-		var draggable = custom || $.ui.ddmanager.current,
-			childrenIntersection = false;
-
-		// Bail if draggable and droppable are same element
-		if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {
-			return false;
-		}
-
-		this.element.find( ":data(ui-droppable)" ).not( ".ui-draggable-dragging" ).each(function() {
-			var inst = $( this ).droppable( "instance" );
-			if (
-				inst.options.greedy &&
-				!inst.options.disabled &&
-				inst.options.scope === draggable.options.scope &&
-				inst.accept.call( inst.element[ 0 ], ( draggable.currentItem || draggable.element ) ) &&
-				$.ui.intersect( draggable, $.extend( inst, { offset: inst.element.offset() } ), inst.options.tolerance, event )
-			) { childrenIntersection = true; return false; }
-		});
-		if ( childrenIntersection ) {
-			return false;
-		}
-
-		if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {
-			if ( this.options.activeClass ) {
-				this.element.removeClass( this.options.activeClass );
-			}
-			if ( this.options.hoverClass ) {
-				this.element.removeClass( this.options.hoverClass );
-			}
-			this._trigger( "drop", event, this.ui( draggable ) );
-			return this.element;
-		}
-
-		return false;
-
-	},
-
-	ui: function( c ) {
-		return {
-			draggable: ( c.currentItem || c.element ),
-			helper: c.helper,
-			position: c.position,
-			offset: c.positionAbs
-		};
-	}
-
-});
-
-$.ui.intersect = (function() {
-	function isOverAxis( x, reference, size ) {
-		return ( x >= reference ) && ( x < ( reference + size ) );
-	}
-
-	return function( draggable, droppable, toleranceMode, event ) {
-
-		if ( !droppable.offset ) {
-			return false;
-		}
-
-		var x1 = ( draggable.positionAbs || draggable.position.absolute ).left + draggable.margins.left,
-			y1 = ( draggable.positionAbs || draggable.position.absolute ).top + draggable.margins.top,
-			x2 = x1 + draggable.helperProportions.width,
-			y2 = y1 + draggable.helperProportions.height,
-			l = droppable.offset.left,
-			t = droppable.offset.top,
-			r = l + droppable.proportions().width,
-			b = t + droppable.proportions().height;
-
-		switch ( toleranceMode ) {
-		case "fit":
-			return ( l <= x1 && x2 <= r && t <= y1 && y2 <= b );
-		case "intersect":
-			return ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half
-				x2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half
-				t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half
-				y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half
-		case "pointer":
-			return isOverAxis( event.pageY, t, droppable.proportions().height ) && isOverAxis( event.pageX, l, droppable.proportions().width );
-		case "touch":
-			return (
-				( y1 >= t && y1 <= b ) || // Top edge touching
-				( y2 >= t && y2 <= b ) || // Bottom edge touching
-				( y1 < t && y2 > b ) // Surrounded vertically
-			) && (
-				( x1 >= l && x1 <= r ) || // Left edge touching
-				( x2 >= l && x2 <= r ) || // Right edge touching
-				( x1 < l && x2 > r ) // Surrounded horizontally
-			);
-		default:
-			return false;
-		}
-	};
-})();
-
-/*
-	This manager tracks offsets of draggables and droppables
-*/
-$.ui.ddmanager = {
-	current: null,
-	droppables: { "default": [] },
-	prepareOffsets: function( t, event ) {
-
-		var i, j,
-			m = $.ui.ddmanager.droppables[ t.options.scope ] || [],
-			type = event ? event.type : null, // workaround for #2317
-			list = ( t.currentItem || t.element ).find( ":data(ui-droppable)" ).addBack();
-
-		droppablesLoop: for ( i = 0; i < m.length; i++ ) {
-
-			// No disabled and non-accepted
-			if ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], ( t.currentItem || t.element ) ) ) ) {
-				continue;
-			}
-
-			// Filter out elements in the current dragged item
-			for ( j = 0; j < list.length; j++ ) {
-				if ( list[ j ] === m[ i ].element[ 0 ] ) {
-					m[ i ].proportions().height = 0;
-					continue droppablesLoop;
-				}
-			}
-
-			m[ i ].visible = m[ i ].element.css( "display" ) !== "none";
-			if ( !m[ i ].visible ) {
-				continue;
-			}
-
-			// Activate the droppable if used directly from draggables
-			if ( type === "mousedown" ) {
-				m[ i ]._activate.call( m[ i ], event );
-			}
-
-			m[ i ].offset = m[ i ].element.offset();
-			m[ i ].proportions({ width: m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[ 0 ].offsetHeight });
-
-		}
-
-	},
-	drop: function( draggable, event ) {
-
-		var dropped = false;
-		// Create a copy of the droppables in case the list changes during the drop (#9116)
-		$.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() {
-
-			if ( !this.options ) {
-				return;
-			}
-			if ( !this.options.disabled && this.visible && $.ui.intersect( draggable, this, this.options.tolerance, event ) ) {
-				dropped = this._drop.call( this, event ) || dropped;
-			}
-
-			if ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {
-				this.isout = true;
-				this.isover = false;
-				this._deactivate.call( this, event );
-			}
-
-		});
-		return dropped;
-
-	},
-	dragStart: function( draggable, event ) {
-		// Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
-		draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
-			if ( !draggable.options.refreshPositions ) {
-				$.ui.ddmanager.prepareOffsets( draggable, event );
-			}
-		});
-	},
-	drag: function( draggable, event ) {
-
-		// If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
-		if ( draggable.options.refreshPositions ) {
-			$.ui.ddmanager.prepareOffsets( draggable, event );
-		}
-
-		// Run through all droppables and check their positions based on specific tolerance options
-		$.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() {
-
-			if ( this.options.disabled || this.greedyChild || !this.visible ) {
-				return;
-			}
-
-			var parentInstance, scope, parent,
-				intersects = $.ui.intersect( draggable, this, this.options.tolerance, event ),
-				c = !intersects && this.isover ? "isout" : ( intersects && !this.isover ? "isover" : null );
-			if ( !c ) {
-				return;
-			}
-
-			if ( this.options.greedy ) {
-				// find droppable parents with same scope
-				scope = this.options.scope;
-				parent = this.element.parents( ":data(ui-droppable)" ).filter(function() {
-					return $( this ).droppable( "instance" ).options.scope === scope;
-				});
-
-				if ( parent.length ) {
-					parentInstance = $( parent[ 0 ] ).droppable( "instance" );
-					parentInstance.greedyChild = ( c === "isover" );
-				}
-			}
-
-			// we just moved into a greedy child
-			if ( parentInstance && c === "isover" ) {
-				parentInstance.isover = false;
-				parentInstance.isout = true;
-				parentInstance._out.call( parentInstance, event );
-			}
-
-			this[ c ] = true;
-			this[c === "isout" ? "isover" : "isout"] = false;
-			this[c === "isover" ? "_over" : "_out"].call( this, event );
-
-			// we just moved out of a greedy child
-			if ( parentInstance && c === "isout" ) {
-				parentInstance.isout = false;
-				parentInstance.isover = true;
-				parentInstance._over.call( parentInstance, event );
-			}
-		});
-
-	},
-	dragStop: function( draggable, event ) {
-		draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
-		// Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
-		if ( !draggable.options.refreshPositions ) {
-			$.ui.ddmanager.prepareOffsets( draggable, event );
-		}
-	}
-};
-
-var droppable = $.ui.droppable;
-
-
-/*!
- * jQuery UI Resizable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/resizable/
- */
-
-
-$.widget("ui.resizable", $.ui.mouse, {
-	version: "1.11.4",
-	widgetEventPrefix: "resize",
-	options: {
-		alsoResize: false,
-		animate: false,
-		animateDuration: "slow",
-		animateEasing: "swing",
-		aspectRatio: false,
-		autoHide: false,
-		containment: false,
-		ghost: false,
-		grid: false,
-		handles: "e,s,se",
-		helper: false,
-		maxHeight: null,
-		maxWidth: null,
-		minHeight: 10,
-		minWidth: 10,
-		// See #7960
-		zIndex: 90,
-
-		// callbacks
-		resize: null,
-		start: null,
-		stop: null
-	},
-
-	_num: function( value ) {
-		return parseInt( value, 10 ) || 0;
-	},
-
-	_isNumber: function( value ) {
-		return !isNaN( parseInt( value, 10 ) );
-	},
-
-	_hasScroll: function( el, a ) {
-
-		if ( $( el ).css( "overflow" ) === "hidden") {
-			return false;
-		}
-
-		var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
-			has = false;
-
-		if ( el[ scroll ] > 0 ) {
-			return true;
-		}
-
-		// TODO: determine which cases actually cause this to happen
-		// if the element doesn't have the scroll set, see if it's possible to
-		// set the scroll
-		el[ scroll ] = 1;
-		has = ( el[ scroll ] > 0 );
-		el[ scroll ] = 0;
-		return has;
-	},
-
-	_create: function() {
-
-		var n, i, handle, axis, hname,
-			that = this,
-			o = this.options;
-		this.element.addClass("ui-resizable");
-
-		$.extend(this, {
-			_aspectRatio: !!(o.aspectRatio),
-			aspectRatio: o.aspectRatio,
-			originalElement: this.element,
-			_proportionallyResizeElements: [],
-			_helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
-		});
-
-		// Wrap the element if it cannot hold child nodes
-		if (this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)) {
-
-			this.element.wrap(
-				$("<div class='ui-wrapper' style='overflow: hidden;'></div>").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(
-				"ui-resizable", this.element.resizable( "instance" )
-			);
-
-			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
-			});
-			// support: Safari
-			// Prevent Safari textarea resize
-			this.originalResizeStyle = this.originalElement.css("resize");
-			this.originalElement.css("resize", "none");
-
-			this._proportionallyResizeElements.push( this.originalElement.css({
-				position: "static",
-				zoom: 1,
-				display: "block"
-			}) );
-
-			// support: IE9
-			// avoid IE jump (hard set the margin)
-			this.originalElement.css({ margin: this.originalElement.css("margin") });
-
-			this._proportionallyResize();
-		}
-
-		this.handles = o.handles ||
-			( !$(".ui-resizable-handle", this.element).length ?
-				"e,s,se" : {
-					n: ".ui-resizable-n",
-					e: ".ui-resizable-e",
-					s: ".ui-resizable-s",
-					w: ".ui-resizable-w",
-					se: ".ui-resizable-se",
-					sw: ".ui-resizable-sw",
-					ne: ".ui-resizable-ne",
-					nw: ".ui-resizable-nw"
-				} );
-
-		this._handles = $();
-		if ( this.handles.constructor === String ) {
-
-			if ( this.handles === "all") {
-				this.handles = "n,e,s,w,se,sw,ne,nw";
-			}
-
-			n = this.handles.split(",");
-			this.handles = {};
-
-			for (i = 0; i < n.length; i++) {
-
-				handle = $.trim(n[i]);
-				hname = "ui-resizable-" + handle;
-				axis = $("<div class='ui-resizable-handle " + hname + "'></div>");
-
-				axis.css({ zIndex: o.zIndex });
-
-				// TODO : What's going on here?
-				if ("se" === handle) {
-					axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
-				}
-
-				this.handles[handle] = ".ui-resizable-" + handle;
-				this.element.append(axis);
-			}
-
-		}
-
-		this._renderAxis = function(target) {
-
-			var i, axis, padPos, padWrapper;
-
-			target = target || this.element;
-
-			for (i in this.handles) {
-
-				if (this.handles[i].constructor === String) {
-					this.handles[i] = this.element.children( this.handles[ i ] ).first().show();
-				} else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) {
-					this.handles[ i ] = $( this.handles[ i ] );
-					this._on( this.handles[ i ], { "mousedown": that._mouseDown });
-				}
-
-				if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)) {
-
-					axis = $(this.handles[i], this.element);
-
-					padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();
-
-					padPos = [ "padding",
-						/ne|nw|n/.test(i) ? "Top" :
-						/se|sw|s/.test(i) ? "Bottom" :
-						/^e$/.test(i) ? "Right" : "Left" ].join("");
-
-					target.css(padPos, padWrapper);
-
-					this._proportionallyResize();
-				}
-
-				this._handles = this._handles.add( this.handles[ i ] );
-			}
-		};
-
-		// TODO: make renderAxis a prototype function
-		this._renderAxis(this.element);
-
-		this._handles = this._handles.add( this.element.find( ".ui-resizable-handle" ) );
-		this._handles.disableSelection();
-
-		this._handles.mouseover(function() {
-			if (!that.resizing) {
-				if (this.className) {
-					axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
-				}
-				that.axis = axis && axis[1] ? axis[1] : "se";
-			}
-		});
-
-		if (o.autoHide) {
-			this._handles.hide();
-			$(this.element)
-				.addClass("ui-resizable-autohide")
-				.mouseenter(function() {
-					if (o.disabled) {
-						return;
-					}
-					$(this).removeClass("ui-resizable-autohide");
-					that._handles.show();
-				})
-				.mouseleave(function() {
-					if (o.disabled) {
-						return;
-					}
-					if (!that.resizing) {
-						$(this).addClass("ui-resizable-autohide");
-						that._handles.hide();
-					}
-				});
-		}
-
-		this._mouseInit();
-	},
-
-	_destroy: function() {
-
-		this._mouseDestroy();
-
-		var wrapper,
-			_destroy = function(exp) {
-				$(exp)
-					.removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing")
-					.removeData("resizable")
-					.removeData("ui-resizable")
-					.unbind(".resizable")
-					.find(".ui-resizable-handle")
-						.remove();
-			};
-
-		// TODO: Unwrap at same DOM position
-		if (this.elementIsWrapper) {
-			_destroy(this.element);
-			wrapper = this.element;
-			this.originalElement.css({
-				position: wrapper.css("position"),
-				width: wrapper.outerWidth(),
-				height: wrapper.outerHeight(),
-				top: wrapper.css("top"),
-				left: wrapper.css("left")
-			}).insertAfter( wrapper );
-			wrapper.remove();
-		}
-
-		this.originalElement.css("resize", this.originalResizeStyle);
-		_destroy(this.originalElement);
-
-		return this;
-	},
-
-	_mouseCapture: function(event) {
-		var i, handle,
-			capture = false;
-
-		for (i in this.handles) {
-			handle = $(this.handles[i])[0];
-			if (handle === event.target || $.contains(handle, event.target)) {
-				capture = true;
-			}
-		}
-
-		return !this.options.disabled && capture;
-	},
-
-	_mouseStart: function(event) {
-
-		var curleft, curtop, cursor,
-			o = this.options,
-			el = this.element;
-
-		this.resizing = true;
-
-		this._renderProxy();
-
-		curleft = this._num(this.helper.css("left"));
-		curtop = this._num(this.helper.css("top"));
-
-		if (o.containment) {
-			curleft += $(o.containment).scrollLeft() || 0;
-			curtop += $(o.containment).scrollTop() || 0;
-		}
-
-		this.offset = this.helper.offset();
-		this.position = { left: curleft, top: curtop };
-
-		this.size = this._helper ? {
-				width: this.helper.width(),
-				height: this.helper.height()
-			} : {
-				width: el.width(),
-				height: el.height()
-			};
-
-		this.originalSize = this._helper ? {
-				width: el.outerWidth(),
-				height: el.outerHeight()
-			} : {
-				width: el.width(),
-				height: el.height()
-			};
-
-		this.sizeDiff = {
-			width: el.outerWidth() - el.width(),
-			height: el.outerHeight() - el.height()
-		};
-
-		this.originalPosition = { left: curleft, top: curtop };
-		this.originalMousePosition = { left: event.pageX, top: event.pageY };
-
-		this.aspectRatio = (typeof o.aspectRatio === "number") ?
-			o.aspectRatio :
-			((this.originalSize.width / this.originalSize.height) || 1);
-
-		cursor = $(".ui-resizable-" + this.axis).css("cursor");
-		$("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor);
-
-		el.addClass("ui-resizable-resizing");
-		this._propagate("start", event);
-		return true;
-	},
-
-	_mouseDrag: function(event) {
-
-		var data, props,
-			smp = this.originalMousePosition,
-			a = this.axis,
-			dx = (event.pageX - smp.left) || 0,
-			dy = (event.pageY - smp.top) || 0,
-			trigger = this._change[a];
-
-		this._updatePrevProperties();
-
-		if (!trigger) {
-			return false;
-		}
-
-		data = trigger.apply(this, [ event, dx, dy ]);
-
-		this._updateVirtualBoundaries(event.shiftKey);
-		if (this._aspectRatio || event.shiftKey) {
-			data = this._updateRatio(data, event);
-		}
-
-		data = this._respectSize(data, event);
-
-		this._updateCache(data);
-
-		this._propagate("resize", event);
-
-		props = this._applyChanges();
-
-		if ( !this._helper && this._proportionallyResizeElements.length ) {
-			this._proportionallyResize();
-		}
-
-		if ( !$.isEmptyObject( props ) ) {
-			this._updatePrevProperties();
-			this._trigger( "resize", event, this.ui() );
-			this._applyChanges();
-		}
-
-		return false;
-	},
-
-	_mouseStop: function(event) {
-
-		this.resizing = false;
-		var pr, ista, soffseth, soffsetw, s, left, top,
-			o = this.options, that = this;
-
-		if (this._helper) {
-
-			pr = this._proportionallyResizeElements;
-			ista = pr.length && (/textarea/i).test(pr[0].nodeName);
-			soffseth = ista && this._hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height;
-			soffsetw = ista ? 0 : that.sizeDiff.width;
-
-			s = {
-				width: (that.helper.width()  - soffsetw),
-				height: (that.helper.height() - soffseth)
-			};
-			left = (parseInt(that.element.css("left"), 10) +
-				(that.position.left - that.originalPosition.left)) || null;
-			top = (parseInt(that.element.css("top"), 10) +
-				(that.position.top - that.originalPosition.top)) || null;
-
-			if (!o.animate) {
-				this.element.css($.extend(s, { top: top, left: left }));
-			}
-
-			that.helper.height(that.size.height);
-			that.helper.width(that.size.width);
-
-			if (this._helper && !o.animate) {
-				this._proportionallyResize();
-			}
-		}
-
-		$("body").css("cursor", "auto");
-
-		this.element.removeClass("ui-resizable-resizing");
-
-		this._propagate("stop", event);
-
-		if (this._helper) {
-			this.helper.remove();
-		}
-
-		return false;
-
-	},
-
-	_updatePrevProperties: function() {
-		this.prevPosition = {
-			top: this.position.top,
-			left: this.position.left
-		};
-		this.prevSize = {
-			width: this.size.width,
-			height: this.size.height
-		};
-	},
-
-	_applyChanges: function() {
-		var props = {};
-
-		if ( this.position.top !== this.prevPosition.top ) {
-			props.top = this.position.top + "px";
-		}
-		if ( this.position.left !== this.prevPosition.left ) {
-			props.left = this.position.left + "px";
-		}
-		if ( this.size.width !== this.prevSize.width ) {
-			props.width = this.size.width + "px";
-		}
-		if ( this.size.height !== this.prevSize.height ) {
-			props.height = this.size.height + "px";
-		}
-
-		this.helper.css( props );
-
-		return props;
-	},
-
-	_updateVirtualBoundaries: function(forceAspectRatio) {
-		var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,
-			o = this.options;
-
-		b = {
-			minWidth: this._isNumber(o.minWidth) ? o.minWidth : 0,
-			maxWidth: this._isNumber(o.maxWidth) ? o.maxWidth : Infinity,
-			minHeight: this._isNumber(o.minHeight) ? o.minHeight : 0,
-			maxHeight: this._isNumber(o.maxHeight) ? o.maxHeight : Infinity
-		};
-
-		if (this._aspectRatio || forceAspectRatio) {
-			pMinWidth = b.minHeight * this.aspectRatio;
-			pMinHeight = b.minWidth / this.aspectRatio;
-			pMaxWidth = b.maxHeight * this.aspectRatio;
-			pMaxHeight = b.maxWidth / this.aspectRatio;
-
-			if (pMinWidth > b.minWidth) {
-				b.minWidth = pMinWidth;
-			}
-			if (pMinHeight > b.minHeight) {
-				b.minHeight = pMinHeight;
-			}
-			if (pMaxWidth < b.maxWidth) {
-				b.maxWidth = pMaxWidth;
-			}
-			if (pMaxHeight < b.maxHeight) {
-				b.maxHeight = pMaxHeight;
-			}
-		}
-		this._vBoundaries = b;
-	},
-
-	_updateCache: function(data) {
-		this.offset = this.helper.offset();
-		if (this._isNumber(data.left)) {
-			this.position.left = data.left;
-		}
-		if (this._isNumber(data.top)) {
-			this.position.top = data.top;
-		}
-		if (this._isNumber(data.height)) {
-			this.size.height = data.height;
-		}
-		if (this._isNumber(data.width)) {
-			this.size.width = data.width;
-		}
-	},
-
-	_updateRatio: function( data ) {
-
-		var cpos = this.position,
-			csize = this.size,
-			a = this.axis;
-
-		if (this._isNumber(data.height)) {
-			data.width = (data.height * this.aspectRatio);
-		} else if (this._isNumber(data.width)) {
-			data.height = (data.width / this.aspectRatio);
-		}
-
-		if (a === "sw") {
-			data.left = cpos.left + (csize.width - data.width);
-			data.top = null;
-		}
-		if (a === "nw") {
-			data.top = cpos.top + (csize.height - data.height);
-			data.left = cpos.left + (csize.width - data.width);
-		}
-
-		return data;
-	},
-
-	_respectSize: function( data ) {
-
-		var o = this._vBoundaries,
-			a = this.axis,
-			ismaxw = this._isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width),
-			ismaxh = this._isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),
-			isminw = this._isNumber(data.width) && o.minWidth && (o.minWidth > data.width),
-			isminh = this._isNumber(data.height) && o.minHeight && (o.minHeight > data.height),
-			dw = this.originalPosition.left + this.originalSize.width,
-			dh = this.position.top + this.size.height,
-			cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);
-		if (isminw) {
-			data.width = o.minWidth;
-		}
-		if (isminh) {
-			data.height = o.minHeight;
-		}
-		if (ismaxw) {
-			data.width = o.maxWidth;
-		}
-		if (ismaxh) {
-			data.height = o.maxHeight;
-		}
-
-		if (isminw && cw) {
-			data.left = dw - o.minWidth;
-		}
-		if (ismaxw && cw) {
-			data.left = dw - o.maxWidth;
-		}
-		if (isminh && ch) {
-			data.top = dh - o.minHeight;
-		}
-		if (ismaxh && ch) {
-			data.top = dh - o.maxHeight;
-		}
-
-		// Fixing jump error on top/left - bug #2330
-		if (!data.width && !data.height && !data.left && data.top) {
-			data.top = null;
-		} else if (!data.width && !data.height && !data.top && data.left) {
-			data.left = null;
-		}
-
-		return data;
-	},
-
-	_getPaddingPlusBorderDimensions: function( element ) {
-		var i = 0,
-			widths = [],
-			borders = [
-				element.css( "borderTopWidth" ),
-				element.css( "borderRightWidth" ),
-				element.css( "borderBottomWidth" ),
-				element.css( "borderLeftWidth" )
-			],
-			paddings = [
-				element.css( "paddingTop" ),
-				element.css( "paddingRight" ),
-				element.css( "paddingBottom" ),
-				element.css( "paddingLeft" )
-			];
-
-		for ( ; i < 4; i++ ) {
-			widths[ i ] = ( parseInt( borders[ i ], 10 ) || 0 );
-			widths[ i ] += ( parseInt( paddings[ i ], 10 ) || 0 );
-		}
-
-		return {
-			height: widths[ 0 ] + widths[ 2 ],
-			width: widths[ 1 ] + widths[ 3 ]
-		};
-	},
-
-	_proportionallyResize: function() {
-
-		if (!this._proportionallyResizeElements.length) {
-			return;
-		}
-
-		var prel,
-			i = 0,
-			element = this.helper || this.element;
-
-		for ( ; i < this._proportionallyResizeElements.length; i++) {
-
-			prel = this._proportionallyResizeElements[i];
-
-			// TODO: Seems like a bug to cache this.outerDimensions
-			// considering that we are in a loop.
-			if (!this.outerDimensions) {
-				this.outerDimensions = this._getPaddingPlusBorderDimensions( prel );
-			}
-
-			prel.css({
-				height: (element.height() - this.outerDimensions.height) || 0,
-				width: (element.width() - this.outerDimensions.width) || 0
-			});
-
-		}
-
-	},
-
-	_renderProxy: function() {
-
-		var el = this.element, o = this.options;
-		this.elementOffset = el.offset();
-
-		if (this._helper) {
-
-			this.helper = this.helper || $("<div style='overflow:hidden;'></div>");
-
-			this.helper.addClass(this._helper).css({
-				width: this.element.outerWidth() - 1,
-				height: this.element.outerHeight() - 1,
-				position: "absolute",
-				left: this.elementOffset.left + "px",
-				top: this.elementOffset.top + "px",
-				zIndex: ++o.zIndex //TODO: Don't modify option
-			});
-
-			this.helper
-				.appendTo("body")
-				.disableSelection();
-
-		} else {
-			this.helper = this.element;
-		}
-
-	},
-
-	_change: {
-		e: function(event, dx) {
-			return { width: this.originalSize.width + dx };
-		},
-		w: function(event, dx) {
-			var cs = this.originalSize, sp = this.originalPosition;
-			return { left: sp.left + dx, width: cs.width - dx };
-		},
-		n: function(event, dx, dy) {
-			var cs = this.originalSize, sp = this.originalPosition;
-			return { top: sp.top + dy, height: cs.height - dy };
-		},
-		s: function(event, dx, dy) {
-			return { height: this.originalSize.height + dy };
-		},
-		se: function(event, dx, dy) {
-			return $.extend(this._change.s.apply(this, arguments),
-				this._change.e.apply(this, [ event, dx, dy ]));
-		},
-		sw: function(event, dx, dy) {
-			return $.extend(this._change.s.apply(this, arguments),
-				this._change.w.apply(this, [ event, dx, dy ]));
-		},
-		ne: function(event, dx, dy) {
-			return $.extend(this._change.n.apply(this, arguments),
-				this._change.e.apply(this, [ event, dx, dy ]));
-		},
-		nw: function(event, dx, dy) {
-			return $.extend(this._change.n.apply(this, arguments),
-				this._change.w.apply(this, [ event, dx, dy ]));
-		}
-	},
-
-	_propagate: function(n, event) {
-		$.ui.plugin.call(this, n, [ event, this.ui() ]);
-		(n !== "resize" && this._trigger(n, event, 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
-		};
-	}
-
-});
-
-/*
- * Resizable Extensions
- */
-
-$.ui.plugin.add("resizable", "animate", {
-
-	stop: function( event ) {
-		var that = $(this).resizable( "instance" ),
-			o = that.options,
-			pr = that._proportionallyResizeElements,
-			ista = pr.length && (/textarea/i).test(pr[0].nodeName),
-			soffseth = ista && that._hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height,
-			soffsetw = ista ? 0 : that.sizeDiff.width,
-			style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },
-			left = (parseInt(that.element.css("left"), 10) +
-				(that.position.left - that.originalPosition.left)) || null,
-			top = (parseInt(that.element.css("top"), 10) +
-				(that.position.top - that.originalPosition.top)) || null;
-
-		that.element.animate(
-			$.extend(style, top && left ? { top: top, left: left } : {}), {
-				duration: o.animateDuration,
-				easing: o.animateEasing,
-				step: function() {
-
-					var data = {
-						width: parseInt(that.element.css("width"), 10),
-						height: parseInt(that.element.css("height"), 10),
-						top: parseInt(that.element.css("top"), 10),
-						left: parseInt(that.element.css("left"), 10)
-					};
-
-					if (pr && pr.length) {
-						$(pr[0]).css({ width: data.width, height: data.height });
-					}
-
-					// propagating resize, and updating values for each animation step
-					that._updateCache(data);
-					that._propagate("resize", event);
-
-				}
-			}
-		);
-	}
-
-});
-
-$.ui.plugin.add( "resizable", "containment", {
-
-	start: function() {
-		var element, p, co, ch, cw, width, height,
-			that = $( this ).resizable( "instance" ),
-			o = that.options,
-			el = that.element,
-			oc = o.containment,
-			ce = ( oc instanceof $ ) ? oc.get( 0 ) : ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc;
-
-		if ( !ce ) {
-			return;
-		}
-
-		that.containerElement = $( ce );
-
-		if ( /document/.test( oc ) || oc === document ) {
-			that.containerOffset = {
-				left: 0,
-				top: 0
-			};
-			that.containerPosition = {
-				left: 0,
-				top: 0
-			};
-
-			that.parentData = {
-				element: $( document ),
-				left: 0,
-				top: 0,
-				width: $( document ).width(),
-				height: $( document ).height() || document.body.parentNode.scrollHeight
-			};
-		} else {
-			element = $( ce );
-			p = [];
-			$([ "Top", "Right", "Left", "Bottom" ]).each(function( i, name ) {
-				p[ i ] = that._num( element.css( "padding" + name ) );
-			});
-
-			that.containerOffset = element.offset();
-			that.containerPosition = element.position();
-			that.containerSize = {
-				height: ( element.innerHeight() - p[ 3 ] ),
-				width: ( element.innerWidth() - p[ 1 ] )
-			};
-
-			co = that.containerOffset;
-			ch = that.containerSize.height;
-			cw = that.containerSize.width;
-			width = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth : cw );
-			height = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ;
-
-			that.parentData = {
-				element: ce,
-				left: co.left,
-				top: co.top,
-				width: width,
-				height: height
-			};
-		}
-	},
-
-	resize: function( event ) {
-		var woset, hoset, isParent, isOffsetRelative,
-			that = $( this ).resizable( "instance" ),
-			o = that.options,
-			co = that.containerOffset,
-			cp = that.position,
-			pRatio = that._aspectRatio || event.shiftKey,
-			cop = {
-				top: 0,
-				left: 0
-			},
-			ce = that.containerElement,
-			continueResize = true;
-
-		if ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( "position" ) ) ) {
-			cop = co;
-		}
-
-		if ( cp.left < ( that._helper ? co.left : 0 ) ) {
-			that.size.width = that.size.width +
-				( that._helper ?
-					( that.position.left - co.left ) :
-					( that.position.left - cop.left ) );
-
-			if ( pRatio ) {
-				that.size.height = that.size.width / that.aspectRatio;
-				continueResize = false;
-			}
-			that.position.left = o.helper ? co.left : 0;
-		}
-
-		if ( cp.top < ( that._helper ? co.top : 0 ) ) {
-			that.size.height = that.size.height +
-				( that._helper ?
-					( that.position.top - co.top ) :
-					that.position.top );
-
-			if ( pRatio ) {
-				that.size.width = that.size.height * that.aspectRatio;
-				continueResize = false;
-			}
-			that.position.top = that._helper ? co.top : 0;
-		}
-
-		isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 );
-		isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) );
-
-		if ( isParent && isOffsetRelative ) {
-			that.offset.left = that.parentData.left + that.position.left;
-			that.offset.top = that.parentData.top + that.position.top;
-		} else {
-			that.offset.left = that.element.offset().left;
-			that.offset.top = that.element.offset().top;
-		}
-
-		woset = Math.abs( that.sizeDiff.width +
-			(that._helper ?
-				that.offset.left - cop.left :
-				(that.offset.left - co.left)) );
-
-		hoset = Math.abs( that.sizeDiff.height +
-			(that._helper ?
-				that.offset.top - cop.top :
-				(that.offset.top - co.top)) );
-
-		if ( woset + that.size.width >= that.parentData.width ) {
-			that.size.width = that.parentData.width - woset;
-			if ( pRatio ) {
-				that.size.height = that.size.width / that.aspectRatio;
-				continueResize = false;
-			}
-		}
-
-		if ( hoset + that.size.height >= that.parentData.height ) {
-			that.size.height = that.parentData.height - hoset;
-			if ( pRatio ) {
-				that.size.width = that.size.height * that.aspectRatio;
-				continueResize = false;
-			}
-		}
-
-		if ( !continueResize ) {
-			that.position.left = that.prevPosition.left;
-			that.position.top = that.prevPosition.top;
-			that.size.width = that.prevSize.width;
-			that.size.height = that.prevSize.height;
-		}
-	},
-
-	stop: function() {
-		var that = $( this ).resizable( "instance" ),
-			o = that.options,
-			co = that.containerOffset,
-			cop = that.containerPosition,
-			ce = that.containerElement,
-			helper = $( that.helper ),
-			ho = helper.offset(),
-			w = helper.outerWidth() - that.sizeDiff.width,
-			h = helper.outerHeight() - that.sizeDiff.height;
-
-		if ( that._helper && !o.animate && ( /relative/ ).test( ce.css( "position" ) ) ) {
-			$( this ).css({
-				left: ho.left - cop.left - co.left,
-				width: w,
-				height: h
-			});
-		}
-
-		if ( that._helper && !o.animate && ( /static/ ).test( ce.css( "position" ) ) ) {
-			$( this ).css({
-				left: ho.left - cop.left - co.left,
-				width: w,
-				height: h
-			});
-		}
-	}
-});
-
-$.ui.plugin.add("resizable", "alsoResize", {
-
-	start: function() {
-		var that = $(this).resizable( "instance" ),
-			o = that.options;
-
-		$(o.alsoResize).each(function() {
-			var el = $(this);
-			el.data("ui-resizable-alsoresize", {
-				width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
-				left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10)
-			});
-		});
-	},
-
-	resize: function(event, ui) {
-		var that = $(this).resizable( "instance" ),
-			o = that.options,
-			os = that.originalSize,
-			op = that.originalPosition,
-			delta = {
-				height: (that.size.height - os.height) || 0,
-				width: (that.size.width - os.width) || 0,
-				top: (that.position.top - op.top) || 0,
-				left: (that.position.left - op.left) || 0
-			};
-
-			$(o.alsoResize).each(function() {
-				var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {},
-					css = el.parents(ui.originalElement[0]).length ?
-							[ "width", "height" ] :
-							[ "width", "height", "top", "left" ];
-
-				$.each(css, function(i, prop) {
-					var sum = (start[prop] || 0) + (delta[prop] || 0);
-					if (sum && sum >= 0) {
-						style[prop] = sum || null;
-					}
-				});
-
-				el.css(style);
-			});
-	},
-
-	stop: function() {
-		$(this).removeData("resizable-alsoresize");
-	}
-});
-
-$.ui.plugin.add("resizable", "ghost", {
-
-	start: function() {
-
-		var that = $(this).resizable( "instance" ), o = that.options, cs = that.size;
-
-		that.ghost = that.originalElement.clone();
-		that.ghost
-			.css({
-				opacity: 0.25,
-				display: "block",
-				position: "relative",
-				height: cs.height,
-				width: cs.width,
-				margin: 0,
-				left: 0,
-				top: 0
-			})
-			.addClass("ui-resizable-ghost")
-			.addClass(typeof o.ghost === "string" ? o.ghost : "");
-
-		that.ghost.appendTo(that.helper);
-
-	},
-
-	resize: function() {
-		var that = $(this).resizable( "instance" );
-		if (that.ghost) {
-			that.ghost.css({
-				position: "relative",
-				height: that.size.height,
-				width: that.size.width
-			});
-		}
-	},
-
-	stop: function() {
-		var that = $(this).resizable( "instance" );
-		if (that.ghost && that.helper) {
-			that.helper.get(0).removeChild(that.ghost.get(0));
-		}
-	}
-
-});
-
-$.ui.plugin.add("resizable", "grid", {
-
-	resize: function() {
-		var outerDimensions,
-			that = $(this).resizable( "instance" ),
-			o = that.options,
-			cs = that.size,
-			os = that.originalSize,
-			op = that.originalPosition,
-			a = that.axis,
-			grid = typeof o.grid === "number" ? [ o.grid, o.grid ] : o.grid,
-			gridX = (grid[0] || 1),
-			gridY = (grid[1] || 1),
-			ox = Math.round((cs.width - os.width) / gridX) * gridX,
-			oy = Math.round((cs.height - os.height) / gridY) * gridY,
-			newWidth = os.width + ox,
-			newHeight = os.height + oy,
-			isMaxWidth = o.maxWidth && (o.maxWidth < newWidth),
-			isMaxHeight = o.maxHeight && (o.maxHeight < newHeight),
-			isMinWidth = o.minWidth && (o.minWidth > newWidth),
-			isMinHeight = o.minHeight && (o.minHeight > newHeight);
-
-		o.grid = grid;
-
-		if (isMinWidth) {
-			newWidth += gridX;
-		}
-		if (isMinHeight) {
-			newHeight += gridY;
-		}
-		if (isMaxWidth) {
-			newWidth -= gridX;
-		}
-		if (isMaxHeight) {
-			newHeight -= gridY;
-		}
-
-		if (/^(se|s|e)$/.test(a)) {
-			that.size.width = newWidth;
-			that.size.height = newHeight;
-		} else if (/^(ne)$/.test(a)) {
-			that.size.width = newWidth;
-			that.size.height = newHeight;
-			that.position.top = op.top - oy;
-		} else if (/^(sw)$/.test(a)) {
-			that.size.width = newWidth;
-			that.size.height = newHeight;
-			that.position.left = op.left - ox;
-		} else {
-			if ( newHeight - gridY <= 0 || newWidth - gridX <= 0) {
-				outerDimensions = that._getPaddingPlusBorderDimensions( this );
-			}
-
-			if ( newHeight - gridY > 0 ) {
-				that.size.height = newHeight;
-				that.position.top = op.top - oy;
-			} else {
-				newHeight = gridY - outerDimensions.height;
-				that.size.height = newHeight;
-				that.position.top = op.top + os.height - newHeight;
-			}
-			if ( newWidth - gridX > 0 ) {
-				that.size.width = newWidth;
-				that.position.left = op.left - ox;
-			} else {
-				newWidth = gridX - outerDimensions.width;
-				that.size.width = newWidth;
-				that.position.left = op.left + os.width - newWidth;
-			}
-		}
-	}
-
-});
-
-var resizable = $.ui.resizable;
-
-
-/*!
- * jQuery UI Selectable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/selectable/
- */
-
-
-var selectable = $.widget("ui.selectable", $.ui.mouse, {
-	version: "1.11.4",
-	options: {
-		appendTo: "body",
-		autoRefresh: true,
-		distance: 0,
-		filter: "*",
-		tolerance: "touch",
-
-		// callbacks
-		selected: null,
-		selecting: null,
-		start: null,
-		stop: null,
-		unselected: null,
-		unselecting: null
-	},
-	_create: function() {
-		var selectees,
-			that = this;
-
-		this.element.addClass("ui-selectable");
-
-		this.dragged = false;
-
-		// cache selectee children based on filter
-		this.refresh = function() {
-			selectees = $(that.options.filter, that.element[0]);
-			selectees.addClass("ui-selectee");
-			selectees.each(function() {
-				var $this = $(this),
-					pos = $this.offset();
-				$.data(this, "selectable-item", {
-					element: this,
-					$element: $this,
-					left: pos.left,
-					top: pos.top,
-					right: pos.left + $this.outerWidth(),
-					bottom: pos.top + $this.outerHeight(),
-					startselected: false,
-					selected: $this.hasClass("ui-selected"),
-					selecting: $this.hasClass("ui-selecting"),
-					unselecting: $this.hasClass("ui-unselecting")
-				});
-			});
-		};
-		this.refresh();
-
-		this.selectees = selectees.addClass("ui-selectee");
-
-		this._mouseInit();
-
-		this.helper = $("<div class='ui-selectable-helper'></div>");
-	},
-
-	_destroy: function() {
-		this.selectees
-			.removeClass("ui-selectee")
-			.removeData("selectable-item");
-		this.element
-			.removeClass("ui-selectable ui-selectable-disabled");
-		this._mouseDestroy();
-	},
-
-	_mouseStart: function(event) {
-		var that = this,
-			options = this.options;
-
-		this.opos = [ event.pageX, event.pageY ];
-
-		if (this.options.disabled) {
-			return;
-		}
-
-		this.selectees = $(options.filter, this.element[0]);
-
-		this._trigger("start", event);
-
-		$(options.appendTo).append(this.helper);
-		// position helper (lasso)
-		this.helper.css({
-			"left": event.pageX,
-			"top": event.pageY,
-			"width": 0,
-			"height": 0
-		});
-
-		if (options.autoRefresh) {
-			this.refresh();
-		}
-
-		this.selectees.filter(".ui-selected").each(function() {
-			var selectee = $.data(this, "selectable-item");
-			selectee.startselected = true;
-			if (!event.metaKey && !event.ctrlKey) {
-				selectee.$element.removeClass("ui-selected");
-				selectee.selected = false;
-				selectee.$element.addClass("ui-unselecting");
-				selectee.unselecting = true;
-				// selectable UNSELECTING callback
-				that._trigger("unselecting", event, {
-					unselecting: selectee.element
-				});
-			}
-		});
-
-		$(event.target).parents().addBack().each(function() {
-			var doSelect,
-				selectee = $.data(this, "selectable-item");
-			if (selectee) {
-				doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected");
-				selectee.$element
-					.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
-					.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
-				selectee.unselecting = !doSelect;
-				selectee.selecting = doSelect;
-				selectee.selected = doSelect;
-				// selectable (UN)SELECTING callback
-				if (doSelect) {
-					that._trigger("selecting", event, {
-						selecting: selectee.element
-					});
-				} else {
-					that._trigger("unselecting", event, {
-						unselecting: selectee.element
-					});
-				}
-				return false;
-			}
-		});
-
-	},
-
-	_mouseDrag: function(event) {
-
-		this.dragged = true;
-
-		if (this.options.disabled) {
-			return;
-		}
-
-		var tmp,
-			that = this,
-			options = this.options,
-			x1 = this.opos[0],
-			y1 = this.opos[1],
-			x2 = event.pageX,
-			y2 = event.pageY;
-
-		if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }
-		if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }
-		this.helper.css({ left: x1, top: y1, width: x2 - x1, height: y2 - y1 });
-
-		this.selectees.each(function() {
-			var selectee = $.data(this, "selectable-item"),
-				hit = false;
-
-			//prevent helper from being selected if appendTo: selectable
-			if (!selectee || selectee.element === that.element[0]) {
-				return;
-			}
-
-			if (options.tolerance === "touch") {
-				hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
-			} else if (options.tolerance === "fit") {
-				hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
-			}
-
-			if (hit) {
-				// SELECT
-				if (selectee.selected) {
-					selectee.$element.removeClass("ui-selected");
-					selectee.selected = false;
-				}
-				if (selectee.unselecting) {
-					selectee.$element.removeClass("ui-unselecting");
-					selectee.unselecting = false;
-				}
-				if (!selectee.selecting) {
-					selectee.$element.addClass("ui-selecting");
-					selectee.selecting = true;
-					// selectable SELECTING callback
-					that._trigger("selecting", event, {
-						selecting: selectee.element
-					});
-				}
-			} else {
-				// UNSELECT
-				if (selectee.selecting) {
-					if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
-						selectee.$element.removeClass("ui-selecting");
-						selectee.selecting = false;
-						selectee.$element.addClass("ui-selected");
-						selectee.selected = true;
-					} else {
-						selectee.$element.removeClass("ui-selecting");
-						selectee.selecting = false;
-						if (selectee.startselected) {
-							selectee.$element.addClass("ui-unselecting");
-							selectee.unselecting = true;
-						}
-						// selectable UNSELECTING callback
-						that._trigger("unselecting", event, {
-							unselecting: selectee.element
-						});
-					}
-				}
-				if (selectee.selected) {
-					if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
-						selectee.$element.removeClass("ui-selected");
-						selectee.selected = false;
-
-						selectee.$element.addClass("ui-unselecting");
-						selectee.unselecting = true;
-						// selectable UNSELECTING callback
-						that._trigger("unselecting", event, {
-							unselecting: selectee.element
-						});
-					}
-				}
-			}
-		});
-
-		return false;
-	},
-
-	_mouseStop: function(event) {
-		var that = this;
-
-		this.dragged = false;
-
-		$(".ui-unselecting", this.element[0]).each(function() {
-			var selectee = $.data(this, "selectable-item");
-			selectee.$element.removeClass("ui-unselecting");
-			selectee.unselecting = false;
-			selectee.startselected = false;
-			that._trigger("unselected", event, {
-				unselected: selectee.element
-			});
-		});
-		$(".ui-selecting", this.element[0]).each(function() {
-			var selectee = $.data(this, "selectable-item");
-			selectee.$element.removeClass("ui-selecting").addClass("ui-selected");
-			selectee.selecting = false;
-			selectee.selected = true;
-			selectee.startselected = true;
-			that._trigger("selected", event, {
-				selected: selectee.element
-			});
-		});
-		this._trigger("stop", event);
-
-		this.helper.remove();
-
-		return false;
-	}
-
-});
-
-
-/*!
- * jQuery UI Sortable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/sortable/
- */
-
-
-var sortable = $.widget("ui.sortable", $.ui.mouse, {
-	version: "1.11.4",
-	widgetEventPrefix: "sort",
-	ready: false,
-	options: {
-		appendTo: "parent",
-		axis: false,
-		connectWith: false,
-		containment: false,
-		cursor: "auto",
-		cursorAt: false,
-		dropOnEmpty: true,
-		forcePlaceholderSize: false,
-		forceHelperSize: false,
-		grid: false,
-		handle: false,
-		helper: "original",
-		items: "> *",
-		opacity: false,
-		placeholder: false,
-		revert: false,
-		scroll: true,
-		scrollSensitivity: 20,
-		scrollSpeed: 20,
-		scope: "default",
-		tolerance: "intersect",
-		zIndex: 1000,
-
-		// callbacks
-		activate: null,
-		beforeStop: null,
-		change: null,
-		deactivate: null,
-		out: null,
-		over: null,
-		receive: null,
-		remove: null,
-		sort: null,
-		start: null,
-		stop: null,
-		update: null
-	},
-
-	_isOverAxis: function( x, reference, size ) {
-		return ( x >= reference ) && ( x < ( reference + size ) );
-	},
-
-	_isFloating: function( item ) {
-		return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display"));
-	},
-
-	_create: function() {
-		this.containerCache = {};
-		this.element.addClass("ui-sortable");
-
-		//Get the items
-		this.refresh();
-
-		//Let's determine the parent's offset
-		this.offset = this.element.offset();
-
-		//Initialize mouse events for interaction
-		this._mouseInit();
-
-		this._setHandleClassName();
-
-		//We're ready to go
-		this.ready = true;
-
-	},
-
-	_setOption: function( key, value ) {
-		this._super( key, value );
-
-		if ( key === "handle" ) {
-			this._setHandleClassName();
-		}
-	},
-
-	_setHandleClassName: function() {
-		this.element.find( ".ui-sortable-handle" ).removeClass( "ui-sortable-handle" );
-		$.each( this.items, function() {
-			( this.instance.options.handle ?
-				this.item.find( this.instance.options.handle ) : this.item )
-				.addClass( "ui-sortable-handle" );
-		});
-	},
-
-	_destroy: function() {
-		this.element
-			.removeClass( "ui-sortable ui-sortable-disabled" )
-			.find( ".ui-sortable-handle" )
-				.removeClass( "ui-sortable-handle" );
-		this._mouseDestroy();
-
-		for ( var i = this.items.length - 1; i >= 0; i-- ) {
-			this.items[i].item.removeData(this.widgetName + "-item");
-		}
-
-		return this;
-	},
-
-	_mouseCapture: function(event, overrideHandle) {
-		var currentItem = null,
-			validHandle = false,
-			that = this;
-
-		if (this.reverting) {
-			return false;
-		}
-
-		if(this.options.disabled || this.options.type === "static") {
-			return false;
-		}
-
-		//We have to refresh the items data once first
-		this._refreshItems(event);
-
-		//Find out if the clicked node (or one of its parents) is a actual item in this.items
-		$(event.target).parents().each(function() {
-			if($.data(this, that.widgetName + "-item") === that) {
-				currentItem = $(this);
-				return false;
-			}
-		});
-		if($.data(event.target, that.widgetName + "-item") === that) {
-			currentItem = $(event.target);
-		}
-
-		if(!currentItem) {
-			return false;
-		}
-		if(this.options.handle && !overrideHandle) {
-			$(this.options.handle, currentItem).find("*").addBack().each(function() {
-				if(this === event.target) {
-					validHandle = true;
-				}
-			});
-			if(!validHandle) {
-				return false;
-			}
-		}
-
-		this.currentItem = currentItem;
-		this._removeCurrentsFromItems();
-		return true;
-
-	},
-
-	_mouseStart: function(event, overrideHandle, noActivation) {
-
-		var i, body,
-			o = this.options;
-
-		this.currentContainer = this;
-
-		//We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture
-		this.refreshPositions();
-
-		//Create and append the visible helper
-		this.helper = this._createHelper(event);
-
-		//Cache the helper size
-		this._cacheHelperProportions();
-
-		/*
-		 * - Position generation -
-		 * This block generates everything position related - it's the core of draggables.
-		 */
-
-		//Cache the margins of the original element
-		this._cacheMargins();
-
-		//Get the next scrolling parent
-		this.scrollParent = this.helper.scrollParent();
-
-		//The element's absolute position on the page minus margins
-		this.offset = this.currentItem.offset();
-		this.offset = {
-			top: this.offset.top - this.margins.top,
-			left: this.offset.left - this.margins.left
-		};
-
-		$.extend(this.offset, {
-			click: { //Where the click happened, relative to the element
-				left: event.pageX - this.offset.left,
-				top: event.pageY - this.offset.top
-			},
-			parent: this._getParentOffset(),
-			relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
-		});
-
-		// Only after we got the offset, we can change the helper's position to absolute
-		// TODO: Still need to figure out a way to make relative sorting possible
-		this.helper.css("position", "absolute");
-		this.cssPosition = this.helper.css("position");
-
-		//Generate the original position
-		this.originalPosition = this._generatePosition(event);
-		this.originalPageX = event.pageX;
-		this.originalPageY = event.pageY;
-
-		//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
-		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
-
-		//Cache the former DOM position
-		this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
-
-		//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way
-		if(this.helper[0] !== this.currentItem[0]) {
-			this.currentItem.hide();
-		}
-
-		//Create the placeholder
-		this._createPlaceholder();
-
-		//Set a containment if given in the options
-		if(o.containment) {
-			this._setContainment();
-		}
-
-		if( o.cursor && o.cursor !== "auto" ) { // cursor option
-			body = this.document.find( "body" );
-
-			// support: IE
-			this.storedCursor = body.css( "cursor" );
-			body.css( "cursor", o.cursor );
-
-			this.storedStylesheet = $( "<style>*{ cursor: "+o.cursor+" !important; }</style>" ).appendTo( body );
-		}
-
-		if(o.opacity) { // opacity option
-			if (this.helper.css("opacity")) {
-				this._storedOpacity = this.helper.css("opacity");
-			}
-			this.helper.css("opacity", o.opacity);
-		}
-
-		if(o.zIndex) { // zIndex option
-			if (this.helper.css("zIndex")) {
-				this._storedZIndex = this.helper.css("zIndex");
-			}
-			this.helper.css("zIndex", o.zIndex);
-		}
-
-		//Prepare scrolling
-		if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") {
-			this.overflowOffset = this.scrollParent.offset();
-		}
-
-		//Call callbacks
-		this._trigger("start", event, this._uiHash());
-
-		//Recache the helper size
-		if(!this._preserveHelperProportions) {
-			this._cacheHelperProportions();
-		}
-
-
-		//Post "activate" events to possible containers
-		if( !noActivation ) {
-			for ( i = this.containers.length - 1; i >= 0; i-- ) {
-				this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) );
-			}
-		}
-
-		//Prepare possible droppables
-		if($.ui.ddmanager) {
-			$.ui.ddmanager.current = this;
-		}
-
-		if ($.ui.ddmanager && !o.dropBehaviour) {
-			$.ui.ddmanager.prepareOffsets(this, event);
-		}
-
-		this.dragging = true;
-
-		this.helper.addClass("ui-sortable-helper");
-		this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
-		return true;
-
-	},
-
-	_mouseDrag: function(event) {
-		var i, item, itemElement, intersection,
-			o = this.options,
-			scrolled = false;
-
-		//Compute the helpers position
-		this.position = this._generatePosition(event);
-		this.positionAbs = this._convertPositionTo("absolute");
-
-		if (!this.lastPositionAbs) {
-			this.lastPositionAbs = this.positionAbs;
-		}
-
-		//Do scrolling
-		if(this.options.scroll) {
-			if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") {
-
-				if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
-					this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
-				} else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {
-					this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
-				}
-
-				if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
-					this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
-				} else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {
-					this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
-				}
-
-			} else {
-
-				if(event.pageY - this.document.scrollTop() < o.scrollSensitivity) {
-					scrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed);
-				} else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) {
-					scrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed);
-				}
-
-				if(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) {
-					scrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed);
-				} else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) {
-					scrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed);
-				}
-
-			}
-
-			if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
-				$.ui.ddmanager.prepareOffsets(this, event);
-			}
-		}
-
-		//Regenerate the absolute position used for position checks
-		this.positionAbs = this._convertPositionTo("absolute");
-
-		//Set the helper 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";
-		}
-
-		//Rearrange
-		for (i = this.items.length - 1; i >= 0; i--) {
-
-			//Cache variables and intersection, continue if no intersection
-			item = this.items[i];
-			itemElement = item.item[0];
-			intersection = this._intersectsWithPointer(item);
-			if (!intersection) {
-				continue;
-			}
-
-			// Only put the placeholder inside the current Container, skip all
-			// items from other containers. This works because when moving
-			// an item from one container to another the
-			// currentContainer is switched before the placeholder is moved.
-			//
-			// Without this, moving items in "sub-sortables" can cause
-			// the placeholder to jitter between the outer and inner container.
-			if (item.instance !== this.currentContainer) {
-				continue;
-			}
-
-			// cannot intersect with itself
-			// no useless actions that have been done before
-			// no action if the item moved is the parent of the item checked
-			if (itemElement !== this.currentItem[0] &&
-				this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement &&
-				!$.contains(this.placeholder[0], itemElement) &&
-				(this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true)
-			) {
-
-				this.direction = intersection === 1 ? "down" : "up";
-
-				if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) {
-					this._rearrange(event, item);
-				} else {
-					break;
-				}
-
-				this._trigger("change", event, this._uiHash());
-				break;
-			}
-		}
-
-		//Post events to containers
-		this._contactContainers(event);
-
-		//Interconnect with droppables
-		if($.ui.ddmanager) {
-			$.ui.ddmanager.drag(this, event);
-		}
-
-		//Call callbacks
-		this._trigger("sort", event, this._uiHash());
-
-		this.lastPositionAbs = this.positionAbs;
-		return false;
-
-	},
-
-	_mouseStop: function(event, noPropagation) {
-
-		if(!event) {
-			return;
-		}
-
-		//If we are using droppables, inform the manager about the drop
-		if ($.ui.ddmanager && !this.options.dropBehaviour) {
-			$.ui.ddmanager.drop(this, event);
-		}
-
-		if(this.options.revert) {
-			var that = this,
-				cur = this.placeholder.offset(),
-				axis = this.options.axis,
-				animation = {};
-
-			if ( !axis || axis === "x" ) {
-				animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft);
-			}
-			if ( !axis || axis === "y" ) {
-				animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop);
-			}
-			this.reverting = true;
-			$(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() {
-				that._clear(event);
-			});
-		} else {
-			this._clear(event, noPropagation);
-		}
-
-		return false;
-
-	},
-
-	cancel: function() {
-
-		if(this.dragging) {
-
-			this._mouseUp({ target: null });
-
-			if(this.options.helper === "original") {
-				this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
-			} else {
-				this.currentItem.show();
-			}
-
-			//Post deactivating events to containers
-			for (var i = this.containers.length - 1; i >= 0; i--){
-				this.containers[i]._trigger("deactivate", null, this._uiHash(this));
-				if(this.containers[i].containerCache.over) {
-					this.containers[i]._trigger("out", null, this._uiHash(this));
-					this.containers[i].containerCache.over = 0;
-				}
-			}
-
-		}
-
-		if (this.placeholder) {
-			//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
-			if(this.placeholder[0].parentNode) {
-				this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
-			}
-			if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) {
-				this.helper.remove();
-			}
-
-			$.extend(this, {
-				helper: null,
-				dragging: false,
-				reverting: false,
-				_noFinalSort: null
-			});
-
-			if(this.domPosition.prev) {
-				$(this.domPosition.prev).after(this.currentItem);
-			} else {
-				$(this.domPosition.parent).prepend(this.currentItem);
-			}
-		}
-
-		return this;
-
-	},
-
-	serialize: function(o) {
-
-		var items = this._getItemsAsjQuery(o && o.connected),
-			str = [];
-		o = o || {};
-
-		$(items).each(function() {
-			var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));
-			if (res) {
-				str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2]));
-			}
-		});
-
-		if(!str.length && o.key) {
-			str.push(o.key + "=");
-		}
-
-		return str.join("&");
-
-	},
-
-	toArray: function(o) {
-
-		var items = this._getItemsAsjQuery(o && o.connected),
-			ret = [];
-
-		o = o || {};
-
-		items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); });
-		return ret;
-
-	},
-
-	/* Be careful with the following core functions */
-	_intersectsWith: function(item) {
-
-		var x1 = this.positionAbs.left,
-			x2 = x1 + this.helperProportions.width,
-			y1 = this.positionAbs.top,
-			y2 = y1 + this.helperProportions.height,
-			l = item.left,
-			r = l + item.width,
-			t = item.top,
-			b = t + item.height,
-			dyClick = this.offset.click.top,
-			dxClick = this.offset.click.left,
-			isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ),
-			isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ),
-			isOverElement = isOverElementHeight && isOverElementWidth;
-
-		if ( this.options.tolerance === "pointer" ||
-			this.options.forcePointerForContainers ||
-			(this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"])
-		) {
-			return isOverElement;
-		} else {
-
-			return (l < x1 + (this.helperProportions.width / 2) && // Right Half
-				x2 - (this.helperProportions.width / 2) < r && // Left Half
-				t < y1 + (this.helperProportions.height / 2) && // Bottom Half
-				y2 - (this.helperProportions.height / 2) < b ); // Top Half
-
-		}
-	},
-
-	_intersectsWithPointer: function(item) {
-
-		var isOverElementHeight = (this.options.axis === "x") || this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
-			isOverElementWidth = (this.options.axis === "y") || this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
-			isOverElement = isOverElementHeight && isOverElementWidth,
-			verticalDirection = this._getDragVerticalDirection(),
-			horizontalDirection = this._getDragHorizontalDirection();
-
-		if (!isOverElement) {
-			return false;
-		}
-
-		return this.floating ?
-			( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 )
-			: ( verticalDirection && (verticalDirection === "down" ? 2 : 1) );
-
-	},
-
-	_intersectsWithSides: function(item) {
-
-		var isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),
-			isOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),
-			verticalDirection = this._getDragVerticalDirection(),
-			horizontalDirection = this._getDragHorizontalDirection();
-
-		if (this.floating && horizontalDirection) {
-			return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf));
-		} else {
-			return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf));
-		}
-
-	},
-
-	_getDragVerticalDirection: function() {
-		var delta = this.positionAbs.top - this.lastPositionAbs.top;
-		return delta !== 0 && (delta > 0 ? "down" : "up");
-	},
-
-	_getDragHorizontalDirection: function() {
-		var delta = this.positionAbs.left - this.lastPositionAbs.left;
-		return delta !== 0 && (delta > 0 ? "right" : "left");
-	},
-
-	refresh: function(event) {
-		this._refreshItems(event);
-		this._setHandleClassName();
-		this.refreshPositions();
-		return this;
-	},
-
-	_connectWith: function() {
-		var options = this.options;
-		return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;
-	},
-
-	_getItemsAsjQuery: function(connected) {
-
-		var i, j, cur, inst,
-			items = [],
-			queries = [],
-			connectWith = this._connectWith();
-
-		if(connectWith && connected) {
-			for (i = connectWith.length - 1; i >= 0; i--){
-				cur = $(connectWith[i], this.document[0]);
-				for ( j = cur.length - 1; j >= 0; j--){
-					inst = $.data(cur[j], this.widgetFullName);
-					if(inst && inst !== this && !inst.options.disabled) {
-						queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]);
-					}
-				}
-			}
-		}
-
-		queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
-
-		function addItems() {
-			items.push( this );
-		}
-		for (i = queries.length - 1; i >= 0; i--){
-			queries[i][0].each( addItems );
-		}
-
-		return $(items);
-
-	},
-
-	_removeCurrentsFromItems: function() {
-
-		var list = this.currentItem.find(":data(" + this.widgetName + "-item)");
-
-		this.items = $.grep(this.items, function (item) {
-			for (var j=0; j < list.length; j++) {
-				if(list[j] === item.item[0]) {
-					return false;
-				}
-			}
-			return true;
-		});
-
-	},
-
-	_refreshItems: function(event) {
-
-		this.items = [];
-		this.containers = [this];
-
-		var i, j, cur, inst, targetData, _queries, item, queriesLength,
-			items = this.items,
-			queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],
-			connectWith = this._connectWith();
-
-		if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down
-			for (i = connectWith.length - 1; i >= 0; i--){
-				cur = $(connectWith[i], this.document[0]);
-				for (j = cur.length - 1; j >= 0; j--){
-					inst = $.data(cur[j], this.widgetFullName);
-					if(inst && inst !== this && !inst.options.disabled) {
-						queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
-						this.containers.push(inst);
-					}
-				}
-			}
-		}
-
-		for (i = queries.length - 1; i >= 0; i--) {
-			targetData = queries[i][1];
-			_queries = queries[i][0];
-
-			for (j=0, queriesLength = _queries.length; j < queriesLength; j++) {
-				item = $(_queries[j]);
-
-				item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager)
-
-				items.push({
-					item: item,
-					instance: targetData,
-					width: 0, height: 0,
-					left: 0, top: 0
-				});
-			}
-		}
-
-	},
-
-	refreshPositions: function(fast) {
-
-		// Determine whether items are being displayed horizontally
-		this.floating = this.items.length ?
-			this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) :
-			false;
-
-		//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change
-		if(this.offsetParent && this.helper) {
-			this.offset.parent = this._getParentOffset();
-		}
-
-		var i, item, t, p;
-
-		for (i = this.items.length - 1; i >= 0; i--){
-			item = this.items[i];
-
-			//We ignore calculating positions of all connected containers when we're not over them
-			if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {
-				continue;
-			}
-
-			t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;
-
-			if (!fast) {
-				item.width = t.outerWidth();
-				item.height = t.outerHeight();
-			}
-
-			p = t.offset();
-			item.left = p.left;
-			item.top = p.top;
-		}
-
-		if(this.options.custom && this.options.custom.refreshContainers) {
-			this.options.custom.refreshContainers.call(this);
-		} else {
-			for (i = this.containers.length - 1; i >= 0; i--){
-				p = this.containers[i].element.offset();
-				this.containers[i].containerCache.left = p.left;
-				this.containers[i].containerCache.top = p.top;
-				this.containers[i].containerCache.width = this.containers[i].element.outerWidth();
-				this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
-			}
-		}
-
-		return this;
-	},
-
-	_createPlaceholder: function(that) {
-		that = that || this;
-		var className,
-			o = that.options;
-
-		if(!o.placeholder || o.placeholder.constructor === String) {
-			className = o.placeholder;
-			o.placeholder = {
-				element: function() {
-
-					var nodeName = that.currentItem[0].nodeName.toLowerCase(),
-						element = $( "<" + nodeName + ">", that.document[0] )
-							.addClass(className || that.currentItem[0].className+" ui-sortable-placeholder")
-							.removeClass("ui-sortable-helper");
-
-					if ( nodeName === "tbody" ) {
-						that._createTrPlaceholder(
-							that.currentItem.find( "tr" ).eq( 0 ),
-							$( "<tr>", that.document[ 0 ] ).appendTo( element )
-						);
-					} else if ( nodeName === "tr" ) {
-						that._createTrPlaceholder( that.currentItem, element );
-					} else if ( nodeName === "img" ) {
-						element.attr( "src", that.currentItem.attr( "src" ) );
-					}
-
-					if ( !className ) {
-						element.css( "visibility", "hidden" );
-					}
-
-					return element;
-				},
-				update: function(container, p) {
-
-					// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that
-					// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified
-					if(className && !o.forcePlaceholderSize) {
-						return;
-					}
-
-					//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item
-					if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); }
-					if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); }
-				}
-			};
-		}
-
-		//Create the placeholder
-		that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));
-
-		//Append it after the actual current item
-		that.currentItem.after(that.placeholder);
-
-		//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
-		o.placeholder.update(that, that.placeholder);
-
-	},
-
-	_createTrPlaceholder: function( sourceTr, targetTr ) {
-		var that = this;
-
-		sourceTr.children().each(function() {
-			$( "<td>&#160;</td>", that.document[ 0 ] )
-				.attr( "colspan", $( this ).attr( "colspan" ) || 1 )
-				.appendTo( targetTr );
-		});
-	},
-
-	_contactContainers: function(event) {
-		var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis,
-			innermostContainer = null,
-			innermostIndex = null;
-
-		// get innermost container that intersects with item
-		for (i = this.containers.length - 1; i >= 0; i--) {
-
-			// never consider a container that's located within the item itself
-			if($.contains(this.currentItem[0], this.containers[i].element[0])) {
-				continue;
-			}
-
-			if(this._intersectsWith(this.containers[i].containerCache)) {
-
-				// if we've already found a container and it's more "inner" than this, then continue
-				if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) {
-					continue;
-				}
-
-				innermostContainer = this.containers[i];
-				innermostIndex = i;
-
-			} else {
-				// container doesn't intersect. trigger "out" event if necessary
-				if(this.containers[i].containerCache.over) {
-					this.containers[i]._trigger("out", event, this._uiHash(this));
-					this.containers[i].containerCache.over = 0;
-				}
-			}
-
-		}
-
-		// if no intersecting containers found, return
-		if(!innermostContainer) {
-			return;
-		}
-
-		// move the item into the container if it's not there already
-		if(this.containers.length === 1) {
-			if (!this.containers[innermostIndex].containerCache.over) {
-				this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
-				this.containers[innermostIndex].containerCache.over = 1;
-			}
-		} else {
-
-			//When entering a new container, we will find the item with the least distance and append our item near it
-			dist = 10000;
-			itemWithLeastDistance = null;
-			floating = innermostContainer.floating || this._isFloating(this.currentItem);
-			posProperty = floating ? "left" : "top";
-			sizeProperty = floating ? "width" : "height";
-			axis = floating ? "clientX" : "clientY";
-
-			for (j = this.items.length - 1; j >= 0; j--) {
-				if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {
-					continue;
-				}
-				if(this.items[j].item[0] === this.currentItem[0]) {
-					continue;
-				}
-
-				cur = this.items[j].item.offset()[posProperty];
-				nearBottom = false;
-				if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) {
-					nearBottom = true;
-				}
-
-				if ( Math.abs( event[ axis ] - cur ) < dist ) {
-					dist = Math.abs( event[ axis ] - cur );
-					itemWithLeastDistance = this.items[ j ];
-					this.direction = nearBottom ? "up": "down";
-				}
-			}
-
-			//Check if dropOnEmpty is enabled
-			if(!itemWithLeastDistance && !this.options.dropOnEmpty) {
-				return;
-			}
-
-			if(this.currentContainer === this.containers[innermostIndex]) {
-				if ( !this.currentContainer.containerCache.over ) {
-					this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() );
-					this.currentContainer.containerCache.over = 1;
-				}
-				return;
-			}
-
-			itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
-			this._trigger("change", event, this._uiHash());
-			this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
-			this.currentContainer = this.containers[innermostIndex];
-
-			//Update the placeholder
-			this.options.placeholder.update(this.currentContainer, this.placeholder);
-
-			this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
-			this.containers[innermostIndex].containerCache.over = 1;
-		}
-
-
-	},
-
-	_createHelper: function(event) {
-
-		var o = this.options,
-			helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem);
-
-		//Add the helper to the DOM if that didn't happen already
-		if(!helper.parents("body").length) {
-			$(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
-		}
-
-		if(helper[0] === this.currentItem[0]) {
-			this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") };
-		}
-
-		if(!helper[0].style.width || o.forceHelperSize) {
-			helper.width(this.currentItem.width());
-		}
-		if(!helper[0].style.height || o.forceHelperSize) {
-			helper.height(this.currentItem.height());
-		}
-
-		return helper;
-
-	},
-
-	_adjustOffsetFromHelper: function(obj) {
-		if (typeof obj === "string") {
-			obj = obj.split(" ");
-		}
-		if ($.isArray(obj)) {
-			obj = {left: +obj[0], top: +obj[1] || 0};
-		}
-		if ("left" in obj) {
-			this.offset.click.left = obj.left + this.margins.left;
-		}
-		if ("right" in obj) {
-			this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
-		}
-		if ("top" in obj) {
-			this.offset.click.top = obj.top + this.margins.top;
-		}
-		if ("bottom" in obj) {
-			this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
-		}
-	},
-
-	_getParentOffset: function() {
-
-
-		//Get the offsetParent and cache its position
-		this.offsetParent = this.helper.offsetParent();
-		var po = this.offsetParent.offset();
-
-		// This is a special case where we need to modify a offset calculated on start, since the following happened:
-		// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
-		// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
-		//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
-		if(this.cssPosition === "absolute" && this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) {
-			po.left += this.scrollParent.scrollLeft();
-			po.top += this.scrollParent.scrollTop();
-		}
-
-		// This needs to be actually done for all browsers, since pageX/pageY includes this information
-		// with an ugly IE fix
-		if( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
-			po = { top: 0, left: 0 };
-		}
-
-		return {
-			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
-			left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
-		};
-
-	},
-
-	_getRelativeOffset: function() {
-
-		if(this.cssPosition === "relative") {
-			var p = this.currentItem.position();
-			return {
-				top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
-				left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
-			};
-		} else {
-			return { top: 0, left: 0 };
-		}
-
-	},
-
-	_cacheMargins: function() {
-		this.margins = {
-			left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),
-			top: (parseInt(this.currentItem.css("marginTop"),10) || 0)
-		};
-	},
-
-	_cacheHelperProportions: function() {
-		this.helperProportions = {
-			width: this.helper.outerWidth(),
-			height: this.helper.outerHeight()
-		};
-	},
-
-	_setContainment: function() {
-
-		var ce, co, over,
-			o = this.options;
-		if(o.containment === "parent") {
-			o.containment = this.helper[0].parentNode;
-		}
-		if(o.containment === "document" || o.containment === "window") {
-			this.containment = [
-				0 - this.offset.relative.left - this.offset.parent.left,
-				0 - this.offset.relative.top - this.offset.parent.top,
-				o.containment === "document" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left,
-				(o.containment === "document" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
-			];
-		}
-
-		if(!(/^(document|window|parent)$/).test(o.containment)) {
-			ce = $(o.containment)[0];
-			co = $(o.containment).offset();
-			over = ($(ce).css("overflow") !== "hidden");
-
-			this.containment = [
-				co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
-				co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,
-				co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left,
-				co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top
-			];
-		}
-
-	},
-
-	_convertPositionTo: function(d, pos) {
-
-		if(!pos) {
-			pos = this.position;
-		}
-		var mod = d === "absolute" ? 1 : -1,
-			scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
-			scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
-
-		return {
-			top: (
-				pos.top	+																// The absolute mouse position
-				this.offset.relative.top * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.top * mod -											// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
-			),
-			left: (
-				pos.left +																// The absolute mouse position
-				this.offset.relative.left * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.left * mod	-										// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
-			)
-		};
-
-	},
-
-	_generatePosition: function(event) {
-
-		var top, left,
-			o = this.options,
-			pageX = event.pageX,
-			pageY = event.pageY,
-			scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
-
-		// This is another very weird special case that only happens for relative elements:
-		// 1. If the css position is relative
-		// 2. and the scroll parent is the document or similar to the offset parent
-		// we have to refresh the relative offset during the scroll so there are no jumps
-		if(this.cssPosition === "relative" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) {
-			this.offset.relative = this._getRelativeOffset();
-		}
-
-		/*
-		 * - Position constraining -
-		 * Constrain the position to a mix of grid, containment.
-		 */
-
-		if(this.originalPosition) { //If we are not dragging yet, we won't check for options
-
-			if(this.containment) {
-				if(event.pageX - this.offset.click.left < this.containment[0]) {
-					pageX = this.containment[0] + this.offset.click.left;
-				}
-				if(event.pageY - this.offset.click.top < this.containment[1]) {
-					pageY = this.containment[1] + this.offset.click.top;
-				}
-				if(event.pageX - this.offset.click.left > this.containment[2]) {
-					pageX = this.containment[2] + this.offset.click.left;
-				}
-				if(event.pageY - this.offset.click.top > this.containment[3]) {
-					pageY = this.containment[3] + this.offset.click.top;
-				}
-			}
-
-			if(o.grid) {
-				top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
-				pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
-
-				left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
-				pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
-			}
-
-		}
-
-		return {
-			top: (
-				pageY -																// The absolute mouse position
-				this.offset.click.top -													// Click offset (relative to the element)
-				this.offset.relative.top	-											// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.top +												// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
-			),
-			left: (
-				pageX -																// The absolute mouse position
-				this.offset.click.left -												// Click offset (relative to the element)
-				this.offset.relative.left	-											// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.left +												// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
-			)
-		};
-
-	},
-
-	_rearrange: function(event, i, a, hardRefresh) {
-
-		a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling));
-
-		//Various things done here to improve the performance:
-		// 1. we create a setTimeout, that calls refreshPositions
-		// 2. on the instance, we have a counter variable, that get's higher after every append
-		// 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same
-		// 4. this lets only the last addition to the timeout stack through
-		this.counter = this.counter ? ++this.counter : 1;
-		var counter = this.counter;
-
-		this._delay(function() {
-			if(counter === this.counter) {
-				this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove
-			}
-		});
-
-	},
-
-	_clear: function(event, noPropagation) {
-
-		this.reverting = false;
-		// We delay all events that have to be triggered to after the point where the placeholder has been removed and
-		// everything else normalized again
-		var i,
-			delayedTriggers = [];
-
-		// We first have to update the dom position of the actual currentItem
-		// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
-		if(!this._noFinalSort && this.currentItem.parent().length) {
-			this.placeholder.before(this.currentItem);
-		}
-		this._noFinalSort = null;
-
-		if(this.helper[0] === this.currentItem[0]) {
-			for(i in this._storedCSS) {
-				if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") {
-					this._storedCSS[i] = "";
-				}
-			}
-			this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
-		} else {
-			this.currentItem.show();
-		}
-
-		if(this.fromOutside && !noPropagation) {
-			delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); });
-		}
-		if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {
-			delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed
-		}
-
-		// Check if the items Container has Changed and trigger appropriate
-		// events.
-		if (this !== this.currentContainer) {
-			if(!noPropagation) {
-				delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); });
-				delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); };  }).call(this, this.currentContainer));
-				delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this));  }; }).call(this, this.currentContainer));
-			}
-		}
-
-
-		//Post events to containers
-		function delayEvent( type, instance, container ) {
-			return function( event ) {
-				container._trigger( type, event, instance._uiHash( instance ) );
-			};
-		}
-		for (i = this.containers.length - 1; i >= 0; i--){
-			if (!noPropagation) {
-				delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) );
-			}
-			if(this.containers[i].containerCache.over) {
-				delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) );
-				this.containers[i].containerCache.over = 0;
-			}
-		}
-
-		//Do what was originally in plugins
-		if ( this.storedCursor ) {
-			this.document.find( "body" ).css( "cursor", this.storedCursor );
-			this.storedStylesheet.remove();
-		}
-		if(this._storedOpacity) {
-			this.helper.css("opacity", this._storedOpacity);
-		}
-		if(this._storedZIndex) {
-			this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex);
-		}
-
-		this.dragging = false;
-
-		if(!noPropagation) {
-			this._trigger("beforeStop", event, this._uiHash());
-		}
-
-		//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
-		this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
-
-		if ( !this.cancelHelperRemoval ) {
-			if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {
-				this.helper.remove();
-			}
-			this.helper = null;
-		}
-
-		if(!noPropagation) {
-			for (i=0; i < delayedTriggers.length; i++) {
-				delayedTriggers[i].call(this, event);
-			} //Trigger all delayed events
-			this._trigger("stop", event, this._uiHash());
-		}
-
-		this.fromOutside = false;
-		return !this.cancelHelperRemoval;
-
-	},
-
-	_trigger: function() {
-		if ($.Widget.prototype._trigger.apply(this, arguments) === false) {
-			this.cancel();
-		}
-	},
-
-	_uiHash: function(_inst) {
-		var inst = _inst || this;
-		return {
-			helper: inst.helper,
-			placeholder: inst.placeholder || $([]),
-			position: inst.position,
-			originalPosition: inst.originalPosition,
-			offset: inst.positionAbs,
-			item: inst.currentItem,
-			sender: _inst ? _inst.element : null
-		};
-	}
-
-});
-
-
-/*!
- * jQuery UI Accordion 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/accordion/
- */
-
-
-var accordion = $.widget( "ui.accordion", {
-	version: "1.11.4",
-	options: {
-		active: 0,
-		animate: {},
-		collapsible: false,
-		event: "click",
-		header: "> li > :first-child,> :not(li):even",
-		heightStyle: "auto",
-		icons: {
-			activeHeader: "ui-icon-triangle-1-s",
-			header: "ui-icon-triangle-1-e"
-		},
-
-		// callbacks
-		activate: null,
-		beforeActivate: null
-	},
-
-	hideProps: {
-		borderTopWidth: "hide",
-		borderBottomWidth: "hide",
-		paddingTop: "hide",
-		paddingBottom: "hide",
-		height: "hide"
-	},
-
-	showProps: {
-		borderTopWidth: "show",
-		borderBottomWidth: "show",
-		paddingTop: "show",
-		paddingBottom: "show",
-		height: "show"
-	},
-
-	_create: function() {
-		var options = this.options;
-		this.prevShow = this.prevHide = $();
-		this.element.addClass( "ui-accordion ui-widget ui-helper-reset" )
-			// ARIA
-			.attr( "role", "tablist" );
-
-		// don't allow collapsible: false and active: false / null
-		if ( !options.collapsible && (options.active === false || options.active == null) ) {
-			options.active = 0;
-		}
-
-		this._processPanels();
-		// handle negative values
-		if ( options.active < 0 ) {
-			options.active += this.headers.length;
-		}
-		this._refresh();
-	},
-
-	_getCreateEventData: function() {
-		return {
-			header: this.active,
-			panel: !this.active.length ? $() : this.active.next()
-		};
-	},
-
-	_createIcons: function() {
-		var icons = this.options.icons;
-		if ( icons ) {
-			$( "<span>" )
-				.addClass( "ui-accordion-header-icon ui-icon " + icons.header )
-				.prependTo( this.headers );
-			this.active.children( ".ui-accordion-header-icon" )
-				.removeClass( icons.header )
-				.addClass( icons.activeHeader );
-			this.headers.addClass( "ui-accordion-icons" );
-		}
-	},
-
-	_destroyIcons: function() {
-		this.headers
-			.removeClass( "ui-accordion-icons" )
-			.children( ".ui-accordion-header-icon" )
-				.remove();
-	},
-
-	_destroy: function() {
-		var contents;
-
-		// clean up main element
-		this.element
-			.removeClass( "ui-accordion ui-widget ui-helper-reset" )
-			.removeAttr( "role" );
-
-		// clean up headers
-		this.headers
-			.removeClass( "ui-accordion-header ui-accordion-header-active ui-state-default " +
-				"ui-corner-all ui-state-active ui-state-disabled ui-corner-top" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-expanded" )
-			.removeAttr( "aria-selected" )
-			.removeAttr( "aria-controls" )
-			.removeAttr( "tabIndex" )
-			.removeUniqueId();
-
-		this._destroyIcons();
-
-		// clean up content panels
-		contents = this.headers.next()
-			.removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom " +
-				"ui-accordion-content ui-accordion-content-active ui-state-disabled" )
-			.css( "display", "" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-hidden" )
-			.removeAttr( "aria-labelledby" )
-			.removeUniqueId();
-
-		if ( this.options.heightStyle !== "content" ) {
-			contents.css( "height", "" );
-		}
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "active" ) {
-			// _activate() will handle invalid values and update this.options
-			this._activate( value );
-			return;
-		}
-
-		if ( key === "event" ) {
-			if ( this.options.event ) {
-				this._off( this.headers, this.options.event );
-			}
-			this._setupEvents( value );
-		}
-
-		this._super( key, value );
-
-		// setting collapsible: false while collapsed; open first panel
-		if ( key === "collapsible" && !value && this.options.active === false ) {
-			this._activate( 0 );
-		}
-
-		if ( key === "icons" ) {
-			this._destroyIcons();
-			if ( value ) {
-				this._createIcons();
-			}
-		}
-
-		// #5332 - opacity doesn't cascade to positioned elements in IE
-		// so we need to add the disabled class to the headers and panels
-		if ( key === "disabled" ) {
-			this.element
-				.toggleClass( "ui-state-disabled", !!value )
-				.attr( "aria-disabled", value );
-			this.headers.add( this.headers.next() )
-				.toggleClass( "ui-state-disabled", !!value );
-		}
-	},
-
-	_keydown: function( event ) {
-		if ( event.altKey || event.ctrlKey ) {
-			return;
-		}
-
-		var keyCode = $.ui.keyCode,
-			length = this.headers.length,
-			currentIndex = this.headers.index( event.target ),
-			toFocus = false;
-
-		switch ( event.keyCode ) {
-			case keyCode.RIGHT:
-			case keyCode.DOWN:
-				toFocus = this.headers[ ( currentIndex + 1 ) % length ];
-				break;
-			case keyCode.LEFT:
-			case keyCode.UP:
-				toFocus = this.headers[ ( currentIndex - 1 + length ) % length ];
-				break;
-			case keyCode.SPACE:
-			case keyCode.ENTER:
-				this._eventHandler( event );
-				break;
-			case keyCode.HOME:
-				toFocus = this.headers[ 0 ];
-				break;
-			case keyCode.END:
-				toFocus = this.headers[ length - 1 ];
-				break;
-		}
-
-		if ( toFocus ) {
-			$( event.target ).attr( "tabIndex", -1 );
-			$( toFocus ).attr( "tabIndex", 0 );
-			toFocus.focus();
-			event.preventDefault();
-		}
-	},
-
-	_panelKeyDown: function( event ) {
-		if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {
-			$( event.currentTarget ).prev().focus();
-		}
-	},
-
-	refresh: function() {
-		var options = this.options;
-		this._processPanels();
-
-		// was collapsed or no panel
-		if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) {
-			options.active = false;
-			this.active = $();
-		// active false only when collapsible is true
-		} else if ( options.active === false ) {
-			this._activate( 0 );
-		// was active, but active panel is gone
-		} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
-			// all remaining panel are disabled
-			if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) {
-				options.active = false;
-				this.active = $();
-			// activate previous panel
-			} else {
-				this._activate( Math.max( 0, options.active - 1 ) );
-			}
-		// was active, active panel still exists
-		} else {
-			// make sure active index is correct
-			options.active = this.headers.index( this.active );
-		}
-
-		this._destroyIcons();
-
-		this._refresh();
-	},
-
-	_processPanels: function() {
-		var prevHeaders = this.headers,
-			prevPanels = this.panels;
-
-		this.headers = this.element.find( this.options.header )
-			.addClass( "ui-accordion-header ui-state-default ui-corner-all" );
-
-		this.panels = this.headers.next()
-			.addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" )
-			.filter( ":not(.ui-accordion-content-active)" )
-			.hide();
-
-		// Avoid memory leaks (#10056)
-		if ( prevPanels ) {
-			this._off( prevHeaders.not( this.headers ) );
-			this._off( prevPanels.not( this.panels ) );
-		}
-	},
-
-	_refresh: function() {
-		var maxHeight,
-			options = this.options,
-			heightStyle = options.heightStyle,
-			parent = this.element.parent();
-
-		this.active = this._findActive( options.active )
-			.addClass( "ui-accordion-header-active ui-state-active ui-corner-top" )
-			.removeClass( "ui-corner-all" );
-		this.active.next()
-			.addClass( "ui-accordion-content-active" )
-			.show();
-
-		this.headers
-			.attr( "role", "tab" )
-			.each(function() {
-				var header = $( this ),
-					headerId = header.uniqueId().attr( "id" ),
-					panel = header.next(),
-					panelId = panel.uniqueId().attr( "id" );
-				header.attr( "aria-controls", panelId );
-				panel.attr( "aria-labelledby", headerId );
-			})
-			.next()
-				.attr( "role", "tabpanel" );
-
-		this.headers
-			.not( this.active )
-			.attr({
-				"aria-selected": "false",
-				"aria-expanded": "false",
-				tabIndex: -1
-			})
-			.next()
-				.attr({
-					"aria-hidden": "true"
-				})
-				.hide();
-
-		// make sure at least one header is in the tab order
-		if ( !this.active.length ) {
-			this.headers.eq( 0 ).attr( "tabIndex", 0 );
-		} else {
-			this.active.attr({
-				"aria-selected": "true",
-				"aria-expanded": "true",
-				tabIndex: 0
-			})
-			.next()
-				.attr({
-					"aria-hidden": "false"
-				});
-		}
-
-		this._createIcons();
-
-		this._setupEvents( options.event );
-
-		if ( heightStyle === "fill" ) {
-			maxHeight = parent.height();
-			this.element.siblings( ":visible" ).each(function() {
-				var elem = $( this ),
-					position = elem.css( "position" );
-
-				if ( position === "absolute" || position === "fixed" ) {
-					return;
-				}
-				maxHeight -= elem.outerHeight( true );
-			});
-
-			this.headers.each(function() {
-				maxHeight -= $( this ).outerHeight( true );
-			});
-
-			this.headers.next()
-				.each(function() {
-					$( this ).height( Math.max( 0, maxHeight -
-						$( this ).innerHeight() + $( this ).height() ) );
-				})
-				.css( "overflow", "auto" );
-		} else if ( heightStyle === "auto" ) {
-			maxHeight = 0;
-			this.headers.next()
-				.each(function() {
-					maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() );
-				})
-				.height( maxHeight );
-		}
-	},
-
-	_activate: function( index ) {
-		var active = this._findActive( index )[ 0 ];
-
-		// trying to activate the already active panel
-		if ( active === this.active[ 0 ] ) {
-			return;
-		}
-
-		// trying to collapse, simulate a click on the currently active header
-		active = active || this.active[ 0 ];
-
-		this._eventHandler({
-			target: active,
-			currentTarget: active,
-			preventDefault: $.noop
-		});
-	},
-
-	_findActive: function( selector ) {
-		return typeof selector === "number" ? this.headers.eq( selector ) : $();
-	},
-
-	_setupEvents: function( event ) {
-		var events = {
-			keydown: "_keydown"
-		};
-		if ( event ) {
-			$.each( event.split( " " ), function( index, eventName ) {
-				events[ eventName ] = "_eventHandler";
-			});
-		}
-
-		this._off( this.headers.add( this.headers.next() ) );
-		this._on( this.headers, events );
-		this._on( this.headers.next(), { keydown: "_panelKeyDown" });
-		this._hoverable( this.headers );
-		this._focusable( this.headers );
-	},
-
-	_eventHandler: function( event ) {
-		var options = this.options,
-			active = this.active,
-			clicked = $( event.currentTarget ),
-			clickedIsActive = clicked[ 0 ] === active[ 0 ],
-			collapsing = clickedIsActive && options.collapsible,
-			toShow = collapsing ? $() : clicked.next(),
-			toHide = active.next(),
-			eventData = {
-				oldHeader: active,
-				oldPanel: toHide,
-				newHeader: collapsing ? $() : clicked,
-				newPanel: toShow
-			};
-
-		event.preventDefault();
-
-		if (
-				// click on active header, but not collapsible
-				( clickedIsActive && !options.collapsible ) ||
-				// allow canceling activation
-				( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
-			return;
-		}
-
-		options.active = collapsing ? false : this.headers.index( clicked );
-
-		// when the call to ._toggle() comes after the class changes
-		// it causes a very odd bug in IE 8 (see #6720)
-		this.active = clickedIsActive ? $() : clicked;
-		this._toggle( eventData );
-
-		// switch classes
-		// corner classes on the previously active header stay after the animation
-		active.removeClass( "ui-accordion-header-active ui-state-active" );
-		if ( options.icons ) {
-			active.children( ".ui-accordion-header-icon" )
-				.removeClass( options.icons.activeHeader )
-				.addClass( options.icons.header );
-		}
-
-		if ( !clickedIsActive ) {
-			clicked
-				.removeClass( "ui-corner-all" )
-				.addClass( "ui-accordion-header-active ui-state-active ui-corner-top" );
-			if ( options.icons ) {
-				clicked.children( ".ui-accordion-header-icon" )
-					.removeClass( options.icons.header )
-					.addClass( options.icons.activeHeader );
-			}
-
-			clicked
-				.next()
-				.addClass( "ui-accordion-content-active" );
-		}
-	},
-
-	_toggle: function( data ) {
-		var toShow = data.newPanel,
-			toHide = this.prevShow.length ? this.prevShow : data.oldPanel;
-
-		// handle activating a panel during the animation for another activation
-		this.prevShow.add( this.prevHide ).stop( true, true );
-		this.prevShow = toShow;
-		this.prevHide = toHide;
-
-		if ( this.options.animate ) {
-			this._animate( toShow, toHide, data );
-		} else {
-			toHide.hide();
-			toShow.show();
-			this._toggleComplete( data );
-		}
-
-		toHide.attr({
-			"aria-hidden": "true"
-		});
-		toHide.prev().attr({
-			"aria-selected": "false",
-			"aria-expanded": "false"
-		});
-		// if we're switching panels, remove the old header from the tab order
-		// if we're opening from collapsed state, remove the previous header from the tab order
-		// if we're collapsing, then keep the collapsing header in the tab order
-		if ( toShow.length && toHide.length ) {
-			toHide.prev().attr({
-				"tabIndex": -1,
-				"aria-expanded": "false"
-			});
-		} else if ( toShow.length ) {
-			this.headers.filter(function() {
-				return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0;
-			})
-			.attr( "tabIndex", -1 );
-		}
-
-		toShow
-			.attr( "aria-hidden", "false" )
-			.prev()
-				.attr({
-					"aria-selected": "true",
-					"aria-expanded": "true",
-					tabIndex: 0
-				});
-	},
-
-	_animate: function( toShow, toHide, data ) {
-		var total, easing, duration,
-			that = this,
-			adjust = 0,
-			boxSizing = toShow.css( "box-sizing" ),
-			down = toShow.length &&
-				( !toHide.length || ( toShow.index() < toHide.index() ) ),
-			animate = this.options.animate || {},
-			options = down && animate.down || animate,
-			complete = function() {
-				that._toggleComplete( data );
-			};
-
-		if ( typeof options === "number" ) {
-			duration = options;
-		}
-		if ( typeof options === "string" ) {
-			easing = options;
-		}
-		// fall back from options to animation in case of partial down settings
-		easing = easing || options.easing || animate.easing;
-		duration = duration || options.duration || animate.duration;
-
-		if ( !toHide.length ) {
-			return toShow.animate( this.showProps, duration, easing, complete );
-		}
-		if ( !toShow.length ) {
-			return toHide.animate( this.hideProps, duration, easing, complete );
-		}
-
-		total = toShow.show().outerHeight();
-		toHide.animate( this.hideProps, {
-			duration: duration,
-			easing: easing,
-			step: function( now, fx ) {
-				fx.now = Math.round( now );
-			}
-		});
-		toShow
-			.hide()
-			.animate( this.showProps, {
-				duration: duration,
-				easing: easing,
-				complete: complete,
-				step: function( now, fx ) {
-					fx.now = Math.round( now );
-					if ( fx.prop !== "height" ) {
-						if ( boxSizing === "content-box" ) {
-							adjust += fx.now;
-						}
-					} else if ( that.options.heightStyle !== "content" ) {
-						fx.now = Math.round( total - toHide.outerHeight() - adjust );
-						adjust = 0;
-					}
-				}
-			});
-	},
-
-	_toggleComplete: function( data ) {
-		var toHide = data.oldPanel;
-
-		toHide
-			.removeClass( "ui-accordion-content-active" )
-			.prev()
-				.removeClass( "ui-corner-top" )
-				.addClass( "ui-corner-all" );
-
-		// Work around for rendering bug in IE (#5421)
-		if ( toHide.length ) {
-			toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className;
-		}
-		this._trigger( "activate", null, data );
-	}
-});
-
-
-/*!
- * jQuery UI Menu 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/menu/
- */
-
-
-var menu = $.widget( "ui.menu", {
-	version: "1.11.4",
-	defaultElement: "<ul>",
-	delay: 300,
-	options: {
-		icons: {
-			submenu: "ui-icon-carat-1-e"
-		},
-		items: "> *",
-		menus: "ul",
-		position: {
-			my: "left-1 top",
-			at: "right top"
-		},
-		role: "menu",
-
-		// callbacks
-		blur: null,
-		focus: null,
-		select: null
-	},
-
-	_create: function() {
-		this.activeMenu = this.element;
-
-		// Flag used to prevent firing of the click handler
-		// as the event bubbles up through nested menus
-		this.mouseHandled = false;
-		this.element
-			.uniqueId()
-			.addClass( "ui-menu ui-widget ui-widget-content" )
-			.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length )
-			.attr({
-				role: this.options.role,
-				tabIndex: 0
-			});
-
-		if ( this.options.disabled ) {
-			this.element
-				.addClass( "ui-state-disabled" )
-				.attr( "aria-disabled", "true" );
-		}
-
-		this._on({
-			// Prevent focus from sticking to links inside menu after clicking
-			// them (focus should always stay on UL during navigation).
-			"mousedown .ui-menu-item": function( event ) {
-				event.preventDefault();
-			},
-			"click .ui-menu-item": function( event ) {
-				var target = $( event.target );
-				if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
-					this.select( event );
-
-					// Only set the mouseHandled flag if the event will bubble, see #9469.
-					if ( !event.isPropagationStopped() ) {
-						this.mouseHandled = true;
-					}
-
-					// Open submenu on click
-					if ( target.has( ".ui-menu" ).length ) {
-						this.expand( event );
-					} else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) {
-
-						// Redirect focus to the menu
-						this.element.trigger( "focus", [ true ] );
-
-						// If the active item is on the top level, let it stay active.
-						// Otherwise, blur the active item since it is no longer visible.
-						if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) {
-							clearTimeout( this.timer );
-						}
-					}
-				}
-			},
-			"mouseenter .ui-menu-item": function( event ) {
-				// Ignore mouse events while typeahead is active, see #10458.
-				// Prevents focusing the wrong item when typeahead causes a scroll while the mouse
-				// is over an item in the menu
-				if ( this.previousFilter ) {
-					return;
-				}
-				var target = $( event.currentTarget );
-				// Remove ui-state-active class from siblings of the newly focused menu item
-				// to avoid a jump caused by adjacent elements both having a class with a border
-				target.siblings( ".ui-state-active" ).removeClass( "ui-state-active" );
-				this.focus( event, target );
-			},
-			mouseleave: "collapseAll",
-			"mouseleave .ui-menu": "collapseAll",
-			focus: function( event, keepActiveItem ) {
-				// If there's already an active item, keep it active
-				// If not, activate the first item
-				var item = this.active || this.element.find( this.options.items ).eq( 0 );
-
-				if ( !keepActiveItem ) {
-					this.focus( event, item );
-				}
-			},
-			blur: function( event ) {
-				this._delay(function() {
-					if ( !$.contains( this.element[0], this.document[0].activeElement ) ) {
-						this.collapseAll( event );
-					}
-				});
-			},
-			keydown: "_keydown"
-		});
-
-		this.refresh();
-
-		// Clicks outside of a menu collapse any open menus
-		this._on( this.document, {
-			click: function( event ) {
-				if ( this._closeOnDocumentClick( event ) ) {
-					this.collapseAll( event );
-				}
-
-				// Reset the mouseHandled flag
-				this.mouseHandled = false;
-			}
-		});
-	},
-
-	_destroy: function() {
-		// Destroy (sub)menus
-		this.element
-			.removeAttr( "aria-activedescendant" )
-			.find( ".ui-menu" ).addBack()
-				.removeClass( "ui-menu ui-widget ui-widget-content ui-menu-icons ui-front" )
-				.removeAttr( "role" )
-				.removeAttr( "tabIndex" )
-				.removeAttr( "aria-labelledby" )
-				.removeAttr( "aria-expanded" )
-				.removeAttr( "aria-hidden" )
-				.removeAttr( "aria-disabled" )
-				.removeUniqueId()
-				.show();
-
-		// Destroy menu items
-		this.element.find( ".ui-menu-item" )
-			.removeClass( "ui-menu-item" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-disabled" )
-			.removeUniqueId()
-			.removeClass( "ui-state-hover" )
-			.removeAttr( "tabIndex" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-haspopup" )
-			.children().each( function() {
-				var elem = $( this );
-				if ( elem.data( "ui-menu-submenu-carat" ) ) {
-					elem.remove();
-				}
-			});
-
-		// Destroy menu dividers
-		this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
-	},
-
-	_keydown: function( event ) {
-		var match, prev, character, skip,
-			preventDefault = true;
-
-		switch ( event.keyCode ) {
-		case $.ui.keyCode.PAGE_UP:
-			this.previousPage( event );
-			break;
-		case $.ui.keyCode.PAGE_DOWN:
-			this.nextPage( event );
-			break;
-		case $.ui.keyCode.HOME:
-			this._move( "first", "first", event );
-			break;
-		case $.ui.keyCode.END:
-			this._move( "last", "last", event );
-			break;
-		case $.ui.keyCode.UP:
-			this.previous( event );
-			break;
-		case $.ui.keyCode.DOWN:
-			this.next( event );
-			break;
-		case $.ui.keyCode.LEFT:
-			this.collapse( event );
-			break;
-		case $.ui.keyCode.RIGHT:
-			if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
-				this.expand( event );
-			}
-			break;
-		case $.ui.keyCode.ENTER:
-		case $.ui.keyCode.SPACE:
-			this._activate( event );
-			break;
-		case $.ui.keyCode.ESCAPE:
-			this.collapse( event );
-			break;
-		default:
-			preventDefault = false;
-			prev = this.previousFilter || "";
-			character = String.fromCharCode( event.keyCode );
-			skip = false;
-
-			clearTimeout( this.filterTimer );
-
-			if ( character === prev ) {
-				skip = true;
-			} else {
-				character = prev + character;
-			}
-
-			match = this._filterMenuItems( character );
-			match = skip && match.index( this.active.next() ) !== -1 ?
-				this.active.nextAll( ".ui-menu-item" ) :
-				match;
-
-			// If no matches on the current filter, reset to the last character pressed
-			// to move down the menu to the first item that starts with that character
-			if ( !match.length ) {
-				character = String.fromCharCode( event.keyCode );
-				match = this._filterMenuItems( character );
-			}
-
-			if ( match.length ) {
-				this.focus( event, match );
-				this.previousFilter = character;
-				this.filterTimer = this._delay(function() {
-					delete this.previousFilter;
-				}, 1000 );
-			} else {
-				delete this.previousFilter;
-			}
-		}
-
-		if ( preventDefault ) {
-			event.preventDefault();
-		}
-	},
-
-	_activate: function( event ) {
-		if ( !this.active.is( ".ui-state-disabled" ) ) {
-			if ( this.active.is( "[aria-haspopup='true']" ) ) {
-				this.expand( event );
-			} else {
-				this.select( event );
-			}
-		}
-	},
-
-	refresh: function() {
-		var menus, items,
-			that = this,
-			icon = this.options.icons.submenu,
-			submenus = this.element.find( this.options.menus );
-
-		this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length );
-
-		// Initialize nested menus
-		submenus.filter( ":not(.ui-menu)" )
-			.addClass( "ui-menu ui-widget ui-widget-content ui-front" )
-			.hide()
-			.attr({
-				role: this.options.role,
-				"aria-hidden": "true",
-				"aria-expanded": "false"
-			})
-			.each(function() {
-				var menu = $( this ),
-					item = menu.parent(),
-					submenuCarat = $( "<span>" )
-						.addClass( "ui-menu-icon ui-icon " + icon )
-						.data( "ui-menu-submenu-carat", true );
-
-				item
-					.attr( "aria-haspopup", "true" )
-					.prepend( submenuCarat );
-				menu.attr( "aria-labelledby", item.attr( "id" ) );
-			});
-
-		menus = submenus.add( this.element );
-		items = menus.find( this.options.items );
-
-		// Initialize menu-items containing spaces and/or dashes only as dividers
-		items.not( ".ui-menu-item" ).each(function() {
-			var item = $( this );
-			if ( that._isDivider( item ) ) {
-				item.addClass( "ui-widget-content ui-menu-divider" );
-			}
-		});
-
-		// Don't refresh list items that are already adapted
-		items.not( ".ui-menu-item, .ui-menu-divider" )
-			.addClass( "ui-menu-item" )
-			.uniqueId()
-			.attr({
-				tabIndex: -1,
-				role: this._itemRole()
-			});
-
-		// Add aria-disabled attribute to any disabled menu item
-		items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
-
-		// If the active item has been removed, blur the menu
-		if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
-			this.blur();
-		}
-	},
-
-	_itemRole: function() {
-		return {
-			menu: "menuitem",
-			listbox: "option"
-		}[ this.options.role ];
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "icons" ) {
-			this.element.find( ".ui-menu-icon" )
-				.removeClass( this.options.icons.submenu )
-				.addClass( value.submenu );
-		}
-		if ( key === "disabled" ) {
-			this.element
-				.toggleClass( "ui-state-disabled", !!value )
-				.attr( "aria-disabled", value );
-		}
-		this._super( key, value );
-	},
-
-	focus: function( event, item ) {
-		var nested, focused;
-		this.blur( event, event && event.type === "focus" );
-
-		this._scrollIntoView( item );
-
-		this.active = item.first();
-		focused = this.active.addClass( "ui-state-focus" ).removeClass( "ui-state-active" );
-		// Only update aria-activedescendant if there's a role
-		// otherwise we assume focus is managed elsewhere
-		if ( this.options.role ) {
-			this.element.attr( "aria-activedescendant", focused.attr( "id" ) );
-		}
-
-		// Highlight active parent menu item, if any
-		this.active
-			.parent()
-			.closest( ".ui-menu-item" )
-			.addClass( "ui-state-active" );
-
-		if ( event && event.type === "keydown" ) {
-			this._close();
-		} else {
-			this.timer = this._delay(function() {
-				this._close();
-			}, this.delay );
-		}
-
-		nested = item.children( ".ui-menu" );
-		if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {
-			this._startOpening(nested);
-		}
-		this.activeMenu = item.parent();
-
-		this._trigger( "focus", event, { item: item } );
-	},
-
-	_scrollIntoView: function( item ) {
-		var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
-		if ( this._hasScroll() ) {
-			borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0;
-			paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0;
-			offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
-			scroll = this.activeMenu.scrollTop();
-			elementHeight = this.activeMenu.height();
-			itemHeight = item.outerHeight();
-
-			if ( offset < 0 ) {
-				this.activeMenu.scrollTop( scroll + offset );
-			} else if ( offset + itemHeight > elementHeight ) {
-				this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
-			}
-		}
-	},
-
-	blur: function( event, fromFocus ) {
-		if ( !fromFocus ) {
-			clearTimeout( this.timer );
-		}
-
-		if ( !this.active ) {
-			return;
-		}
-
-		this.active.removeClass( "ui-state-focus" );
-		this.active = null;
-
-		this._trigger( "blur", event, { item: this.active } );
-	},
-
-	_startOpening: function( submenu ) {
-		clearTimeout( this.timer );
-
-		// Don't open if already open fixes a Firefox bug that caused a .5 pixel
-		// shift in the submenu position when mousing over the carat icon
-		if ( submenu.attr( "aria-hidden" ) !== "true" ) {
-			return;
-		}
-
-		this.timer = this._delay(function() {
-			this._close();
-			this._open( submenu );
-		}, this.delay );
-	},
-
-	_open: function( submenu ) {
-		var position = $.extend({
-			of: this.active
-		}, this.options.position );
-
-		clearTimeout( this.timer );
-		this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) )
-			.hide()
-			.attr( "aria-hidden", "true" );
-
-		submenu
-			.show()
-			.removeAttr( "aria-hidden" )
-			.attr( "aria-expanded", "true" )
-			.position( position );
-	},
-
-	collapseAll: function( event, all ) {
-		clearTimeout( this.timer );
-		this.timer = this._delay(function() {
-			// If we were passed an event, look for the submenu that contains the event
-			var currentMenu = all ? this.element :
-				$( event && event.target ).closest( this.element.find( ".ui-menu" ) );
-
-			// If we found no valid submenu ancestor, use the main menu to close all sub menus anyway
-			if ( !currentMenu.length ) {
-				currentMenu = this.element;
-			}
-
-			this._close( currentMenu );
-
-			this.blur( event );
-			this.activeMenu = currentMenu;
-		}, this.delay );
-	},
-
-	// With no arguments, closes the currently active menu - if nothing is active
-	// it closes all menus.  If passed an argument, it will search for menus BELOW
-	_close: function( startMenu ) {
-		if ( !startMenu ) {
-			startMenu = this.active ? this.active.parent() : this.element;
-		}
-
-		startMenu
-			.find( ".ui-menu" )
-				.hide()
-				.attr( "aria-hidden", "true" )
-				.attr( "aria-expanded", "false" )
-			.end()
-			.find( ".ui-state-active" ).not( ".ui-state-focus" )
-				.removeClass( "ui-state-active" );
-	},
-
-	_closeOnDocumentClick: function( event ) {
-		return !$( event.target ).closest( ".ui-menu" ).length;
-	},
-
-	_isDivider: function( item ) {
-
-		// Match hyphen, em dash, en dash
-		return !/[^\-\u2014\u2013\s]/.test( item.text() );
-	},
-
-	collapse: function( event ) {
-		var newItem = this.active &&
-			this.active.parent().closest( ".ui-menu-item", this.element );
-		if ( newItem && newItem.length ) {
-			this._close();
-			this.focus( event, newItem );
-		}
-	},
-
-	expand: function( event ) {
-		var newItem = this.active &&
-			this.active
-				.children( ".ui-menu " )
-				.find( this.options.items )
-				.first();
-
-		if ( newItem && newItem.length ) {
-			this._open( newItem.parent() );
-
-			// Delay so Firefox will not hide activedescendant change in expanding submenu from AT
-			this._delay(function() {
-				this.focus( event, newItem );
-			});
-		}
-	},
-
-	next: function( event ) {
-		this._move( "next", "first", event );
-	},
-
-	previous: function( event ) {
-		this._move( "prev", "last", event );
-	},
-
-	isFirstItem: function() {
-		return this.active && !this.active.prevAll( ".ui-menu-item" ).length;
-	},
-
-	isLastItem: function() {
-		return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
-	},
-
-	_move: function( direction, filter, event ) {
-		var next;
-		if ( this.active ) {
-			if ( direction === "first" || direction === "last" ) {
-				next = this.active
-					[ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
-					.eq( -1 );
-			} else {
-				next = this.active
-					[ direction + "All" ]( ".ui-menu-item" )
-					.eq( 0 );
-			}
-		}
-		if ( !next || !next.length || !this.active ) {
-			next = this.activeMenu.find( this.options.items )[ filter ]();
-		}
-
-		this.focus( event, next );
-	},
-
-	nextPage: function( event ) {
-		var item, base, height;
-
-		if ( !this.active ) {
-			this.next( event );
-			return;
-		}
-		if ( this.isLastItem() ) {
-			return;
-		}
-		if ( this._hasScroll() ) {
-			base = this.active.offset().top;
-			height = this.element.height();
-			this.active.nextAll( ".ui-menu-item" ).each(function() {
-				item = $( this );
-				return item.offset().top - base - height < 0;
-			});
-
-			this.focus( event, item );
-		} else {
-			this.focus( event, this.activeMenu.find( this.options.items )
-				[ !this.active ? "first" : "last" ]() );
-		}
-	},
-
-	previousPage: function( event ) {
-		var item, base, height;
-		if ( !this.active ) {
-			this.next( event );
-			return;
-		}
-		if ( this.isFirstItem() ) {
-			return;
-		}
-		if ( this._hasScroll() ) {
-			base = this.active.offset().top;
-			height = this.element.height();
-			this.active.prevAll( ".ui-menu-item" ).each(function() {
-				item = $( this );
-				return item.offset().top - base + height > 0;
-			});
-
-			this.focus( event, item );
-		} else {
-			this.focus( event, this.activeMenu.find( this.options.items ).first() );
-		}
-	},
-
-	_hasScroll: function() {
-		return this.element.outerHeight() < this.element.prop( "scrollHeight" );
-	},
-
-	select: function( event ) {
-		// TODO: It should never be possible to not have an active item at this
-		// point, but the tests don't trigger mouseenter before click.
-		this.active = this.active || $( event.target ).closest( ".ui-menu-item" );
-		var ui = { item: this.active };
-		if ( !this.active.has( ".ui-menu" ).length ) {
-			this.collapseAll( event, true );
-		}
-		this._trigger( "select", event, ui );
-	},
-
-	_filterMenuItems: function(character) {
-		var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ),
-			regex = new RegExp( "^" + escapedCharacter, "i" );
-
-		return this.activeMenu
-			.find( this.options.items )
-
-			// Only match on items, not dividers or other content (#10571)
-			.filter( ".ui-menu-item" )
-			.filter(function() {
-				return regex.test( $.trim( $( this ).text() ) );
-			});
-	}
-});
-
-
-/*!
- * jQuery UI Autocomplete 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/autocomplete/
- */
-
-
-$.widget( "ui.autocomplete", {
-	version: "1.11.4",
-	defaultElement: "<input>",
-	options: {
-		appendTo: null,
-		autoFocus: false,
-		delay: 300,
-		minLength: 1,
-		position: {
-			my: "left top",
-			at: "left bottom",
-			collision: "none"
-		},
-		source: null,
-
-		// callbacks
-		change: null,
-		close: null,
-		focus: null,
-		open: null,
-		response: null,
-		search: null,
-		select: null
-	},
-
-	requestIndex: 0,
-	pending: 0,
-
-	_create: function() {
-		// Some browsers only repeat keydown events, not keypress events,
-		// so we use the suppressKeyPress flag to determine if we've already
-		// handled the keydown event. #7269
-		// Unfortunately the code for & in keypress is the same as the up arrow,
-		// so we use the suppressKeyPressRepeat flag to avoid handling keypress
-		// events when we know the keydown event was used to modify the
-		// search term. #7799
-		var suppressKeyPress, suppressKeyPressRepeat, suppressInput,
-			nodeName = this.element[ 0 ].nodeName.toLowerCase(),
-			isTextarea = nodeName === "textarea",
-			isInput = nodeName === "input";
-
-		this.isMultiLine =
-			// Textareas are always multi-line
-			isTextarea ? true :
-			// Inputs are always single-line, even if inside a contentEditable element
-			// IE also treats inputs as contentEditable
-			isInput ? false :
-			// All other element types are determined by whether or not they're contentEditable
-			this.element.prop( "isContentEditable" );
-
-		this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
-		this.isNewMenu = true;
-
-		this.element
-			.addClass( "ui-autocomplete-input" )
-			.attr( "autocomplete", "off" );
-
-		this._on( this.element, {
-			keydown: function( event ) {
-				if ( this.element.prop( "readOnly" ) ) {
-					suppressKeyPress = true;
-					suppressInput = true;
-					suppressKeyPressRepeat = true;
-					return;
-				}
-
-				suppressKeyPress = false;
-				suppressInput = false;
-				suppressKeyPressRepeat = false;
-				var keyCode = $.ui.keyCode;
-				switch ( event.keyCode ) {
-				case keyCode.PAGE_UP:
-					suppressKeyPress = true;
-					this._move( "previousPage", event );
-					break;
-				case keyCode.PAGE_DOWN:
-					suppressKeyPress = true;
-					this._move( "nextPage", event );
-					break;
-				case keyCode.UP:
-					suppressKeyPress = true;
-					this._keyEvent( "previous", event );
-					break;
-				case keyCode.DOWN:
-					suppressKeyPress = true;
-					this._keyEvent( "next", event );
-					break;
-				case keyCode.ENTER:
-					// when menu is open and has focus
-					if ( this.menu.active ) {
-						// #6055 - Opera still allows the keypress to occur
-						// which causes forms to submit
-						suppressKeyPress = true;
-						event.preventDefault();
-						this.menu.select( event );
-					}
-					break;
-				case keyCode.TAB:
-					if ( this.menu.active ) {
-						this.menu.select( event );
-					}
-					break;
-				case keyCode.ESCAPE:
-					if ( this.menu.element.is( ":visible" ) ) {
-						if ( !this.isMultiLine ) {
-							this._value( this.term );
-						}
-						this.close( event );
-						// Different browsers have different default behavior for escape
-						// Single press can mean undo or clear
-						// Double press in IE means clear the whole form
-						event.preventDefault();
-					}
-					break;
-				default:
-					suppressKeyPressRepeat = true;
-					// search timeout should be triggered before the input value is changed
-					this._searchTimeout( event );
-					break;
-				}
-			},
-			keypress: function( event ) {
-				if ( suppressKeyPress ) {
-					suppressKeyPress = false;
-					if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
-						event.preventDefault();
-					}
-					return;
-				}
-				if ( suppressKeyPressRepeat ) {
-					return;
-				}
-
-				// replicate some key handlers to allow them to repeat in Firefox and Opera
-				var keyCode = $.ui.keyCode;
-				switch ( event.keyCode ) {
-				case keyCode.PAGE_UP:
-					this._move( "previousPage", event );
-					break;
-				case keyCode.PAGE_DOWN:
-					this._move( "nextPage", event );
-					break;
-				case keyCode.UP:
-					this._keyEvent( "previous", event );
-					break;
-				case keyCode.DOWN:
-					this._keyEvent( "next", event );
-					break;
-				}
-			},
-			input: function( event ) {
-				if ( suppressInput ) {
-					suppressInput = false;
-					event.preventDefault();
-					return;
-				}
-				this._searchTimeout( event );
-			},
-			focus: function() {
-				this.selectedItem = null;
-				this.previous = this._value();
-			},
-			blur: function( event ) {
-				if ( this.cancelBlur ) {
-					delete this.cancelBlur;
-					return;
-				}
-
-				clearTimeout( this.searching );
-				this.close( event );
-				this._change( event );
-			}
-		});
-
-		this._initSource();
-		this.menu = $( "<ul>" )
-			.addClass( "ui-autocomplete ui-front" )
-			.appendTo( this._appendTo() )
-			.menu({
-				// disable ARIA support, the live region takes care of that
-				role: null
-			})
-			.hide()
-			.menu( "instance" );
-
-		this._on( this.menu.element, {
-			mousedown: function( event ) {
-				// prevent moving focus out of the text field
-				event.preventDefault();
-
-				// IE doesn't prevent moving focus even with event.preventDefault()
-				// so we set a flag to know when we should ignore the blur event
-				this.cancelBlur = true;
-				this._delay(function() {
-					delete this.cancelBlur;
-				});
-
-				// clicking on the scrollbar causes focus to shift to the body
-				// but we can't detect a mouseup or a click immediately afterward
-				// so we have to track the next mousedown and close the menu if
-				// the user clicks somewhere outside of the autocomplete
-				var menuElement = this.menu.element[ 0 ];
-				if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {
-					this._delay(function() {
-						var that = this;
-						this.document.one( "mousedown", function( event ) {
-							if ( event.target !== that.element[ 0 ] &&
-									event.target !== menuElement &&
-									!$.contains( menuElement, event.target ) ) {
-								that.close();
-							}
-						});
-					});
-				}
-			},
-			menufocus: function( event, ui ) {
-				var label, item;
-				// support: Firefox
-				// Prevent accidental activation of menu items in Firefox (#7024 #9118)
-				if ( this.isNewMenu ) {
-					this.isNewMenu = false;
-					if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {
-						this.menu.blur();
-
-						this.document.one( "mousemove", function() {
-							$( event.target ).trigger( event.originalEvent );
-						});
-
-						return;
-					}
-				}
-
-				item = ui.item.data( "ui-autocomplete-item" );
-				if ( false !== this._trigger( "focus", event, { item: item } ) ) {
-					// use value to match what will end up in the input, if it was a key event
-					if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {
-						this._value( item.value );
-					}
-				}
-
-				// Announce the value in the liveRegion
-				label = ui.item.attr( "aria-label" ) || item.value;
-				if ( label && $.trim( label ).length ) {
-					this.liveRegion.children().hide();
-					$( "<div>" ).text( label ).appendTo( this.liveRegion );
-				}
-			},
-			menuselect: function( event, ui ) {
-				var item = ui.item.data( "ui-autocomplete-item" ),
-					previous = this.previous;
-
-				// only trigger when focus was lost (click on menu)
-				if ( this.element[ 0 ] !== this.document[ 0 ].activeElement ) {
-					this.element.focus();
-					this.previous = previous;
-					// #6109 - IE triggers two focus events and the second
-					// is asynchronous, so we need to reset the previous
-					// term synchronously and asynchronously :-(
-					this._delay(function() {
-						this.previous = previous;
-						this.selectedItem = item;
-					});
-				}
-
-				if ( false !== this._trigger( "select", event, { item: item } ) ) {
-					this._value( item.value );
-				}
-				// reset the term after the select event
-				// this allows custom select handling to work properly
-				this.term = this._value();
-
-				this.close( event );
-				this.selectedItem = item;
-			}
-		});
-
-		this.liveRegion = $( "<span>", {
-				role: "status",
-				"aria-live": "assertive",
-				"aria-relevant": "additions"
-			})
-			.addClass( "ui-helper-hidden-accessible" )
-			.appendTo( this.document[ 0 ].body );
-
-		// turning off autocomplete prevents the browser from remembering the
-		// value when navigating through history, so we re-enable autocomplete
-		// if the page is unloaded before the widget is destroyed. #7790
-		this._on( this.window, {
-			beforeunload: function() {
-				this.element.removeAttr( "autocomplete" );
-			}
-		});
-	},
-
-	_destroy: function() {
-		clearTimeout( this.searching );
-		this.element
-			.removeClass( "ui-autocomplete-input" )
-			.removeAttr( "autocomplete" );
-		this.menu.element.remove();
-		this.liveRegion.remove();
-	},
-
-	_setOption: function( key, value ) {
-		this._super( key, value );
-		if ( key === "source" ) {
-			this._initSource();
-		}
-		if ( key === "appendTo" ) {
-			this.menu.element.appendTo( this._appendTo() );
-		}
-		if ( key === "disabled" && value && this.xhr ) {
-			this.xhr.abort();
-		}
-	},
-
-	_appendTo: function() {
-		var element = this.options.appendTo;
-
-		if ( element ) {
-			element = element.jquery || element.nodeType ?
-				$( element ) :
-				this.document.find( element ).eq( 0 );
-		}
-
-		if ( !element || !element[ 0 ] ) {
-			element = this.element.closest( ".ui-front" );
-		}
-
-		if ( !element.length ) {
-			element = this.document[ 0 ].body;
-		}
-
-		return element;
-	},
-
-	_initSource: function() {
-		var array, url,
-			that = this;
-		if ( $.isArray( this.options.source ) ) {
-			array = this.options.source;
-			this.source = function( request, response ) {
-				response( $.ui.autocomplete.filter( array, request.term ) );
-			};
-		} else if ( typeof this.options.source === "string" ) {
-			url = this.options.source;
-			this.source = function( request, response ) {
-				if ( that.xhr ) {
-					that.xhr.abort();
-				}
-				that.xhr = $.ajax({
-					url: url,
-					data: request,
-					dataType: "json",
-					success: function( data ) {
-						response( data );
-					},
-					error: function() {
-						response([]);
-					}
-				});
-			};
-		} else {
-			this.source = this.options.source;
-		}
-	},
-
-	_searchTimeout: function( event ) {
-		clearTimeout( this.searching );
-		this.searching = this._delay(function() {
-
-			// Search if the value has changed, or if the user retypes the same value (see #7434)
-			var equalValues = this.term === this._value(),
-				menuVisible = this.menu.element.is( ":visible" ),
-				modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;
-
-			if ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) {
-				this.selectedItem = null;
-				this.search( null, event );
-			}
-		}, this.options.delay );
-	},
-
-	search: function( value, event ) {
-		value = value != null ? value : this._value();
-
-		// always save the actual value, not the one passed as an argument
-		this.term = this._value();
-
-		if ( value.length < this.options.minLength ) {
-			return this.close( event );
-		}
-
-		if ( this._trigger( "search", event ) === false ) {
-			return;
-		}
-
-		return this._search( value );
-	},
-
-	_search: function( value ) {
-		this.pending++;
-		this.element.addClass( "ui-autocomplete-loading" );
-		this.cancelSearch = false;
-
-		this.source( { term: value }, this._response() );
-	},
-
-	_response: function() {
-		var index = ++this.requestIndex;
-
-		return $.proxy(function( content ) {
-			if ( index === this.requestIndex ) {
-				this.__response( content );
-			}
-
-			this.pending--;
-			if ( !this.pending ) {
-				this.element.removeClass( "ui-autocomplete-loading" );
-			}
-		}, this );
-	},
-
-	__response: function( content ) {
-		if ( content ) {
-			content = this._normalize( content );
-		}
-		this._trigger( "response", null, { content: content } );
-		if ( !this.options.disabled && content && content.length && !this.cancelSearch ) {
-			this._suggest( content );
-			this._trigger( "open" );
-		} else {
-			// use ._close() instead of .close() so we don't cancel future searches
-			this._close();
-		}
-	},
-
-	close: function( event ) {
-		this.cancelSearch = true;
-		this._close( event );
-	},
-
-	_close: function( event ) {
-		if ( this.menu.element.is( ":visible" ) ) {
-			this.menu.element.hide();
-			this.menu.blur();
-			this.isNewMenu = true;
-			this._trigger( "close", event );
-		}
-	},
-
-	_change: function( event ) {
-		if ( this.previous !== this._value() ) {
-			this._trigger( "change", event, { item: this.selectedItem } );
-		}
-	},
-
-	_normalize: function( items ) {
-		// assume all items have the right format when the first item is complete
-		if ( items.length && items[ 0 ].label && items[ 0 ].value ) {
-			return items;
-		}
-		return $.map( items, function( item ) {
-			if ( typeof item === "string" ) {
-				return {
-					label: item,
-					value: item
-				};
-			}
-			return $.extend( {}, item, {
-				label: item.label || item.value,
-				value: item.value || item.label
-			});
-		});
-	},
-
-	_suggest: function( items ) {
-		var ul = this.menu.element.empty();
-		this._renderMenu( ul, items );
-		this.isNewMenu = true;
-		this.menu.refresh();
-
-		// size and position menu
-		ul.show();
-		this._resizeMenu();
-		ul.position( $.extend({
-			of: this.element
-		}, this.options.position ) );
-
-		if ( this.options.autoFocus ) {
-			this.menu.next();
-		}
-	},
-
-	_resizeMenu: function() {
-		var ul = this.menu.element;
-		ul.outerWidth( Math.max(
-			// Firefox wraps long text (possibly a rounding bug)
-			// so we add 1px to avoid the wrapping (#7513)
-			ul.width( "" ).outerWidth() + 1,
-			this.element.outerWidth()
-		) );
-	},
-
-	_renderMenu: function( ul, items ) {
-		var that = this;
-		$.each( items, function( index, item ) {
-			that._renderItemData( ul, item );
-		});
-	},
-
-	_renderItemData: function( ul, item ) {
-		return this._renderItem( ul, item ).data( "ui-autocomplete-item", item );
-	},
-
-	_renderItem: function( ul, item ) {
-		return $( "<li>" ).text( item.label ).appendTo( ul );
-	},
-
-	_move: function( direction, event ) {
-		if ( !this.menu.element.is( ":visible" ) ) {
-			this.search( null, event );
-			return;
-		}
-		if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
-				this.menu.isLastItem() && /^next/.test( direction ) ) {
-
-			if ( !this.isMultiLine ) {
-				this._value( this.term );
-			}
-
-			this.menu.blur();
-			return;
-		}
-		this.menu[ direction ]( event );
-	},
-
-	widget: function() {
-		return this.menu.element;
-	},
-
-	_value: function() {
-		return this.valueMethod.apply( this.element, arguments );
-	},
-
-	_keyEvent: function( keyEvent, event ) {
-		if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
-			this._move( keyEvent, event );
-
-			// prevents moving cursor to beginning/end of the text field in some browsers
-			event.preventDefault();
-		}
-	}
-});
-
-$.extend( $.ui.autocomplete, {
-	escapeRegex: function( value ) {
-		return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
-	},
-	filter: function( array, term ) {
-		var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" );
-		return $.grep( array, function( value ) {
-			return matcher.test( value.label || value.value || value );
-		});
-	}
-});
-
-// live region extension, adding a `messages` option
-// NOTE: This is an experimental API. We are still investigating
-// a full solution for string manipulation and internationalization.
-$.widget( "ui.autocomplete", $.ui.autocomplete, {
-	options: {
-		messages: {
-			noResults: "No search results.",
-			results: function( amount ) {
-				return amount + ( amount > 1 ? " results are" : " result is" ) +
-					" available, use up and down arrow keys to navigate.";
-			}
-		}
-	},
-
-	__response: function( content ) {
-		var message;
-		this._superApply( arguments );
-		if ( this.options.disabled || this.cancelSearch ) {
-			return;
-		}
-		if ( content && content.length ) {
-			message = this.options.messages.results( content.length );
-		} else {
-			message = this.options.messages.noResults;
-		}
-		this.liveRegion.children().hide();
-		$( "<div>" ).text( message ).appendTo( this.liveRegion );
-	}
-});
-
-var autocomplete = $.ui.autocomplete;
-
-
-/*!
- * jQuery UI Button 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/button/
- */
-
-
-var lastActive,
-	baseClasses = "ui-button ui-widget ui-state-default ui-corner-all",
-	typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
-	formResetHandler = function() {
-		var form = $( this );
-		setTimeout(function() {
-			form.find( ":ui-button" ).button( "refresh" );
-		}, 1 );
-	},
-	radioGroup = function( radio ) {
-		var name = radio.name,
-			form = radio.form,
-			radios = $( [] );
-		if ( name ) {
-			name = name.replace( /'/g, "\\'" );
-			if ( form ) {
-				radios = $( form ).find( "[name='" + name + "'][type=radio]" );
-			} else {
-				radios = $( "[name='" + name + "'][type=radio]", radio.ownerDocument )
-					.filter(function() {
-						return !this.form;
-					});
-			}
-		}
-		return radios;
-	};
-
-$.widget( "ui.button", {
-	version: "1.11.4",
-	defaultElement: "<button>",
-	options: {
-		disabled: null,
-		text: true,
-		label: null,
-		icons: {
-			primary: null,
-			secondary: null
-		}
-	},
-	_create: function() {
-		this.element.closest( "form" )
-			.unbind( "reset" + this.eventNamespace )
-			.bind( "reset" + this.eventNamespace, formResetHandler );
-
-		if ( typeof this.options.disabled !== "boolean" ) {
-			this.options.disabled = !!this.element.prop( "disabled" );
-		} else {
-			this.element.prop( "disabled", this.options.disabled );
-		}
-
-		this._determineButtonType();
-		this.hasTitle = !!this.buttonElement.attr( "title" );
-
-		var that = this,
-			options = this.options,
-			toggleButton = this.type === "checkbox" || this.type === "radio",
-			activeClass = !toggleButton ? "ui-state-active" : "";
-
-		if ( options.label === null ) {
-			options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html());
-		}
-
-		this._hoverable( this.buttonElement );
-
-		this.buttonElement
-			.addClass( baseClasses )
-			.attr( "role", "button" )
-			.bind( "mouseenter" + this.eventNamespace, function() {
-				if ( options.disabled ) {
-					return;
-				}
-				if ( this === lastActive ) {
-					$( this ).addClass( "ui-state-active" );
-				}
-			})
-			.bind( "mouseleave" + this.eventNamespace, function() {
-				if ( options.disabled ) {
-					return;
-				}
-				$( this ).removeClass( activeClass );
-			})
-			.bind( "click" + this.eventNamespace, function( event ) {
-				if ( options.disabled ) {
-					event.preventDefault();
-					event.stopImmediatePropagation();
-				}
-			});
-
-		// Can't use _focusable() because the element that receives focus
-		// and the element that gets the ui-state-focus class are different
-		this._on({
-			focus: function() {
-				this.buttonElement.addClass( "ui-state-focus" );
-			},
-			blur: function() {
-				this.buttonElement.removeClass( "ui-state-focus" );
-			}
-		});
-
-		if ( toggleButton ) {
-			this.element.bind( "change" + this.eventNamespace, function() {
-				that.refresh();
-			});
-		}
-
-		if ( this.type === "checkbox" ) {
-			this.buttonElement.bind( "click" + this.eventNamespace, function() {
-				if ( options.disabled ) {
-					return false;
-				}
-			});
-		} else if ( this.type === "radio" ) {
-			this.buttonElement.bind( "click" + this.eventNamespace, function() {
-				if ( options.disabled ) {
-					return false;
-				}
-				$( this ).addClass( "ui-state-active" );
-				that.buttonElement.attr( "aria-pressed", "true" );
-
-				var radio = that.element[ 0 ];
-				radioGroup( radio )
-					.not( radio )
-					.map(function() {
-						return $( this ).button( "widget" )[ 0 ];
-					})
-					.removeClass( "ui-state-active" )
-					.attr( "aria-pressed", "false" );
-			});
-		} else {
-			this.buttonElement
-				.bind( "mousedown" + this.eventNamespace, function() {
-					if ( options.disabled ) {
-						return false;
-					}
-					$( this ).addClass( "ui-state-active" );
-					lastActive = this;
-					that.document.one( "mouseup", function() {
-						lastActive = null;
-					});
-				})
-				.bind( "mouseup" + this.eventNamespace, function() {
-					if ( options.disabled ) {
-						return false;
-					}
-					$( this ).removeClass( "ui-state-active" );
-				})
-				.bind( "keydown" + this.eventNamespace, function(event) {
-					if ( options.disabled ) {
-						return false;
-					}
-					if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {
-						$( this ).addClass( "ui-state-active" );
-					}
-				})
-				// see #8559, we bind to blur here in case the button element loses
-				// focus between keydown and keyup, it would be left in an "active" state
-				.bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() {
-					$( this ).removeClass( "ui-state-active" );
-				});
-
-			if ( this.buttonElement.is("a") ) {
-				this.buttonElement.keyup(function(event) {
-					if ( event.keyCode === $.ui.keyCode.SPACE ) {
-						// TODO pass through original event correctly (just as 2nd argument doesn't work)
-						$( this ).click();
-					}
-				});
-			}
-		}
-
-		this._setOption( "disabled", options.disabled );
-		this._resetButton();
-	},
-
-	_determineButtonType: function() {
-		var ancestor, labelSelector, checked;
-
-		if ( this.element.is("[type=checkbox]") ) {
-			this.type = "checkbox";
-		} else if ( this.element.is("[type=radio]") ) {
-			this.type = "radio";
-		} else if ( this.element.is("input") ) {
-			this.type = "input";
-		} else {
-			this.type = "button";
-		}
-
-		if ( this.type === "checkbox" || this.type === "radio" ) {
-			// we don't search against the document in case the element
-			// is disconnected from the DOM
-			ancestor = this.element.parents().last();
-			labelSelector = "label[for='" + this.element.attr("id") + "']";
-			this.buttonElement = ancestor.find( labelSelector );
-			if ( !this.buttonElement.length ) {
-				ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();
-				this.buttonElement = ancestor.filter( labelSelector );
-				if ( !this.buttonElement.length ) {
-					this.buttonElement = ancestor.find( labelSelector );
-				}
-			}
-			this.element.addClass( "ui-helper-hidden-accessible" );
-
-			checked = this.element.is( ":checked" );
-			if ( checked ) {
-				this.buttonElement.addClass( "ui-state-active" );
-			}
-			this.buttonElement.prop( "aria-pressed", checked );
-		} else {
-			this.buttonElement = this.element;
-		}
-	},
-
-	widget: function() {
-		return this.buttonElement;
-	},
-
-	_destroy: function() {
-		this.element
-			.removeClass( "ui-helper-hidden-accessible" );
-		this.buttonElement
-			.removeClass( baseClasses + " ui-state-active " + typeClasses )
-			.removeAttr( "role" )
-			.removeAttr( "aria-pressed" )
-			.html( this.buttonElement.find(".ui-button-text").html() );
-
-		if ( !this.hasTitle ) {
-			this.buttonElement.removeAttr( "title" );
-		}
-	},
-
-	_setOption: function( key, value ) {
-		this._super( key, value );
-		if ( key === "disabled" ) {
-			this.widget().toggleClass( "ui-state-disabled", !!value );
-			this.element.prop( "disabled", !!value );
-			if ( value ) {
-				if ( this.type === "checkbox" || this.type === "radio" ) {
-					this.buttonElement.removeClass( "ui-state-focus" );
-				} else {
-					this.buttonElement.removeClass( "ui-state-focus ui-state-active" );
-				}
-			}
-			return;
-		}
-		this._resetButton();
-	},
-
-	refresh: function() {
-		//See #8237 & #8828
-		var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" );
-
-		if ( isDisabled !== this.options.disabled ) {
-			this._setOption( "disabled", isDisabled );
-		}
-		if ( this.type === "radio" ) {
-			radioGroup( this.element[0] ).each(function() {
-				if ( $( this ).is( ":checked" ) ) {
-					$( this ).button( "widget" )
-						.addClass( "ui-state-active" )
-						.attr( "aria-pressed", "true" );
-				} else {
-					$( this ).button( "widget" )
-						.removeClass( "ui-state-active" )
-						.attr( "aria-pressed", "false" );
-				}
-			});
-		} else if ( this.type === "checkbox" ) {
-			if ( this.element.is( ":checked" ) ) {
-				this.buttonElement
-					.addClass( "ui-state-active" )
-					.attr( "aria-pressed", "true" );
-			} else {
-				this.buttonElement
-					.removeClass( "ui-state-active" )
-					.attr( "aria-pressed", "false" );
-			}
-		}
-	},
-
-	_resetButton: function() {
-		if ( this.type === "input" ) {
-			if ( this.options.label ) {
-				this.element.val( this.options.label );
-			}
-			return;
-		}
-		var buttonElement = this.buttonElement.removeClass( typeClasses ),
-			buttonText = $( "<span></span>", this.document[0] )
-				.addClass( "ui-button-text" )
-				.html( this.options.label )
-				.appendTo( buttonElement.empty() )
-				.text(),
-			icons = this.options.icons,
-			multipleIcons = icons.primary && icons.secondary,
-			buttonClasses = [];
-
-		if ( icons.primary || icons.secondary ) {
-			if ( this.options.text ) {
-				buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
-			}
-
-			if ( icons.primary ) {
-				buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" );
-			}
-
-			if ( icons.secondary ) {
-				buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" );
-			}
-
-			if ( !this.options.text ) {
-				buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
-
-				if ( !this.hasTitle ) {
-					buttonElement.attr( "title", $.trim( buttonText ) );
-				}
-			}
-		} else {
-			buttonClasses.push( "ui-button-text-only" );
-		}
-		buttonElement.addClass( buttonClasses.join( " " ) );
-	}
-});
-
-$.widget( "ui.buttonset", {
-	version: "1.11.4",
-	options: {
-		items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
-	},
-
-	_create: function() {
-		this.element.addClass( "ui-buttonset" );
-	},
-
-	_init: function() {
-		this.refresh();
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "disabled" ) {
-			this.buttons.button( "option", key, value );
-		}
-
-		this._super( key, value );
-	},
-
-	refresh: function() {
-		var rtl = this.element.css( "direction" ) === "rtl",
-			allButtons = this.element.find( this.options.items ),
-			existingButtons = allButtons.filter( ":ui-button" );
-
-		// Initialize new buttons
-		allButtons.not( ":ui-button" ).button();
-
-		// Refresh existing buttons
-		existingButtons.button( "refresh" );
-
-		this.buttons = allButtons
-			.map(function() {
-				return $( this ).button( "widget" )[ 0 ];
-			})
-				.removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
-				.filter( ":first" )
-					.addClass( rtl ? "ui-corner-right" : "ui-corner-left" )
-				.end()
-				.filter( ":last" )
-					.addClass( rtl ? "ui-corner-left" : "ui-corner-right" )
-				.end()
-			.end();
-	},
-
-	_destroy: function() {
-		this.element.removeClass( "ui-buttonset" );
-		this.buttons
-			.map(function() {
-				return $( this ).button( "widget" )[ 0 ];
-			})
-				.removeClass( "ui-corner-left ui-corner-right" )
-			.end()
-			.button( "destroy" );
-	}
-});
-
-var button = $.ui.button;
-
-
-/*!
- * jQuery UI Datepicker 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/datepicker/
- */
-
-
-$.extend($.ui, { datepicker: { version: "1.11.4" } });
-
-var datepicker_instActive;
-
-function datepicker_getZindex( elem ) {
-	var position, value;
-	while ( elem.length && elem[ 0 ] !== document ) {
-		// Ignore z-index if position is set to a value where z-index is ignored by the browser
-		// This makes behavior of this function consistent across browsers
-		// WebKit always returns auto if the element is positioned
-		position = elem.css( "position" );
-		if ( position === "absolute" || position === "relative" || position === "fixed" ) {
-			// IE returns 0 when zIndex is not specified
-			// other browsers return a string
-			// we ignore the case of nested elements with an explicit value of 0
-			// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
-			value = parseInt( elem.css( "zIndex" ), 10 );
-			if ( !isNaN( value ) && value !== 0 ) {
-				return value;
-			}
-		}
-		elem = elem.parent();
-	}
-
-	return 0;
-}
-/* Date picker manager.
-   Use the singleton instance of this class, $.datepicker, to interact with the date picker.
-   Settings for (groups of) date pickers are maintained in an instance object,
-   allowing multiple different settings on the same page. */
-
-function Datepicker() {
-	this._curInst = null; // The current instance in use
-	this._keyEvent = false; // If the last event was a key event
-	this._disabledInputs = []; // List of date picker inputs that have been disabled
-	this._datepickerShowing = false; // True if the popup picker is showing , false if not
-	this._inDialog = false; // True if showing within a "dialog", false if not
-	this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division
-	this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class
-	this._appendClass = "ui-datepicker-append"; // The name of the append marker class
-	this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class
-	this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class
-	this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class
-	this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class
-	this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class
-	this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class
-	this.regional = []; // Available regional settings, indexed by language code
-	this.regional[""] = { // Default regional settings
-		closeText: "Done", // Display text for close link
-		prevText: "Prev", // Display text for previous month link
-		nextText: "Next", // Display text for next month link
-		currentText: "Today", // Display text for current month link
-		monthNames: ["January","February","March","April","May","June",
-			"July","August","September","October","November","December"], // Names of months for drop-down and formatting
-		monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting
-		dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting
-		dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting
-		dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday
-		weekHeader: "Wk", // Column header for week of the year
-		dateFormat: "mm/dd/yy", // See format options on parseDate
-		firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...
-		isRTL: false, // True if right-to-left language, false if left-to-right
-		showMonthAfterYear: false, // True if the year select precedes month, false for month then year
-		yearSuffix: "" // Additional text to append to the year in the month headers
-	};
-	this._defaults = { // Global defaults for all the date picker instances
-		showOn: "focus", // "focus" for popup on focus,
-			// "button" for trigger button, or "both" for either
-		showAnim: "fadeIn", // Name of jQuery animation for popup
-		showOptions: {}, // Options for enhanced animations
-		defaultDate: null, // Used when field is blank: actual date,
-			// +/-number for offset from today, null for today
-		appendText: "", // Display text following the input box, e.g. showing the format
-		buttonText: "...", // Text for trigger button
-		buttonImage: "", // URL for trigger button image
-		buttonImageOnly: false, // True if the image appears alone, false if it appears on a button
-		hideIfNoPrevNext: false, // True to hide next/previous month links
-			// if not applicable, false to just disable them
-		navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links
-		gotoCurrent: false, // True if today link goes back to current selection instead
-		changeMonth: false, // True if month can be selected directly, false if only prev/next
-		changeYear: false, // True if year can be selected directly, false if only prev/next
-		yearRange: "c-10:c+10", // Range of years to display in drop-down,
-			// either relative to today's year (-nn:+nn), relative to currently displayed year
-			// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)
-		showOtherMonths: false, // True to show dates in other months, false to leave blank
-		selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable
-		showWeek: false, // True to show week of the year, false to not show it
-		calculateWeek: this.iso8601Week, // How to calculate the week of the year,
-			// takes a Date and returns the number of the week for it
-		shortYearCutoff: "+10", // Short year values < this are in the current century,
-			// > this are in the previous century,
-			// string value starting with "+" for current year + value
-		minDate: null, // The earliest selectable date, or null for no limit
-		maxDate: null, // The latest selectable date, or null for no limit
-		duration: "fast", // Duration of display/closure
-		beforeShowDay: null, // Function that takes a date and returns an array with
-			// [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "",
-			// [2] = cell title (optional), e.g. $.datepicker.noWeekends
-		beforeShow: null, // Function that takes an input field and
-			// returns a set of custom settings for the date picker
-		onSelect: null, // Define a callback function when a date is selected
-		onChangeMonthYear: null, // Define a callback function when the month or year is changed
-		onClose: null, // Define a callback function when the datepicker is closed
-		numberOfMonths: 1, // Number of months to show at a time
-		showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)
-		stepMonths: 1, // Number of months to step back/forward
-		stepBigMonths: 12, // Number of months to step back/forward for the big links
-		altField: "", // Selector for an alternate field to store selected dates into
-		altFormat: "", // The date format to use for the alternate field
-		constrainInput: true, // The input is constrained by the current date format
-		showButtonPanel: false, // True to show button panel, false to not show it
-		autoSize: false, // True to size the input for the date format, false to leave as is
-		disabled: false // The initial disabled state
-	};
-	$.extend(this._defaults, this.regional[""]);
-	this.regional.en = $.extend( true, {}, this.regional[ "" ]);
-	this.regional[ "en-US" ] = $.extend( true, {}, this.regional.en );
-	this.dpDiv = datepicker_bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"));
-}
-
-$.extend(Datepicker.prototype, {
-	/* Class name added to elements to indicate already configured with a date picker. */
-	markerClassName: "hasDatepicker",
-
-	//Keep track of the maximum number of rows displayed (see #7043)
-	maxRows: 4,
-
-	// TODO rename to "widget" when switching to widget factory
-	_widgetDatepicker: function() {
-		return this.dpDiv;
-	},
-
-	/* Override the default settings for all instances of the date picker.
-	 * @param  settings  object - the new settings to use as defaults (anonymous object)
-	 * @return the manager object
-	 */
-	setDefaults: function(settings) {
-		datepicker_extendRemove(this._defaults, settings || {});
-		return this;
-	},
-
-	/* Attach the date picker to a jQuery selection.
-	 * @param  target	element - the target input field or division or span
-	 * @param  settings  object - the new settings to use for this date picker instance (anonymous)
-	 */
-	_attachDatepicker: function(target, settings) {
-		var nodeName, inline, inst;
-		nodeName = target.nodeName.toLowerCase();
-		inline = (nodeName === "div" || nodeName === "span");
-		if (!target.id) {
-			this.uuid += 1;
-			target.id = "dp" + this.uuid;
-		}
-		inst = this._newInst($(target), inline);
-		inst.settings = $.extend({}, settings || {});
-		if (nodeName === "input") {
-			this._connectDatepicker(target, inst);
-		} else if (inline) {
-			this._inlineDatepicker(target, inst);
-		}
-	},
-
-	/* Create a new instance object. */
-	_newInst: function(target, inline) {
-		var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars
-		return {id: id, input: target, // associated target
-			selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection
-			drawMonth: 0, drawYear: 0, // month being drawn
-			inline: inline, // is datepicker inline or not
-			dpDiv: (!inline ? this.dpDiv : // presentation div
-			datepicker_bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))};
-	},
-
-	/* Attach the date picker to an input field. */
-	_connectDatepicker: function(target, inst) {
-		var input = $(target);
-		inst.append = $([]);
-		inst.trigger = $([]);
-		if (input.hasClass(this.markerClassName)) {
-			return;
-		}
-		this._attachments(input, inst);
-		input.addClass(this.markerClassName).keydown(this._doKeyDown).
-			keypress(this._doKeyPress).keyup(this._doKeyUp);
-		this._autoSize(inst);
-		$.data(target, "datepicker", inst);
-		//If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)
-		if( inst.settings.disabled ) {
-			this._disableDatepicker( target );
-		}
-	},
-
-	/* Make attachments based on settings. */
-	_attachments: function(input, inst) {
-		var showOn, buttonText, buttonImage,
-			appendText = this._get(inst, "appendText"),
-			isRTL = this._get(inst, "isRTL");
-
-		if (inst.append) {
-			inst.append.remove();
-		}
-		if (appendText) {
-			inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
-			input[isRTL ? "before" : "after"](inst.append);
-		}
-
-		input.unbind("focus", this._showDatepicker);
-
-		if (inst.trigger) {
-			inst.trigger.remove();
-		}
-
-		showOn = this._get(inst, "showOn");
-		if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field
-			input.focus(this._showDatepicker);
-		}
-		if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked
-			buttonText = this._get(inst, "buttonText");
-			buttonImage = this._get(inst, "buttonImage");
-			inst.trigger = $(this._get(inst, "buttonImageOnly") ?
-				$("<img/>").addClass(this._triggerClass).
-					attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
-				$("<button type='button'></button>").addClass(this._triggerClass).
-					html(!buttonImage ? buttonText : $("<img/>").attr(
-					{ src:buttonImage, alt:buttonText, title:buttonText })));
-			input[isRTL ? "before" : "after"](inst.trigger);
-			inst.trigger.click(function() {
-				if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {
-					$.datepicker._hideDatepicker();
-				} else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {
-					$.datepicker._hideDatepicker();
-					$.datepicker._showDatepicker(input[0]);
-				} else {
-					$.datepicker._showDatepicker(input[0]);
-				}
-				return false;
-			});
-		}
-	},
-
-	/* Apply the maximum length for the date format. */
-	_autoSize: function(inst) {
-		if (this._get(inst, "autoSize") && !inst.inline) {
-			var findMax, max, maxI, i,
-				date = new Date(2009, 12 - 1, 20), // Ensure double digits
-				dateFormat = this._get(inst, "dateFormat");
-
-			if (dateFormat.match(/[DM]/)) {
-				findMax = function(names) {
-					max = 0;
-					maxI = 0;
-					for (i = 0; i < names.length; i++) {
-						if (names[i].length > max) {
-							max = names[i].length;
-							maxI = i;
-						}
-					}
-					return maxI;
-				};
-				date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?
-					"monthNames" : "monthNamesShort"))));
-				date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?
-					"dayNames" : "dayNamesShort"))) + 20 - date.getDay());
-			}
-			inst.input.attr("size", this._formatDate(inst, date).length);
-		}
-	},
-
-	/* Attach an inline date picker to a div. */
-	_inlineDatepicker: function(target, inst) {
-		var divSpan = $(target);
-		if (divSpan.hasClass(this.markerClassName)) {
-			return;
-		}
-		divSpan.addClass(this.markerClassName).append(inst.dpDiv);
-		$.data(target, "datepicker", inst);
-		this._setDate(inst, this._getDefaultDate(inst), true);
-		this._updateDatepicker(inst);
-		this._updateAlternate(inst);
-		//If disabled option is true, disable the datepicker before showing it (see ticket #5665)
-		if( inst.settings.disabled ) {
-			this._disableDatepicker( target );
-		}
-		// Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements
-		// http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height
-		inst.dpDiv.css( "display", "block" );
-	},
-
-	/* Pop-up the date picker in a "dialog" box.
-	 * @param  input element - ignored
-	 * @param  date	string or Date - the initial date to display
-	 * @param  onSelect  function - the function to call when a date is selected
-	 * @param  settings  object - update the dialog date picker instance's settings (anonymous object)
-	 * @param  pos int[2] - coordinates for the dialog's position within the screen or
-	 *					event - with x/y coordinates or
-	 *					leave empty for default (screen centre)
-	 * @return the manager object
-	 */
-	_dialogDatepicker: function(input, date, onSelect, settings, pos) {
-		var id, browserWidth, browserHeight, scrollX, scrollY,
-			inst = this._dialogInst; // internal instance
-
-		if (!inst) {
-			this.uuid += 1;
-			id = "dp" + this.uuid;
-			this._dialogInput = $("<input type='text' id='" + id +
-				"' style='position: absolute; top: -100px; width: 0px;'/>");
-			this._dialogInput.keydown(this._doKeyDown);
-			$("body").append(this._dialogInput);
-			inst = this._dialogInst = this._newInst(this._dialogInput, false);
-			inst.settings = {};
-			$.data(this._dialogInput[0], "datepicker", inst);
-		}
-		datepicker_extendRemove(inst.settings, settings || {});
-		date = (date && date.constructor === Date ? this._formatDate(inst, date) : date);
-		this._dialogInput.val(date);
-
-		this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);
-		if (!this._pos) {
-			browserWidth = document.documentElement.clientWidth;
-			browserHeight = document.documentElement.clientHeight;
-			scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
-			scrollY = document.documentElement.scrollTop || document.body.scrollTop;
-			this._pos = // should use actual width/height below
-				[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];
-		}
-
-		// move input on screen for focus, but hidden behind dialog
-		this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px");
-		inst.settings.onSelect = onSelect;
-		this._inDialog = true;
-		this.dpDiv.addClass(this._dialogClass);
-		this._showDatepicker(this._dialogInput[0]);
-		if ($.blockUI) {
-			$.blockUI(this.dpDiv);
-		}
-		$.data(this._dialogInput[0], "datepicker", inst);
-		return this;
-	},
-
-	/* Detach a datepicker from its control.
-	 * @param  target	element - the target input field or division or span
-	 */
-	_destroyDatepicker: function(target) {
-		var nodeName,
-			$target = $(target),
-			inst = $.data(target, "datepicker");
-
-		if (!$target.hasClass(this.markerClassName)) {
-			return;
-		}
-
-		nodeName = target.nodeName.toLowerCase();
-		$.removeData(target, "datepicker");
-		if (nodeName === "input") {
-			inst.append.remove();
-			inst.trigger.remove();
-			$target.removeClass(this.markerClassName).
-				unbind("focus", this._showDatepicker).
-				unbind("keydown", this._doKeyDown).
-				unbind("keypress", this._doKeyPress).
-				unbind("keyup", this._doKeyUp);
-		} else if (nodeName === "div" || nodeName === "span") {
-			$target.removeClass(this.markerClassName).empty();
-		}
-
-		if ( datepicker_instActive === inst ) {
-			datepicker_instActive = null;
-		}
-	},
-
-	/* Enable the date picker to a jQuery selection.
-	 * @param  target	element - the target input field or division or span
-	 */
-	_enableDatepicker: function(target) {
-		var nodeName, inline,
-			$target = $(target),
-			inst = $.data(target, "datepicker");
-
-		if (!$target.hasClass(this.markerClassName)) {
-			return;
-		}
-
-		nodeName = target.nodeName.toLowerCase();
-		if (nodeName === "input") {
-			target.disabled = false;
-			inst.trigger.filter("button").
-				each(function() { this.disabled = false; }).end().
-				filter("img").css({opacity: "1.0", cursor: ""});
-		} else if (nodeName === "div" || nodeName === "span") {
-			inline = $target.children("." + this._inlineClass);
-			inline.children().removeClass("ui-state-disabled");
-			inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
-				prop("disabled", false);
-		}
-		this._disabledInputs = $.map(this._disabledInputs,
-			function(value) { return (value === target ? null : value); }); // delete entry
-	},
-
-	/* Disable the date picker to a jQuery selection.
-	 * @param  target	element - the target input field or division or span
-	 */
-	_disableDatepicker: function(target) {
-		var nodeName, inline,
-			$target = $(target),
-			inst = $.data(target, "datepicker");
-
-		if (!$target.hasClass(this.markerClassName)) {
-			return;
-		}
-
-		nodeName = target.nodeName.toLowerCase();
-		if (nodeName === "input") {
-			target.disabled = true;
-			inst.trigger.filter("button").
-				each(function() { this.disabled = true; }).end().
-				filter("img").css({opacity: "0.5", cursor: "default"});
-		} else if (nodeName === "div" || nodeName === "span") {
-			inline = $target.children("." + this._inlineClass);
-			inline.children().addClass("ui-state-disabled");
-			inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
-				prop("disabled", true);
-		}
-		this._disabledInputs = $.map(this._disabledInputs,
-			function(value) { return (value === target ? null : value); }); // delete entry
-		this._disabledInputs[this._disabledInputs.length] = target;
-	},
-
-	/* Is the first field in a jQuery collection disabled as a datepicker?
-	 * @param  target	element - the target input field or division or span
-	 * @return boolean - true if disabled, false if enabled
-	 */
-	_isDisabledDatepicker: function(target) {
-		if (!target) {
-			return false;
-		}
-		for (var i = 0; i < this._disabledInputs.length; i++) {
-			if (this._disabledInputs[i] === target) {
-				return true;
-			}
-		}
-		return false;
-	},
-
-	/* Retrieve the instance data for the target control.
-	 * @param  target  element - the target input field or division or span
-	 * @return  object - the associated instance data
-	 * @throws  error if a jQuery problem getting data
-	 */
-	_getInst: function(target) {
-		try {
-			return $.data(target, "datepicker");
-		}
-		catch (err) {
-			throw "Missing instance data for this datepicker";
-		}
-	},
-
-	/* Update or retrieve the settings for a date picker attached to an input field or division.
-	 * @param  target  element - the target input field or division or span
-	 * @param  name	object - the new settings to update or
-	 *				string - the name of the setting to change or retrieve,
-	 *				when retrieving also "all" for all instance settings or
-	 *				"defaults" for all global defaults
-	 * @param  value   any - the new value for the setting
-	 *				(omit if above is an object or to retrieve a value)
-	 */
-	_optionDatepicker: function(target, name, value) {
-		var settings, date, minDate, maxDate,
-			inst = this._getInst(target);
-
-		if (arguments.length === 2 && typeof name === "string") {
-			return (name === "defaults" ? $.extend({}, $.datepicker._defaults) :
-				(inst ? (name === "all" ? $.extend({}, inst.settings) :
-				this._get(inst, name)) : null));
-		}
-
-		settings = name || {};
-		if (typeof name === "string") {
-			settings = {};
-			settings[name] = value;
-		}
-
-		if (inst) {
-			if (this._curInst === inst) {
-				this._hideDatepicker();
-			}
-
-			date = this._getDateDatepicker(target, true);
-			minDate = this._getMinMaxDate(inst, "min");
-			maxDate = this._getMinMaxDate(inst, "max");
-			datepicker_extendRemove(inst.settings, settings);
-			// reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided
-			if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {
-				inst.settings.minDate = this._formatDate(inst, minDate);
-			}
-			if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
-				inst.settings.maxDate = this._formatDate(inst, maxDate);
-			}
-			if ( "disabled" in settings ) {
-				if ( settings.disabled ) {
-					this._disableDatepicker(target);
-				} else {
-					this._enableDatepicker(target);
-				}
-			}
-			this._attachments($(target), inst);
-			this._autoSize(inst);
-			this._setDate(inst, date);
-			this._updateAlternate(inst);
-			this._updateDatepicker(inst);
-		}
-	},
-
-	// change method deprecated
-	_changeDatepicker: function(target, name, value) {
-		this._optionDatepicker(target, name, value);
-	},
-
-	/* Redraw the date picker attached to an input field or division.
-	 * @param  target  element - the target input field or division or span
-	 */
-	_refreshDatepicker: function(target) {
-		var inst = this._getInst(target);
-		if (inst) {
-			this._updateDatepicker(inst);
-		}
-	},
-
-	/* Set the dates for a jQuery selection.
-	 * @param  target element - the target input field or division or span
-	 * @param  date	Date - the new date
-	 */
-	_setDateDatepicker: function(target, date) {
-		var inst = this._getInst(target);
-		if (inst) {
-			this._setDate(inst, date);
-			this._updateDatepicker(inst);
-			this._updateAlternate(inst);
-		}
-	},
-
-	/* Get the date(s) for the first entry in a jQuery selection.
-	 * @param  target element - the target input field or division or span
-	 * @param  noDefault boolean - true if no default date is to be used
-	 * @return Date - the current date
-	 */
-	_getDateDatepicker: function(target, noDefault) {
-		var inst = this._getInst(target);
-		if (inst && !inst.inline) {
-			this._setDateFromField(inst, noDefault);
-		}
-		return (inst ? this._getDate(inst) : null);
-	},
-
-	/* Handle keystrokes. */
-	_doKeyDown: function(event) {
-		var onSelect, dateStr, sel,
-			inst = $.datepicker._getInst(event.target),
-			handled = true,
-			isRTL = inst.dpDiv.is(".ui-datepicker-rtl");
-
-		inst._keyEvent = true;
-		if ($.datepicker._datepickerShowing) {
-			switch (event.keyCode) {
-				case 9: $.datepicker._hideDatepicker();
-						handled = false;
-						break; // hide on tab out
-				case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." +
-									$.datepicker._currentClass + ")", inst.dpDiv);
-						if (sel[0]) {
-							$.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);
-						}
-
-						onSelect = $.datepicker._get(inst, "onSelect");
-						if (onSelect) {
-							dateStr = $.datepicker._formatDate(inst);
-
-							// trigger custom callback
-							onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
-						} else {
-							$.datepicker._hideDatepicker();
-						}
-
-						return false; // don't submit the form
-				case 27: $.datepicker._hideDatepicker();
-						break; // hide on escape
-				case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
-							-$.datepicker._get(inst, "stepBigMonths") :
-							-$.datepicker._get(inst, "stepMonths")), "M");
-						break; // previous month/year on page up/+ ctrl
-				case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
-							+$.datepicker._get(inst, "stepBigMonths") :
-							+$.datepicker._get(inst, "stepMonths")), "M");
-						break; // next month/year on page down/+ ctrl
-				case 35: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._clearDate(event.target);
-						}
-						handled = event.ctrlKey || event.metaKey;
-						break; // clear on ctrl or command +end
-				case 36: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._gotoToday(event.target);
-						}
-						handled = event.ctrlKey || event.metaKey;
-						break; // current on ctrl or command +home
-				case 37: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D");
-						}
-						handled = event.ctrlKey || event.metaKey;
-						// -1 day on ctrl or command +left
-						if (event.originalEvent.altKey) {
-							$.datepicker._adjustDate(event.target, (event.ctrlKey ?
-								-$.datepicker._get(inst, "stepBigMonths") :
-								-$.datepicker._get(inst, "stepMonths")), "M");
-						}
-						// next month/year on alt +left on Mac
-						break;
-				case 38: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._adjustDate(event.target, -7, "D");
-						}
-						handled = event.ctrlKey || event.metaKey;
-						break; // -1 week on ctrl or command +up
-				case 39: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D");
-						}
-						handled = event.ctrlKey || event.metaKey;
-						// +1 day on ctrl or command +right
-						if (event.originalEvent.altKey) {
-							$.datepicker._adjustDate(event.target, (event.ctrlKey ?
-								+$.datepicker._get(inst, "stepBigMonths") :
-								+$.datepicker._get(inst, "stepMonths")), "M");
-						}
-						// next month/year on alt +right
-						break;
-				case 40: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._adjustDate(event.target, +7, "D");
-						}
-						handled = event.ctrlKey || event.metaKey;
-						break; // +1 week on ctrl or command +down
-				default: handled = false;
-			}
-		} else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home
-			$.datepicker._showDatepicker(this);
-		} else {
-			handled = false;
-		}
-
-		if (handled) {
-			event.preventDefault();
-			event.stopPropagation();
-		}
-	},
-
-	/* Filter entered characters - based on date format. */
-	_doKeyPress: function(event) {
-		var chars, chr,
-			inst = $.datepicker._getInst(event.target);
-
-		if ($.datepicker._get(inst, "constrainInput")) {
-			chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat"));
-			chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);
-			return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1);
-		}
-	},
-
-	/* Synchronise manual entry and field/alternate field. */
-	_doKeyUp: function(event) {
-		var date,
-			inst = $.datepicker._getInst(event.target);
-
-		if (inst.input.val() !== inst.lastVal) {
-			try {
-				date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
-					(inst.input ? inst.input.val() : null),
-					$.datepicker._getFormatConfig(inst));
-
-				if (date) { // only if valid
-					$.datepicker._setDateFromField(inst);
-					$.datepicker._updateAlternate(inst);
-					$.datepicker._updateDatepicker(inst);
-				}
-			}
-			catch (err) {
-			}
-		}
-		return true;
-	},
-
-	/* Pop-up the date picker for a given input field.
-	 * If false returned from beforeShow event handler do not show.
-	 * @param  input  element - the input field attached to the date picker or
-	 *					event - if triggered by focus
-	 */
-	_showDatepicker: function(input) {
-		input = input.target || input;
-		if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger
-			input = $("input", input.parentNode)[0];
-		}
-
-		if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here
-			return;
-		}
-
-		var inst, beforeShow, beforeShowSettings, isFixed,
-			offset, showAnim, duration;
-
-		inst = $.datepicker._getInst(input);
-		if ($.datepicker._curInst && $.datepicker._curInst !== inst) {
-			$.datepicker._curInst.dpDiv.stop(true, true);
-			if ( inst && $.datepicker._datepickerShowing ) {
-				$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );
-			}
-		}
-
-		beforeShow = $.datepicker._get(inst, "beforeShow");
-		beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};
-		if(beforeShowSettings === false){
-			return;
-		}
-		datepicker_extendRemove(inst.settings, beforeShowSettings);
-
-		inst.lastVal = null;
-		$.datepicker._lastInput = input;
-		$.datepicker._setDateFromField(inst);
-
-		if ($.datepicker._inDialog) { // hide cursor
-			input.value = "";
-		}
-		if (!$.datepicker._pos) { // position below input
-			$.datepicker._pos = $.datepicker._findPos(input);
-			$.datepicker._pos[1] += input.offsetHeight; // add the height
-		}
-
-		isFixed = false;
-		$(input).parents().each(function() {
-			isFixed |= $(this).css("position") === "fixed";
-			return !isFixed;
-		});
-
-		offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};
-		$.datepicker._pos = null;
-		//to avoid flashes on Firefox
-		inst.dpDiv.empty();
-		// determine sizing offscreen
-		inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"});
-		$.datepicker._updateDatepicker(inst);
-		// fix width for dynamic number of date pickers
-		// and adjust position before showing
-		offset = $.datepicker._checkOffset(inst, offset, isFixed);
-		inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?
-			"static" : (isFixed ? "fixed" : "absolute")), display: "none",
-			left: offset.left + "px", top: offset.top + "px"});
-
-		if (!inst.inline) {
-			showAnim = $.datepicker._get(inst, "showAnim");
-			duration = $.datepicker._get(inst, "duration");
-			inst.dpDiv.css( "z-index", datepicker_getZindex( $( input ) ) + 1 );
-			$.datepicker._datepickerShowing = true;
-
-			if ( $.effects && $.effects.effect[ showAnim ] ) {
-				inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration);
-			} else {
-				inst.dpDiv[showAnim || "show"](showAnim ? duration : null);
-			}
-
-			if ( $.datepicker._shouldFocusInput( inst ) ) {
-				inst.input.focus();
-			}
-
-			$.datepicker._curInst = inst;
-		}
-	},
-
-	/* Generate the date picker content. */
-	_updateDatepicker: function(inst) {
-		this.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
-		datepicker_instActive = inst; // for delegate hover events
-		inst.dpDiv.empty().append(this._generateHTML(inst));
-		this._attachHandlers(inst);
-
-		var origyearshtml,
-			numMonths = this._getNumberOfMonths(inst),
-			cols = numMonths[1],
-			width = 17,
-			activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" );
-
-		if ( activeCell.length > 0 ) {
-			datepicker_handleMouseover.apply( activeCell.get( 0 ) );
-		}
-
-		inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
-		if (cols > 1) {
-			inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em");
-		}
-		inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") +
-			"Class"]("ui-datepicker-multi");
-		inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +
-			"Class"]("ui-datepicker-rtl");
-
-		if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) {
-			inst.input.focus();
-		}
-
-		// deffered render of the years select (to avoid flashes on Firefox)
-		if( inst.yearshtml ){
-			origyearshtml = inst.yearshtml;
-			setTimeout(function(){
-				//assure that inst.yearshtml didn't change.
-				if( origyearshtml === inst.yearshtml && inst.yearshtml ){
-					inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml);
-				}
-				origyearshtml = inst.yearshtml = null;
-			}, 0);
-		}
-	},
-
-	// #6694 - don't focus the input if it's already focused
-	// this breaks the change event in IE
-	// Support: IE and jQuery <1.9
-	_shouldFocusInput: function( inst ) {
-		return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" );
-	},
-
-	/* Check positioning to remain on screen. */
-	_checkOffset: function(inst, offset, isFixed) {
-		var dpWidth = inst.dpDiv.outerWidth(),
-			dpHeight = inst.dpDiv.outerHeight(),
-			inputWidth = inst.input ? inst.input.outerWidth() : 0,
-			inputHeight = inst.input ? inst.input.outerHeight() : 0,
-			viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),
-			viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());
-
-		offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0);
-		offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;
-		offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;
-
-		// now check if datepicker is showing outside window viewport - move to a better place if so.
-		offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?
-			Math.abs(offset.left + dpWidth - viewWidth) : 0);
-		offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
-			Math.abs(dpHeight + inputHeight) : 0);
-
-		return offset;
-	},
-
-	/* Find an object's position on the screen. */
-	_findPos: function(obj) {
-		var position,
-			inst = this._getInst(obj),
-			isRTL = this._get(inst, "isRTL");
-
-		while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {
-			obj = obj[isRTL ? "previousSibling" : "nextSibling"];
-		}
-
-		position = $(obj).offset();
-		return [position.left, position.top];
-	},
-
-	/* Hide the date picker from view.
-	 * @param  input  element - the input field attached to the date picker
-	 */
-	_hideDatepicker: function(input) {
-		var showAnim, duration, postProcess, onClose,
-			inst = this._curInst;
-
-		if (!inst || (input && inst !== $.data(input, "datepicker"))) {
-			return;
-		}
-
-		if (this._datepickerShowing) {
-			showAnim = this._get(inst, "showAnim");
-			duration = this._get(inst, "duration");
-			postProcess = function() {
-				$.datepicker._tidyDialog(inst);
-			};
-
-			// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed
-			if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {
-				inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess);
-			} else {
-				inst.dpDiv[(showAnim === "slideDown" ? "slideUp" :
-					(showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess);
-			}
-
-			if (!showAnim) {
-				postProcess();
-			}
-			this._datepickerShowing = false;
-
-			onClose = this._get(inst, "onClose");
-			if (onClose) {
-				onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]);
-			}
-
-			this._lastInput = null;
-			if (this._inDialog) {
-				this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" });
-				if ($.blockUI) {
-					$.unblockUI();
-					$("body").append(this.dpDiv);
-				}
-			}
-			this._inDialog = false;
-		}
-	},
-
-	/* Tidy up after a dialog display. */
-	_tidyDialog: function(inst) {
-		inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar");
-	},
-
-	/* Close date picker if clicked elsewhere. */
-	_checkExternalClick: function(event) {
-		if (!$.datepicker._curInst) {
-			return;
-		}
-
-		var $target = $(event.target),
-			inst = $.datepicker._getInst($target[0]);
-
-		if ( ( ( $target[0].id !== $.datepicker._mainDivId &&
-				$target.parents("#" + $.datepicker._mainDivId).length === 0 &&
-				!$target.hasClass($.datepicker.markerClassName) &&
-				!$target.closest("." + $.datepicker._triggerClass).length &&
-				$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||
-			( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {
-				$.datepicker._hideDatepicker();
-		}
-	},
-
-	/* Adjust one of the date sub-fields. */
-	_adjustDate: function(id, offset, period) {
-		var target = $(id),
-			inst = this._getInst(target[0]);
-
-		if (this._isDisabledDatepicker(target[0])) {
-			return;
-		}
-		this._adjustInstDate(inst, offset +
-			(period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning
-			period);
-		this._updateDatepicker(inst);
-	},
-
-	/* Action for current link. */
-	_gotoToday: function(id) {
-		var date,
-			target = $(id),
-			inst = this._getInst(target[0]);
-
-		if (this._get(inst, "gotoCurrent") && inst.currentDay) {
-			inst.selectedDay = inst.currentDay;
-			inst.drawMonth = inst.selectedMonth = inst.currentMonth;
-			inst.drawYear = inst.selectedYear = inst.currentYear;
-		} else {
-			date = new Date();
-			inst.selectedDay = date.getDate();
-			inst.drawMonth = inst.selectedMonth = date.getMonth();
-			inst.drawYear = inst.selectedYear = date.getFullYear();
-		}
-		this._notifyChange(inst);
-		this._adjustDate(target);
-	},
-
-	/* Action for selecting a new month/year. */
-	_selectMonthYear: function(id, select, period) {
-		var target = $(id),
-			inst = this._getInst(target[0]);
-
-		inst["selected" + (period === "M" ? "Month" : "Year")] =
-		inst["draw" + (period === "M" ? "Month" : "Year")] =
-			parseInt(select.options[select.selectedIndex].value,10);
-
-		this._notifyChange(inst);
-		this._adjustDate(target);
-	},
-
-	/* Action for selecting a day. */
-	_selectDay: function(id, month, year, td) {
-		var inst,
-			target = $(id);
-
-		if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {
-			return;
-		}
-
-		inst = this._getInst(target[0]);
-		inst.selectedDay = inst.currentDay = $("a", td).html();
-		inst.selectedMonth = inst.currentMonth = month;
-		inst.selectedYear = inst.currentYear = year;
-		this._selectDate(id, this._formatDate(inst,
-			inst.currentDay, inst.currentMonth, inst.currentYear));
-	},
-
-	/* Erase the input field and hide the date picker. */
-	_clearDate: function(id) {
-		var target = $(id);
-		this._selectDate(target, "");
-	},
-
-	/* Update the input field with the selected date. */
-	_selectDate: function(id, dateStr) {
-		var onSelect,
-			target = $(id),
-			inst = this._getInst(target[0]);
-
-		dateStr = (dateStr != null ? dateStr : this._formatDate(inst));
-		if (inst.input) {
-			inst.input.val(dateStr);
-		}
-		this._updateAlternate(inst);
-
-		onSelect = this._get(inst, "onSelect");
-		if (onSelect) {
-			onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);  // trigger custom callback
-		} else if (inst.input) {
-			inst.input.trigger("change"); // fire the change event
-		}
-
-		if (inst.inline){
-			this._updateDatepicker(inst);
-		} else {
-			this._hideDatepicker();
-			this._lastInput = inst.input[0];
-			if (typeof(inst.input[0]) !== "object") {
-				inst.input.focus(); // restore focus
-			}
-			this._lastInput = null;
-		}
-	},
-
-	/* Update any alternate field to synchronise with the main field. */
-	_updateAlternate: function(inst) {
-		var altFormat, date, dateStr,
-			altField = this._get(inst, "altField");
-
-		if (altField) { // update alternate field too
-			altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat");
-			date = this._getDate(inst);
-			dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));
-			$(altField).each(function() { $(this).val(dateStr); });
-		}
-	},
-
-	/* Set as beforeShowDay function to prevent selection of weekends.
-	 * @param  date  Date - the date to customise
-	 * @return [boolean, string] - is this date selectable?, what is its CSS class?
-	 */
-	noWeekends: function(date) {
-		var day = date.getDay();
-		return [(day > 0 && day < 6), ""];
-	},
-
-	/* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.
-	 * @param  date  Date - the date to get the week for
-	 * @return  number - the number of the week within the year that contains this date
-	 */
-	iso8601Week: function(date) {
-		var time,
-			checkDate = new Date(date.getTime());
-
-		// Find Thursday of this week starting on Monday
-		checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
-
-		time = checkDate.getTime();
-		checkDate.setMonth(0); // Compare with Jan 1
-		checkDate.setDate(1);
-		return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
-	},
-
-	/* Parse a string value into a date object.
-	 * See formatDate below for the possible formats.
-	 *
-	 * @param  format string - the expected format of the date
-	 * @param  value string - the date in the above format
-	 * @param  settings Object - attributes include:
-	 *					shortYearCutoff  number - the cutoff year for determining the century (optional)
-	 *					dayNamesShort	string[7] - abbreviated names of the days from Sunday (optional)
-	 *					dayNames		string[7] - names of the days from Sunday (optional)
-	 *					monthNamesShort string[12] - abbreviated names of the months (optional)
-	 *					monthNames		string[12] - names of the months (optional)
-	 * @return  Date - the extracted date value or null if value is blank
-	 */
-	parseDate: function (format, value, settings) {
-		if (format == null || value == null) {
-			throw "Invalid arguments";
-		}
-
-		value = (typeof value === "object" ? value.toString() : value + "");
-		if (value === "") {
-			return null;
-		}
-
-		var iFormat, dim, extra,
-			iValue = 0,
-			shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,
-			shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp :
-				new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),
-			dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
-			dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
-			monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
-			monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
-			year = -1,
-			month = -1,
-			day = -1,
-			doy = -1,
-			literal = false,
-			date,
-			// Check whether a format character is doubled
-			lookAhead = function(match) {
-				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
-				if (matches) {
-					iFormat++;
-				}
-				return matches;
-			},
-			// Extract a number from the string value
-			getNumber = function(match) {
-				var isDoubled = lookAhead(match),
-					size = (match === "@" ? 14 : (match === "!" ? 20 :
-					(match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))),
-					minSize = (match === "y" ? size : 1),
-					digits = new RegExp("^\\d{" + minSize + "," + size + "}"),
-					num = value.substring(iValue).match(digits);
-				if (!num) {
-					throw "Missing number at position " + iValue;
-				}
-				iValue += num[0].length;
-				return parseInt(num[0], 10);
-			},
-			// Extract a name from the string value and convert to an index
-			getName = function(match, shortNames, longNames) {
-				var index = -1,
-					names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {
-						return [ [k, v] ];
-					}).sort(function (a, b) {
-						return -(a[1].length - b[1].length);
-					});
-
-				$.each(names, function (i, pair) {
-					var name = pair[1];
-					if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {
-						index = pair[0];
-						iValue += name.length;
-						return false;
-					}
-				});
-				if (index !== -1) {
-					return index + 1;
-				} else {
-					throw "Unknown name at position " + iValue;
-				}
-			},
-			// Confirm that a literal character matches the string value
-			checkLiteral = function() {
-				if (value.charAt(iValue) !== format.charAt(iFormat)) {
-					throw "Unexpected literal at position " + iValue;
-				}
-				iValue++;
-			};
-
-		for (iFormat = 0; iFormat < format.length; iFormat++) {
-			if (literal) {
-				if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
-					literal = false;
-				} else {
-					checkLiteral();
-				}
-			} else {
-				switch (format.charAt(iFormat)) {
-					case "d":
-						day = getNumber("d");
-						break;
-					case "D":
-						getName("D", dayNamesShort, dayNames);
-						break;
-					case "o":
-						doy = getNumber("o");
-						break;
-					case "m":
-						month = getNumber("m");
-						break;
-					case "M":
-						month = getName("M", monthNamesShort, monthNames);
-						break;
-					case "y":
-						year = getNumber("y");
-						break;
-					case "@":
-						date = new Date(getNumber("@"));
-						year = date.getFullYear();
-						month = date.getMonth() + 1;
-						day = date.getDate();
-						break;
-					case "!":
-						date = new Date((getNumber("!") - this._ticksTo1970) / 10000);
-						year = date.getFullYear();
-						month = date.getMonth() + 1;
-						day = date.getDate();
-						break;
-					case "'":
-						if (lookAhead("'")){
-							checkLiteral();
-						} else {
-							literal = true;
-						}
-						break;
-					default:
-						checkLiteral();
-				}
-			}
-		}
-
-		if (iValue < value.length){
-			extra = value.substr(iValue);
-			if (!/^\s+/.test(extra)) {
-				throw "Extra/unparsed characters found in date: " + extra;
-			}
-		}
-
-		if (year === -1) {
-			year = new Date().getFullYear();
-		} else if (year < 100) {
-			year += new Date().getFullYear() - new Date().getFullYear() % 100 +
-				(year <= shortYearCutoff ? 0 : -100);
-		}
-
-		if (doy > -1) {
-			month = 1;
-			day = doy;
-			do {
-				dim = this._getDaysInMonth(year, month - 1);
-				if (day <= dim) {
-					break;
-				}
-				month++;
-				day -= dim;
-			} while (true);
-		}
-
-		date = this._daylightSavingAdjust(new Date(year, month - 1, day));
-		if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
-			throw "Invalid date"; // E.g. 31/02/00
-		}
-		return date;
-	},
-
-	/* Standard date formats. */
-	ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601)
-	COOKIE: "D, dd M yy",
-	ISO_8601: "yy-mm-dd",
-	RFC_822: "D, d M y",
-	RFC_850: "DD, dd-M-y",
-	RFC_1036: "D, d M y",
-	RFC_1123: "D, d M yy",
-	RFC_2822: "D, d M yy",
-	RSS: "D, d M y", // RFC 822
-	TICKS: "!",
-	TIMESTAMP: "@",
-	W3C: "yy-mm-dd", // ISO 8601
-
-	_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +
-		Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),
-
-	/* Format a date object into a string value.
-	 * The format can be combinations of the following:
-	 * d  - day of month (no leading zero)
-	 * dd - day of month (two digit)
-	 * o  - day of year (no leading zeros)
-	 * oo - day of year (three digit)
-	 * D  - day name short
-	 * DD - day name long
-	 * m  - month of year (no leading zero)
-	 * mm - month of year (two digit)
-	 * M  - month name short
-	 * MM - month name long
-	 * y  - year (two digit)
-	 * yy - year (four digit)
-	 * @ - Unix timestamp (ms since 01/01/1970)
-	 * ! - Windows ticks (100ns since 01/01/0001)
-	 * "..." - literal text
-	 * '' - single quote
-	 *
-	 * @param  format string - the desired format of the date
-	 * @param  date Date - the date value to format
-	 * @param  settings Object - attributes include:
-	 *					dayNamesShort	string[7] - abbreviated names of the days from Sunday (optional)
-	 *					dayNames		string[7] - names of the days from Sunday (optional)
-	 *					monthNamesShort string[12] - abbreviated names of the months (optional)
-	 *					monthNames		string[12] - names of the months (optional)
-	 * @return  string - the date in the above format
-	 */
-	formatDate: function (format, date, settings) {
-		if (!date) {
-			return "";
-		}
-
-		var iFormat,
-			dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
-			dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
-			monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
-			monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
-			// Check whether a format character is doubled
-			lookAhead = function(match) {
-				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
-				if (matches) {
-					iFormat++;
-				}
-				return matches;
-			},
-			// Format a number, with leading zero if necessary
-			formatNumber = function(match, value, len) {
-				var num = "" + value;
-				if (lookAhead(match)) {
-					while (num.length < len) {
-						num = "0" + num;
-					}
-				}
-				return num;
-			},
-			// Format a name, short or long as requested
-			formatName = function(match, value, shortNames, longNames) {
-				return (lookAhead(match) ? longNames[value] : shortNames[value]);
-			},
-			output = "",
-			literal = false;
-
-		if (date) {
-			for (iFormat = 0; iFormat < format.length; iFormat++) {
-				if (literal) {
-					if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
-						literal = false;
-					} else {
-						output += format.charAt(iFormat);
-					}
-				} else {
-					switch (format.charAt(iFormat)) {
-						case "d":
-							output += formatNumber("d", date.getDate(), 2);
-							break;
-						case "D":
-							output += formatName("D", date.getDay(), dayNamesShort, dayNames);
-							break;
-						case "o":
-							output += formatNumber("o",
-								Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
-							break;
-						case "m":
-							output += formatNumber("m", date.getMonth() + 1, 2);
-							break;
-						case "M":
-							output += formatName("M", date.getMonth(), monthNamesShort, monthNames);
-							break;
-						case "y":
-							output += (lookAhead("y") ? date.getFullYear() :
-								(date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100);
-							break;
-						case "@":
-							output += date.getTime();
-							break;
-						case "!":
-							output += date.getTime() * 10000 + this._ticksTo1970;
-							break;
-						case "'":
-							if (lookAhead("'")) {
-								output += "'";
-							} else {
-								literal = true;
-							}
-							break;
-						default:
-							output += format.charAt(iFormat);
-					}
-				}
-			}
-		}
-		return output;
-	},
-
-	/* Extract all possible characters from the date format. */
-	_possibleChars: function (format) {
-		var iFormat,
-			chars = "",
-			literal = false,
-			// Check whether a format character is doubled
-			lookAhead = function(match) {
-				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
-				if (matches) {
-					iFormat++;
-				}
-				return matches;
-			};
-
-		for (iFormat = 0; iFormat < format.length; iFormat++) {
-			if (literal) {
-				if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
-					literal = false;
-				} else {
-					chars += format.charAt(iFormat);
-				}
-			} else {
-				switch (format.charAt(iFormat)) {
-					case "d": case "m": case "y": case "@":
-						chars += "0123456789";
-						break;
-					case "D": case "M":
-						return null; // Accept anything
-					case "'":
-						if (lookAhead("'")) {
-							chars += "'";
-						} else {
-							literal = true;
-						}
-						break;
-					default:
-						chars += format.charAt(iFormat);
-				}
-			}
-		}
-		return chars;
-	},
-
-	/* Get a setting value, defaulting if necessary. */
-	_get: function(inst, name) {
-		return inst.settings[name] !== undefined ?
-			inst.settings[name] : this._defaults[name];
-	},
-
-	/* Parse existing date and initialise date picker. */
-	_setDateFromField: function(inst, noDefault) {
-		if (inst.input.val() === inst.lastVal) {
-			return;
-		}
-
-		var dateFormat = this._get(inst, "dateFormat"),
-			dates = inst.lastVal = inst.input ? inst.input.val() : null,
-			defaultDate = this._getDefaultDate(inst),
-			date = defaultDate,
-			settings = this._getFormatConfig(inst);
-
-		try {
-			date = this.parseDate(dateFormat, dates, settings) || defaultDate;
-		} catch (event) {
-			dates = (noDefault ? "" : dates);
-		}
-		inst.selectedDay = date.getDate();
-		inst.drawMonth = inst.selectedMonth = date.getMonth();
-		inst.drawYear = inst.selectedYear = date.getFullYear();
-		inst.currentDay = (dates ? date.getDate() : 0);
-		inst.currentMonth = (dates ? date.getMonth() : 0);
-		inst.currentYear = (dates ? date.getFullYear() : 0);
-		this._adjustInstDate(inst);
-	},
-
-	/* Retrieve the default date shown on opening. */
-	_getDefaultDate: function(inst) {
-		return this._restrictMinMax(inst,
-			this._determineDate(inst, this._get(inst, "defaultDate"), new Date()));
-	},
-
-	/* A date may be specified as an exact value or a relative one. */
-	_determineDate: function(inst, date, defaultDate) {
-		var offsetNumeric = function(offset) {
-				var date = new Date();
-				date.setDate(date.getDate() + offset);
-				return date;
-			},
-			offsetString = function(offset) {
-				try {
-					return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
-						offset, $.datepicker._getFormatConfig(inst));
-				}
-				catch (e) {
-					// Ignore
-				}
-
-				var date = (offset.toLowerCase().match(/^c/) ?
-					$.datepicker._getDate(inst) : null) || new Date(),
-					year = date.getFullYear(),
-					month = date.getMonth(),
-					day = date.getDate(),
-					pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
-					matches = pattern.exec(offset);
-
-				while (matches) {
-					switch (matches[2] || "d") {
-						case "d" : case "D" :
-							day += parseInt(matches[1],10); break;
-						case "w" : case "W" :
-							day += parseInt(matches[1],10) * 7; break;
-						case "m" : case "M" :
-							month += parseInt(matches[1],10);
-							day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
-							break;
-						case "y": case "Y" :
-							year += parseInt(matches[1],10);
-							day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
-							break;
-					}
-					matches = pattern.exec(offset);
-				}
-				return new Date(year, month, day);
-			},
-			newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) :
-				(typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));
-
-		newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate);
-		if (newDate) {
-			newDate.setHours(0);
-			newDate.setMinutes(0);
-			newDate.setSeconds(0);
-			newDate.setMilliseconds(0);
-		}
-		return this._daylightSavingAdjust(newDate);
-	},
-
-	/* Handle switch to/from daylight saving.
-	 * Hours may be non-zero on daylight saving cut-over:
-	 * > 12 when midnight changeover, but then cannot generate
-	 * midnight datetime, so jump to 1AM, otherwise reset.
-	 * @param  date  (Date) the date to check
-	 * @return  (Date) the corrected date
-	 */
-	_daylightSavingAdjust: function(date) {
-		if (!date) {
-			return null;
-		}
-		date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
-		return date;
-	},
-
-	/* Set the date(s) directly. */
-	_setDate: function(inst, date, noChange) {
-		var clear = !date,
-			origMonth = inst.selectedMonth,
-			origYear = inst.selectedYear,
-			newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));
-
-		inst.selectedDay = inst.currentDay = newDate.getDate();
-		inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();
-		inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();
-		if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {
-			this._notifyChange(inst);
-		}
-		this._adjustInstDate(inst);
-		if (inst.input) {
-			inst.input.val(clear ? "" : this._formatDate(inst));
-		}
-	},
-
-	/* Retrieve the date(s) directly. */
-	_getDate: function(inst) {
-		var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null :
-			this._daylightSavingAdjust(new Date(
-			inst.currentYear, inst.currentMonth, inst.currentDay)));
-			return startDate;
-	},
-
-	/* Attach the onxxx handlers.  These are declared statically so
-	 * they work with static code transformers like Caja.
-	 */
-	_attachHandlers: function(inst) {
-		var stepMonths = this._get(inst, "stepMonths"),
-			id = "#" + inst.id.replace( /\\\\/g, "\\" );
-		inst.dpDiv.find("[data-handler]").map(function () {
-			var handler = {
-				prev: function () {
-					$.datepicker._adjustDate(id, -stepMonths, "M");
-				},
-				next: function () {
-					$.datepicker._adjustDate(id, +stepMonths, "M");
-				},
-				hide: function () {
-					$.datepicker._hideDatepicker();
-				},
-				today: function () {
-					$.datepicker._gotoToday(id);
-				},
-				selectDay: function () {
-					$.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this);
-					return false;
-				},
-				selectMonth: function () {
-					$.datepicker._selectMonthYear(id, this, "M");
-					return false;
-				},
-				selectYear: function () {
-					$.datepicker._selectMonthYear(id, this, "Y");
-					return false;
-				}
-			};
-			$(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]);
-		});
-	},
-
-	/* Generate the HTML for the current state of the date picker. */
-	_generateHTML: function(inst) {
-		var maxDraw, prevText, prev, nextText, next, currentText, gotoDate,
-			controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,
-			monthNames, monthNamesShort, beforeShowDay, showOtherMonths,
-			selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,
-			cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,
-			printDate, dRow, tbody, daySettings, otherMonth, unselectable,
-			tempDate = new Date(),
-			today = this._daylightSavingAdjust(
-				new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time
-			isRTL = this._get(inst, "isRTL"),
-			showButtonPanel = this._get(inst, "showButtonPanel"),
-			hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),
-			navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"),
-			numMonths = this._getNumberOfMonths(inst),
-			showCurrentAtPos = this._get(inst, "showCurrentAtPos"),
-			stepMonths = this._get(inst, "stepMonths"),
-			isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),
-			currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :
-				new Date(inst.currentYear, inst.currentMonth, inst.currentDay))),
-			minDate = this._getMinMaxDate(inst, "min"),
-			maxDate = this._getMinMaxDate(inst, "max"),
-			drawMonth = inst.drawMonth - showCurrentAtPos,
-			drawYear = inst.drawYear;
-
-		if (drawMonth < 0) {
-			drawMonth += 12;
-			drawYear--;
-		}
-		if (maxDate) {
-			maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
-				maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));
-			maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);
-			while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {
-				drawMonth--;
-				if (drawMonth < 0) {
-					drawMonth = 11;
-					drawYear--;
-				}
-			}
-		}
-		inst.drawMonth = drawMonth;
-		inst.drawYear = drawYear;
-
-		prevText = this._get(inst, "prevText");
-		prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,
-			this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
-			this._getFormatConfig(inst)));
-
-		prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
-			"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" +
-			" title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" :
-			(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>"));
-
-		nextText = this._get(inst, "nextText");
-		nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
-			this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
-			this._getFormatConfig(inst)));
-
-		next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
-			"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" +
-			" title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" :
-			(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>"));
-
-		currentText = this._get(inst, "currentText");
-		gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today);
-		currentText = (!navigationAsDateFormat ? currentText :
-			this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
-
-		controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" +
-			this._get(inst, "closeText") + "</button>" : "");
-
-		buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") +
-			(this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" +
-			">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : "";
-
-		firstDay = parseInt(this._get(inst, "firstDay"),10);
-		firstDay = (isNaN(firstDay) ? 0 : firstDay);
-
-		showWeek = this._get(inst, "showWeek");
-		dayNames = this._get(inst, "dayNames");
-		dayNamesMin = this._get(inst, "dayNamesMin");
-		monthNames = this._get(inst, "monthNames");
-		monthNamesShort = this._get(inst, "monthNamesShort");
-		beforeShowDay = this._get(inst, "beforeShowDay");
-		showOtherMonths = this._get(inst, "showOtherMonths");
-		selectOtherMonths = this._get(inst, "selectOtherMonths");
-		defaultDate = this._getDefaultDate(inst);
-		html = "";
-		dow;
-		for (row = 0; row < numMonths[0]; row++) {
-			group = "";
-			this.maxRows = 4;
-			for (col = 0; col < numMonths[1]; col++) {
-				selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));
-				cornerClass = " ui-corner-all";
-				calender = "";
-				if (isMultiMonth) {
-					calender += "<div class='ui-datepicker-group";
-					if (numMonths[1] > 1) {
-						switch (col) {
-							case 0: calender += " ui-datepicker-group-first";
-								cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break;
-							case numMonths[1]-1: calender += " ui-datepicker-group-last";
-								cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break;
-							default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break;
-						}
-					}
-					calender += "'>";
-				}
-				calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" +
-					(/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") +
-					(/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") +
-					this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,
-					row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers
-					"</div><table class='ui-datepicker-calendar'><thead>" +
-					"<tr>";
-				thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : "");
-				for (dow = 0; dow < 7; dow++) { // days of the week
-					day = (dow + firstDay) % 7;
-					thead += "<th scope='col'" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
-						"<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>";
-				}
-				calender += thead + "</tr></thead><tbody>";
-				daysInMonth = this._getDaysInMonth(drawYear, drawMonth);
-				if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {
-					inst.selectedDay = Math.min(inst.selectedDay, daysInMonth);
-				}
-				leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;
-				curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate
-				numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)
-				this.maxRows = numRows;
-				printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));
-				for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows
-					calender += "<tr>";
-					tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" +
-						this._get(inst, "calculateWeek")(printDate) + "</td>");
-					for (dow = 0; dow < 7; dow++) { // create date picker days
-						daySettings = (beforeShowDay ?
-							beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]);
-						otherMonth = (printDate.getMonth() !== drawMonth);
-						unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||
-							(minDate && printDate < minDate) || (maxDate && printDate > maxDate);
-						tbody += "<td class='" +
-							((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends
-							(otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months
-							((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key
-							(defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?
-							// or defaultDate is current printedDate and defaultDate is selectedDate
-							" " + this._dayOverClass : "") + // highlight selected day
-							(unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") +  // highlight unselectable days
-							(otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates
-							(printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day
-							(printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different)
-							((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "&#39;") + "'" : "") + // cell title
-							(unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions
-							(otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months
-							(unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" +
-							(printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") +
-							(printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day
-							(otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months
-							"' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date
-						printDate.setDate(printDate.getDate() + 1);
-						printDate = this._daylightSavingAdjust(printDate);
-					}
-					calender += tbody + "</tr>";
-				}
-				drawMonth++;
-				if (drawMonth > 11) {
-					drawMonth = 0;
-					drawYear++;
-				}
-				calender += "</tbody></table>" + (isMultiMonth ? "</div>" +
-							((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : "");
-				group += calender;
-			}
-			html += group;
-		}
-		html += buttonPanel;
-		inst._keyEvent = false;
-		return html;
-	},
-
-	/* Generate the month and year header. */
-	_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,
-			secondary, monthNames, monthNamesShort) {
-
-		var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,
-			changeMonth = this._get(inst, "changeMonth"),
-			changeYear = this._get(inst, "changeYear"),
-			showMonthAfterYear = this._get(inst, "showMonthAfterYear"),
-			html = "<div class='ui-datepicker-title'>",
-			monthHtml = "";
-
-		// month selection
-		if (secondary || !changeMonth) {
-			monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>";
-		} else {
-			inMinYear = (minDate && minDate.getFullYear() === drawYear);
-			inMaxYear = (maxDate && maxDate.getFullYear() === drawYear);
-			monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>";
-			for ( month = 0; month < 12; month++) {
-				if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {
-					monthHtml += "<option value='" + month + "'" +
-						(month === drawMonth ? " selected='selected'" : "") +
-						">" + monthNamesShort[month] + "</option>";
-				}
-			}
-			monthHtml += "</select>";
-		}
-
-		if (!showMonthAfterYear) {
-			html += monthHtml + (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "");
-		}
-
-		// year selection
-		if ( !inst.yearshtml ) {
-			inst.yearshtml = "";
-			if (secondary || !changeYear) {
-				html += "<span class='ui-datepicker-year'>" + drawYear + "</span>";
-			} else {
-				// determine range of years to display
-				years = this._get(inst, "yearRange").split(":");
-				thisYear = new Date().getFullYear();
-				determineYear = function(value) {
-					var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) :
-						(value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) :
-						parseInt(value, 10)));
-					return (isNaN(year) ? thisYear : year);
-				};
-				year = determineYear(years[0]);
-				endYear = Math.max(year, determineYear(years[1] || ""));
-				year = (minDate ? Math.max(year, minDate.getFullYear()) : year);
-				endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);
-				inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";
-				for (; year <= endYear; year++) {
-					inst.yearshtml += "<option value='" + year + "'" +
-						(year === drawYear ? " selected='selected'" : "") +
-						">" + year + "</option>";
-				}
-				inst.yearshtml += "</select>";
-
-				html += inst.yearshtml;
-				inst.yearshtml = null;
-			}
-		}
-
-		html += this._get(inst, "yearSuffix");
-		if (showMonthAfterYear) {
-			html += (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "") + monthHtml;
-		}
-		html += "</div>"; // Close datepicker_header
-		return html;
-	},
-
-	/* Adjust one of the date sub-fields. */
-	_adjustInstDate: function(inst, offset, period) {
-		var year = inst.drawYear + (period === "Y" ? offset : 0),
-			month = inst.drawMonth + (period === "M" ? offset : 0),
-			day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0),
-			date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));
-
-		inst.selectedDay = date.getDate();
-		inst.drawMonth = inst.selectedMonth = date.getMonth();
-		inst.drawYear = inst.selectedYear = date.getFullYear();
-		if (period === "M" || period === "Y") {
-			this._notifyChange(inst);
-		}
-	},
-
-	/* Ensure a date is within any min/max bounds. */
-	_restrictMinMax: function(inst, date) {
-		var minDate = this._getMinMaxDate(inst, "min"),
-			maxDate = this._getMinMaxDate(inst, "max"),
-			newDate = (minDate && date < minDate ? minDate : date);
-		return (maxDate && newDate > maxDate ? maxDate : newDate);
-	},
-
-	/* Notify change of month/year. */
-	_notifyChange: function(inst) {
-		var onChange = this._get(inst, "onChangeMonthYear");
-		if (onChange) {
-			onChange.apply((inst.input ? inst.input[0] : null),
-				[inst.selectedYear, inst.selectedMonth + 1, inst]);
-		}
-	},
-
-	/* Determine the number of months to show. */
-	_getNumberOfMonths: function(inst) {
-		var numMonths = this._get(inst, "numberOfMonths");
-		return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths));
-	},
-
-	/* Determine the current maximum date - ensure no time components are set. */
-	_getMinMaxDate: function(inst, minMax) {
-		return this._determineDate(inst, this._get(inst, minMax + "Date"), null);
-	},
-
-	/* Find the number of days in a given month. */
-	_getDaysInMonth: function(year, month) {
-		return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();
-	},
-
-	/* Find the day of the week of the first of a month. */
-	_getFirstDayOfMonth: function(year, month) {
-		return new Date(year, month, 1).getDay();
-	},
-
-	/* Determines if we should allow a "next/prev" month display change. */
-	_canAdjustMonth: function(inst, offset, curYear, curMonth) {
-		var numMonths = this._getNumberOfMonths(inst),
-			date = this._daylightSavingAdjust(new Date(curYear,
-			curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));
-
-		if (offset < 0) {
-			date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));
-		}
-		return this._isInRange(inst, date);
-	},
-
-	/* Is the given date in the accepted range? */
-	_isInRange: function(inst, date) {
-		var yearSplit, currentYear,
-			minDate = this._getMinMaxDate(inst, "min"),
-			maxDate = this._getMinMaxDate(inst, "max"),
-			minYear = null,
-			maxYear = null,
-			years = this._get(inst, "yearRange");
-			if (years){
-				yearSplit = years.split(":");
-				currentYear = new Date().getFullYear();
-				minYear = parseInt(yearSplit[0], 10);
-				maxYear = parseInt(yearSplit[1], 10);
-				if ( yearSplit[0].match(/[+\-].*/) ) {
-					minYear += currentYear;
-				}
-				if ( yearSplit[1].match(/[+\-].*/) ) {
-					maxYear += currentYear;
-				}
-			}
-
-		return ((!minDate || date.getTime() >= minDate.getTime()) &&
-			(!maxDate || date.getTime() <= maxDate.getTime()) &&
-			(!minYear || date.getFullYear() >= minYear) &&
-			(!maxYear || date.getFullYear() <= maxYear));
-	},
-
-	/* Provide the configuration settings for formatting/parsing. */
-	_getFormatConfig: function(inst) {
-		var shortYearCutoff = this._get(inst, "shortYearCutoff");
-		shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff :
-			new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
-		return {shortYearCutoff: shortYearCutoff,
-			dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"),
-			monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")};
-	},
-
-	/* Format the given date for display. */
-	_formatDate: function(inst, day, month, year) {
-		if (!day) {
-			inst.currentDay = inst.selectedDay;
-			inst.currentMonth = inst.selectedMonth;
-			inst.currentYear = inst.selectedYear;
-		}
-		var date = (day ? (typeof day === "object" ? day :
-			this._daylightSavingAdjust(new Date(year, month, day))) :
-			this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));
-		return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst));
-	}
-});
-
-/*
- * Bind hover events for datepicker elements.
- * Done via delegate so the binding only occurs once in the lifetime of the parent div.
- * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.
- */
-function datepicker_bindHover(dpDiv) {
-	var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
-	return dpDiv.delegate(selector, "mouseout", function() {
-			$(this).removeClass("ui-state-hover");
-			if (this.className.indexOf("ui-datepicker-prev") !== -1) {
-				$(this).removeClass("ui-datepicker-prev-hover");
-			}
-			if (this.className.indexOf("ui-datepicker-next") !== -1) {
-				$(this).removeClass("ui-datepicker-next-hover");
-			}
-		})
-		.delegate( selector, "mouseover", datepicker_handleMouseover );
-}
-
-function datepicker_handleMouseover() {
-	if (!$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instActive.dpDiv.parent()[0] : datepicker_instActive.input[0])) {
-		$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
-		$(this).addClass("ui-state-hover");
-		if (this.className.indexOf("ui-datepicker-prev") !== -1) {
-			$(this).addClass("ui-datepicker-prev-hover");
-		}
-		if (this.className.indexOf("ui-datepicker-next") !== -1) {
-			$(this).addClass("ui-datepicker-next-hover");
-		}
-	}
-}
-
-/* jQuery extend now ignores nulls! */
-function datepicker_extendRemove(target, props) {
-	$.extend(target, props);
-	for (var name in props) {
-		if (props[name] == null) {
-			target[name] = props[name];
-		}
-	}
-	return target;
-}
-
-/* Invoke the datepicker functionality.
-   @param  options  string - a command, optionally followed by additional parameters or
-					Object - settings for attaching new datepicker functionality
-   @return  jQuery object */
-$.fn.datepicker = function(options){
-
-	/* Verify an empty collection wasn't passed - Fixes #6976 */
-	if ( !this.length ) {
-		return this;
-	}
-
-	/* Initialise the date picker. */
-	if (!$.datepicker.initialized) {
-		$(document).mousedown($.datepicker._checkExternalClick);
-		$.datepicker.initialized = true;
-	}
-
-	/* Append datepicker main container to body if not exist. */
-	if ($("#"+$.datepicker._mainDivId).length === 0) {
-		$("body").append($.datepicker.dpDiv);
-	}
-
-	var otherArgs = Array.prototype.slice.call(arguments, 1);
-	if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) {
-		return $.datepicker["_" + options + "Datepicker"].
-			apply($.datepicker, [this[0]].concat(otherArgs));
-	}
-	if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") {
-		return $.datepicker["_" + options + "Datepicker"].
-			apply($.datepicker, [this[0]].concat(otherArgs));
-	}
-	return this.each(function() {
-		typeof options === "string" ?
-			$.datepicker["_" + options + "Datepicker"].
-				apply($.datepicker, [this].concat(otherArgs)) :
-			$.datepicker._attachDatepicker(this, options);
-	});
-};
-
-$.datepicker = new Datepicker(); // singleton instance
-$.datepicker.initialized = false;
-$.datepicker.uuid = new Date().getTime();
-$.datepicker.version = "1.11.4";
-
-var datepicker = $.datepicker;
-
-
-/*!
- * jQuery UI Dialog 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/dialog/
- */
-
-
-var dialog = $.widget( "ui.dialog", {
-	version: "1.11.4",
-	options: {
-		appendTo: "body",
-		autoOpen: true,
-		buttons: [],
-		closeOnEscape: true,
-		closeText: "Close",
-		dialogClass: "",
-		draggable: true,
-		hide: null,
-		height: "auto",
-		maxHeight: null,
-		maxWidth: null,
-		minHeight: 150,
-		minWidth: 150,
-		modal: false,
-		position: {
-			my: "center",
-			at: "center",
-			of: window,
-			collision: "fit",
-			// Ensure the titlebar is always visible
-			using: function( pos ) {
-				var topOffset = $( this ).css( pos ).offset().top;
-				if ( topOffset < 0 ) {
-					$( this ).css( "top", pos.top - topOffset );
-				}
-			}
-		},
-		resizable: true,
-		show: null,
-		title: null,
-		width: 300,
-
-		// callbacks
-		beforeClose: null,
-		close: null,
-		drag: null,
-		dragStart: null,
-		dragStop: null,
-		focus: null,
-		open: null,
-		resize: null,
-		resizeStart: null,
-		resizeStop: null
-	},
-
-	sizeRelatedOptions: {
-		buttons: true,
-		height: true,
-		maxHeight: true,
-		maxWidth: true,
-		minHeight: true,
-		minWidth: true,
-		width: true
-	},
-
-	resizableRelatedOptions: {
-		maxHeight: true,
-		maxWidth: true,
-		minHeight: true,
-		minWidth: true
-	},
-
-	_create: function() {
-		this.originalCss = {
-			display: this.element[ 0 ].style.display,
-			width: this.element[ 0 ].style.width,
-			minHeight: this.element[ 0 ].style.minHeight,
-			maxHeight: this.element[ 0 ].style.maxHeight,
-			height: this.element[ 0 ].style.height
-		};
-		this.originalPosition = {
-			parent: this.element.parent(),
-			index: this.element.parent().children().index( this.element )
-		};
-		this.originalTitle = this.element.attr( "title" );
-		this.options.title = this.options.title || this.originalTitle;
-
-		this._createWrapper();
-
-		this.element
-			.show()
-			.removeAttr( "title" )
-			.addClass( "ui-dialog-content ui-widget-content" )
-			.appendTo( this.uiDialog );
-
-		this._createTitlebar();
-		this._createButtonPane();
-
-		if ( this.options.draggable && $.fn.draggable ) {
-			this._makeDraggable();
-		}
-		if ( this.options.resizable && $.fn.resizable ) {
-			this._makeResizable();
-		}
-
-		this._isOpen = false;
-
-		this._trackFocus();
-	},
-
-	_init: function() {
-		if ( this.options.autoOpen ) {
-			this.open();
-		}
-	},
-
-	_appendTo: function() {
-		var element = this.options.appendTo;
-		if ( element && (element.jquery || element.nodeType) ) {
-			return $( element );
-		}
-		return this.document.find( element || "body" ).eq( 0 );
-	},
-
-	_destroy: function() {
-		var next,
-			originalPosition = this.originalPosition;
-
-		this._untrackInstance();
-		this._destroyOverlay();
-
-		this.element
-			.removeUniqueId()
-			.removeClass( "ui-dialog-content ui-widget-content" )
-			.css( this.originalCss )
-			// Without detaching first, the following becomes really slow
-			.detach();
-
-		this.uiDialog.stop( true, true ).remove();
-
-		if ( this.originalTitle ) {
-			this.element.attr( "title", this.originalTitle );
-		}
-
-		next = originalPosition.parent.children().eq( originalPosition.index );
-		// Don't try to place the dialog next to itself (#8613)
-		if ( next.length && next[ 0 ] !== this.element[ 0 ] ) {
-			next.before( this.element );
-		} else {
-			originalPosition.parent.append( this.element );
-		}
-	},
-
-	widget: function() {
-		return this.uiDialog;
-	},
-
-	disable: $.noop,
-	enable: $.noop,
-
-	close: function( event ) {
-		var activeElement,
-			that = this;
-
-		if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
-			return;
-		}
-
-		this._isOpen = false;
-		this._focusedElement = null;
-		this._destroyOverlay();
-		this._untrackInstance();
-
-		if ( !this.opener.filter( ":focusable" ).focus().length ) {
-
-			// support: IE9
-			// IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
-			try {
-				activeElement = this.document[ 0 ].activeElement;
-
-				// Support: IE9, IE10
-				// If the <body> is blurred, IE will switch windows, see #4520
-				if ( activeElement && activeElement.nodeName.toLowerCase() !== "body" ) {
-
-					// Hiding a focused element doesn't trigger blur in WebKit
-					// so in case we have nothing to focus on, explicitly blur the active element
-					// https://bugs.webkit.org/show_bug.cgi?id=47182
-					$( activeElement ).blur();
-				}
-			} catch ( error ) {}
-		}
-
-		this._hide( this.uiDialog, this.options.hide, function() {
-			that._trigger( "close", event );
-		});
-	},
-
-	isOpen: function() {
-		return this._isOpen;
-	},
-
-	moveToTop: function() {
-		this._moveToTop();
-	},
-
-	_moveToTop: function( event, silent ) {
-		var moved = false,
-			zIndices = this.uiDialog.siblings( ".ui-front:visible" ).map(function() {
-				return +$( this ).css( "z-index" );
-			}).get(),
-			zIndexMax = Math.max.apply( null, zIndices );
-
-		if ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) {
-			this.uiDialog.css( "z-index", zIndexMax + 1 );
-			moved = true;
-		}
-
-		if ( moved && !silent ) {
-			this._trigger( "focus", event );
-		}
-		return moved;
-	},
-
-	open: function() {
-		var that = this;
-		if ( this._isOpen ) {
-			if ( this._moveToTop() ) {
-				this._focusTabbable();
-			}
-			return;
-		}
-
-		this._isOpen = true;
-		this.opener = $( this.document[ 0 ].activeElement );
-
-		this._size();
-		this._position();
-		this._createOverlay();
-		this._moveToTop( null, true );
-
-		// Ensure the overlay is moved to the top with the dialog, but only when
-		// opening. The overlay shouldn't move after the dialog is open so that
-		// modeless dialogs opened after the modal dialog stack properly.
-		if ( this.overlay ) {
-			this.overlay.css( "z-index", this.uiDialog.css( "z-index" ) - 1 );
-		}
-
-		this._show( this.uiDialog, this.options.show, function() {
-			that._focusTabbable();
-			that._trigger( "focus" );
-		});
-
-		// Track the dialog immediately upon openening in case a focus event
-		// somehow occurs outside of the dialog before an element inside the
-		// dialog is focused (#10152)
-		this._makeFocusTarget();
-
-		this._trigger( "open" );
-	},
-
-	_focusTabbable: function() {
-		// Set focus to the first match:
-		// 1. An element that was focused previously
-		// 2. First element inside the dialog matching [autofocus]
-		// 3. Tabbable element inside the content element
-		// 4. Tabbable element inside the buttonpane
-		// 5. The close button
-		// 6. The dialog itself
-		var hasFocus = this._focusedElement;
-		if ( !hasFocus ) {
-			hasFocus = this.element.find( "[autofocus]" );
-		}
-		if ( !hasFocus.length ) {
-			hasFocus = this.element.find( ":tabbable" );
-		}
-		if ( !hasFocus.length ) {
-			hasFocus = this.uiDialogButtonPane.find( ":tabbable" );
-		}
-		if ( !hasFocus.length ) {
-			hasFocus = this.uiDialogTitlebarClose.filter( ":tabbable" );
-		}
-		if ( !hasFocus.length ) {
-			hasFocus = this.uiDialog;
-		}
-		hasFocus.eq( 0 ).focus();
-	},
-
-	_keepFocus: function( event ) {
-		function checkFocus() {
-			var activeElement = this.document[0].activeElement,
-				isActive = this.uiDialog[0] === activeElement ||
-					$.contains( this.uiDialog[0], activeElement );
-			if ( !isActive ) {
-				this._focusTabbable();
-			}
-		}
-		event.preventDefault();
-		checkFocus.call( this );
-		// support: IE
-		// IE <= 8 doesn't prevent moving focus even with event.preventDefault()
-		// so we check again later
-		this._delay( checkFocus );
-	},
-
-	_createWrapper: function() {
-		this.uiDialog = $("<div>")
-			.addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " +
-				this.options.dialogClass )
-			.hide()
-			.attr({
-				// Setting tabIndex makes the div focusable
-				tabIndex: -1,
-				role: "dialog"
-			})
-			.appendTo( this._appendTo() );
-
-		this._on( this.uiDialog, {
-			keydown: function( event ) {
-				if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&
-						event.keyCode === $.ui.keyCode.ESCAPE ) {
-					event.preventDefault();
-					this.close( event );
-					return;
-				}
-
-				// prevent tabbing out of dialogs
-				if ( event.keyCode !== $.ui.keyCode.TAB || event.isDefaultPrevented() ) {
-					return;
-				}
-				var tabbables = this.uiDialog.find( ":tabbable" ),
-					first = tabbables.filter( ":first" ),
-					last = tabbables.filter( ":last" );
-
-				if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {
-					this._delay(function() {
-						first.focus();
-					});
-					event.preventDefault();
-				} else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {
-					this._delay(function() {
-						last.focus();
-					});
-					event.preventDefault();
-				}
-			},
-			mousedown: function( event ) {
-				if ( this._moveToTop( event ) ) {
-					this._focusTabbable();
-				}
-			}
-		});
-
-		// We assume that any existing aria-describedby attribute means
-		// that the dialog content is marked up properly
-		// otherwise we brute force the content as the description
-		if ( !this.element.find( "[aria-describedby]" ).length ) {
-			this.uiDialog.attr({
-				"aria-describedby": this.element.uniqueId().attr( "id" )
-			});
-		}
-	},
-
-	_createTitlebar: function() {
-		var uiDialogTitle;
-
-		this.uiDialogTitlebar = $( "<div>" )
-			.addClass( "ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" )
-			.prependTo( this.uiDialog );
-		this._on( this.uiDialogTitlebar, {
-			mousedown: function( event ) {
-				// Don't prevent click on close button (#8838)
-				// Focusing a dialog that is partially scrolled out of view
-				// causes the browser to scroll it into view, preventing the click event
-				if ( !$( event.target ).closest( ".ui-dialog-titlebar-close" ) ) {
-					// Dialog isn't getting focus when dragging (#8063)
-					this.uiDialog.focus();
-				}
-			}
-		});
-
-		// support: IE
-		// Use type="button" to prevent enter keypresses in textboxes from closing the
-		// dialog in IE (#9312)
-		this.uiDialogTitlebarClose = $( "<button type='button'></button>" )
-			.button({
-				label: this.options.closeText,
-				icons: {
-					primary: "ui-icon-closethick"
-				},
-				text: false
-			})
-			.addClass( "ui-dialog-titlebar-close" )
-			.appendTo( this.uiDialogTitlebar );
-		this._on( this.uiDialogTitlebarClose, {
-			click: function( event ) {
-				event.preventDefault();
-				this.close( event );
-			}
-		});
-
-		uiDialogTitle = $( "<span>" )
-			.uniqueId()
-			.addClass( "ui-dialog-title" )
-			.prependTo( this.uiDialogTitlebar );
-		this._title( uiDialogTitle );
-
-		this.uiDialog.attr({
-			"aria-labelledby": uiDialogTitle.attr( "id" )
-		});
-	},
-
-	_title: function( title ) {
-		if ( !this.options.title ) {
-			title.html( "&#160;" );
-		}
-		title.text( this.options.title );
-	},
-
-	_createButtonPane: function() {
-		this.uiDialogButtonPane = $( "<div>" )
-			.addClass( "ui-dialog-buttonpane ui-widget-content ui-helper-clearfix" );
-
-		this.uiButtonSet = $( "<div>" )
-			.addClass( "ui-dialog-buttonset" )
-			.appendTo( this.uiDialogButtonPane );
-
-		this._createButtons();
-	},
-
-	_createButtons: function() {
-		var that = this,
-			buttons = this.options.buttons;
-
-		// if we already have a button pane, remove it
-		this.uiDialogButtonPane.remove();
-		this.uiButtonSet.empty();
-
-		if ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {
-			this.uiDialog.removeClass( "ui-dialog-buttons" );
-			return;
-		}
-
-		$.each( buttons, function( name, props ) {
-			var click, buttonOptions;
-			props = $.isFunction( props ) ?
-				{ click: props, text: name } :
-				props;
-			// Default to a non-submitting button
-			props = $.extend( { type: "button" }, props );
-			// Change the context for the click callback to be the main element
-			click = props.click;
-			props.click = function() {
-				click.apply( that.element[ 0 ], arguments );
-			};
-			buttonOptions = {
-				icons: props.icons,
-				text: props.showText
-			};
-			delete props.icons;
-			delete props.showText;
-			$( "<button></button>", props )
-				.button( buttonOptions )
-				.appendTo( that.uiButtonSet );
-		});
-		this.uiDialog.addClass( "ui-dialog-buttons" );
-		this.uiDialogButtonPane.appendTo( this.uiDialog );
-	},
-
-	_makeDraggable: function() {
-		var that = this,
-			options = this.options;
-
-		function filteredUi( ui ) {
-			return {
-				position: ui.position,
-				offset: ui.offset
-			};
-		}
-
-		this.uiDialog.draggable({
-			cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
-			handle: ".ui-dialog-titlebar",
-			containment: "document",
-			start: function( event, ui ) {
-				$( this ).addClass( "ui-dialog-dragging" );
-				that._blockFrames();
-				that._trigger( "dragStart", event, filteredUi( ui ) );
-			},
-			drag: function( event, ui ) {
-				that._trigger( "drag", event, filteredUi( ui ) );
-			},
-			stop: function( event, ui ) {
-				var left = ui.offset.left - that.document.scrollLeft(),
-					top = ui.offset.top - that.document.scrollTop();
-
-				options.position = {
-					my: "left top",
-					at: "left" + (left >= 0 ? "+" : "") + left + " " +
-						"top" + (top >= 0 ? "+" : "") + top,
-					of: that.window
-				};
-				$( this ).removeClass( "ui-dialog-dragging" );
-				that._unblockFrames();
-				that._trigger( "dragStop", event, filteredUi( ui ) );
-			}
-		});
-	},
-
-	_makeResizable: function() {
-		var that = this,
-			options = this.options,
-			handles = options.resizable,
-			// .ui-resizable has position: relative defined in the stylesheet
-			// but dialogs have to use absolute or fixed positioning
-			position = this.uiDialog.css("position"),
-			resizeHandles = typeof handles === "string" ?
-				handles	:
-				"n,e,s,w,se,sw,ne,nw";
-
-		function filteredUi( ui ) {
-			return {
-				originalPosition: ui.originalPosition,
-				originalSize: ui.originalSize,
-				position: ui.position,
-				size: ui.size
-			};
-		}
-
-		this.uiDialog.resizable({
-			cancel: ".ui-dialog-content",
-			containment: "document",
-			alsoResize: this.element,
-			maxWidth: options.maxWidth,
-			maxHeight: options.maxHeight,
-			minWidth: options.minWidth,
-			minHeight: this._minHeight(),
-			handles: resizeHandles,
-			start: function( event, ui ) {
-				$( this ).addClass( "ui-dialog-resizing" );
-				that._blockFrames();
-				that._trigger( "resizeStart", event, filteredUi( ui ) );
-			},
-			resize: function( event, ui ) {
-				that._trigger( "resize", event, filteredUi( ui ) );
-			},
-			stop: function( event, ui ) {
-				var offset = that.uiDialog.offset(),
-					left = offset.left - that.document.scrollLeft(),
-					top = offset.top - that.document.scrollTop();
-
-				options.height = that.uiDialog.height();
-				options.width = that.uiDialog.width();
-				options.position = {
-					my: "left top",
-					at: "left" + (left >= 0 ? "+" : "") + left + " " +
-						"top" + (top >= 0 ? "+" : "") + top,
-					of: that.window
-				};
-				$( this ).removeClass( "ui-dialog-resizing" );
-				that._unblockFrames();
-				that._trigger( "resizeStop", event, filteredUi( ui ) );
-			}
-		})
-		.css( "position", position );
-	},
-
-	_trackFocus: function() {
-		this._on( this.widget(), {
-			focusin: function( event ) {
-				this._makeFocusTarget();
-				this._focusedElement = $( event.target );
-			}
-		});
-	},
-
-	_makeFocusTarget: function() {
-		this._untrackInstance();
-		this._trackingInstances().unshift( this );
-	},
-
-	_untrackInstance: function() {
-		var instances = this._trackingInstances(),
-			exists = $.inArray( this, instances );
-		if ( exists !== -1 ) {
-			instances.splice( exists, 1 );
-		}
-	},
-
-	_trackingInstances: function() {
-		var instances = this.document.data( "ui-dialog-instances" );
-		if ( !instances ) {
-			instances = [];
-			this.document.data( "ui-dialog-instances", instances );
-		}
-		return instances;
-	},
-
-	_minHeight: function() {
-		var options = this.options;
-
-		return options.height === "auto" ?
-			options.minHeight :
-			Math.min( options.minHeight, options.height );
-	},
-
-	_position: function() {
-		// Need to show the dialog to get the actual offset in the position plugin
-		var isVisible = this.uiDialog.is( ":visible" );
-		if ( !isVisible ) {
-			this.uiDialog.show();
-		}
-		this.uiDialog.position( this.options.position );
-		if ( !isVisible ) {
-			this.uiDialog.hide();
-		}
-	},
-
-	_setOptions: function( options ) {
-		var that = this,
-			resize = false,
-			resizableOptions = {};
-
-		$.each( options, function( key, value ) {
-			that._setOption( key, value );
-
-			if ( key in that.sizeRelatedOptions ) {
-				resize = true;
-			}
-			if ( key in that.resizableRelatedOptions ) {
-				resizableOptions[ key ] = value;
-			}
-		});
-
-		if ( resize ) {
-			this._size();
-			this._position();
-		}
-		if ( this.uiDialog.is( ":data(ui-resizable)" ) ) {
-			this.uiDialog.resizable( "option", resizableOptions );
-		}
-	},
-
-	_setOption: function( key, value ) {
-		var isDraggable, isResizable,
-			uiDialog = this.uiDialog;
-
-		if ( key === "dialogClass" ) {
-			uiDialog
-				.removeClass( this.options.dialogClass )
-				.addClass( value );
-		}
-
-		if ( key === "disabled" ) {
-			return;
-		}
-
-		this._super( key, value );
-
-		if ( key === "appendTo" ) {
-			this.uiDialog.appendTo( this._appendTo() );
-		}
-
-		if ( key === "buttons" ) {
-			this._createButtons();
-		}
-
-		if ( key === "closeText" ) {
-			this.uiDialogTitlebarClose.button({
-				// Ensure that we always pass a string
-				label: "" + value
-			});
-		}
-
-		if ( key === "draggable" ) {
-			isDraggable = uiDialog.is( ":data(ui-draggable)" );
-			if ( isDraggable && !value ) {
-				uiDialog.draggable( "destroy" );
-			}
-
-			if ( !isDraggable && value ) {
-				this._makeDraggable();
-			}
-		}
-
-		if ( key === "position" ) {
-			this._position();
-		}
-
-		if ( key === "resizable" ) {
-			// currently resizable, becoming non-resizable
-			isResizable = uiDialog.is( ":data(ui-resizable)" );
-			if ( isResizable && !value ) {
-				uiDialog.resizable( "destroy" );
-			}
-
-			// currently resizable, changing handles
-			if ( isResizable && typeof value === "string" ) {
-				uiDialog.resizable( "option", "handles", value );
-			}
-
-			// currently non-resizable, becoming resizable
-			if ( !isResizable && value !== false ) {
-				this._makeResizable();
-			}
-		}
-
-		if ( key === "title" ) {
-			this._title( this.uiDialogTitlebar.find( ".ui-dialog-title" ) );
-		}
-	},
-
-	_size: function() {
-		// If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
-		// divs will both have width and height set, so we need to reset them
-		var nonContentHeight, minContentHeight, maxContentHeight,
-			options = this.options;
-
-		// Reset content sizing
-		this.element.show().css({
-			width: "auto",
-			minHeight: 0,
-			maxHeight: "none",
-			height: 0
-		});
-
-		if ( options.minWidth > options.width ) {
-			options.width = options.minWidth;
-		}
-
-		// reset wrapper sizing
-		// determine the height of all the non-content elements
-		nonContentHeight = this.uiDialog.css({
-				height: "auto",
-				width: options.width
-			})
-			.outerHeight();
-		minContentHeight = Math.max( 0, options.minHeight - nonContentHeight );
-		maxContentHeight = typeof options.maxHeight === "number" ?
-			Math.max( 0, options.maxHeight - nonContentHeight ) :
-			"none";
-
-		if ( options.height === "auto" ) {
-			this.element.css({
-				minHeight: minContentHeight,
-				maxHeight: maxContentHeight,
-				height: "auto"
-			});
-		} else {
-			this.element.height( Math.max( 0, options.height - nonContentHeight ) );
-		}
-
-		if ( this.uiDialog.is( ":data(ui-resizable)" ) ) {
-			this.uiDialog.resizable( "option", "minHeight", this._minHeight() );
-		}
-	},
-
-	_blockFrames: function() {
-		this.iframeBlocks = this.document.find( "iframe" ).map(function() {
-			var iframe = $( this );
-
-			return $( "<div>" )
-				.css({
-					position: "absolute",
-					width: iframe.outerWidth(),
-					height: iframe.outerHeight()
-				})
-				.appendTo( iframe.parent() )
-				.offset( iframe.offset() )[0];
-		});
-	},
-
-	_unblockFrames: function() {
-		if ( this.iframeBlocks ) {
-			this.iframeBlocks.remove();
-			delete this.iframeBlocks;
-		}
-	},
-
-	_allowInteraction: function( event ) {
-		if ( $( event.target ).closest( ".ui-dialog" ).length ) {
-			return true;
-		}
-
-		// TODO: Remove hack when datepicker implements
-		// the .ui-front logic (#8989)
-		return !!$( event.target ).closest( ".ui-datepicker" ).length;
-	},
-
-	_createOverlay: function() {
-		if ( !this.options.modal ) {
-			return;
-		}
-
-		// We use a delay in case the overlay is created from an
-		// event that we're going to be cancelling (#2804)
-		var isOpening = true;
-		this._delay(function() {
-			isOpening = false;
-		});
-
-		if ( !this.document.data( "ui-dialog-overlays" ) ) {
-
-			// Prevent use of anchors and inputs
-			// Using _on() for an event handler shared across many instances is
-			// safe because the dialogs stack and must be closed in reverse order
-			this._on( this.document, {
-				focusin: function( event ) {
-					if ( isOpening ) {
-						return;
-					}
-
-					if ( !this._allowInteraction( event ) ) {
-						event.preventDefault();
-						this._trackingInstances()[ 0 ]._focusTabbable();
-					}
-				}
-			});
-		}
-
-		this.overlay = $( "<div>" )
-			.addClass( "ui-widget-overlay ui-front" )
-			.appendTo( this._appendTo() );
-		this._on( this.overlay, {
-			mousedown: "_keepFocus"
-		});
-		this.document.data( "ui-dialog-overlays",
-			(this.document.data( "ui-dialog-overlays" ) || 0) + 1 );
-	},
-
-	_destroyOverlay: function() {
-		if ( !this.options.modal ) {
-			return;
-		}
-
-		if ( this.overlay ) {
-			var overlays = this.document.data( "ui-dialog-overlays" ) - 1;
-
-			if ( !overlays ) {
-				this.document
-					.unbind( "focusin" )
-					.removeData( "ui-dialog-overlays" );
-			} else {
-				this.document.data( "ui-dialog-overlays", overlays );
-			}
-
-			this.overlay.remove();
-			this.overlay = null;
-		}
-	}
-});
-
-
-/*!
- * jQuery UI Progressbar 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/progressbar/
- */
-
-
-var progressbar = $.widget( "ui.progressbar", {
-	version: "1.11.4",
-	options: {
-		max: 100,
-		value: 0,
-
-		change: null,
-		complete: null
-	},
-
-	min: 0,
-
-	_create: function() {
-		// Constrain initial value
-		this.oldValue = this.options.value = this._constrainedValue();
-
-		this.element
-			.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
-			.attr({
-				// Only set static values, aria-valuenow and aria-valuemax are
-				// set inside _refreshValue()
-				role: "progressbar",
-				"aria-valuemin": this.min
-			});
-
-		this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
-			.appendTo( this.element );
-
-		this._refreshValue();
-	},
-
-	_destroy: function() {
-		this.element
-			.removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-valuemin" )
-			.removeAttr( "aria-valuemax" )
-			.removeAttr( "aria-valuenow" );
-
-		this.valueDiv.remove();
-	},
-
-	value: function( newValue ) {
-		if ( newValue === undefined ) {
-			return this.options.value;
-		}
-
-		this.options.value = this._constrainedValue( newValue );
-		this._refreshValue();
-	},
-
-	_constrainedValue: function( newValue ) {
-		if ( newValue === undefined ) {
-			newValue = this.options.value;
-		}
-
-		this.indeterminate = newValue === false;
-
-		// sanitize value
-		if ( typeof newValue !== "number" ) {
-			newValue = 0;
-		}
-
-		return this.indeterminate ? false :
-			Math.min( this.options.max, Math.max( this.min, newValue ) );
-	},
-
-	_setOptions: function( options ) {
-		// Ensure "value" option is set after other values (like max)
-		var value = options.value;
-		delete options.value;
-
-		this._super( options );
-
-		this.options.value = this._constrainedValue( value );
-		this._refreshValue();
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "max" ) {
-			// Don't allow a max less than min
-			value = Math.max( this.min, value );
-		}
-		if ( key === "disabled" ) {
-			this.element
-				.toggleClass( "ui-state-disabled", !!value )
-				.attr( "aria-disabled", value );
-		}
-		this._super( key, value );
-	},
-
-	_percentage: function() {
-		return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min );
-	},
-
-	_refreshValue: function() {
-		var value = this.options.value,
-			percentage = this._percentage();
-
-		this.valueDiv
-			.toggle( this.indeterminate || value > this.min )
-			.toggleClass( "ui-corner-right", value === this.options.max )
-			.width( percentage.toFixed(0) + "%" );
-
-		this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate );
-
-		if ( this.indeterminate ) {
-			this.element.removeAttr( "aria-valuenow" );
-			if ( !this.overlayDiv ) {
-				this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
-			}
-		} else {
-			this.element.attr({
-				"aria-valuemax": this.options.max,
-				"aria-valuenow": value
-			});
-			if ( this.overlayDiv ) {
-				this.overlayDiv.remove();
-				this.overlayDiv = null;
-			}
-		}
-
-		if ( this.oldValue !== value ) {
-			this.oldValue = value;
-			this._trigger( "change" );
-		}
-		if ( value === this.options.max ) {
-			this._trigger( "complete" );
-		}
-	}
-});
-
-
-/*!
- * jQuery UI Selectmenu 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/selectmenu
- */
-
-
-var selectmenu = $.widget( "ui.selectmenu", {
-	version: "1.11.4",
-	defaultElement: "<select>",
-	options: {
-		appendTo: null,
-		disabled: null,
-		icons: {
-			button: "ui-icon-triangle-1-s"
-		},
-		position: {
-			my: "left top",
-			at: "left bottom",
-			collision: "none"
-		},
-		width: null,
-
-		// callbacks
-		change: null,
-		close: null,
-		focus: null,
-		open: null,
-		select: null
-	},
-
-	_create: function() {
-		var selectmenuId = this.element.uniqueId().attr( "id" );
-		this.ids = {
-			element: selectmenuId,
-			button: selectmenuId + "-button",
-			menu: selectmenuId + "-menu"
-		};
-
-		this._drawButton();
-		this._drawMenu();
-
-		if ( this.options.disabled ) {
-			this.disable();
-		}
-	},
-
-	_drawButton: function() {
-		var that = this;
-
-		// Associate existing label with the new button
-		this.label = $( "label[for='" + this.ids.element + "']" ).attr( "for", this.ids.button );
-		this._on( this.label, {
-			click: function( event ) {
-				this.button.focus();
-				event.preventDefault();
-			}
-		});
-
-		// Hide original select element
-		this.element.hide();
-
-		// Create button
-		this.button = $( "<span>", {
-			"class": "ui-selectmenu-button ui-widget ui-state-default ui-corner-all",
-			tabindex: this.options.disabled ? -1 : 0,
-			id: this.ids.button,
-			role: "combobox",
-			"aria-expanded": "false",
-			"aria-autocomplete": "list",
-			"aria-owns": this.ids.menu,
-			"aria-haspopup": "true"
-		})
-			.insertAfter( this.element );
-
-		$( "<span>", {
-			"class": "ui-icon " + this.options.icons.button
-		})
-			.prependTo( this.button );
-
-		this.buttonText = $( "<span>", {
-			"class": "ui-selectmenu-text"
-		})
-			.appendTo( this.button );
-
-		this._setText( this.buttonText, this.element.find( "option:selected" ).text() );
-		this._resizeButton();
-
-		this._on( this.button, this._buttonEvents );
-		this.button.one( "focusin", function() {
-
-			// Delay rendering the menu items until the button receives focus.
-			// The menu may have already been rendered via a programmatic open.
-			if ( !that.menuItems ) {
-				that._refreshMenu();
-			}
-		});
-		this._hoverable( this.button );
-		this._focusable( this.button );
-	},
-
-	_drawMenu: function() {
-		var that = this;
-
-		// Create menu
-		this.menu = $( "<ul>", {
-			"aria-hidden": "true",
-			"aria-labelledby": this.ids.button,
-			id: this.ids.menu
-		});
-
-		// Wrap menu
-		this.menuWrap = $( "<div>", {
-			"class": "ui-selectmenu-menu ui-front"
-		})
-			.append( this.menu )
-			.appendTo( this._appendTo() );
-
-		// Initialize menu widget
-		this.menuInstance = this.menu
-			.menu({
-				role: "listbox",
-				select: function( event, ui ) {
-					event.preventDefault();
-
-					// support: IE8
-					// If the item was selected via a click, the text selection
-					// will be destroyed in IE
-					that._setSelection();
-
-					that._select( ui.item.data( "ui-selectmenu-item" ), event );
-				},
-				focus: function( event, ui ) {
-					var item = ui.item.data( "ui-selectmenu-item" );
-
-					// Prevent inital focus from firing and check if its a newly focused item
-					if ( that.focusIndex != null && item.index !== that.focusIndex ) {
-						that._trigger( "focus", event, { item: item } );
-						if ( !that.isOpen ) {
-							that._select( item, event );
-						}
-					}
-					that.focusIndex = item.index;
-
-					that.button.attr( "aria-activedescendant",
-						that.menuItems.eq( item.index ).attr( "id" ) );
-				}
-			})
-			.menu( "instance" );
-
-		// Adjust menu styles to dropdown
-		this.menu
-			.addClass( "ui-corner-bottom" )
-			.removeClass( "ui-corner-all" );
-
-		// Don't close the menu on mouseleave
-		this.menuInstance._off( this.menu, "mouseleave" );
-
-		// Cancel the menu's collapseAll on document click
-		this.menuInstance._closeOnDocumentClick = function() {
-			return false;
-		};
-
-		// Selects often contain empty items, but never contain dividers
-		this.menuInstance._isDivider = function() {
-			return false;
-		};
-	},
-
-	refresh: function() {
-		this._refreshMenu();
-		this._setText( this.buttonText, this._getSelectedItem().text() );
-		if ( !this.options.width ) {
-			this._resizeButton();
-		}
-	},
-
-	_refreshMenu: function() {
-		this.menu.empty();
-
-		var item,
-			options = this.element.find( "option" );
-
-		if ( !options.length ) {
-			return;
-		}
-
-		this._parseOptions( options );
-		this._renderMenu( this.menu, this.items );
-
-		this.menuInstance.refresh();
-		this.menuItems = this.menu.find( "li" ).not( ".ui-selectmenu-optgroup" );
-
-		item = this._getSelectedItem();
-
-		// Update the menu to have the correct item focused
-		this.menuInstance.focus( null, item );
-		this._setAria( item.data( "ui-selectmenu-item" ) );
-
-		// Set disabled state
-		this._setOption( "disabled", this.element.prop( "disabled" ) );
-	},
-
-	open: function( event ) {
-		if ( this.options.disabled ) {
-			return;
-		}
-
-		// If this is the first time the menu is being opened, render the items
-		if ( !this.menuItems ) {
-			this._refreshMenu();
-		} else {
-
-			// Menu clears focus on close, reset focus to selected item
-			this.menu.find( ".ui-state-focus" ).removeClass( "ui-state-focus" );
-			this.menuInstance.focus( null, this._getSelectedItem() );
-		}
-
-		this.isOpen = true;
-		this._toggleAttr();
-		this._resizeMenu();
-		this._position();
-
-		this._on( this.document, this._documentClick );
-
-		this._trigger( "open", event );
-	},
-
-	_position: function() {
-		this.menuWrap.position( $.extend( { of: this.button }, this.options.position ) );
-	},
-
-	close: function( event ) {
-		if ( !this.isOpen ) {
-			return;
-		}
-
-		this.isOpen = false;
-		this._toggleAttr();
-
-		this.range = null;
-		this._off( this.document );
-
-		this._trigger( "close", event );
-	},
-
-	widget: function() {
-		return this.button;
-	},
-
-	menuWidget: function() {
-		return this.menu;
-	},
-
-	_renderMenu: function( ul, items ) {
-		var that = this,
-			currentOptgroup = "";
-
-		$.each( items, function( index, item ) {
-			if ( item.optgroup !== currentOptgroup ) {
-				$( "<li>", {
-					"class": "ui-selectmenu-optgroup ui-menu-divider" +
-						( item.element.parent( "optgroup" ).prop( "disabled" ) ?
-							" ui-state-disabled" :
-							"" ),
-					text: item.optgroup
-				})
-					.appendTo( ul );
-
-				currentOptgroup = item.optgroup;
-			}
-
-			that._renderItemData( ul, item );
-		});
-	},
-
-	_renderItemData: function( ul, item ) {
-		return this._renderItem( ul, item ).data( "ui-selectmenu-item", item );
-	},
-
-	_renderItem: function( ul, item ) {
-		var li = $( "<li>" );
-
-		if ( item.disabled ) {
-			li.addClass( "ui-state-disabled" );
-		}
-		this._setText( li, item.label );
-
-		return li.appendTo( ul );
-	},
-
-	_setText: function( element, value ) {
-		if ( value ) {
-			element.text( value );
-		} else {
-			element.html( "&#160;" );
-		}
-	},
-
-	_move: function( direction, event ) {
-		var item, next,
-			filter = ".ui-menu-item";
-
-		if ( this.isOpen ) {
-			item = this.menuItems.eq( this.focusIndex );
-		} else {
-			item = this.menuItems.eq( this.element[ 0 ].selectedIndex );
-			filter += ":not(.ui-state-disabled)";
-		}
-
-		if ( direction === "first" || direction === "last" ) {
-			next = item[ direction === "first" ? "prevAll" : "nextAll" ]( filter ).eq( -1 );
-		} else {
-			next = item[ direction + "All" ]( filter ).eq( 0 );
-		}
-
-		if ( next.length ) {
-			this.menuInstance.focus( event, next );
-		}
-	},
-
-	_getSelectedItem: function() {
-		return this.menuItems.eq( this.element[ 0 ].selectedIndex );
-	},
-
-	_toggle: function( event ) {
-		this[ this.isOpen ? "close" : "open" ]( event );
-	},
-
-	_setSelection: function() {
-		var selection;
-
-		if ( !this.range ) {
-			return;
-		}
-
-		if ( window.getSelection ) {
-			selection = window.getSelection();
-			selection.removeAllRanges();
-			selection.addRange( this.range );
-
-		// support: IE8
-		} else {
-			this.range.select();
-		}
-
-		// support: IE
-		// Setting the text selection kills the button focus in IE, but
-		// restoring the focus doesn't kill the selection.
-		this.button.focus();
-	},
-
-	_documentClick: {
-		mousedown: function( event ) {
-			if ( !this.isOpen ) {
-				return;
-			}
-
-			if ( !$( event.target ).closest( ".ui-selectmenu-menu, #" + this.ids.button ).length ) {
-				this.close( event );
-			}
-		}
-	},
-
-	_buttonEvents: {
-
-		// Prevent text selection from being reset when interacting with the selectmenu (#10144)
-		mousedown: function() {
-			var selection;
-
-			if ( window.getSelection ) {
-				selection = window.getSelection();
-				if ( selection.rangeCount ) {
-					this.range = selection.getRangeAt( 0 );
-				}
-
-			// support: IE8
-			} else {
-				this.range = document.selection.createRange();
-			}
-		},
-
-		click: function( event ) {
-			this._setSelection();
-			this._toggle( event );
-		},
-
-		keydown: function( event ) {
-			var preventDefault = true;
-			switch ( event.keyCode ) {
-				case $.ui.keyCode.TAB:
-				case $.ui.keyCode.ESCAPE:
-					this.close( event );
-					preventDefault = false;
-					break;
-				case $.ui.keyCode.ENTER:
-					if ( this.isOpen ) {
-						this._selectFocusedItem( event );
-					}
-					break;
-				case $.ui.keyCode.UP:
-					if ( event.altKey ) {
-						this._toggle( event );
-					} else {
-						this._move( "prev", event );
-					}
-					break;
-				case $.ui.keyCode.DOWN:
-					if ( event.altKey ) {
-						this._toggle( event );
-					} else {
-						this._move( "next", event );
-					}
-					break;
-				case $.ui.keyCode.SPACE:
-					if ( this.isOpen ) {
-						this._selectFocusedItem( event );
-					} else {
-						this._toggle( event );
-					}
-					break;
-				case $.ui.keyCode.LEFT:
-					this._move( "prev", event );
-					break;
-				case $.ui.keyCode.RIGHT:
-					this._move( "next", event );
-					break;
-				case $.ui.keyCode.HOME:
-				case $.ui.keyCode.PAGE_UP:
-					this._move( "first", event );
-					break;
-				case $.ui.keyCode.END:
-				case $.ui.keyCode.PAGE_DOWN:
-					this._move( "last", event );
-					break;
-				default:
-					this.menu.trigger( event );
-					preventDefault = false;
-			}
-
-			if ( preventDefault ) {
-				event.preventDefault();
-			}
-		}
-	},
-
-	_selectFocusedItem: function( event ) {
-		var item = this.menuItems.eq( this.focusIndex );
-		if ( !item.hasClass( "ui-state-disabled" ) ) {
-			this._select( item.data( "ui-selectmenu-item" ), event );
-		}
-	},
-
-	_select: function( item, event ) {
-		var oldIndex = this.element[ 0 ].selectedIndex;
-
-		// Change native select element
-		this.element[ 0 ].selectedIndex = item.index;
-		this._setText( this.buttonText, item.label );
-		this._setAria( item );
-		this._trigger( "select", event, { item: item } );
-
-		if ( item.index !== oldIndex ) {
-			this._trigger( "change", event, { item: item } );
-		}
-
-		this.close( event );
-	},
-
-	_setAria: function( item ) {
-		var id = this.menuItems.eq( item.index ).attr( "id" );
-
-		this.button.attr({
-			"aria-labelledby": id,
-			"aria-activedescendant": id
-		});
-		this.menu.attr( "aria-activedescendant", id );
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "icons" ) {
-			this.button.find( "span.ui-icon" )
-				.removeClass( this.options.icons.button )
-				.addClass( value.button );
-		}
-
-		this._super( key, value );
-
-		if ( key === "appendTo" ) {
-			this.menuWrap.appendTo( this._appendTo() );
-		}
-
-		if ( key === "disabled" ) {
-			this.menuInstance.option( "disabled", value );
-			this.button
-				.toggleClass( "ui-state-disabled", value )
-				.attr( "aria-disabled", value );
-
-			this.element.prop( "disabled", value );
-			if ( value ) {
-				this.button.attr( "tabindex", -1 );
-				this.close();
-			} else {
-				this.button.attr( "tabindex", 0 );
-			}
-		}
-
-		if ( key === "width" ) {
-			this._resizeButton();
-		}
-	},
-
-	_appendTo: function() {
-		var element = this.options.appendTo;
-
-		if ( element ) {
-			element = element.jquery || element.nodeType ?
-				$( element ) :
-				this.document.find( element ).eq( 0 );
-		}
-
-		if ( !element || !element[ 0 ] ) {
-			element = this.element.closest( ".ui-front" );
-		}
-
-		if ( !element.length ) {
-			element = this.document[ 0 ].body;
-		}
-
-		return element;
-	},
-
-	_toggleAttr: function() {
-		this.button
-			.toggleClass( "ui-corner-top", this.isOpen )
-			.toggleClass( "ui-corner-all", !this.isOpen )
-			.attr( "aria-expanded", this.isOpen );
-		this.menuWrap.toggleClass( "ui-selectmenu-open", this.isOpen );
-		this.menu.attr( "aria-hidden", !this.isOpen );
-	},
-
-	_resizeButton: function() {
-		var width = this.options.width;
-
-		if ( !width ) {
-			width = this.element.show().outerWidth();
-			this.element.hide();
-		}
-
-		this.button.outerWidth( width );
-	},
-
-	_resizeMenu: function() {
-		this.menu.outerWidth( Math.max(
-			this.button.outerWidth(),
-
-			// support: IE10
-			// IE10 wraps long text (possibly a rounding bug)
-			// so we add 1px to avoid the wrapping
-			this.menu.width( "" ).outerWidth() + 1
-		) );
-	},
-
-	_getCreateOptions: function() {
-		return { disabled: this.element.prop( "disabled" ) };
-	},
-
-	_parseOptions: function( options ) {
-		var data = [];
-		options.each(function( index, item ) {
-			var option = $( item ),
-				optgroup = option.parent( "optgroup" );
-			data.push({
-				element: option,
-				index: index,
-				value: option.val(),
-				label: option.text(),
-				optgroup: optgroup.attr( "label" ) || "",
-				disabled: optgroup.prop( "disabled" ) || option.prop( "disabled" )
-			});
-		});
-		this.items = data;
-	},
-
-	_destroy: function() {
-		this.menuWrap.remove();
-		this.button.remove();
-		this.element.show();
-		this.element.removeUniqueId();
-		this.label.attr( "for", this.ids.element );
-	}
-});
-
-
-/*!
- * jQuery UI Slider 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/slider/
- */
-
-
-var slider = $.widget( "ui.slider", $.ui.mouse, {
-	version: "1.11.4",
-	widgetEventPrefix: "slide",
-
-	options: {
-		animate: false,
-		distance: 0,
-		max: 100,
-		min: 0,
-		orientation: "horizontal",
-		range: false,
-		step: 1,
-		value: 0,
-		values: null,
-
-		// callbacks
-		change: null,
-		slide: null,
-		start: null,
-		stop: null
-	},
-
-	// number of pages in a slider
-	// (how many times can you page up/down to go through the whole range)
-	numPages: 5,
-
-	_create: function() {
-		this._keySliding = false;
-		this._mouseSliding = false;
-		this._animateOff = true;
-		this._handleIndex = null;
-		this._detectOrientation();
-		this._mouseInit();
-		this._calculateNewMax();
-
-		this.element
-			.addClass( "ui-slider" +
-				" ui-slider-" + this.orientation +
-				" ui-widget" +
-				" ui-widget-content" +
-				" ui-corner-all");
-
-		this._refresh();
-		this._setOption( "disabled", this.options.disabled );
-
-		this._animateOff = false;
-	},
-
-	_refresh: function() {
-		this._createRange();
-		this._createHandles();
-		this._setupEvents();
-		this._refreshValue();
-	},
-
-	_createHandles: function() {
-		var i, handleCount,
-			options = this.options,
-			existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ),
-			handle = "<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",
-			handles = [];
-
-		handleCount = ( options.values && options.values.length ) || 1;
-
-		if ( existingHandles.length > handleCount ) {
-			existingHandles.slice( handleCount ).remove();
-			existingHandles = existingHandles.slice( 0, handleCount );
-		}
-
-		for ( i = existingHandles.length; i < handleCount; i++ ) {
-			handles.push( handle );
-		}
-
-		this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) );
-
-		this.handle = this.handles.eq( 0 );
-
-		this.handles.each(function( i ) {
-			$( this ).data( "ui-slider-handle-index", i );
-		});
-	},
-
-	_createRange: function() {
-		var options = this.options,
-			classes = "";
-
-		if ( options.range ) {
-			if ( options.range === true ) {
-				if ( !options.values ) {
-					options.values = [ this._valueMin(), this._valueMin() ];
-				} else if ( options.values.length && options.values.length !== 2 ) {
-					options.values = [ options.values[0], options.values[0] ];
-				} else if ( $.isArray( options.values ) ) {
-					options.values = options.values.slice(0);
-				}
-			}
-
-			if ( !this.range || !this.range.length ) {
-				this.range = $( "<div></div>" )
-					.appendTo( this.element );
-
-				classes = "ui-slider-range" +
-				// note: this isn't the most fittingly semantic framework class for this element,
-				// but worked best visually with a variety of themes
-				" ui-widget-header ui-corner-all";
-			} else {
-				this.range.removeClass( "ui-slider-range-min ui-slider-range-max" )
-					// Handle range switching from true to min/max
-					.css({
-						"left": "",
-						"bottom": ""
-					});
-			}
-
-			this.range.addClass( classes +
-				( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) );
-		} else {
-			if ( this.range ) {
-				this.range.remove();
-			}
-			this.range = null;
-		}
-	},
-
-	_setupEvents: function() {
-		this._off( this.handles );
-		this._on( this.handles, this._handleEvents );
-		this._hoverable( this.handles );
-		this._focusable( this.handles );
-	},
-
-	_destroy: function() {
-		this.handles.remove();
-		if ( this.range ) {
-			this.range.remove();
-		}
-
-		this.element
-			.removeClass( "ui-slider" +
-				" ui-slider-horizontal" +
-				" ui-slider-vertical" +
-				" ui-widget" +
-				" ui-widget-content" +
-				" ui-corner-all" );
-
-		this._mouseDestroy();
-	},
-
-	_mouseCapture: function( event ) {
-		var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,
-			that = this,
-			o = this.options;
-
-		if ( o.disabled ) {
-			return false;
-		}
-
-		this.elementSize = {
-			width: this.element.outerWidth(),
-			height: this.element.outerHeight()
-		};
-		this.elementOffset = this.element.offset();
-
-		position = { x: event.pageX, y: event.pageY };
-		normValue = this._normValueFromMouse( position );
-		distance = this._valueMax() - this._valueMin() + 1;
-		this.handles.each(function( i ) {
-			var thisDistance = Math.abs( normValue - that.values(i) );
-			if (( distance > thisDistance ) ||
-				( distance === thisDistance &&
-					(i === that._lastChangedValue || that.values(i) === o.min ))) {
-				distance = thisDistance;
-				closestHandle = $( this );
-				index = i;
-			}
-		});
-
-		allowed = this._start( event, index );
-		if ( allowed === false ) {
-			return false;
-		}
-		this._mouseSliding = true;
-
-		this._handleIndex = index;
-
-		closestHandle
-			.addClass( "ui-state-active" )
-			.focus();
-
-		offset = closestHandle.offset();
-		mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" );
-		this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
-			left: event.pageX - offset.left - ( closestHandle.width() / 2 ),
-			top: event.pageY - offset.top -
-				( closestHandle.height() / 2 ) -
-				( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) -
-				( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) +
-				( parseInt( closestHandle.css("marginTop"), 10 ) || 0)
-		};
-
-		if ( !this.handles.hasClass( "ui-state-hover" ) ) {
-			this._slide( event, index, normValue );
-		}
-		this._animateOff = true;
-		return true;
-	},
-
-	_mouseStart: function() {
-		return true;
-	},
-
-	_mouseDrag: function( event ) {
-		var position = { x: event.pageX, y: event.pageY },
-			normValue = this._normValueFromMouse( position );
-
-		this._slide( event, this._handleIndex, normValue );
-
-		return false;
-	},
-
-	_mouseStop: function( event ) {
-		this.handles.removeClass( "ui-state-active" );
-		this._mouseSliding = false;
-
-		this._stop( event, this._handleIndex );
-		this._change( event, this._handleIndex );
-
-		this._handleIndex = null;
-		this._clickOffset = null;
-		this._animateOff = false;
-
-		return false;
-	},
-
-	_detectOrientation: function() {
-		this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal";
-	},
-
-	_normValueFromMouse: function( position ) {
-		var pixelTotal,
-			pixelMouse,
-			percentMouse,
-			valueTotal,
-			valueMouse;
-
-		if ( this.orientation === "horizontal" ) {
-			pixelTotal = this.elementSize.width;
-			pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );
-		} else {
-			pixelTotal = this.elementSize.height;
-			pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );
-		}
-
-		percentMouse = ( pixelMouse / pixelTotal );
-		if ( percentMouse > 1 ) {
-			percentMouse = 1;
-		}
-		if ( percentMouse < 0 ) {
-			percentMouse = 0;
-		}
-		if ( this.orientation === "vertical" ) {
-			percentMouse = 1 - percentMouse;
-		}
-
-		valueTotal = this._valueMax() - this._valueMin();
-		valueMouse = this._valueMin() + percentMouse * valueTotal;
-
-		return this._trimAlignValue( valueMouse );
-	},
-
-	_start: function( event, index ) {
-		var uiHash = {
-			handle: this.handles[ index ],
-			value: this.value()
-		};
-		if ( this.options.values && this.options.values.length ) {
-			uiHash.value = this.values( index );
-			uiHash.values = this.values();
-		}
-		return this._trigger( "start", event, uiHash );
-	},
-
-	_slide: function( event, index, newVal ) {
-		var otherVal,
-			newValues,
-			allowed;
-
-		if ( this.options.values && this.options.values.length ) {
-			otherVal = this.values( index ? 0 : 1 );
-
-			if ( ( this.options.values.length === 2 && this.options.range === true ) &&
-					( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )
-				) {
-				newVal = otherVal;
-			}
-
-			if ( newVal !== this.values( index ) ) {
-				newValues = this.values();
-				newValues[ index ] = newVal;
-				// A slide can be canceled by returning false from the slide callback
-				allowed = this._trigger( "slide", event, {
-					handle: this.handles[ index ],
-					value: newVal,
-					values: newValues
-				} );
-				otherVal = this.values( index ? 0 : 1 );
-				if ( allowed !== false ) {
-					this.values( index, newVal );
-				}
-			}
-		} else {
-			if ( newVal !== this.value() ) {
-				// A slide can be canceled by returning false from the slide callback
-				allowed = this._trigger( "slide", event, {
-					handle: this.handles[ index ],
-					value: newVal
-				} );
-				if ( allowed !== false ) {
-					this.value( newVal );
-				}
-			}
-		}
-	},
-
-	_stop: function( event, index ) {
-		var uiHash = {
-			handle: this.handles[ index ],
-			value: this.value()
-		};
-		if ( this.options.values && this.options.values.length ) {
-			uiHash.value = this.values( index );
-			uiHash.values = this.values();
-		}
-
-		this._trigger( "stop", event, uiHash );
-	},
-
-	_change: function( event, index ) {
-		if ( !this._keySliding && !this._mouseSliding ) {
-			var uiHash = {
-				handle: this.handles[ index ],
-				value: this.value()
-			};
-			if ( this.options.values && this.options.values.length ) {
-				uiHash.value = this.values( index );
-				uiHash.values = this.values();
-			}
-
-			//store the last changed value index for reference when handles overlap
-			this._lastChangedValue = index;
-
-			this._trigger( "change", event, uiHash );
-		}
-	},
-
-	value: function( newValue ) {
-		if ( arguments.length ) {
-			this.options.value = this._trimAlignValue( newValue );
-			this._refreshValue();
-			this._change( null, 0 );
-			return;
-		}
-
-		return this._value();
-	},
-
-	values: function( index, newValue ) {
-		var vals,
-			newValues,
-			i;
-
-		if ( arguments.length > 1 ) {
-			this.options.values[ index ] = this._trimAlignValue( newValue );
-			this._refreshValue();
-			this._change( null, index );
-			return;
-		}
-
-		if ( arguments.length ) {
-			if ( $.isArray( arguments[ 0 ] ) ) {
-				vals = this.options.values;
-				newValues = arguments[ 0 ];
-				for ( i = 0; i < vals.length; i += 1 ) {
-					vals[ i ] = this._trimAlignValue( newValues[ i ] );
-					this._change( null, i );
-				}
-				this._refreshValue();
-			} else {
-				if ( this.options.values && this.options.values.length ) {
-					return this._values( index );
-				} else {
-					return this.value();
-				}
-			}
-		} else {
-			return this._values();
-		}
-	},
-
-	_setOption: function( key, value ) {
-		var i,
-			valsLength = 0;
-
-		if ( key === "range" && this.options.range === true ) {
-			if ( value === "min" ) {
-				this.options.value = this._values( 0 );
-				this.options.values = null;
-			} else if ( value === "max" ) {
-				this.options.value = this._values( this.options.values.length - 1 );
-				this.options.values = null;
-			}
-		}
-
-		if ( $.isArray( this.options.values ) ) {
-			valsLength = this.options.values.length;
-		}
-
-		if ( key === "disabled" ) {
-			this.element.toggleClass( "ui-state-disabled", !!value );
-		}
-
-		this._super( key, value );
-
-		switch ( key ) {
-			case "orientation":
-				this._detectOrientation();
-				this.element
-					.removeClass( "ui-slider-horizontal ui-slider-vertical" )
-					.addClass( "ui-slider-" + this.orientation );
-				this._refreshValue();
-
-				// Reset positioning from previous orientation
-				this.handles.css( value === "horizontal" ? "bottom" : "left", "" );
-				break;
-			case "value":
-				this._animateOff = true;
-				this._refreshValue();
-				this._change( null, 0 );
-				this._animateOff = false;
-				break;
-			case "values":
-				this._animateOff = true;
-				this._refreshValue();
-				for ( i = 0; i < valsLength; i += 1 ) {
-					this._change( null, i );
-				}
-				this._animateOff = false;
-				break;
-			case "step":
-			case "min":
-			case "max":
-				this._animateOff = true;
-				this._calculateNewMax();
-				this._refreshValue();
-				this._animateOff = false;
-				break;
-			case "range":
-				this._animateOff = true;
-				this._refresh();
-				this._animateOff = false;
-				break;
-		}
-	},
-
-	//internal value getter
-	// _value() returns value trimmed by min and max, aligned by step
-	_value: function() {
-		var val = this.options.value;
-		val = this._trimAlignValue( val );
-
-		return val;
-	},
-
-	//internal values getter
-	// _values() returns array of values trimmed by min and max, aligned by step
-	// _values( index ) returns single value trimmed by min and max, aligned by step
-	_values: function( index ) {
-		var val,
-			vals,
-			i;
-
-		if ( arguments.length ) {
-			val = this.options.values[ index ];
-			val = this._trimAlignValue( val );
-
-			return val;
-		} else if ( this.options.values && this.options.values.length ) {
-			// .slice() creates a copy of the array
-			// this copy gets trimmed by min and max and then returned
-			vals = this.options.values.slice();
-			for ( i = 0; i < vals.length; i += 1) {
-				vals[ i ] = this._trimAlignValue( vals[ i ] );
-			}
-
-			return vals;
-		} else {
-			return [];
-		}
-	},
-
-	// returns the step-aligned value that val is closest to, between (inclusive) min and max
-	_trimAlignValue: function( val ) {
-		if ( val <= this._valueMin() ) {
-			return this._valueMin();
-		}
-		if ( val >= this._valueMax() ) {
-			return this._valueMax();
-		}
-		var step = ( this.options.step > 0 ) ? this.options.step : 1,
-			valModStep = (val - this._valueMin()) % step,
-			alignValue = val - valModStep;
-
-		if ( Math.abs(valModStep) * 2 >= step ) {
-			alignValue += ( valModStep > 0 ) ? step : ( -step );
-		}
-
-		// Since JavaScript has problems with large floats, round
-		// the final value to 5 digits after the decimal point (see #4124)
-		return parseFloat( alignValue.toFixed(5) );
-	},
-
-	_calculateNewMax: function() {
-		var max = this.options.max,
-			min = this._valueMin(),
-			step = this.options.step,
-			aboveMin = Math.floor( ( +( max - min ).toFixed( this._precision() ) ) / step ) * step;
-		max = aboveMin + min;
-		this.max = parseFloat( max.toFixed( this._precision() ) );
-	},
-
-	_precision: function() {
-		var precision = this._precisionOf( this.options.step );
-		if ( this.options.min !== null ) {
-			precision = Math.max( precision, this._precisionOf( this.options.min ) );
-		}
-		return precision;
-	},
-
-	_precisionOf: function( num ) {
-		var str = num.toString(),
-			decimal = str.indexOf( "." );
-		return decimal === -1 ? 0 : str.length - decimal - 1;
-	},
-
-	_valueMin: function() {
-		return this.options.min;
-	},
-
-	_valueMax: function() {
-		return this.max;
-	},
-
-	_refreshValue: function() {
-		var lastValPercent, valPercent, value, valueMin, valueMax,
-			oRange = this.options.range,
-			o = this.options,
-			that = this,
-			animate = ( !this._animateOff ) ? o.animate : false,
-			_set = {};
-
-		if ( this.options.values && this.options.values.length ) {
-			this.handles.each(function( i ) {
-				valPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;
-				_set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
-				$( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
-				if ( that.options.range === true ) {
-					if ( that.orientation === "horizontal" ) {
-						if ( i === 0 ) {
-							that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate );
-						}
-						if ( i === 1 ) {
-							that.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
-						}
-					} else {
-						if ( i === 0 ) {
-							that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate );
-						}
-						if ( i === 1 ) {
-							that.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
-						}
-					}
-				}
-				lastValPercent = valPercent;
-			});
-		} else {
-			value = this.value();
-			valueMin = this._valueMin();
-			valueMax = this._valueMax();
-			valPercent = ( valueMax !== valueMin ) ?
-					( value - valueMin ) / ( valueMax - valueMin ) * 100 :
-					0;
-			_set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
-			this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
-
-			if ( oRange === "min" && this.orientation === "horizontal" ) {
-				this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate );
-			}
-			if ( oRange === "max" && this.orientation === "horizontal" ) {
-				this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
-			}
-			if ( oRange === "min" && this.orientation === "vertical" ) {
-				this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate );
-			}
-			if ( oRange === "max" && this.orientation === "vertical" ) {
-				this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
-			}
-		}
-	},
-
-	_handleEvents: {
-		keydown: function( event ) {
-			var allowed, curVal, newVal, step,
-				index = $( event.target ).data( "ui-slider-handle-index" );
-
-			switch ( event.keyCode ) {
-				case $.ui.keyCode.HOME:
-				case $.ui.keyCode.END:
-				case $.ui.keyCode.PAGE_UP:
-				case $.ui.keyCode.PAGE_DOWN:
-				case $.ui.keyCode.UP:
-				case $.ui.keyCode.RIGHT:
-				case $.ui.keyCode.DOWN:
-				case $.ui.keyCode.LEFT:
-					event.preventDefault();
-					if ( !this._keySliding ) {
-						this._keySliding = true;
-						$( event.target ).addClass( "ui-state-active" );
-						allowed = this._start( event, index );
-						if ( allowed === false ) {
-							return;
-						}
-					}
-					break;
-			}
-
-			step = this.options.step;
-			if ( this.options.values && this.options.values.length ) {
-				curVal = newVal = this.values( index );
-			} else {
-				curVal = newVal = this.value();
-			}
-
-			switch ( event.keyCode ) {
-				case $.ui.keyCode.HOME:
-					newVal = this._valueMin();
-					break;
-				case $.ui.keyCode.END:
-					newVal = this._valueMax();
-					break;
-				case $.ui.keyCode.PAGE_UP:
-					newVal = this._trimAlignValue(
-						curVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages )
-					);
-					break;
-				case $.ui.keyCode.PAGE_DOWN:
-					newVal = this._trimAlignValue(
-						curVal - ( (this._valueMax() - this._valueMin()) / this.numPages ) );
-					break;
-				case $.ui.keyCode.UP:
-				case $.ui.keyCode.RIGHT:
-					if ( curVal === this._valueMax() ) {
-						return;
-					}
-					newVal = this._trimAlignValue( curVal + step );
-					break;
-				case $.ui.keyCode.DOWN:
-				case $.ui.keyCode.LEFT:
-					if ( curVal === this._valueMin() ) {
-						return;
-					}
-					newVal = this._trimAlignValue( curVal - step );
-					break;
-			}
-
-			this._slide( event, index, newVal );
-		},
-		keyup: function( event ) {
-			var index = $( event.target ).data( "ui-slider-handle-index" );
-
-			if ( this._keySliding ) {
-				this._keySliding = false;
-				this._stop( event, index );
-				this._change( event, index );
-				$( event.target ).removeClass( "ui-state-active" );
-			}
-		}
-	}
-});
-
-
-/*!
- * jQuery UI Spinner 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/spinner/
- */
-
-
-function spinner_modifier( fn ) {
-	return function() {
-		var previous = this.element.val();
-		fn.apply( this, arguments );
-		this._refresh();
-		if ( previous !== this.element.val() ) {
-			this._trigger( "change" );
-		}
-	};
-}
-
-var spinner = $.widget( "ui.spinner", {
-	version: "1.11.4",
-	defaultElement: "<input>",
-	widgetEventPrefix: "spin",
-	options: {
-		culture: null,
-		icons: {
-			down: "ui-icon-triangle-1-s",
-			up: "ui-icon-triangle-1-n"
-		},
-		incremental: true,
-		max: null,
-		min: null,
-		numberFormat: null,
-		page: 10,
-		step: 1,
-
-		change: null,
-		spin: null,
-		start: null,
-		stop: null
-	},
-
-	_create: function() {
-		// handle string values that need to be parsed
-		this._setOption( "max", this.options.max );
-		this._setOption( "min", this.options.min );
-		this._setOption( "step", this.options.step );
-
-		// Only format if there is a value, prevents the field from being marked
-		// as invalid in Firefox, see #9573.
-		if ( this.value() !== "" ) {
-			// Format the value, but don't constrain.
-			this._value( this.element.val(), true );
-		}
-
-		this._draw();
-		this._on( this._events );
-		this._refresh();
-
-		// turning off autocomplete prevents the browser from remembering the
-		// value when navigating through history, so we re-enable autocomplete
-		// if the page is unloaded before the widget is destroyed. #7790
-		this._on( this.window, {
-			beforeunload: function() {
-				this.element.removeAttr( "autocomplete" );
-			}
-		});
-	},
-
-	_getCreateOptions: function() {
-		var options = {},
-			element = this.element;
-
-		$.each( [ "min", "max", "step" ], function( i, option ) {
-			var value = element.attr( option );
-			if ( value !== undefined && value.length ) {
-				options[ option ] = value;
-			}
-		});
-
-		return options;
-	},
-
-	_events: {
-		keydown: function( event ) {
-			if ( this._start( event ) && this._keydown( event ) ) {
-				event.preventDefault();
-			}
-		},
-		keyup: "_stop",
-		focus: function() {
-			this.previous = this.element.val();
-		},
-		blur: function( event ) {
-			if ( this.cancelBlur ) {
-				delete this.cancelBlur;
-				return;
-			}
-
-			this._stop();
-			this._refresh();
-			if ( this.previous !== this.element.val() ) {
-				this._trigger( "change", event );
-			}
-		},
-		mousewheel: function( event, delta ) {
-			if ( !delta ) {
-				return;
-			}
-			if ( !this.spinning && !this._start( event ) ) {
-				return false;
-			}
-
-			this._spin( (delta > 0 ? 1 : -1) * this.options.step, event );
-			clearTimeout( this.mousewheelTimer );
-			this.mousewheelTimer = this._delay(function() {
-				if ( this.spinning ) {
-					this._stop( event );
-				}
-			}, 100 );
-			event.preventDefault();
-		},
-		"mousedown .ui-spinner-button": function( event ) {
-			var previous;
-
-			// We never want the buttons to have focus; whenever the user is
-			// interacting with the spinner, the focus should be on the input.
-			// If the input is focused then this.previous is properly set from
-			// when the input first received focus. If the input is not focused
-			// then we need to set this.previous based on the value before spinning.
-			previous = this.element[0] === this.document[0].activeElement ?
-				this.previous : this.element.val();
-			function checkFocus() {
-				var isActive = this.element[0] === this.document[0].activeElement;
-				if ( !isActive ) {
-					this.element.focus();
-					this.previous = previous;
-					// support: IE
-					// IE sets focus asynchronously, so we need to check if focus
-					// moved off of the input because the user clicked on the button.
-					this._delay(function() {
-						this.previous = previous;
-					});
-				}
-			}
-
-			// ensure focus is on (or stays on) the text field
-			event.preventDefault();
-			checkFocus.call( this );
-
-			// support: IE
-			// IE doesn't prevent moving focus even with event.preventDefault()
-			// so we set a flag to know when we should ignore the blur event
-			// and check (again) if focus moved off of the input.
-			this.cancelBlur = true;
-			this._delay(function() {
-				delete this.cancelBlur;
-				checkFocus.call( this );
-			});
-
-			if ( this._start( event ) === false ) {
-				return;
-			}
-
-			this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
-		},
-		"mouseup .ui-spinner-button": "_stop",
-		"mouseenter .ui-spinner-button": function( event ) {
-			// button will add ui-state-active if mouse was down while mouseleave and kept down
-			if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) {
-				return;
-			}
-
-			if ( this._start( event ) === false ) {
-				return false;
-			}
-			this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
-		},
-		// TODO: do we really want to consider this a stop?
-		// shouldn't we just stop the repeater and wait until mouseup before
-		// we trigger the stop event?
-		"mouseleave .ui-spinner-button": "_stop"
-	},
-
-	_draw: function() {
-		var uiSpinner = this.uiSpinner = this.element
-			.addClass( "ui-spinner-input" )
-			.attr( "autocomplete", "off" )
-			.wrap( this._uiSpinnerHtml() )
-			.parent()
-				// add buttons
-				.append( this._buttonHtml() );
-
-		this.element.attr( "role", "spinbutton" );
-
-		// button bindings
-		this.buttons = uiSpinner.find( ".ui-spinner-button" )
-			.attr( "tabIndex", -1 )
-			.button()
-			.removeClass( "ui-corner-all" );
-
-		// IE 6 doesn't understand height: 50% for the buttons
-		// unless the wrapper has an explicit height
-		if ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&
-				uiSpinner.height() > 0 ) {
-			uiSpinner.height( uiSpinner.height() );
-		}
-
-		// disable spinner if element was already disabled
-		if ( this.options.disabled ) {
-			this.disable();
-		}
-	},
-
-	_keydown: function( event ) {
-		var options = this.options,
-			keyCode = $.ui.keyCode;
-
-		switch ( event.keyCode ) {
-		case keyCode.UP:
-			this._repeat( null, 1, event );
-			return true;
-		case keyCode.DOWN:
-			this._repeat( null, -1, event );
-			return true;
-		case keyCode.PAGE_UP:
-			this._repeat( null, options.page, event );
-			return true;
-		case keyCode.PAGE_DOWN:
-			this._repeat( null, -options.page, event );
-			return true;
-		}
-
-		return false;
-	},
-
-	_uiSpinnerHtml: function() {
-		return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>";
-	},
-
-	_buttonHtml: function() {
-		return "" +
-			"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" +
-				"<span class='ui-icon " + this.options.icons.up + "'>&#9650;</span>" +
-			"</a>" +
-			"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" +
-				"<span class='ui-icon " + this.options.icons.down + "'>&#9660;</span>" +
-			"</a>";
-	},
-
-	_start: function( event ) {
-		if ( !this.spinning && this._trigger( "start", event ) === false ) {
-			return false;
-		}
-
-		if ( !this.counter ) {
-			this.counter = 1;
-		}
-		this.spinning = true;
-		return true;
-	},
-
-	_repeat: function( i, steps, event ) {
-		i = i || 500;
-
-		clearTimeout( this.timer );
-		this.timer = this._delay(function() {
-			this._repeat( 40, steps, event );
-		}, i );
-
-		this._spin( steps * this.options.step, event );
-	},
-
-	_spin: function( step, event ) {
-		var value = this.value() || 0;
-
-		if ( !this.counter ) {
-			this.counter = 1;
-		}
-
-		value = this._adjustValue( value + step * this._increment( this.counter ) );
-
-		if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false) {
-			this._value( value );
-			this.counter++;
-		}
-	},
-
-	_increment: function( i ) {
-		var incremental = this.options.incremental;
-
-		if ( incremental ) {
-			return $.isFunction( incremental ) ?
-				incremental( i ) :
-				Math.floor( i * i * i / 50000 - i * i / 500 + 17 * i / 200 + 1 );
-		}
-
-		return 1;
-	},
-
-	_precision: function() {
-		var precision = this._precisionOf( this.options.step );
-		if ( this.options.min !== null ) {
-			precision = Math.max( precision, this._precisionOf( this.options.min ) );
-		}
-		return precision;
-	},
-
-	_precisionOf: function( num ) {
-		var str = num.toString(),
-			decimal = str.indexOf( "." );
-		return decimal === -1 ? 0 : str.length - decimal - 1;
-	},
-
-	_adjustValue: function( value ) {
-		var base, aboveMin,
-			options = this.options;
-
-		// make sure we're at a valid step
-		// - find out where we are relative to the base (min or 0)
-		base = options.min !== null ? options.min : 0;
-		aboveMin = value - base;
-		// - round to the nearest step
-		aboveMin = Math.round(aboveMin / options.step) * options.step;
-		// - rounding is based on 0, so adjust back to our base
-		value = base + aboveMin;
-
-		// fix precision from bad JS floating point math
-		value = parseFloat( value.toFixed( this._precision() ) );
-
-		// clamp the value
-		if ( options.max !== null && value > options.max) {
-			return options.max;
-		}
-		if ( options.min !== null && value < options.min ) {
-			return options.min;
-		}
-
-		return value;
-	},
-
-	_stop: function( event ) {
-		if ( !this.spinning ) {
-			return;
-		}
-
-		clearTimeout( this.timer );
-		clearTimeout( this.mousewheelTimer );
-		this.counter = 0;
-		this.spinning = false;
-		this._trigger( "stop", event );
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "culture" || key === "numberFormat" ) {
-			var prevValue = this._parse( this.element.val() );
-			this.options[ key ] = value;
-			this.element.val( this._format( prevValue ) );
-			return;
-		}
-
-		if ( key === "max" || key === "min" || key === "step" ) {
-			if ( typeof value === "string" ) {
-				value = this._parse( value );
-			}
-		}
-		if ( key === "icons" ) {
-			this.buttons.first().find( ".ui-icon" )
-				.removeClass( this.options.icons.up )
-				.addClass( value.up );
-			this.buttons.last().find( ".ui-icon" )
-				.removeClass( this.options.icons.down )
-				.addClass( value.down );
-		}
-
-		this._super( key, value );
-
-		if ( key === "disabled" ) {
-			this.widget().toggleClass( "ui-state-disabled", !!value );
-			this.element.prop( "disabled", !!value );
-			this.buttons.button( value ? "disable" : "enable" );
-		}
-	},
-
-	_setOptions: spinner_modifier(function( options ) {
-		this._super( options );
-	}),
-
-	_parse: function( val ) {
-		if ( typeof val === "string" && val !== "" ) {
-			val = window.Globalize && this.options.numberFormat ?
-				Globalize.parseFloat( val, 10, this.options.culture ) : +val;
-		}
-		return val === "" || isNaN( val ) ? null : val;
-	},
-
-	_format: function( value ) {
-		if ( value === "" ) {
-			return "";
-		}
-		return window.Globalize && this.options.numberFormat ?
-			Globalize.format( value, this.options.numberFormat, this.options.culture ) :
-			value;
-	},
-
-	_refresh: function() {
-		this.element.attr({
-			"aria-valuemin": this.options.min,
-			"aria-valuemax": this.options.max,
-			// TODO: what should we do with values that can't be parsed?
-			"aria-valuenow": this._parse( this.element.val() )
-		});
-	},
-
-	isValid: function() {
-		var value = this.value();
-
-		// null is invalid
-		if ( value === null ) {
-			return false;
-		}
-
-		// if value gets adjusted, it's invalid
-		return value === this._adjustValue( value );
-	},
-
-	// update the value without triggering change
-	_value: function( value, allowAny ) {
-		var parsed;
-		if ( value !== "" ) {
-			parsed = this._parse( value );
-			if ( parsed !== null ) {
-				if ( !allowAny ) {
-					parsed = this._adjustValue( parsed );
-				}
-				value = this._format( parsed );
-			}
-		}
-		this.element.val( value );
-		this._refresh();
-	},
-
-	_destroy: function() {
-		this.element
-			.removeClass( "ui-spinner-input" )
-			.prop( "disabled", false )
-			.removeAttr( "autocomplete" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-valuemin" )
-			.removeAttr( "aria-valuemax" )
-			.removeAttr( "aria-valuenow" );
-		this.uiSpinner.replaceWith( this.element );
-	},
-
-	stepUp: spinner_modifier(function( steps ) {
-		this._stepUp( steps );
-	}),
-	_stepUp: function( steps ) {
-		if ( this._start() ) {
-			this._spin( (steps || 1) * this.options.step );
-			this._stop();
-		}
-	},
-
-	stepDown: spinner_modifier(function( steps ) {
-		this._stepDown( steps );
-	}),
-	_stepDown: function( steps ) {
-		if ( this._start() ) {
-			this._spin( (steps || 1) * -this.options.step );
-			this._stop();
-		}
-	},
-
-	pageUp: spinner_modifier(function( pages ) {
-		this._stepUp( (pages || 1) * this.options.page );
-	}),
-
-	pageDown: spinner_modifier(function( pages ) {
-		this._stepDown( (pages || 1) * this.options.page );
-	}),
-
-	value: function( newVal ) {
-		if ( !arguments.length ) {
-			return this._parse( this.element.val() );
-		}
-		spinner_modifier( this._value ).call( this, newVal );
-	},
-
-	widget: function() {
-		return this.uiSpinner;
-	}
-});
-
-
-/*!
- * jQuery UI Tabs 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/tabs/
- */
-
-
-var tabs = $.widget( "ui.tabs", {
-	version: "1.11.4",
-	delay: 300,
-	options: {
-		active: null,
-		collapsible: false,
-		event: "click",
-		heightStyle: "content",
-		hide: null,
-		show: null,
-
-		// callbacks
-		activate: null,
-		beforeActivate: null,
-		beforeLoad: null,
-		load: null
-	},
-
-	_isLocal: (function() {
-		var rhash = /#.*$/;
-
-		return function( anchor ) {
-			var anchorUrl, locationUrl;
-
-			// support: IE7
-			// IE7 doesn't normalize the href property when set via script (#9317)
-			anchor = anchor.cloneNode( false );
-
-			anchorUrl = anchor.href.replace( rhash, "" );
-			locationUrl = location.href.replace( rhash, "" );
-
-			// decoding may throw an error if the URL isn't UTF-8 (#9518)
-			try {
-				anchorUrl = decodeURIComponent( anchorUrl );
-			} catch ( error ) {}
-			try {
-				locationUrl = decodeURIComponent( locationUrl );
-			} catch ( error ) {}
-
-			return anchor.hash.length > 1 && anchorUrl === locationUrl;
-		};
-	})(),
-
-	_create: function() {
-		var that = this,
-			options = this.options;
-
-		this.running = false;
-
-		this.element
-			.addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" )
-			.toggleClass( "ui-tabs-collapsible", options.collapsible );
-
-		this._processTabs();
-		options.active = this._initialActive();
-
-		// Take disabling tabs via class attribute from HTML
-		// into account and update option properly.
-		if ( $.isArray( options.disabled ) ) {
-			options.disabled = $.unique( options.disabled.concat(
-				$.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
-					return that.tabs.index( li );
-				})
-			) ).sort();
-		}
-
-		// check for length avoids error when initializing empty list
-		if ( this.options.active !== false && this.anchors.length ) {
-			this.active = this._findActive( options.active );
-		} else {
-			this.active = $();
-		}
-
-		this._refresh();
-
-		if ( this.active.length ) {
-			this.load( options.active );
-		}
-	},
-
-	_initialActive: function() {
-		var active = this.options.active,
-			collapsible = this.options.collapsible,
-			locationHash = location.hash.substring( 1 );
-
-		if ( active === null ) {
-			// check the fragment identifier in the URL
-			if ( locationHash ) {
-				this.tabs.each(function( i, tab ) {
-					if ( $( tab ).attr( "aria-controls" ) === locationHash ) {
-						active = i;
-						return false;
-					}
-				});
-			}
-
-			// check for a tab marked active via a class
-			if ( active === null ) {
-				active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) );
-			}
-
-			// no active tab, set to false
-			if ( active === null || active === -1 ) {
-				active = this.tabs.length ? 0 : false;
-			}
-		}
-
-		// handle numbers: negative, out of range
-		if ( active !== false ) {
-			active = this.tabs.index( this.tabs.eq( active ) );
-			if ( active === -1 ) {
-				active = collapsible ? false : 0;
-			}
-		}
-
-		// don't allow collapsible: false and active: false
-		if ( !collapsible && active === false && this.anchors.length ) {
-			active = 0;
-		}
-
-		return active;
-	},
-
-	_getCreateEventData: function() {
-		return {
-			tab: this.active,
-			panel: !this.active.length ? $() : this._getPanelForTab( this.active )
-		};
-	},
-
-	_tabKeydown: function( event ) {
-		var focusedTab = $( this.document[0].activeElement ).closest( "li" ),
-			selectedIndex = this.tabs.index( focusedTab ),
-			goingForward = true;
-
-		if ( this._handlePageNav( event ) ) {
-			return;
-		}
-
-		switch ( event.keyCode ) {
-			case $.ui.keyCode.RIGHT:
-			case $.ui.keyCode.DOWN:
-				selectedIndex++;
-				break;
-			case $.ui.keyCode.UP:
-			case $.ui.keyCode.LEFT:
-				goingForward = false;
-				selectedIndex--;
-				break;
-			case $.ui.keyCode.END:
-				selectedIndex = this.anchors.length - 1;
-				break;
-			case $.ui.keyCode.HOME:
-				selectedIndex = 0;
-				break;
-			case $.ui.keyCode.SPACE:
-				// Activate only, no collapsing
-				event.preventDefault();
-				clearTimeout( this.activating );
-				this._activate( selectedIndex );
-				return;
-			case $.ui.keyCode.ENTER:
-				// Toggle (cancel delayed activation, allow collapsing)
-				event.preventDefault();
-				clearTimeout( this.activating );
-				// Determine if we should collapse or activate
-				this._activate( selectedIndex === this.options.active ? false : selectedIndex );
-				return;
-			default:
-				return;
-		}
-
-		// Focus the appropriate tab, based on which key was pressed
-		event.preventDefault();
-		clearTimeout( this.activating );
-		selectedIndex = this._focusNextTab( selectedIndex, goingForward );
-
-		// Navigating with control/command key will prevent automatic activation
-		if ( !event.ctrlKey && !event.metaKey ) {
-
-			// Update aria-selected immediately so that AT think the tab is already selected.
-			// Otherwise AT may confuse the user by stating that they need to activate the tab,
-			// but the tab will already be activated by the time the announcement finishes.
-			focusedTab.attr( "aria-selected", "false" );
-			this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" );
-
-			this.activating = this._delay(function() {
-				this.option( "active", selectedIndex );
-			}, this.delay );
-		}
-	},
-
-	_panelKeydown: function( event ) {
-		if ( this._handlePageNav( event ) ) {
-			return;
-		}
-
-		// Ctrl+up moves focus to the current tab
-		if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {
-			event.preventDefault();
-			this.active.focus();
-		}
-	},
-
-	// Alt+page up/down moves focus to the previous/next tab (and activates)
-	_handlePageNav: function( event ) {
-		if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {
-			this._activate( this._focusNextTab( this.options.active - 1, false ) );
-			return true;
-		}
-		if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {
-			this._activate( this._focusNextTab( this.options.active + 1, true ) );
-			return true;
-		}
-	},
-
-	_findNextTab: function( index, goingForward ) {
-		var lastTabIndex = this.tabs.length - 1;
-
-		function constrain() {
-			if ( index > lastTabIndex ) {
-				index = 0;
-			}
-			if ( index < 0 ) {
-				index = lastTabIndex;
-			}
-			return index;
-		}
-
-		while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {
-			index = goingForward ? index + 1 : index - 1;
-		}
-
-		return index;
-	},
-
-	_focusNextTab: function( index, goingForward ) {
-		index = this._findNextTab( index, goingForward );
-		this.tabs.eq( index ).focus();
-		return index;
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "active" ) {
-			// _activate() will handle invalid values and update this.options
-			this._activate( value );
-			return;
-		}
-
-		if ( key === "disabled" ) {
-			// don't use the widget factory's disabled handling
-			this._setupDisabled( value );
-			return;
-		}
-
-		this._super( key, value);
-
-		if ( key === "collapsible" ) {
-			this.element.toggleClass( "ui-tabs-collapsible", value );
-			// Setting collapsible: false while collapsed; open first panel
-			if ( !value && this.options.active === false ) {
-				this._activate( 0 );
-			}
-		}
-
-		if ( key === "event" ) {
-			this._setupEvents( value );
-		}
-
-		if ( key === "heightStyle" ) {
-			this._setupHeightStyle( value );
-		}
-	},
-
-	_sanitizeSelector: function( hash ) {
-		return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : "";
-	},
-
-	refresh: function() {
-		var options = this.options,
-			lis = this.tablist.children( ":has(a[href])" );
-
-		// get disabled tabs from class attribute from HTML
-		// this will get converted to a boolean if needed in _refresh()
-		options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) {
-			return lis.index( tab );
-		});
-
-		this._processTabs();
-
-		// was collapsed or no tabs
-		if ( options.active === false || !this.anchors.length ) {
-			options.active = false;
-			this.active = $();
-		// was active, but active tab is gone
-		} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {
-			// all remaining tabs are disabled
-			if ( this.tabs.length === options.disabled.length ) {
-				options.active = false;
-				this.active = $();
-			// activate previous tab
-			} else {
-				this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );
-			}
-		// was active, active tab still exists
-		} else {
-			// make sure active index is correct
-			options.active = this.tabs.index( this.active );
-		}
-
-		this._refresh();
-	},
-
-	_refresh: function() {
-		this._setupDisabled( this.options.disabled );
-		this._setupEvents( this.options.event );
-		this._setupHeightStyle( this.options.heightStyle );
-
-		this.tabs.not( this.active ).attr({
-			"aria-selected": "false",
-			"aria-expanded": "false",
-			tabIndex: -1
-		});
-		this.panels.not( this._getPanelForTab( this.active ) )
-			.hide()
-			.attr({
-				"aria-hidden": "true"
-			});
-
-		// Make sure one tab is in the tab order
-		if ( !this.active.length ) {
-			this.tabs.eq( 0 ).attr( "tabIndex", 0 );
-		} else {
-			this.active
-				.addClass( "ui-tabs-active ui-state-active" )
-				.attr({
-					"aria-selected": "true",
-					"aria-expanded": "true",
-					tabIndex: 0
-				});
-			this._getPanelForTab( this.active )
-				.show()
-				.attr({
-					"aria-hidden": "false"
-				});
-		}
-	},
-
-	_processTabs: function() {
-		var that = this,
-			prevTabs = this.tabs,
-			prevAnchors = this.anchors,
-			prevPanels = this.panels;
-
-		this.tablist = this._getList()
-			.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
-			.attr( "role", "tablist" )
-
-			// Prevent users from focusing disabled tabs via click
-			.delegate( "> li", "mousedown" + this.eventNamespace, function( event ) {
-				if ( $( this ).is( ".ui-state-disabled" ) ) {
-					event.preventDefault();
-				}
-			})
-
-			// support: IE <9
-			// Preventing the default action in mousedown doesn't prevent IE
-			// from focusing the element, so if the anchor gets focused, blur.
-			// We don't have to worry about focusing the previously focused
-			// element since clicking on a non-focusable element should focus
-			// the body anyway.
-			.delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
-				if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) {
-					this.blur();
-				}
-			});
-
-		this.tabs = this.tablist.find( "> li:has(a[href])" )
-			.addClass( "ui-state-default ui-corner-top" )
-			.attr({
-				role: "tab",
-				tabIndex: -1
-			});
-
-		this.anchors = this.tabs.map(function() {
-				return $( "a", this )[ 0 ];
-			})
-			.addClass( "ui-tabs-anchor" )
-			.attr({
-				role: "presentation",
-				tabIndex: -1
-			});
-
-		this.panels = $();
-
-		this.anchors.each(function( i, anchor ) {
-			var selector, panel, panelId,
-				anchorId = $( anchor ).uniqueId().attr( "id" ),
-				tab = $( anchor ).closest( "li" ),
-				originalAriaControls = tab.attr( "aria-controls" );
-
-			// inline tab
-			if ( that._isLocal( anchor ) ) {
-				selector = anchor.hash;
-				panelId = selector.substring( 1 );
-				panel = that.element.find( that._sanitizeSelector( selector ) );
-			// remote tab
-			} else {
-				// If the tab doesn't already have aria-controls,
-				// generate an id by using a throw-away element
-				panelId = tab.attr( "aria-controls" ) || $( {} ).uniqueId()[ 0 ].id;
-				selector = "#" + panelId;
-				panel = that.element.find( selector );
-				if ( !panel.length ) {
-					panel = that._createPanel( panelId );
-					panel.insertAfter( that.panels[ i - 1 ] || that.tablist );
-				}
-				panel.attr( "aria-live", "polite" );
-			}
-
-			if ( panel.length) {
-				that.panels = that.panels.add( panel );
-			}
-			if ( originalAriaControls ) {
-				tab.data( "ui-tabs-aria-controls", originalAriaControls );
-			}
-			tab.attr({
-				"aria-controls": panelId,
-				"aria-labelledby": anchorId
-			});
-			panel.attr( "aria-labelledby", anchorId );
-		});
-
-		this.panels
-			.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
-			.attr( "role", "tabpanel" );
-
-		// Avoid memory leaks (#10056)
-		if ( prevTabs ) {
-			this._off( prevTabs.not( this.tabs ) );
-			this._off( prevAnchors.not( this.anchors ) );
-			this._off( prevPanels.not( this.panels ) );
-		}
-	},
-
-	// allow overriding how to find the list for rare usage scenarios (#7715)
-	_getList: function() {
-		return this.tablist || this.element.find( "ol,ul" ).eq( 0 );
-	},
-
-	_createPanel: function( id ) {
-		return $( "<div>" )
-			.attr( "id", id )
-			.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
-			.data( "ui-tabs-destroy", true );
-	},
-
-	_setupDisabled: function( disabled ) {
-		if ( $.isArray( disabled ) ) {
-			if ( !disabled.length ) {
-				disabled = false;
-			} else if ( disabled.length === this.anchors.length ) {
-				disabled = true;
-			}
-		}
-
-		// disable tabs
-		for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {
-			if ( disabled === true || $.inArray( i, disabled ) !== -1 ) {
-				$( li )
-					.addClass( "ui-state-disabled" )
-					.attr( "aria-disabled", "true" );
-			} else {
-				$( li )
-					.removeClass( "ui-state-disabled" )
-					.removeAttr( "aria-disabled" );
-			}
-		}
-
-		this.options.disabled = disabled;
-	},
-
-	_setupEvents: function( event ) {
-		var events = {};
-		if ( event ) {
-			$.each( event.split(" "), function( index, eventName ) {
-				events[ eventName ] = "_eventHandler";
-			});
-		}
-
-		this._off( this.anchors.add( this.tabs ).add( this.panels ) );
-		// Always prevent the default action, even when disabled
-		this._on( true, this.anchors, {
-			click: function( event ) {
-				event.preventDefault();
-			}
-		});
-		this._on( this.anchors, events );
-		this._on( this.tabs, { keydown: "_tabKeydown" } );
-		this._on( this.panels, { keydown: "_panelKeydown" } );
-
-		this._focusable( this.tabs );
-		this._hoverable( this.tabs );
-	},
-
-	_setupHeightStyle: function( heightStyle ) {
-		var maxHeight,
-			parent = this.element.parent();
-
-		if ( heightStyle === "fill" ) {
-			maxHeight = parent.height();
-			maxHeight -= this.element.outerHeight() - this.element.height();
-
-			this.element.siblings( ":visible" ).each(function() {
-				var elem = $( this ),
-					position = elem.css( "position" );
-
-				if ( position === "absolute" || position === "fixed" ) {
-					return;
-				}
-				maxHeight -= elem.outerHeight( true );
-			});
-
-			this.element.children().not( this.panels ).each(function() {
-				maxHeight -= $( this ).outerHeight( true );
-			});
-
-			this.panels.each(function() {
-				$( this ).height( Math.max( 0, maxHeight -
-					$( this ).innerHeight() + $( this ).height() ) );
-			})
-			.css( "overflow", "auto" );
-		} else if ( heightStyle === "auto" ) {
-			maxHeight = 0;
-			this.panels.each(function() {
-				maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() );
-			}).height( maxHeight );
-		}
-	},
-
-	_eventHandler: function( event ) {
-		var options = this.options,
-			active = this.active,
-			anchor = $( event.currentTarget ),
-			tab = anchor.closest( "li" ),
-			clickedIsActive = tab[ 0 ] === active[ 0 ],
-			collapsing = clickedIsActive && options.collapsible,
-			toShow = collapsing ? $() : this._getPanelForTab( tab ),
-			toHide = !active.length ? $() : this._getPanelForTab( active ),
-			eventData = {
-				oldTab: active,
-				oldPanel: toHide,
-				newTab: collapsing ? $() : tab,
-				newPanel: toShow
-			};
-
-		event.preventDefault();
-
-		if ( tab.hasClass( "ui-state-disabled" ) ||
-				// tab is already loading
-				tab.hasClass( "ui-tabs-loading" ) ||
-				// can't switch durning an animation
-				this.running ||
-				// click on active header, but not collapsible
-				( clickedIsActive && !options.collapsible ) ||
-				// allow canceling activation
-				( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
-			return;
-		}
-
-		options.active = collapsing ? false : this.tabs.index( tab );
-
-		this.active = clickedIsActive ? $() : tab;
-		if ( this.xhr ) {
-			this.xhr.abort();
-		}
-
-		if ( !toHide.length && !toShow.length ) {
-			$.error( "jQuery UI Tabs: Mismatching fragment identifier." );
-		}
-
-		if ( toShow.length ) {
-			this.load( this.tabs.index( tab ), event );
-		}
-		this._toggle( event, eventData );
-	},
-
-	// handles show/hide for selecting tabs
-	_toggle: function( event, eventData ) {
-		var that = this,
-			toShow = eventData.newPanel,
-			toHide = eventData.oldPanel;
-
-		this.running = true;
-
-		function complete() {
-			that.running = false;
-			that._trigger( "activate", event, eventData );
-		}
-
-		function show() {
-			eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" );
-
-			if ( toShow.length && that.options.show ) {
-				that._show( toShow, that.options.show, complete );
-			} else {
-				toShow.show();
-				complete();
-			}
-		}
-
-		// start out by hiding, then showing, then completing
-		if ( toHide.length && this.options.hide ) {
-			this._hide( toHide, this.options.hide, function() {
-				eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
-				show();
-			});
-		} else {
-			eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
-			toHide.hide();
-			show();
-		}
-
-		toHide.attr( "aria-hidden", "true" );
-		eventData.oldTab.attr({
-			"aria-selected": "false",
-			"aria-expanded": "false"
-		});
-		// If we're switching tabs, remove the old tab from the tab order.
-		// If we're opening from collapsed state, remove the previous tab from the tab order.
-		// If we're collapsing, then keep the collapsing tab in the tab order.
-		if ( toShow.length && toHide.length ) {
-			eventData.oldTab.attr( "tabIndex", -1 );
-		} else if ( toShow.length ) {
-			this.tabs.filter(function() {
-				return $( this ).attr( "tabIndex" ) === 0;
-			})
-			.attr( "tabIndex", -1 );
-		}
-
-		toShow.attr( "aria-hidden", "false" );
-		eventData.newTab.attr({
-			"aria-selected": "true",
-			"aria-expanded": "true",
-			tabIndex: 0
-		});
-	},
-
-	_activate: function( index ) {
-		var anchor,
-			active = this._findActive( index );
-
-		// trying to activate the already active panel
-		if ( active[ 0 ] === this.active[ 0 ] ) {
-			return;
-		}
-
-		// trying to collapse, simulate a click on the current active header
-		if ( !active.length ) {
-			active = this.active;
-		}
-
-		anchor = active.find( ".ui-tabs-anchor" )[ 0 ];
-		this._eventHandler({
-			target: anchor,
-			currentTarget: anchor,
-			preventDefault: $.noop
-		});
-	},
-
-	_findActive: function( index ) {
-		return index === false ? $() : this.tabs.eq( index );
-	},
-
-	_getIndex: function( index ) {
-		// meta-function to give users option to provide a href string instead of a numerical index.
-		if ( typeof index === "string" ) {
-			index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) );
-		}
-
-		return index;
-	},
-
-	_destroy: function() {
-		if ( this.xhr ) {
-			this.xhr.abort();
-		}
-
-		this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" );
-
-		this.tablist
-			.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
-			.removeAttr( "role" );
-
-		this.anchors
-			.removeClass( "ui-tabs-anchor" )
-			.removeAttr( "role" )
-			.removeAttr( "tabIndex" )
-			.removeUniqueId();
-
-		this.tablist.unbind( this.eventNamespace );
-
-		this.tabs.add( this.panels ).each(function() {
-			if ( $.data( this, "ui-tabs-destroy" ) ) {
-				$( this ).remove();
-			} else {
-				$( this )
-					.removeClass( "ui-state-default ui-state-active ui-state-disabled " +
-						"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" )
-					.removeAttr( "tabIndex" )
-					.removeAttr( "aria-live" )
-					.removeAttr( "aria-busy" )
-					.removeAttr( "aria-selected" )
-					.removeAttr( "aria-labelledby" )
-					.removeAttr( "aria-hidden" )
-					.removeAttr( "aria-expanded" )
-					.removeAttr( "role" );
-			}
-		});
-
-		this.tabs.each(function() {
-			var li = $( this ),
-				prev = li.data( "ui-tabs-aria-controls" );
-			if ( prev ) {
-				li
-					.attr( "aria-controls", prev )
-					.removeData( "ui-tabs-aria-controls" );
-			} else {
-				li.removeAttr( "aria-controls" );
-			}
-		});
-
-		this.panels.show();
-
-		if ( this.options.heightStyle !== "content" ) {
-			this.panels.css( "height", "" );
-		}
-	},
-
-	enable: function( index ) {
-		var disabled = this.options.disabled;
-		if ( disabled === false ) {
-			return;
-		}
-
-		if ( index === undefined ) {
-			disabled = false;
-		} else {
-			index = this._getIndex( index );
-			if ( $.isArray( disabled ) ) {
-				disabled = $.map( disabled, function( num ) {
-					return num !== index ? num : null;
-				});
-			} else {
-				disabled = $.map( this.tabs, function( li, num ) {
-					return num !== index ? num : null;
-				});
-			}
-		}
-		this._setupDisabled( disabled );
-	},
-
-	disable: function( index ) {
-		var disabled = this.options.disabled;
-		if ( disabled === true ) {
-			return;
-		}
-
-		if ( index === undefined ) {
-			disabled = true;
-		} else {
-			index = this._getIndex( index );
-			if ( $.inArray( index, disabled ) !== -1 ) {
-				return;
-			}
-			if ( $.isArray( disabled ) ) {
-				disabled = $.merge( [ index ], disabled ).sort();
-			} else {
-				disabled = [ index ];
-			}
-		}
-		this._setupDisabled( disabled );
-	},
-
-	load: function( index, event ) {
-		index = this._getIndex( index );
-		var that = this,
-			tab = this.tabs.eq( index ),
-			anchor = tab.find( ".ui-tabs-anchor" ),
-			panel = this._getPanelForTab( tab ),
-			eventData = {
-				tab: tab,
-				panel: panel
-			},
-			complete = function( jqXHR, status ) {
-				if ( status === "abort" ) {
-					that.panels.stop( false, true );
-				}
-
-				tab.removeClass( "ui-tabs-loading" );
-				panel.removeAttr( "aria-busy" );
-
-				if ( jqXHR === that.xhr ) {
-					delete that.xhr;
-				}
-			};
-
-		// not remote
-		if ( this._isLocal( anchor[ 0 ] ) ) {
-			return;
-		}
-
-		this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );
-
-		// support: jQuery <1.8
-		// jQuery <1.8 returns false if the request is canceled in beforeSend,
-		// but as of 1.8, $.ajax() always returns a jqXHR object.
-		if ( this.xhr && this.xhr.statusText !== "canceled" ) {
-			tab.addClass( "ui-tabs-loading" );
-			panel.attr( "aria-busy", "true" );
-
-			this.xhr
-				.done(function( response, status, jqXHR ) {
-					// support: jQuery <1.8
-					// http://bugs.jquery.com/ticket/11778
-					setTimeout(function() {
-						panel.html( response );
-						that._trigger( "load", event, eventData );
-
-						complete( jqXHR, status );
-					}, 1 );
-				})
-				.fail(function( jqXHR, status ) {
-					// support: jQuery <1.8
-					// http://bugs.jquery.com/ticket/11778
-					setTimeout(function() {
-						complete( jqXHR, status );
-					}, 1 );
-				});
-		}
-	},
-
-	_ajaxSettings: function( anchor, event, eventData ) {
-		var that = this;
-		return {
-			url: anchor.attr( "href" ),
-			beforeSend: function( jqXHR, settings ) {
-				return that._trigger( "beforeLoad", event,
-					$.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) );
-			}
-		};
-	},
-
-	_getPanelForTab: function( tab ) {
-		var id = $( tab ).attr( "aria-controls" );
-		return this.element.find( this._sanitizeSelector( "#" + id ) );
-	}
-});
-
-
-/*!
- * jQuery UI Tooltip 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/tooltip/
- */
-
-
-var tooltip = $.widget( "ui.tooltip", {
-	version: "1.11.4",
-	options: {
-		content: function() {
-			// support: IE<9, Opera in jQuery <1.7
-			// .text() can't accept undefined, so coerce to a string
-			var title = $( this ).attr( "title" ) || "";
-			// Escape title, since we're going from an attribute to raw HTML
-			return $( "<a>" ).text( title ).html();
-		},
-		hide: true,
-		// Disabled elements have inconsistent behavior across browsers (#8661)
-		items: "[title]:not([disabled])",
-		position: {
-			my: "left top+15",
-			at: "left bottom",
-			collision: "flipfit flip"
-		},
-		show: true,
-		tooltipClass: null,
-		track: false,
-
-		// callbacks
-		close: null,
-		open: null
-	},
-
-	_addDescribedBy: function( elem, id ) {
-		var describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ );
-		describedby.push( id );
-		elem
-			.data( "ui-tooltip-id", id )
-			.attr( "aria-describedby", $.trim( describedby.join( " " ) ) );
-	},
-
-	_removeDescribedBy: function( elem ) {
-		var id = elem.data( "ui-tooltip-id" ),
-			describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ),
-			index = $.inArray( id, describedby );
-
-		if ( index !== -1 ) {
-			describedby.splice( index, 1 );
-		}
-
-		elem.removeData( "ui-tooltip-id" );
-		describedby = $.trim( describedby.join( " " ) );
-		if ( describedby ) {
-			elem.attr( "aria-describedby", describedby );
-		} else {
-			elem.removeAttr( "aria-describedby" );
-		}
-	},
-
-	_create: function() {
-		this._on({
-			mouseover: "open",
-			focusin: "open"
-		});
-
-		// IDs of generated tooltips, needed for destroy
-		this.tooltips = {};
-
-		// IDs of parent tooltips where we removed the title attribute
-		this.parents = {};
-
-		if ( this.options.disabled ) {
-			this._disable();
-		}
-
-		// Append the aria-live region so tooltips announce correctly
-		this.liveRegion = $( "<div>" )
-			.attr({
-				role: "log",
-				"aria-live": "assertive",
-				"aria-relevant": "additions"
-			})
-			.addClass( "ui-helper-hidden-accessible" )
-			.appendTo( this.document[ 0 ].body );
-	},
-
-	_setOption: function( key, value ) {
-		var that = this;
-
-		if ( key === "disabled" ) {
-			this[ value ? "_disable" : "_enable" ]();
-			this.options[ key ] = value;
-			// disable element style changes
-			return;
-		}
-
-		this._super( key, value );
-
-		if ( key === "content" ) {
-			$.each( this.tooltips, function( id, tooltipData ) {
-				that._updateContent( tooltipData.element );
-			});
-		}
-	},
-
-	_disable: function() {
-		var that = this;
-
-		// close open tooltips
-		$.each( this.tooltips, function( id, tooltipData ) {
-			var event = $.Event( "blur" );
-			event.target = event.currentTarget = tooltipData.element[ 0 ];
-			that.close( event, true );
-		});
-
-		// remove title attributes to prevent native tooltips
-		this.element.find( this.options.items ).addBack().each(function() {
-			var element = $( this );
-			if ( element.is( "[title]" ) ) {
-				element
-					.data( "ui-tooltip-title", element.attr( "title" ) )
-					.removeAttr( "title" );
-			}
-		});
-	},
-
-	_enable: function() {
-		// restore title attributes
-		this.element.find( this.options.items ).addBack().each(function() {
-			var element = $( this );
-			if ( element.data( "ui-tooltip-title" ) ) {
-				element.attr( "title", element.data( "ui-tooltip-title" ) );
-			}
-		});
-	},
-
-	open: function( event ) {
-		var that = this,
-			target = $( event ? event.target : this.element )
-				// we need closest here due to mouseover bubbling,
-				// but always pointing at the same event target
-				.closest( this.options.items );
-
-		// No element to show a tooltip for or the tooltip is already open
-		if ( !target.length || target.data( "ui-tooltip-id" ) ) {
-			return;
-		}
-
-		if ( target.attr( "title" ) ) {
-			target.data( "ui-tooltip-title", target.attr( "title" ) );
-		}
-
-		target.data( "ui-tooltip-open", true );
-
-		// kill parent tooltips, custom or native, for hover
-		if ( event && event.type === "mouseover" ) {
-			target.parents().each(function() {
-				var parent = $( this ),
-					blurEvent;
-				if ( parent.data( "ui-tooltip-open" ) ) {
-					blurEvent = $.Event( "blur" );
-					blurEvent.target = blurEvent.currentTarget = this;
-					that.close( blurEvent, true );
-				}
-				if ( parent.attr( "title" ) ) {
-					parent.uniqueId();
-					that.parents[ this.id ] = {
-						element: this,
-						title: parent.attr( "title" )
-					};
-					parent.attr( "title", "" );
-				}
-			});
-		}
-
-		this._registerCloseHandlers( event, target );
-		this._updateContent( target, event );
-	},
-
-	_updateContent: function( target, event ) {
-		var content,
-			contentOption = this.options.content,
-			that = this,
-			eventType = event ? event.type : null;
-
-		if ( typeof contentOption === "string" ) {
-			return this._open( event, target, contentOption );
-		}
-
-		content = contentOption.call( target[0], function( response ) {
-
-			// IE may instantly serve a cached response for ajax requests
-			// delay this call to _open so the other call to _open runs first
-			that._delay(function() {
-
-				// Ignore async response if tooltip was closed already
-				if ( !target.data( "ui-tooltip-open" ) ) {
-					return;
-				}
-
-				// jQuery creates a special event for focusin when it doesn't
-				// exist natively. To improve performance, the native event
-				// object is reused and the type is changed. Therefore, we can't
-				// rely on the type being correct after the event finished
-				// bubbling, so we set it back to the previous value. (#8740)
-				if ( event ) {
-					event.type = eventType;
-				}
-				this._open( event, target, response );
-			});
-		});
-		if ( content ) {
-			this._open( event, target, content );
-		}
-	},
-
-	_open: function( event, target, content ) {
-		var tooltipData, tooltip, delayedShow, a11yContent,
-			positionOption = $.extend( {}, this.options.position );
-
-		if ( !content ) {
-			return;
-		}
-
-		// Content can be updated multiple times. If the tooltip already
-		// exists, then just update the content and bail.
-		tooltipData = this._find( target );
-		if ( tooltipData ) {
-			tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content );
-			return;
-		}
-
-		// if we have a title, clear it to prevent the native tooltip
-		// we have to check first to avoid defining a title if none exists
-		// (we don't want to cause an element to start matching [title])
-		//
-		// We use removeAttr only for key events, to allow IE to export the correct
-		// accessible attributes. For mouse events, set to empty string to avoid
-		// native tooltip showing up (happens only when removing inside mouseover).
-		if ( target.is( "[title]" ) ) {
-			if ( event && event.type === "mouseover" ) {
-				target.attr( "title", "" );
-			} else {
-				target.removeAttr( "title" );
-			}
-		}
-
-		tooltipData = this._tooltip( target );
-		tooltip = tooltipData.tooltip;
-		this._addDescribedBy( target, tooltip.attr( "id" ) );
-		tooltip.find( ".ui-tooltip-content" ).html( content );
-
-		// Support: Voiceover on OS X, JAWS on IE <= 9
-		// JAWS announces deletions even when aria-relevant="additions"
-		// Voiceover will sometimes re-read the entire log region's contents from the beginning
-		this.liveRegion.children().hide();
-		if ( content.clone ) {
-			a11yContent = content.clone();
-			a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" );
-		} else {
-			a11yContent = content;
-		}
-		$( "<div>" ).html( a11yContent ).appendTo( this.liveRegion );
-
-		function position( event ) {
-			positionOption.of = event;
-			if ( tooltip.is( ":hidden" ) ) {
-				return;
-			}
-			tooltip.position( positionOption );
-		}
-		if ( this.options.track && event && /^mouse/.test( event.type ) ) {
-			this._on( this.document, {
-				mousemove: position
-			});
-			// trigger once to override element-relative positioning
-			position( event );
-		} else {
-			tooltip.position( $.extend({
-				of: target
-			}, this.options.position ) );
-		}
-
-		tooltip.hide();
-
-		this._show( tooltip, this.options.show );
-		// Handle tracking tooltips that are shown with a delay (#8644). As soon
-		// as the tooltip is visible, position the tooltip using the most recent
-		// event.
-		if ( this.options.show && this.options.show.delay ) {
-			delayedShow = this.delayedShow = setInterval(function() {
-				if ( tooltip.is( ":visible" ) ) {
-					position( positionOption.of );
-					clearInterval( delayedShow );
-				}
-			}, $.fx.interval );
-		}
-
-		this._trigger( "open", event, { tooltip: tooltip } );
-	},
-
-	_registerCloseHandlers: function( event, target ) {
-		var events = {
-			keyup: function( event ) {
-				if ( event.keyCode === $.ui.keyCode.ESCAPE ) {
-					var fakeEvent = $.Event(event);
-					fakeEvent.currentTarget = target[0];
-					this.close( fakeEvent, true );
-				}
-			}
-		};
-
-		// Only bind remove handler for delegated targets. Non-delegated
-		// tooltips will handle this in destroy.
-		if ( target[ 0 ] !== this.element[ 0 ] ) {
-			events.remove = function() {
-				this._removeTooltip( this._find( target ).tooltip );
-			};
-		}
-
-		if ( !event || event.type === "mouseover" ) {
-			events.mouseleave = "close";
-		}
-		if ( !event || event.type === "focusin" ) {
-			events.focusout = "close";
-		}
-		this._on( true, target, events );
-	},
-
-	close: function( event ) {
-		var tooltip,
-			that = this,
-			target = $( event ? event.currentTarget : this.element ),
-			tooltipData = this._find( target );
-
-		// The tooltip may already be closed
-		if ( !tooltipData ) {
-
-			// We set ui-tooltip-open immediately upon open (in open()), but only set the
-			// additional data once there's actually content to show (in _open()). So even if the
-			// tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in
-			// the period between open() and _open().
-			target.removeData( "ui-tooltip-open" );
-			return;
-		}
-
-		tooltip = tooltipData.tooltip;
-
-		// disabling closes the tooltip, so we need to track when we're closing
-		// to avoid an infinite loop in case the tooltip becomes disabled on close
-		if ( tooltipData.closing ) {
-			return;
-		}
-
-		// Clear the interval for delayed tracking tooltips
-		clearInterval( this.delayedShow );
-
-		// only set title if we had one before (see comment in _open())
-		// If the title attribute has changed since open(), don't restore
-		if ( target.data( "ui-tooltip-title" ) && !target.attr( "title" ) ) {
-			target.attr( "title", target.data( "ui-tooltip-title" ) );
-		}
-
-		this._removeDescribedBy( target );
-
-		tooltipData.hiding = true;
-		tooltip.stop( true );
-		this._hide( tooltip, this.options.hide, function() {
-			that._removeTooltip( $( this ) );
-		});
-
-		target.removeData( "ui-tooltip-open" );
-		this._off( target, "mouseleave focusout keyup" );
-
-		// Remove 'remove' binding only on delegated targets
-		if ( target[ 0 ] !== this.element[ 0 ] ) {
-			this._off( target, "remove" );
-		}
-		this._off( this.document, "mousemove" );
-
-		if ( event && event.type === "mouseleave" ) {
-			$.each( this.parents, function( id, parent ) {
-				$( parent.element ).attr( "title", parent.title );
-				delete that.parents[ id ];
-			});
-		}
-
-		tooltipData.closing = true;
-		this._trigger( "close", event, { tooltip: tooltip } );
-		if ( !tooltipData.hiding ) {
-			tooltipData.closing = false;
-		}
-	},
-
-	_tooltip: function( element ) {
-		var tooltip = $( "<div>" )
-				.attr( "role", "tooltip" )
-				.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " +
-					( this.options.tooltipClass || "" ) ),
-			id = tooltip.uniqueId().attr( "id" );
-
-		$( "<div>" )
-			.addClass( "ui-tooltip-content" )
-			.appendTo( tooltip );
-
-		tooltip.appendTo( this.document[0].body );
-
-		return this.tooltips[ id ] = {
-			element: element,
-			tooltip: tooltip
-		};
-	},
-
-	_find: function( target ) {
-		var id = target.data( "ui-tooltip-id" );
-		return id ? this.tooltips[ id ] : null;
-	},
-
-	_removeTooltip: function( tooltip ) {
-		tooltip.remove();
-		delete this.tooltips[ tooltip.attr( "id" ) ];
-	},
-
-	_destroy: function() {
-		var that = this;
-
-		// close open tooltips
-		$.each( this.tooltips, function( id, tooltipData ) {
-			// Delegate to close method to handle common cleanup
-			var event = $.Event( "blur" ),
-				element = tooltipData.element;
-			event.target = event.currentTarget = element[ 0 ];
-			that.close( event, true );
-
-			// Remove immediately; destroying an open tooltip doesn't use the
-			// hide animation
-			$( "#" + id ).remove();
-
-			// Restore the title
-			if ( element.data( "ui-tooltip-title" ) ) {
-				// If the title attribute has changed since open(), don't restore
-				if ( !element.attr( "title" ) ) {
-					element.attr( "title", element.data( "ui-tooltip-title" ) );
-				}
-				element.removeData( "ui-tooltip-title" );
-			}
-		});
-		this.liveRegion.remove();
-	}
-});
-
-
-/*!
- * jQuery UI Effects 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/effects-core/
- */
-
-
-var dataSpace = "ui-effects-",
-
-	// Create a local jQuery because jQuery Color relies on it and the
-	// global may not exist with AMD and a custom build (#10199)
-	jQuery = $;
-
-$.effects = {
-	effect: {}
-};
-
-/*!
- * jQuery Color Animations v2.1.2
- * https://github.com/jquery/jquery-color
- *
- * Copyright 2014 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * Date: Wed Jan 16 08:47:09 2013 -0600
- */
-(function( jQuery, undefined ) {
-
-	var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
-
-	// plusequals test for += 100 -= 100
-	rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
-	// a set of RE's that can match strings and generate color tuples.
-	stringParsers = [ {
-			re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
-			parse: function( execResult ) {
-				return [
-					execResult[ 1 ],
-					execResult[ 2 ],
-					execResult[ 3 ],
-					execResult[ 4 ]
-				];
-			}
-		}, {
-			re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
-			parse: function( execResult ) {
-				return [
-					execResult[ 1 ] * 2.55,
-					execResult[ 2 ] * 2.55,
-					execResult[ 3 ] * 2.55,
-					execResult[ 4 ]
-				];
-			}
-		}, {
-			// this regex ignores A-F because it's compared against an already lowercased string
-			re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
-			parse: function( execResult ) {
-				return [
-					parseInt( execResult[ 1 ], 16 ),
-					parseInt( execResult[ 2 ], 16 ),
-					parseInt( execResult[ 3 ], 16 )
-				];
-			}
-		}, {
-			// this regex ignores A-F because it's compared against an already lowercased string
-			re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
-			parse: function( execResult ) {
-				return [
-					parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
-					parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
-					parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
-				];
-			}
-		}, {
-			re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
-			space: "hsla",
-			parse: function( execResult ) {
-				return [
-					execResult[ 1 ],
-					execResult[ 2 ] / 100,
-					execResult[ 3 ] / 100,
-					execResult[ 4 ]
-				];
-			}
-		} ],
-
-	// jQuery.Color( )
-	color = jQuery.Color = function( color, green, blue, alpha ) {
-		return new jQuery.Color.fn.parse( color, green, blue, alpha );
-	},
-	spaces = {
-		rgba: {
-			props: {
-				red: {
-					idx: 0,
-					type: "byte"
-				},
-				green: {
-					idx: 1,
-					type: "byte"
-				},
-				blue: {
-					idx: 2,
-					type: "byte"
-				}
-			}
-		},
-
-		hsla: {
-			props: {
-				hue: {
-					idx: 0,
-					type: "degrees"
-				},
-				saturation: {
-					idx: 1,
-					type: "percent"
-				},
-				lightness: {
-					idx: 2,
-					type: "percent"
-				}
-			}
-		}
-	},
-	propTypes = {
-		"byte": {
-			floor: true,
-			max: 255
-		},
-		"percent": {
-			max: 1
-		},
-		"degrees": {
-			mod: 360,
-			floor: true
-		}
-	},
-	support = color.support = {},
-
-	// element for support tests
-	supportElem = jQuery( "<p>" )[ 0 ],
-
-	// colors = jQuery.Color.names
-	colors,
-
-	// local aliases of functions called often
-	each = jQuery.each;
-
-// determine rgba support immediately
-supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
-support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
-
-// define cache name and alpha properties
-// for rgba and hsla spaces
-each( spaces, function( spaceName, space ) {
-	space.cache = "_" + spaceName;
-	space.props.alpha = {
-		idx: 3,
-		type: "percent",
-		def: 1
-	};
-});
-
-function clamp( value, prop, allowEmpty ) {
-	var type = propTypes[ prop.type ] || {};
-
-	if ( value == null ) {
-		return (allowEmpty || !prop.def) ? null : prop.def;
-	}
-
-	// ~~ is an short way of doing floor for positive numbers
-	value = type.floor ? ~~value : parseFloat( value );
-
-	// IE will pass in empty strings as value for alpha,
-	// which will hit this case
-	if ( isNaN( value ) ) {
-		return prop.def;
-	}
-
-	if ( type.mod ) {
-		// we add mod before modding to make sure that negatives values
-		// get converted properly: -10 -> 350
-		return (value + type.mod) % type.mod;
-	}
-
-	// for now all property types without mod have min and max
-	return 0 > value ? 0 : type.max < value ? type.max : value;
-}
-
-function stringParse( string ) {
-	var inst = color(),
-		rgba = inst._rgba = [];
-
-	string = string.toLowerCase();
-
-	each( stringParsers, function( i, parser ) {
-		var parsed,
-			match = parser.re.exec( string ),
-			values = match && parser.parse( match ),
-			spaceName = parser.space || "rgba";
-
-		if ( values ) {
-			parsed = inst[ spaceName ]( values );
-
-			// if this was an rgba parse the assignment might happen twice
-			// oh well....
-			inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
-			rgba = inst._rgba = parsed._rgba;
-
-			// exit each( stringParsers ) here because we matched
-			return false;
-		}
-	});
-
-	// Found a stringParser that handled it
-	if ( rgba.length ) {
-
-		// if this came from a parsed string, force "transparent" when alpha is 0
-		// chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
-		if ( rgba.join() === "0,0,0,0" ) {
-			jQuery.extend( rgba, colors.transparent );
-		}
-		return inst;
-	}
-
-	// named colors
-	return colors[ string ];
-}
-
-color.fn = jQuery.extend( color.prototype, {
-	parse: function( red, green, blue, alpha ) {
-		if ( red === undefined ) {
-			this._rgba = [ null, null, null, null ];
-			return this;
-		}
-		if ( red.jquery || red.nodeType ) {
-			red = jQuery( red ).css( green );
-			green = undefined;
-		}
-
-		var inst = this,
-			type = jQuery.type( red ),
-			rgba = this._rgba = [];
-
-		// more than 1 argument specified - assume ( red, green, blue, alpha )
-		if ( green !== undefined ) {
-			red = [ red, green, blue, alpha ];
-			type = "array";
-		}
-
-		if ( type === "string" ) {
-			return this.parse( stringParse( red ) || colors._default );
-		}
-
-		if ( type === "array" ) {
-			each( spaces.rgba.props, function( key, prop ) {
-				rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
-			});
-			return this;
-		}
-
-		if ( type === "object" ) {
-			if ( red instanceof color ) {
-				each( spaces, function( spaceName, space ) {
-					if ( red[ space.cache ] ) {
-						inst[ space.cache ] = red[ space.cache ].slice();
-					}
-				});
-			} else {
-				each( spaces, function( spaceName, space ) {
-					var cache = space.cache;
-					each( space.props, function( key, prop ) {
-
-						// if the cache doesn't exist, and we know how to convert
-						if ( !inst[ cache ] && space.to ) {
-
-							// if the value was null, we don't need to copy it
-							// if the key was alpha, we don't need to copy it either
-							if ( key === "alpha" || red[ key ] == null ) {
-								return;
-							}
-							inst[ cache ] = space.to( inst._rgba );
-						}
-
-						// this is the only case where we allow nulls for ALL properties.
-						// call clamp with alwaysAllowEmpty
-						inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
-					});
-
-					// everything defined but alpha?
-					if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
-						// use the default of 1
-						inst[ cache ][ 3 ] = 1;
-						if ( space.from ) {
-							inst._rgba = space.from( inst[ cache ] );
-						}
-					}
-				});
-			}
-			return this;
-		}
-	},
-	is: function( compare ) {
-		var is = color( compare ),
-			same = true,
-			inst = this;
-
-		each( spaces, function( _, space ) {
-			var localCache,
-				isCache = is[ space.cache ];
-			if (isCache) {
-				localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
-				each( space.props, function( _, prop ) {
-					if ( isCache[ prop.idx ] != null ) {
-						same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
-						return same;
-					}
-				});
-			}
-			return same;
-		});
-		return same;
-	},
-	_space: function() {
-		var used = [],
-			inst = this;
-		each( spaces, function( spaceName, space ) {
-			if ( inst[ space.cache ] ) {
-				used.push( spaceName );
-			}
-		});
-		return used.pop();
-	},
-	transition: function( other, distance ) {
-		var end = color( other ),
-			spaceName = end._space(),
-			space = spaces[ spaceName ],
-			startColor = this.alpha() === 0 ? color( "transparent" ) : this,
-			start = startColor[ space.cache ] || space.to( startColor._rgba ),
-			result = start.slice();
-
-		end = end[ space.cache ];
-		each( space.props, function( key, prop ) {
-			var index = prop.idx,
-				startValue = start[ index ],
-				endValue = end[ index ],
-				type = propTypes[ prop.type ] || {};
-
-			// if null, don't override start value
-			if ( endValue === null ) {
-				return;
-			}
-			// if null - use end
-			if ( startValue === null ) {
-				result[ index ] = endValue;
-			} else {
-				if ( type.mod ) {
-					if ( endValue - startValue > type.mod / 2 ) {
-						startValue += type.mod;
-					} else if ( startValue - endValue > type.mod / 2 ) {
-						startValue -= type.mod;
-					}
-				}
-				result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
-			}
-		});
-		return this[ spaceName ]( result );
-	},
-	blend: function( opaque ) {
-		// if we are already opaque - return ourself
-		if ( this._rgba[ 3 ] === 1 ) {
-			return this;
-		}
-
-		var rgb = this._rgba.slice(),
-			a = rgb.pop(),
-			blend = color( opaque )._rgba;
-
-		return color( jQuery.map( rgb, function( v, i ) {
-			return ( 1 - a ) * blend[ i ] + a * v;
-		}));
-	},
-	toRgbaString: function() {
-		var prefix = "rgba(",
-			rgba = jQuery.map( this._rgba, function( v, i ) {
-				return v == null ? ( i > 2 ? 1 : 0 ) : v;
-			});
-
-		if ( rgba[ 3 ] === 1 ) {
-			rgba.pop();
-			prefix = "rgb(";
-		}
-
-		return prefix + rgba.join() + ")";
-	},
-	toHslaString: function() {
-		var prefix = "hsla(",
-			hsla = jQuery.map( this.hsla(), function( v, i ) {
-				if ( v == null ) {
-					v = i > 2 ? 1 : 0;
-				}
-
-				// catch 1 and 2
-				if ( i && i < 3 ) {
-					v = Math.round( v * 100 ) + "%";
-				}
-				return v;
-			});
-
-		if ( hsla[ 3 ] === 1 ) {
-			hsla.pop();
-			prefix = "hsl(";
-		}
-		return prefix + hsla.join() + ")";
-	},
-	toHexString: function( includeAlpha ) {
-		var rgba = this._rgba.slice(),
-			alpha = rgba.pop();
-
-		if ( includeAlpha ) {
-			rgba.push( ~~( alpha * 255 ) );
-		}
-
-		return "#" + jQuery.map( rgba, function( v ) {
-
-			// default to 0 when nulls exist
-			v = ( v || 0 ).toString( 16 );
-			return v.length === 1 ? "0" + v : v;
-		}).join("");
-	},
-	toString: function() {
-		return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
-	}
-});
-color.fn.parse.prototype = color.fn;
-
-// hsla conversions adapted from:
-// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
-
-function hue2rgb( p, q, h ) {
-	h = ( h + 1 ) % 1;
-	if ( h * 6 < 1 ) {
-		return p + ( q - p ) * h * 6;
-	}
-	if ( h * 2 < 1) {
-		return q;
-	}
-	if ( h * 3 < 2 ) {
-		return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;
-	}
-	return p;
-}
-
-spaces.hsla.to = function( rgba ) {
-	if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
-		return [ null, null, null, rgba[ 3 ] ];
-	}
-	var r = rgba[ 0 ] / 255,
-		g = rgba[ 1 ] / 255,
-		b = rgba[ 2 ] / 255,
-		a = rgba[ 3 ],
-		max = Math.max( r, g, b ),
-		min = Math.min( r, g, b ),
-		diff = max - min,
-		add = max + min,
-		l = add * 0.5,
-		h, s;
-
-	if ( min === max ) {
-		h = 0;
-	} else if ( r === max ) {
-		h = ( 60 * ( g - b ) / diff ) + 360;
-	} else if ( g === max ) {
-		h = ( 60 * ( b - r ) / diff ) + 120;
-	} else {
-		h = ( 60 * ( r - g ) / diff ) + 240;
-	}
-
-	// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
-	// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
-	if ( diff === 0 ) {
-		s = 0;
-	} else if ( l <= 0.5 ) {
-		s = diff / add;
-	} else {
-		s = diff / ( 2 - add );
-	}
-	return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
-};
-
-spaces.hsla.from = function( hsla ) {
-	if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
-		return [ null, null, null, hsla[ 3 ] ];
-	}
-	var h = hsla[ 0 ] / 360,
-		s = hsla[ 1 ],
-		l = hsla[ 2 ],
-		a = hsla[ 3 ],
-		q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
-		p = 2 * l - q;
-
-	return [
-		Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
-		Math.round( hue2rgb( p, q, h ) * 255 ),
-		Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
-		a
-	];
-};
-
-each( spaces, function( spaceName, space ) {
-	var props = space.props,
-		cache = space.cache,
-		to = space.to,
-		from = space.from;
-
-	// makes rgba() and hsla()
-	color.fn[ spaceName ] = function( value ) {
-
-		// generate a cache for this space if it doesn't exist
-		if ( to && !this[ cache ] ) {
-			this[ cache ] = to( this._rgba );
-		}
-		if ( value === undefined ) {
-			return this[ cache ].slice();
-		}
-
-		var ret,
-			type = jQuery.type( value ),
-			arr = ( type === "array" || type === "object" ) ? value : arguments,
-			local = this[ cache ].slice();
-
-		each( props, function( key, prop ) {
-			var val = arr[ type === "object" ? key : prop.idx ];
-			if ( val == null ) {
-				val = local[ prop.idx ];
-			}
-			local[ prop.idx ] = clamp( val, prop );
-		});
-
-		if ( from ) {
-			ret = color( from( local ) );
-			ret[ cache ] = local;
-			return ret;
-		} else {
-			return color( local );
-		}
-	};
-
-	// makes red() green() blue() alpha() hue() saturation() lightness()
-	each( props, function( key, prop ) {
-		// alpha is included in more than one space
-		if ( color.fn[ key ] ) {
-			return;
-		}
-		color.fn[ key ] = function( value ) {
-			var vtype = jQuery.type( value ),
-				fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
-				local = this[ fn ](),
-				cur = local[ prop.idx ],
-				match;
-
-			if ( vtype === "undefined" ) {
-				return cur;
-			}
-
-			if ( vtype === "function" ) {
-				value = value.call( this, cur );
-				vtype = jQuery.type( value );
-			}
-			if ( value == null && prop.empty ) {
-				return this;
-			}
-			if ( vtype === "string" ) {
-				match = rplusequals.exec( value );
-				if ( match ) {
-					value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
-				}
-			}
-			local[ prop.idx ] = value;
-			return this[ fn ]( local );
-		};
-	});
-});
-
-// add cssHook and .fx.step function for each named hook.
-// accept a space separated string of properties
-color.hook = function( hook ) {
-	var hooks = hook.split( " " );
-	each( hooks, function( i, hook ) {
-		jQuery.cssHooks[ hook ] = {
-			set: function( elem, value ) {
-				var parsed, curElem,
-					backgroundColor = "";
-
-				if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
-					value = color( parsed || value );
-					if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
-						curElem = hook === "backgroundColor" ? elem.parentNode : elem;
-						while (
-							(backgroundColor === "" || backgroundColor === "transparent") &&
-							curElem && curElem.style
-						) {
-							try {
-								backgroundColor = jQuery.css( curElem, "backgroundColor" );
-								curElem = curElem.parentNode;
-							} catch ( e ) {
-							}
-						}
-
-						value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
-							backgroundColor :
-							"_default" );
-					}
-
-					value = value.toRgbaString();
-				}
-				try {
-					elem.style[ hook ] = value;
-				} catch ( e ) {
-					// wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
-				}
-			}
-		};
-		jQuery.fx.step[ hook ] = function( fx ) {
-			if ( !fx.colorInit ) {
-				fx.start = color( fx.elem, hook );
-				fx.end = color( fx.end );
-				fx.colorInit = true;
-			}
-			jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
-		};
-	});
-
-};
-
-color.hook( stepHooks );
-
-jQuery.cssHooks.borderColor = {
-	expand: function( value ) {
-		var expanded = {};
-
-		each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
-			expanded[ "border" + part + "Color" ] = value;
-		});
-		return expanded;
-	}
-};
-
-// Basic color names only.
-// Usage of any of the other color names requires adding yourself or including
-// jquery.color.svg-names.js.
-colors = jQuery.Color.names = {
-	// 4.1. Basic color keywords
-	aqua: "#00ffff",
-	black: "#000000",
-	blue: "#0000ff",
-	fuchsia: "#ff00ff",
-	gray: "#808080",
-	green: "#008000",
-	lime: "#00ff00",
-	maroon: "#800000",
-	navy: "#000080",
-	olive: "#808000",
-	purple: "#800080",
-	red: "#ff0000",
-	silver: "#c0c0c0",
-	teal: "#008080",
-	white: "#ffffff",
-	yellow: "#ffff00",
-
-	// 4.2.3. "transparent" color keyword
-	transparent: [ null, null, null, 0 ],
-
-	_default: "#ffffff"
-};
-
-})( jQuery );
-
-/******************************************************************************/
-/****************************** CLASS ANIMATIONS ******************************/
-/******************************************************************************/
-(function() {
-
-var classAnimationActions = [ "add", "remove", "toggle" ],
-	shorthandStyles = {
-		border: 1,
-		borderBottom: 1,
-		borderColor: 1,
-		borderLeft: 1,
-		borderRight: 1,
-		borderTop: 1,
-		borderWidth: 1,
-		margin: 1,
-		padding: 1
-	};
-
-$.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) {
-	$.fx.step[ prop ] = function( fx ) {
-		if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
-			jQuery.style( fx.elem, prop, fx.end );
-			fx.setAttr = true;
-		}
-	};
-});
-
-function getElementStyles( elem ) {
-	var key, len,
-		style = elem.ownerDocument.defaultView ?
-			elem.ownerDocument.defaultView.getComputedStyle( elem, null ) :
-			elem.currentStyle,
-		styles = {};
-
-	if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {
-		len = style.length;
-		while ( len-- ) {
-			key = style[ len ];
-			if ( typeof style[ key ] === "string" ) {
-				styles[ $.camelCase( key ) ] = style[ key ];
-			}
-		}
-	// support: Opera, IE <9
-	} else {
-		for ( key in style ) {
-			if ( typeof style[ key ] === "string" ) {
-				styles[ key ] = style[ key ];
-			}
-		}
-	}
-
-	return styles;
-}
-
-function styleDifference( oldStyle, newStyle ) {
-	var diff = {},
-		name, value;
-
-	for ( name in newStyle ) {
-		value = newStyle[ name ];
-		if ( oldStyle[ name ] !== value ) {
-			if ( !shorthandStyles[ name ] ) {
-				if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {
-					diff[ name ] = value;
-				}
-			}
-		}
-	}
-
-	return diff;
-}
-
-// support: jQuery <1.8
-if ( !$.fn.addBack ) {
-	$.fn.addBack = function( selector ) {
-		return this.add( selector == null ?
-			this.prevObject : this.prevObject.filter( selector )
-		);
-	};
-}
-
-$.effects.animateClass = function( value, duration, easing, callback ) {
-	var o = $.speed( duration, easing, callback );
-
-	return this.queue( function() {
-		var animated = $( this ),
-			baseClass = animated.attr( "class" ) || "",
-			applyClassChange,
-			allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
-
-		// map the animated objects to store the original styles.
-		allAnimations = allAnimations.map(function() {
-			var el = $( this );
-			return {
-				el: el,
-				start: getElementStyles( this )
-			};
-		});
-
-		// apply class change
-		applyClassChange = function() {
-			$.each( classAnimationActions, function(i, action) {
-				if ( value[ action ] ) {
-					animated[ action + "Class" ]( value[ action ] );
-				}
-			});
-		};
-		applyClassChange();
-
-		// map all animated objects again - calculate new styles and diff
-		allAnimations = allAnimations.map(function() {
-			this.end = getElementStyles( this.el[ 0 ] );
-			this.diff = styleDifference( this.start, this.end );
-			return this;
-		});
-
-		// apply original class
-		animated.attr( "class", baseClass );
-
-		// map all animated objects again - this time collecting a promise
-		allAnimations = allAnimations.map(function() {
-			var styleInfo = this,
-				dfd = $.Deferred(),
-				opts = $.extend({}, o, {
-					queue: false,
-					complete: function() {
-						dfd.resolve( styleInfo );
-					}
-				});
-
-			this.el.animate( this.diff, opts );
-			return dfd.promise();
-		});
-
-		// once all animations have completed:
-		$.when.apply( $, allAnimations.get() ).done(function() {
-
-			// set the final class
-			applyClassChange();
-
-			// for each animated element,
-			// clear all css properties that were animated
-			$.each( arguments, function() {
-				var el = this.el;
-				$.each( this.diff, function(key) {
-					el.css( key, "" );
-				});
-			});
-
-			// this is guarnteed to be there if you use jQuery.speed()
-			// it also handles dequeuing the next anim...
-			o.complete.call( animated[ 0 ] );
-		});
-	});
-};
-
-$.fn.extend({
-	addClass: (function( orig ) {
-		return function( classNames, speed, easing, callback ) {
-			return speed ?
-				$.effects.animateClass.call( this,
-					{ add: classNames }, speed, easing, callback ) :
-				orig.apply( this, arguments );
-		};
-	})( $.fn.addClass ),
-
-	removeClass: (function( orig ) {
-		return function( classNames, speed, easing, callback ) {
-			return arguments.length > 1 ?
-				$.effects.animateClass.call( this,
-					{ remove: classNames }, speed, easing, callback ) :
-				orig.apply( this, arguments );
-		};
-	})( $.fn.removeClass ),
-
-	toggleClass: (function( orig ) {
-		return function( classNames, force, speed, easing, callback ) {
-			if ( typeof force === "boolean" || force === undefined ) {
-				if ( !speed ) {
-					// without speed parameter
-					return orig.apply( this, arguments );
-				} else {
-					return $.effects.animateClass.call( this,
-						(force ? { add: classNames } : { remove: classNames }),
-						speed, easing, callback );
-				}
-			} else {
-				// without force parameter
-				return $.effects.animateClass.call( this,
-					{ toggle: classNames }, force, speed, easing );
-			}
-		};
-	})( $.fn.toggleClass ),
-
-	switchClass: function( remove, add, speed, easing, callback) {
-		return $.effects.animateClass.call( this, {
-			add: add,
-			remove: remove
-		}, speed, easing, callback );
-	}
-});
-
-})();
-
-/******************************************************************************/
-/*********************************** EFFECTS **********************************/
-/******************************************************************************/
-
-(function() {
-
-$.extend( $.effects, {
-	version: "1.11.4",
-
-	// Saves a set of properties in a data storage
-	save: function( element, set ) {
-		for ( var i = 0; i < set.length; i++ ) {
-			if ( set[ i ] !== null ) {
-				element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
-			}
-		}
-	},
-
-	// Restores a set of previously saved properties from a data storage
-	restore: function( element, set ) {
-		var val, i;
-		for ( i = 0; i < set.length; i++ ) {
-			if ( set[ i ] !== null ) {
-				val = element.data( dataSpace + set[ i ] );
-				// support: jQuery 1.6.2
-				// http://bugs.jquery.com/ticket/9917
-				// jQuery 1.6.2 incorrectly returns undefined for any falsy value.
-				// We can't differentiate between "" and 0 here, so we just assume
-				// empty string since it's likely to be a more common value...
-				if ( val === undefined ) {
-					val = "";
-				}
-				element.css( set[ i ], val );
-			}
-		}
-	},
-
-	setMode: function( el, mode ) {
-		if (mode === "toggle") {
-			mode = el.is( ":hidden" ) ? "show" : "hide";
-		}
-		return mode;
-	},
-
-	// Translates a [top,left] array into a baseline value
-	// this should be a little more flexible in the future to handle a string & hash
-	getBaseline: function( origin, original ) {
-		var y, x;
-		switch ( origin[ 0 ] ) {
-			case "top": y = 0; break;
-			case "middle": y = 0.5; break;
-			case "bottom": y = 1; break;
-			default: y = origin[ 0 ] / original.height;
-		}
-		switch ( origin[ 1 ] ) {
-			case "left": x = 0; break;
-			case "center": x = 0.5; break;
-			case "right": x = 1; break;
-			default: x = origin[ 1 ] / original.width;
-		}
-		return {
-			x: x,
-			y: y
-		};
-	},
-
-	// Wraps the element around a wrapper that copies position properties
-	createWrapper: function( element ) {
-
-		// if the element is already wrapped, return it
-		if ( element.parent().is( ".ui-effects-wrapper" )) {
-			return element.parent();
-		}
-
-		// wrap the element
-		var props = {
-				width: element.outerWidth(true),
-				height: element.outerHeight(true),
-				"float": element.css( "float" )
-			},
-			wrapper = $( "<div></div>" )
-				.addClass( "ui-effects-wrapper" )
-				.css({
-					fontSize: "100%",
-					background: "transparent",
-					border: "none",
-					margin: 0,
-					padding: 0
-				}),
-			// Store the size in case width/height are defined in % - Fixes #5245
-			size = {
-				width: element.width(),
-				height: element.height()
-			},
-			active = document.activeElement;
-
-		// support: Firefox
-		// Firefox incorrectly exposes anonymous content
-		// https://bugzilla.mozilla.org/show_bug.cgi?id=561664
-		try {
-			active.id;
-		} catch ( e ) {
-			active = document.body;
-		}
-
-		element.wrap( wrapper );
-
-		// Fixes #7595 - Elements lose focus when wrapped.
-		if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
-			$( active ).focus();
-		}
-
-		wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element
-
-		// transfer positioning properties to the wrapper
-		if ( element.css( "position" ) === "static" ) {
-			wrapper.css({ position: "relative" });
-			element.css({ position: "relative" });
-		} else {
-			$.extend( props, {
-				position: element.css( "position" ),
-				zIndex: element.css( "z-index" )
-			});
-			$.each([ "top", "left", "bottom", "right" ], function(i, pos) {
-				props[ pos ] = element.css( pos );
-				if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
-					props[ pos ] = "auto";
-				}
-			});
-			element.css({
-				position: "relative",
-				top: 0,
-				left: 0,
-				right: "auto",
-				bottom: "auto"
-			});
-		}
-		element.css(size);
-
-		return wrapper.css( props ).show();
-	},
-
-	removeWrapper: function( element ) {
-		var active = document.activeElement;
-
-		if ( element.parent().is( ".ui-effects-wrapper" ) ) {
-			element.parent().replaceWith( element );
-
-			// Fixes #7595 - Elements lose focus when wrapped.
-			if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
-				$( active ).focus();
-			}
-		}
-
-		return element;
-	},
-
-	setTransition: function( element, list, factor, value ) {
-		value = value || {};
-		$.each( list, function( i, x ) {
-			var unit = element.cssUnit( x );
-			if ( unit[ 0 ] > 0 ) {
-				value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
-			}
-		});
-		return value;
-	}
-});
-
-// return an effect options object for the given parameters:
-function _normalizeArguments( effect, options, speed, callback ) {
-
-	// allow passing all options as the first parameter
-	if ( $.isPlainObject( effect ) ) {
-		options = effect;
-		effect = effect.effect;
-	}
-
-	// convert to an object
-	effect = { effect: effect };
-
-	// catch (effect, null, ...)
-	if ( options == null ) {
-		options = {};
-	}
-
-	// catch (effect, callback)
-	if ( $.isFunction( options ) ) {
-		callback = options;
-		speed = null;
-		options = {};
-	}
-
-	// catch (effect, speed, ?)
-	if ( typeof options === "number" || $.fx.speeds[ options ] ) {
-		callback = speed;
-		speed = options;
-		options = {};
-	}
-
-	// catch (effect, options, callback)
-	if ( $.isFunction( speed ) ) {
-		callback = speed;
-		speed = null;
-	}
-
-	// add options to effect
-	if ( options ) {
-		$.extend( effect, options );
-	}
-
-	speed = speed || options.duration;
-	effect.duration = $.fx.off ? 0 :
-		typeof speed === "number" ? speed :
-		speed in $.fx.speeds ? $.fx.speeds[ speed ] :
-		$.fx.speeds._default;
-
-	effect.complete = callback || options.complete;
-
-	return effect;
-}
-
-function standardAnimationOption( option ) {
-	// Valid standard speeds (nothing, number, named speed)
-	if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) {
-		return true;
-	}
-
-	// Invalid strings - treat as "normal" speed
-	if ( typeof option === "string" && !$.effects.effect[ option ] ) {
-		return true;
-	}
-
-	// Complete callback
-	if ( $.isFunction( option ) ) {
-		return true;
-	}
-
-	// Options hash (but not naming an effect)
-	if ( typeof option === "object" && !option.effect ) {
-		return true;
-	}
-
-	// Didn't match any standard API
-	return false;
-}
-
-$.fn.extend({
-	effect: function( /* effect, options, speed, callback */ ) {
-		var args = _normalizeArguments.apply( this, arguments ),
-			mode = args.mode,
-			queue = args.queue,
-			effectMethod = $.effects.effect[ args.effect ];
-
-		if ( $.fx.off || !effectMethod ) {
-			// delegate to the original method (e.g., .show()) if possible
-			if ( mode ) {
-				return this[ mode ]( args.duration, args.complete );
-			} else {
-				return this.each( function() {
-					if ( args.complete ) {
-						args.complete.call( this );
-					}
-				});
-			}
-		}
-
-		function run( next ) {
-			var elem = $( this ),
-				complete = args.complete,
-				mode = args.mode;
-
-			function done() {
-				if ( $.isFunction( complete ) ) {
-					complete.call( elem[0] );
-				}
-				if ( $.isFunction( next ) ) {
-					next();
-				}
-			}
-
-			// If the element already has the correct final state, delegate to
-			// the core methods so the internal tracking of "olddisplay" works.
-			if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
-				elem[ mode ]();
-				done();
-			} else {
-				effectMethod.call( elem[0], args, done );
-			}
-		}
-
-		return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
-	},
-
-	show: (function( orig ) {
-		return function( option ) {
-			if ( standardAnimationOption( option ) ) {
-				return orig.apply( this, arguments );
-			} else {
-				var args = _normalizeArguments.apply( this, arguments );
-				args.mode = "show";
-				return this.effect.call( this, args );
-			}
-		};
-	})( $.fn.show ),
-
-	hide: (function( orig ) {
-		return function( option ) {
-			if ( standardAnimationOption( option ) ) {
-				return orig.apply( this, arguments );
-			} else {
-				var args = _normalizeArguments.apply( this, arguments );
-				args.mode = "hide";
-				return this.effect.call( this, args );
-			}
-		};
-	})( $.fn.hide ),
-
-	toggle: (function( orig ) {
-		return function( option ) {
-			if ( standardAnimationOption( option ) || typeof option === "boolean" ) {
-				return orig.apply( this, arguments );
-			} else {
-				var args = _normalizeArguments.apply( this, arguments );
-				args.mode = "toggle";
-				return this.effect.call( this, args );
-			}
-		};
-	})( $.fn.toggle ),
-
-	// helper functions
-	cssUnit: function(key) {
-		var style = this.css( key ),
-			val = [];
-
-		$.each( [ "em", "px", "%", "pt" ], function( i, unit ) {
-			if ( style.indexOf( unit ) > 0 ) {
-				val = [ parseFloat( style ), unit ];
-			}
-		});
-		return val;
-	}
-});
-
-})();
-
-/******************************************************************************/
-/*********************************** EASING ***********************************/
-/******************************************************************************/
-
-(function() {
-
-// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
-
-var baseEasings = {};
-
-$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
-	baseEasings[ name ] = function( p ) {
-		return Math.pow( p, i + 2 );
-	};
-});
-
-$.extend( baseEasings, {
-	Sine: function( p ) {
-		return 1 - Math.cos( p * Math.PI / 2 );
-	},
-	Circ: function( p ) {
-		return 1 - Math.sqrt( 1 - p * p );
-	},
-	Elastic: function( p ) {
-		return p === 0 || p === 1 ? p :
-			-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
-	},
-	Back: function( p ) {
-		return p * p * ( 3 * p - 2 );
-	},
-	Bounce: function( p ) {
-		var pow2,
-			bounce = 4;
-
-		while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
-		return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
-	}
-});
-
-$.each( baseEasings, function( name, easeIn ) {
-	$.easing[ "easeIn" + name ] = easeIn;
-	$.easing[ "easeOut" + name ] = function( p ) {
-		return 1 - easeIn( 1 - p );
-	};
-	$.easing[ "easeInOut" + name ] = function( p ) {
-		return p < 0.5 ?
-			easeIn( p * 2 ) / 2 :
-			1 - easeIn( p * -2 + 2 ) / 2;
-	};
-});
-
-})();
-
-var effect = $.effects;
-
-
-/*!
- * jQuery UI Effects Blind 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/blind-effect/
- */
-
-
-var effectBlind = $.effects.effect.blind = function( o, done ) {
-	// Create element
-	var el = $( this ),
-		rvertical = /up|down|vertical/,
-		rpositivemotion = /up|left|vertical|horizontal/,
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		direction = o.direction || "up",
-		vertical = rvertical.test( direction ),
-		ref = vertical ? "height" : "width",
-		ref2 = vertical ? "top" : "left",
-		motion = rpositivemotion.test( direction ),
-		animation = {},
-		show = mode === "show",
-		wrapper, distance, margin;
-
-	// if already wrapped, the wrapper's properties are my property. #6245
-	if ( el.parent().is( ".ui-effects-wrapper" ) ) {
-		$.effects.save( el.parent(), props );
-	} else {
-		$.effects.save( el, props );
-	}
-	el.show();
-	wrapper = $.effects.createWrapper( el ).css({
-		overflow: "hidden"
-	});
-
-	distance = wrapper[ ref ]();
-	margin = parseFloat( wrapper.css( ref2 ) ) || 0;
-
-	animation[ ref ] = show ? distance : 0;
-	if ( !motion ) {
-		el
-			.css( vertical ? "bottom" : "right", 0 )
-			.css( vertical ? "top" : "left", "auto" )
-			.css({ position: "absolute" });
-
-		animation[ ref2 ] = show ? margin : distance + margin;
-	}
-
-	// start at 0 if we are showing
-	if ( show ) {
-		wrapper.css( ref, 0 );
-		if ( !motion ) {
-			wrapper.css( ref2, margin + distance );
-		}
-	}
-
-	// Animate
-	wrapper.animate( animation, {
-		duration: o.duration,
-		easing: o.easing,
-		queue: false,
-		complete: function() {
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-};
-
-
-/*!
- * jQuery UI Effects Bounce 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/bounce-effect/
- */
-
-
-var effectBounce = $.effects.effect.bounce = function( o, done ) {
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-
-		// defaults:
-		mode = $.effects.setMode( el, o.mode || "effect" ),
-		hide = mode === "hide",
-		show = mode === "show",
-		direction = o.direction || "up",
-		distance = o.distance,
-		times = o.times || 5,
-
-		// number of internal animations
-		anims = times * 2 + ( show || hide ? 1 : 0 ),
-		speed = o.duration / anims,
-		easing = o.easing,
-
-		// utility:
-		ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
-		motion = ( direction === "up" || direction === "left" ),
-		i,
-		upAnim,
-		downAnim,
-
-		// we will need to re-assemble the queue to stack our animations in place
-		queue = el.queue(),
-		queuelen = queue.length;
-
-	// Avoid touching opacity to prevent clearType and PNG issues in IE
-	if ( show || hide ) {
-		props.push( "opacity" );
-	}
-
-	$.effects.save( el, props );
-	el.show();
-	$.effects.createWrapper( el ); // Create Wrapper
-
-	// default distance for the BIGGEST bounce is the outer Distance / 3
-	if ( !distance ) {
-		distance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3;
-	}
-
-	if ( show ) {
-		downAnim = { opacity: 1 };
-		downAnim[ ref ] = 0;
-
-		// if we are showing, force opacity 0 and set the initial position
-		// then do the "first" animation
-		el.css( "opacity", 0 )
-			.css( ref, motion ? -distance * 2 : distance * 2 )
-			.animate( downAnim, speed, easing );
-	}
-
-	// start at the smallest distance if we are hiding
-	if ( hide ) {
-		distance = distance / Math.pow( 2, times - 1 );
-	}
-
-	downAnim = {};
-	downAnim[ ref ] = 0;
-	// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here
-	for ( i = 0; i < times; i++ ) {
-		upAnim = {};
-		upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
-
-		el.animate( upAnim, speed, easing )
-			.animate( downAnim, speed, easing );
-
-		distance = hide ? distance * 2 : distance / 2;
-	}
-
-	// Last Bounce when Hiding
-	if ( hide ) {
-		upAnim = { opacity: 0 };
-		upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
-
-		el.animate( upAnim, speed, easing );
-	}
-
-	el.queue(function() {
-		if ( hide ) {
-			el.hide();
-		}
-		$.effects.restore( el, props );
-		$.effects.removeWrapper( el );
-		done();
-	});
-
-	// inject all the animations we just queued to be first in line (after "inprogress")
-	if ( queuelen > 1) {
-		queue.splice.apply( queue,
-			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
-	}
-	el.dequeue();
-
-};
-
-
-/*!
- * jQuery UI Effects Clip 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/clip-effect/
- */
-
-
-var effectClip = $.effects.effect.clip = function( o, done ) {
-	// Create element
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		show = mode === "show",
-		direction = o.direction || "vertical",
-		vert = direction === "vertical",
-		size = vert ? "height" : "width",
-		position = vert ? "top" : "left",
-		animation = {},
-		wrapper, animate, distance;
-
-	// Save & Show
-	$.effects.save( el, props );
-	el.show();
-
-	// Create Wrapper
-	wrapper = $.effects.createWrapper( el ).css({
-		overflow: "hidden"
-	});
-	animate = ( el[0].tagName === "IMG" ) ? wrapper : el;
-	distance = animate[ size ]();
-
-	// Shift
-	if ( show ) {
-		animate.css( size, 0 );
-		animate.css( position, distance / 2 );
-	}
-
-	// Create Animation Object:
-	animation[ size ] = show ? distance : 0;
-	animation[ position ] = show ? 0 : distance / 2;
-
-	// Animate
-	animate.animate( animation, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: function() {
-			if ( !show ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-
-};
-
-
-/*!
- * jQuery UI Effects Drop 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/drop-effect/
- */
-
-
-var effectDrop = $.effects.effect.drop = function( o, done ) {
-
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "opacity", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		show = mode === "show",
-		direction = o.direction || "left",
-		ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
-		motion = ( direction === "up" || direction === "left" ) ? "pos" : "neg",
-		animation = {
-			opacity: show ? 1 : 0
-		},
-		distance;
-
-	// Adjust
-	$.effects.save( el, props );
-	el.show();
-	$.effects.createWrapper( el );
-
-	distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2;
-
-	if ( show ) {
-		el
-			.css( "opacity", 0 )
-			.css( ref, motion === "pos" ? -distance : distance );
-	}
-
-	// Animation
-	animation[ ref ] = ( show ?
-		( motion === "pos" ? "+=" : "-=" ) :
-		( motion === "pos" ? "-=" : "+=" ) ) +
-		distance;
-
-	// Animate
-	el.animate( animation, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: function() {
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-};
-
-
-/*!
- * jQuery UI Effects Explode 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/explode-effect/
- */
-
-
-var effectExplode = $.effects.effect.explode = function( o, done ) {
-
-	var rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,
-		cells = rows,
-		el = $( this ),
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		show = mode === "show",
-
-		// show and then visibility:hidden the element before calculating offset
-		offset = el.show().css( "visibility", "hidden" ).offset(),
-
-		// width and height of a piece
-		width = Math.ceil( el.outerWidth() / cells ),
-		height = Math.ceil( el.outerHeight() / rows ),
-		pieces = [],
-
-		// loop
-		i, j, left, top, mx, my;
-
-	// children animate complete:
-	function childComplete() {
-		pieces.push( this );
-		if ( pieces.length === rows * cells ) {
-			animComplete();
-		}
-	}
-
-	// clone the element for each row and cell.
-	for ( i = 0; i < rows ; i++ ) { // ===>
-		top = offset.top + i * height;
-		my = i - ( rows - 1 ) / 2 ;
-
-		for ( j = 0; j < cells ; j++ ) { // |||
-			left = offset.left + j * width;
-			mx = j - ( cells - 1 ) / 2 ;
-
-			// Create a clone of the now hidden main element that will be absolute positioned
-			// within a wrapper div off the -left and -top equal to size of our pieces
-			el
-				.clone()
-				.appendTo( "body" )
-				.wrap( "<div></div>" )
-				.css({
-					position: "absolute",
-					visibility: "visible",
-					left: -j * width,
-					top: -i * height
-				})
-
-			// select the wrapper - make it overflow: hidden and absolute positioned based on
-			// where the original was located +left and +top equal to the size of pieces
-				.parent()
-				.addClass( "ui-effects-explode" )
-				.css({
-					position: "absolute",
-					overflow: "hidden",
-					width: width,
-					height: height,
-					left: left + ( show ? mx * width : 0 ),
-					top: top + ( show ? my * height : 0 ),
-					opacity: show ? 0 : 1
-				}).animate({
-					left: left + ( show ? 0 : mx * width ),
-					top: top + ( show ? 0 : my * height ),
-					opacity: show ? 1 : 0
-				}, o.duration || 500, o.easing, childComplete );
-		}
-	}
-
-	function animComplete() {
-		el.css({
-			visibility: "visible"
-		});
-		$( pieces ).remove();
-		if ( !show ) {
-			el.hide();
-		}
-		done();
-	}
-};
-
-
-/*!
- * jQuery UI Effects Fade 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/fade-effect/
- */
-
-
-var effectFade = $.effects.effect.fade = function( o, done ) {
-	var el = $( this ),
-		mode = $.effects.setMode( el, o.mode || "toggle" );
-
-	el.animate({
-		opacity: mode
-	}, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: done
-	});
-};
-
-
-/*!
- * jQuery UI Effects Fold 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/fold-effect/
- */
-
-
-var effectFold = $.effects.effect.fold = function( o, done ) {
-
-	// Create element
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		show = mode === "show",
-		hide = mode === "hide",
-		size = o.size || 15,
-		percent = /([0-9]+)%/.exec( size ),
-		horizFirst = !!o.horizFirst,
-		widthFirst = show !== horizFirst,
-		ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ],
-		duration = o.duration / 2,
-		wrapper, distance,
-		animation1 = {},
-		animation2 = {};
-
-	$.effects.save( el, props );
-	el.show();
-
-	// Create Wrapper
-	wrapper = $.effects.createWrapper( el ).css({
-		overflow: "hidden"
-	});
-	distance = widthFirst ?
-		[ wrapper.width(), wrapper.height() ] :
-		[ wrapper.height(), wrapper.width() ];
-
-	if ( percent ) {
-		size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];
-	}
-	if ( show ) {
-		wrapper.css( horizFirst ? {
-			height: 0,
-			width: size
-		} : {
-			height: size,
-			width: 0
-		});
-	}
-
-	// Animation
-	animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;
-	animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;
-
-	// Animate
-	wrapper
-		.animate( animation1, duration, o.easing )
-		.animate( animation2, duration, o.easing, function() {
-			if ( hide ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		});
-
-};
-
-
-/*!
- * jQuery UI Effects Highlight 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/highlight-effect/
- */
-
-
-var effectHighlight = $.effects.effect.highlight = function( o, done ) {
-	var elem = $( this ),
-		props = [ "backgroundImage", "backgroundColor", "opacity" ],
-		mode = $.effects.setMode( elem, o.mode || "show" ),
-		animation = {
-			backgroundColor: elem.css( "backgroundColor" )
-		};
-
-	if (mode === "hide") {
-		animation.opacity = 0;
-	}
-
-	$.effects.save( elem, props );
-
-	elem
-		.show()
-		.css({
-			backgroundImage: "none",
-			backgroundColor: o.color || "#ffff99"
-		})
-		.animate( animation, {
-			queue: false,
-			duration: o.duration,
-			easing: o.easing,
-			complete: function() {
-				if ( mode === "hide" ) {
-					elem.hide();
-				}
-				$.effects.restore( elem, props );
-				done();
-			}
-		});
-};
-
-
-/*!
- * jQuery UI Effects Size 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/size-effect/
- */
-
-
-var effectSize = $.effects.effect.size = function( o, done ) {
-
-	// Create element
-	var original, baseline, factor,
-		el = $( this ),
-		props0 = [ "position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity" ],
-
-		// Always restore
-		props1 = [ "position", "top", "bottom", "left", "right", "overflow", "opacity" ],
-
-		// Copy for children
-		props2 = [ "width", "height", "overflow" ],
-		cProps = [ "fontSize" ],
-		vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ],
-		hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ],
-
-		// Set options
-		mode = $.effects.setMode( el, o.mode || "effect" ),
-		restore = o.restore || mode !== "effect",
-		scale = o.scale || "both",
-		origin = o.origin || [ "middle", "center" ],
-		position = el.css( "position" ),
-		props = restore ? props0 : props1,
-		zero = {
-			height: 0,
-			width: 0,
-			outerHeight: 0,
-			outerWidth: 0
-		};
-
-	if ( mode === "show" ) {
-		el.show();
-	}
-	original = {
-		height: el.height(),
-		width: el.width(),
-		outerHeight: el.outerHeight(),
-		outerWidth: el.outerWidth()
-	};
-
-	if ( o.mode === "toggle" && mode === "show" ) {
-		el.from = o.to || zero;
-		el.to = o.from || original;
-	} else {
-		el.from = o.from || ( mode === "show" ? zero : original );
-		el.to = o.to || ( mode === "hide" ? zero : original );
-	}
-
-	// Set scaling factor
-	factor = {
-		from: {
-			y: el.from.height / original.height,
-			x: el.from.width / original.width
-		},
-		to: {
-			y: el.to.height / original.height,
-			x: el.to.width / original.width
-		}
-	};
-
-	// Scale the css box
-	if ( scale === "box" || scale === "both" ) {
-
-		// Vertical props scaling
-		if ( factor.from.y !== factor.to.y ) {
-			props = props.concat( vProps );
-			el.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );
-			el.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );
-		}
-
-		// Horizontal props scaling
-		if ( factor.from.x !== factor.to.x ) {
-			props = props.concat( hProps );
-			el.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );
-			el.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );
-		}
-	}
-
-	// Scale the content
-	if ( scale === "content" || scale === "both" ) {
-
-		// Vertical props scaling
-		if ( factor.from.y !== factor.to.y ) {
-			props = props.concat( cProps ).concat( props2 );
-			el.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );
-			el.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );
-		}
-	}
-
-	$.effects.save( el, props );
-	el.show();
-	$.effects.createWrapper( el );
-	el.css( "overflow", "hidden" ).css( el.from );
-
-	// Adjust
-	if (origin) { // Calculate baseline shifts
-		baseline = $.effects.getBaseline( origin, original );
-		el.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;
-		el.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;
-		el.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;
-		el.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;
-	}
-	el.css( el.from ); // set top & left
-
-	// Animate
-	if ( scale === "content" || scale === "both" ) { // Scale the children
-
-		// Add margins/font-size
-		vProps = vProps.concat([ "marginTop", "marginBottom" ]).concat(cProps);
-		hProps = hProps.concat([ "marginLeft", "marginRight" ]);
-		props2 = props0.concat(vProps).concat(hProps);
-
-		el.find( "*[width]" ).each( function() {
-			var child = $( this ),
-				c_original = {
-					height: child.height(),
-					width: child.width(),
-					outerHeight: child.outerHeight(),
-					outerWidth: child.outerWidth()
-				};
-			if (restore) {
-				$.effects.save(child, props2);
-			}
-
-			child.from = {
-				height: c_original.height * factor.from.y,
-				width: c_original.width * factor.from.x,
-				outerHeight: c_original.outerHeight * factor.from.y,
-				outerWidth: c_original.outerWidth * factor.from.x
-			};
-			child.to = {
-				height: c_original.height * factor.to.y,
-				width: c_original.width * factor.to.x,
-				outerHeight: c_original.height * factor.to.y,
-				outerWidth: c_original.width * factor.to.x
-			};
-
-			// Vertical props scaling
-			if ( factor.from.y !== factor.to.y ) {
-				child.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );
-				child.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );
-			}
-
-			// Horizontal props scaling
-			if ( factor.from.x !== factor.to.x ) {
-				child.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );
-				child.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );
-			}
-
-			// Animate children
-			child.css( child.from );
-			child.animate( child.to, o.duration, o.easing, function() {
-
-				// Restore children
-				if ( restore ) {
-					$.effects.restore( child, props2 );
-				}
-			});
-		});
-	}
-
-	// Animate
-	el.animate( el.to, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: function() {
-			if ( el.to.opacity === 0 ) {
-				el.css( "opacity", el.from.opacity );
-			}
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			if ( !restore ) {
-
-				// we need to calculate our new positioning based on the scaling
-				if ( position === "static" ) {
-					el.css({
-						position: "relative",
-						top: el.to.top,
-						left: el.to.left
-					});
-				} else {
-					$.each([ "top", "left" ], function( idx, pos ) {
-						el.css( pos, function( _, str ) {
-							var val = parseInt( str, 10 ),
-								toRef = idx ? el.to.left : el.to.top;
-
-							// if original was "auto", recalculate the new value from wrapper
-							if ( str === "auto" ) {
-								return toRef + "px";
-							}
-
-							return val + toRef + "px";
-						});
-					});
-				}
-			}
-
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-
-};
-
-
-/*!
- * jQuery UI Effects Scale 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/scale-effect/
- */
-
-
-var effectScale = $.effects.effect.scale = function( o, done ) {
-
-	// Create element
-	var el = $( this ),
-		options = $.extend( true, {}, o ),
-		mode = $.effects.setMode( el, o.mode || "effect" ),
-		percent = parseInt( o.percent, 10 ) ||
-			( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ? 0 : 100 ) ),
-		direction = o.direction || "both",
-		origin = o.origin,
-		original = {
-			height: el.height(),
-			width: el.width(),
-			outerHeight: el.outerHeight(),
-			outerWidth: el.outerWidth()
-		},
-		factor = {
-			y: direction !== "horizontal" ? (percent / 100) : 1,
-			x: direction !== "vertical" ? (percent / 100) : 1
-		};
-
-	// We are going to pass this effect to the size effect:
-	options.effect = "size";
-	options.queue = false;
-	options.complete = done;
-
-	// Set default origin and restore for show/hide
-	if ( mode !== "effect" ) {
-		options.origin = origin || [ "middle", "center" ];
-		options.restore = true;
-	}
-
-	options.from = o.from || ( mode === "show" ? {
-		height: 0,
-		width: 0,
-		outerHeight: 0,
-		outerWidth: 0
-	} : original );
-	options.to = {
-		height: original.height * factor.y,
-		width: original.width * factor.x,
-		outerHeight: original.outerHeight * factor.y,
-		outerWidth: original.outerWidth * factor.x
-	};
-
-	// Fade option to support puff
-	if ( options.fade ) {
-		if ( mode === "show" ) {
-			options.from.opacity = 0;
-			options.to.opacity = 1;
-		}
-		if ( mode === "hide" ) {
-			options.from.opacity = 1;
-			options.to.opacity = 0;
-		}
-	}
-
-	// Animate
-	el.effect( options );
-
-};
-
-
-/*!
- * jQuery UI Effects Puff 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/puff-effect/
- */
-
-
-var effectPuff = $.effects.effect.puff = function( o, done ) {
-	var elem = $( this ),
-		mode = $.effects.setMode( elem, o.mode || "hide" ),
-		hide = mode === "hide",
-		percent = parseInt( o.percent, 10 ) || 150,
-		factor = percent / 100,
-		original = {
-			height: elem.height(),
-			width: elem.width(),
-			outerHeight: elem.outerHeight(),
-			outerWidth: elem.outerWidth()
-		};
-
-	$.extend( o, {
-		effect: "scale",
-		queue: false,
-		fade: true,
-		mode: mode,
-		complete: done,
-		percent: hide ? percent : 100,
-		from: hide ?
-			original :
-			{
-				height: original.height * factor,
-				width: original.width * factor,
-				outerHeight: original.outerHeight * factor,
-				outerWidth: original.outerWidth * factor
-			}
-	});
-
-	elem.effect( o );
-};
-
-
-/*!
- * jQuery UI Effects Pulsate 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/pulsate-effect/
- */
-
-
-var effectPulsate = $.effects.effect.pulsate = function( o, done ) {
-	var elem = $( this ),
-		mode = $.effects.setMode( elem, o.mode || "show" ),
-		show = mode === "show",
-		hide = mode === "hide",
-		showhide = ( show || mode === "hide" ),
-
-		// showing or hiding leaves of the "last" animation
-		anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),
-		duration = o.duration / anims,
-		animateTo = 0,
-		queue = elem.queue(),
-		queuelen = queue.length,
-		i;
-
-	if ( show || !elem.is(":visible")) {
-		elem.css( "opacity", 0 ).show();
-		animateTo = 1;
-	}
-
-	// anims - 1 opacity "toggles"
-	for ( i = 1; i < anims; i++ ) {
-		elem.animate({
-			opacity: animateTo
-		}, duration, o.easing );
-		animateTo = 1 - animateTo;
-	}
-
-	elem.animate({
-		opacity: animateTo
-	}, duration, o.easing);
-
-	elem.queue(function() {
-		if ( hide ) {
-			elem.hide();
-		}
-		done();
-	});
-
-	// We just queued up "anims" animations, we need to put them next in the queue
-	if ( queuelen > 1 ) {
-		queue.splice.apply( queue,
-			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
-	}
-	elem.dequeue();
-};
-
-
-/*!
- * jQuery UI Effects Shake 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/shake-effect/
- */
-
-
-var effectShake = $.effects.effect.shake = function( o, done ) {
-
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "effect" ),
-		direction = o.direction || "left",
-		distance = o.distance || 20,
-		times = o.times || 3,
-		anims = times * 2 + 1,
-		speed = Math.round( o.duration / anims ),
-		ref = (direction === "up" || direction === "down") ? "top" : "left",
-		positiveMotion = (direction === "up" || direction === "left"),
-		animation = {},
-		animation1 = {},
-		animation2 = {},
-		i,
-
-		// we will need to re-assemble the queue to stack our animations in place
-		queue = el.queue(),
-		queuelen = queue.length;
-
-	$.effects.save( el, props );
-	el.show();
-	$.effects.createWrapper( el );
-
-	// Animation
-	animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance;
-	animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2;
-	animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2;
-
-	// Animate
-	el.animate( animation, speed, o.easing );
-
-	// Shakes
-	for ( i = 1; i < times; i++ ) {
-		el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );
-	}
-	el
-		.animate( animation1, speed, o.easing )
-		.animate( animation, speed / 2, o.easing )
-		.queue(function() {
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		});
-
-	// inject all the animations we just queued to be first in line (after "inprogress")
-	if ( queuelen > 1) {
-		queue.splice.apply( queue,
-			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
-	}
-	el.dequeue();
-
-};
-
-
-/*!
- * jQuery UI Effects Slide 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/slide-effect/
- */
-
-
-var effectSlide = $.effects.effect.slide = function( o, done ) {
-
-	// Create element
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "width", "height" ],
-		mode = $.effects.setMode( el, o.mode || "show" ),
-		show = mode === "show",
-		direction = o.direction || "left",
-		ref = (direction === "up" || direction === "down") ? "top" : "left",
-		positiveMotion = (direction === "up" || direction === "left"),
-		distance,
-		animation = {};
-
-	// Adjust
-	$.effects.save( el, props );
-	el.show();
-	distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true );
-
-	$.effects.createWrapper( el ).css({
-		overflow: "hidden"
-	});
-
-	if ( show ) {
-		el.css( ref, positiveMotion ? (isNaN(distance) ? "-" + distance : -distance) : distance );
-	}
-
-	// Animation
-	animation[ ref ] = ( show ?
-		( positiveMotion ? "+=" : "-=") :
-		( positiveMotion ? "-=" : "+=")) +
-		distance;
-
-	// Animate
-	el.animate( animation, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: function() {
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-};
-
-
-/*!
- * jQuery UI Effects Transfer 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/transfer-effect/
- */
-
-
-var effectTransfer = $.effects.effect.transfer = function( o, done ) {
-	var elem = $( this ),
-		target = $( o.to ),
-		targetFixed = target.css( "position" ) === "fixed",
-		body = $("body"),
-		fixTop = targetFixed ? body.scrollTop() : 0,
-		fixLeft = targetFixed ? body.scrollLeft() : 0,
-		endPosition = target.offset(),
-		animation = {
-			top: endPosition.top - fixTop,
-			left: endPosition.left - fixLeft,
-			height: target.innerHeight(),
-			width: target.innerWidth()
-		},
-		startPosition = elem.offset(),
-		transfer = $( "<div class='ui-effects-transfer'></div>" )
-			.appendTo( document.body )
-			.addClass( o.className )
-			.css({
-				top: startPosition.top - fixTop,
-				left: startPosition.left - fixLeft,
-				height: elem.innerHeight(),
-				width: elem.innerWidth(),
-				position: targetFixed ? "fixed" : "absolute"
-			})
-			.animate( animation, o.duration, o.easing, function() {
-				transfer.remove();
-				done();
-			});
-};
-
-
-
-}));
\ No newline at end of file
diff --git a/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery.easyui.min.js b/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery.easyui.min.js
deleted file mode 100644
index 3c99f61..0000000
--- a/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery.easyui.min.js
+++ /dev/null
@@ -1,14303 +0,0 @@
-/**
- * jQuery EasyUI 1.4.4
- * 
- * Copyright (c) 2009-2015 www.jeasyui.com. All rights reserved.
- *
- * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
- * To use it on other terms please contact us: info@jeasyui.com
- *
- */
-(function($){
-$.parser={auto:true,onComplete:function(_1){
-},plugins:["draggable","droppable","resizable","pagination","tooltip","linkbutton","menu","menubutton","splitbutton","switchbutton","progressbar","tree","textbox","filebox","combo","combobox","combotree","combogrid","numberbox","validatebox","searchbox","spinner","numberspinner","timespinner","datetimespinner","calendar","datebox","datetimebox","slider","layout","panel","datagrid","propertygrid","treegrid","datalist","tabs","accordion","window","dialog","form"],parse:function(_2){
-var aa=[];
-for(var i=0;i<$.parser.plugins.length;i++){
-var _3=$.parser.plugins[i];
-var r=$(".easyui-"+_3,_2);
-if(r.length){
-if(r[_3]){
-r[_3]();
-}else{
-aa.push({name:_3,jq:r});
-}
-}
-}
-if(aa.length&&window.easyloader){
-var _4=[];
-for(var i=0;i<aa.length;i++){
-_4.push(aa[i].name);
-}
-easyloader.load(_4,function(){
-for(var i=0;i<aa.length;i++){
-var _5=aa[i].name;
-var jq=aa[i].jq;
-jq[_5]();
-}
-$.parser.onComplete.call($.parser,_2);
-});
-}else{
-$.parser.onComplete.call($.parser,_2);
-}
-},parseValue:function(_6,_7,_8,_9){
-_9=_9||0;
-var v=$.trim(String(_7||""));
-var _a=v.substr(v.length-1,1);
-if(_a=="%"){
-v=parseInt(v.substr(0,v.length-1));
-if(_6.toLowerCase().indexOf("width")>=0){
-v=Math.floor((_8.width()-_9)*v/100);
-}else{
-v=Math.floor((_8.height()-_9)*v/100);
-}
-}else{
-v=parseInt(v)||undefined;
-}
-return v;
-},parseOptions:function(_b,_c){
-var t=$(_b);
-var _d={};
-var s=$.trim(t.attr("data-options"));
-if(s){
-if(s.substring(0,1)!="{"){
-s="{"+s+"}";
-}
-_d=(new Function("return "+s))();
-}
-$.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){
-var pv=$.trim(_b.style[p]||"");
-if(pv){
-if(pv.indexOf("%")==-1){
-pv=parseInt(pv)||undefined;
-}
-_d[p]=pv;
-}
-});
-if(_c){
-var _e={};
-for(var i=0;i<_c.length;i++){
-var pp=_c[i];
-if(typeof pp=="string"){
-_e[pp]=t.attr(pp);
-}else{
-for(var _f in pp){
-var _10=pp[_f];
-if(_10=="boolean"){
-_e[_f]=t.attr(_f)?(t.attr(_f)=="true"):undefined;
-}else{
-if(_10=="number"){
-_e[_f]=t.attr(_f)=="0"?0:parseFloat(t.attr(_f))||undefined;
-}
-}
-}
-}
-}
-$.extend(_d,_e);
-}
-return _d;
-}};
-$(function(){
-var d=$("<div style=\"position:absolute;top:-1000px;width:100px;height:100px;padding:5px\"></div>").appendTo("body");
-$._boxModel=d.outerWidth()!=100;
-d.remove();
-d=$("<div style=\"position:fixed\"></div>").appendTo("body");
-$._positionFixed=(d.css("position")=="fixed");
-d.remove();
-if(!window.easyloader&&$.parser.auto){
-$.parser.parse();
-}
-});
-$.fn._outerWidth=function(_11){
-if(_11==undefined){
-if(this[0]==window){
-return this.width()||document.body.clientWidth;
-}
-return this.outerWidth()||0;
-}
-return this._size("width",_11);
-};
-$.fn._outerHeight=function(_12){
-if(_12==undefined){
-if(this[0]==window){
-return this.height()||document.body.clientHeight;
-}
-return this.outerHeight()||0;
-}
-return this._size("height",_12);
-};
-$.fn._scrollLeft=function(_13){
-if(_13==undefined){
-return this.scrollLeft();
-}else{
-return this.each(function(){
-$(this).scrollLeft(_13);
-});
-}
-};
-$.fn._propAttr=$.fn.prop||$.fn.attr;
-$.fn._size=function(_14,_15){
-if(typeof _14=="string"){
-if(_14=="clear"){
-return this.each(function(){
-$(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""});
-});
-}else{
-if(_14=="fit"){
-return this.each(function(){
-_16(this,this.tagName=="BODY"?$("body"):$(this).parent(),true);
-});
-}else{
-if(_14=="unfit"){
-return this.each(function(){
-_16(this,$(this).parent(),false);
-});
-}else{
-if(_15==undefined){
-return _17(this[0],_14);
-}else{
-return this.each(function(){
-_17(this,_14,_15);
-});
-}
-}
-}
-}
-}else{
-return this.each(function(){
-_15=_15||$(this).parent();
-$.extend(_14,_16(this,_15,_14.fit)||{});
-var r1=_18(this,"width",_15,_14);
-var r2=_18(this,"height",_15,_14);
-if(r1||r2){
-$(this).addClass("easyui-fluid");
-}else{
-$(this).removeClass("easyui-fluid");
-}
-});
-}
-function _16(_19,_1a,fit){
-if(!_1a.length){
-return false;
-}
-var t=$(_19)[0];
-var p=_1a[0];
-var _1b=p.fcount||0;
-if(fit){
-if(!t.fitted){
-t.fitted=true;
-p.fcount=_1b+1;
-$(p).addClass("panel-noscroll");
-if(p.tagName=="BODY"){
-$("html").addClass("panel-fit");
-}
-}
-return {width:($(p).width()||1),height:($(p).height()||1)};
-}else{
-if(t.fitted){
-t.fitted=false;
-p.fcount=_1b-1;
-if(p.fcount==0){
-$(p).removeClass("panel-noscroll");
-if(p.tagName=="BODY"){
-$("html").removeClass("panel-fit");
-}
-}
-}
-return false;
-}
-};
-function _18(_1c,_1d,_1e,_1f){
-var t=$(_1c);
-var p=_1d;
-var p1=p.substr(0,1).toUpperCase()+p.substr(1);
-var min=$.parser.parseValue("min"+p1,_1f["min"+p1],_1e);
-var max=$.parser.parseValue("max"+p1,_1f["max"+p1],_1e);
-var val=$.parser.parseValue(p,_1f[p],_1e);
-var _20=(String(_1f[p]||"").indexOf("%")>=0?true:false);
-if(!isNaN(val)){
-var v=Math.min(Math.max(val,min||0),max||99999);
-if(!_20){
-_1f[p]=v;
-}
-t._size("min"+p1,"");
-t._size("max"+p1,"");
-t._size(p,v);
-}else{
-t._size(p,"");
-t._size("min"+p1,min);
-t._size("max"+p1,max);
-}
-return _20||_1f.fit;
-};
-function _17(_21,_22,_23){
-var t=$(_21);
-if(_23==undefined){
-_23=parseInt(_21.style[_22]);
-if(isNaN(_23)){
-return undefined;
-}
-if($._boxModel){
-_23+=_24();
-}
-return _23;
-}else{
-if(_23===""){
-t.css(_22,"");
-}else{
-if($._boxModel){
-_23-=_24();
-if(_23<0){
-_23=0;
-}
-}
-t.css(_22,_23+"px");
-}
-}
-function _24(){
-if(_22.toLowerCase().indexOf("width")>=0){
-return t.outerWidth()-t.width();
-}else{
-return t.outerHeight()-t.height();
-}
-};
-};
-};
-})(jQuery);
-(function($){
-var _25=null;
-var _26=null;
-var _27=false;
-function _28(e){
-if(e.touches.length!=1){
-return;
-}
-if(!_27){
-_27=true;
-dblClickTimer=setTimeout(function(){
-_27=false;
-},500);
-}else{
-clearTimeout(dblClickTimer);
-_27=false;
-_29(e,"dblclick");
-}
-_25=setTimeout(function(){
-_29(e,"contextmenu",3);
-},1000);
-_29(e,"mousedown");
-if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
-e.preventDefault();
-}
-};
-function _2a(e){
-if(e.touches.length!=1){
-return;
-}
-if(_25){
-clearTimeout(_25);
-}
-_29(e,"mousemove");
-if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
-e.preventDefault();
-}
-};
-function _2b(e){
-if(_25){
-clearTimeout(_25);
-}
-_29(e,"mouseup");
-if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
-e.preventDefault();
-}
-};
-function _29(e,_2c,_2d){
-var _2e=new $.Event(_2c);
-_2e.pageX=e.changedTouches[0].pageX;
-_2e.pageY=e.changedTouches[0].pageY;
-_2e.which=_2d||1;
-$(e.target).trigger(_2e);
-};
-if(document.addEventListener){
-document.addEventListener("touchstart",_28,true);
-document.addEventListener("touchmove",_2a,true);
-document.addEventListener("touchend",_2b,true);
-}
-})(jQuery);
-(function($){
-function _2f(e){
-var _30=$.data(e.data.target,"draggable");
-var _31=_30.options;
-var _32=_30.proxy;
-var _33=e.data;
-var _34=_33.startLeft+e.pageX-_33.startX;
-var top=_33.startTop+e.pageY-_33.startY;
-if(_32){
-if(_32.parent()[0]==document.body){
-if(_31.deltaX!=null&&_31.deltaX!=undefined){
-_34=e.pageX+_31.deltaX;
-}else{
-_34=e.pageX-e.data.offsetWidth;
-}
-if(_31.deltaY!=null&&_31.deltaY!=undefined){
-top=e.pageY+_31.deltaY;
-}else{
-top=e.pageY-e.data.offsetHeight;
-}
-}else{
-if(_31.deltaX!=null&&_31.deltaX!=undefined){
-_34+=e.data.offsetWidth+_31.deltaX;
-}
-if(_31.deltaY!=null&&_31.deltaY!=undefined){
-top+=e.data.offsetHeight+_31.deltaY;
-}
-}
-}
-if(e.data.parent!=document.body){
-_34+=$(e.data.parent).scrollLeft();
-top+=$(e.data.parent).scrollTop();
-}
-if(_31.axis=="h"){
-_33.left=_34;
-}else{
-if(_31.axis=="v"){
-_33.top=top;
-}else{
-_33.left=_34;
-_33.top=top;
-}
-}
-};
-function _35(e){
-var _36=$.data(e.data.target,"draggable");
-var _37=_36.options;
-var _38=_36.proxy;
-if(!_38){
-_38=$(e.data.target);
-}
-_38.css({left:e.data.left,top:e.data.top});
-$("body").css("cursor",_37.cursor);
-};
-function _39(e){
-if(!$.fn.draggable.isDragging){
-return false;
-}
-var _3a=$.data(e.data.target,"draggable");
-var _3b=_3a.options;
-var _3c=$(".droppable").filter(function(){
-return e.data.target!=this;
-}).filter(function(){
-var _3d=$.data(this,"droppable").options.accept;
-if(_3d){
-return $(_3d).filter(function(){
-return this==e.data.target;
-}).length>0;
-}else{
-return true;
-}
-});
-_3a.droppables=_3c;
-var _3e=_3a.proxy;
-if(!_3e){
-if(_3b.proxy){
-if(_3b.proxy=="clone"){
-_3e=$(e.data.target).clone().insertAfter(e.data.target);
-}else{
-_3e=_3b.proxy.call(e.data.target,e.data.target);
-}
-_3a.proxy=_3e;
-}else{
-_3e=$(e.data.target);
-}
-}
-_3e.css("position","absolute");
-_2f(e);
-_35(e);
-_3b.onStartDrag.call(e.data.target,e);
-return false;
-};
-function _3f(e){
-if(!$.fn.draggable.isDragging){
-return false;
-}
-var _40=$.data(e.data.target,"draggable");
-_2f(e);
-if(_40.options.onDrag.call(e.data.target,e)!=false){
-_35(e);
-}
-var _41=e.data.target;
-_40.droppables.each(function(){
-var _42=$(this);
-if(_42.droppable("options").disabled){
-return;
-}
-var p2=_42.offset();
-if(e.pageX>p2.left&&e.pageX<p2.left+_42.outerWidth()&&e.pageY>p2.top&&e.pageY<p2.top+_42.outerHeight()){
-if(!this.entered){
-$(this).trigger("_dragenter",[_41]);
-this.entered=true;
-}
-$(this).trigger("_dragover",[_41]);
-}else{
-if(this.entered){
-$(this).trigger("_dragleave",[_41]);
-this.entered=false;
-}
-}
-});
-return false;
-};
-function _43(e){
-if(!$.fn.draggable.isDragging){
-_44();
-return false;
-}
-_3f(e);
-var _45=$.data(e.data.target,"draggable");
-var _46=_45.proxy;
-var _47=_45.options;
-if(_47.revert){
-if(_48()==true){
-$(e.data.target).css({position:e.data.startPosition,left:e.data.startLeft,top:e.data.startTop});
-}else{
-if(_46){
-var _49,top;
-if(_46.parent()[0]==document.body){
-_49=e.data.startX-e.data.offsetWidth;
-top=e.data.startY-e.data.offsetHeight;
-}else{
-_49=e.data.startLeft;
-top=e.data.startTop;
-}
-_46.animate({left:_49,top:top},function(){
-_4a();
-});
-}else{
-$(e.data.target).animate({left:e.data.startLeft,top:e.data.startTop},function(){
-$(e.data.target).css("position",e.data.startPosition);
-});
-}
-}
-}else{
-$(e.data.target).css({position:"absolute",left:e.data.left,top:e.data.top});
-_48();
-}
-_47.onStopDrag.call(e.data.target,e);
-_44();
-function _4a(){
-if(_46){
-_46.remove();
-}
-_45.proxy=null;
-};
-function _48(){
-var _4b=false;
-_45.droppables.each(function(){
-var _4c=$(this);
-if(_4c.droppable("options").disabled){
-return;
-}
-var p2=_4c.offset();
-if(e.pageX>p2.left&&e.pageX<p2.left+_4c.outerWidth()&&e.pageY>p2.top&&e.pageY<p2.top+_4c.outerHeight()){
-if(_47.revert){
-$(e.data.target).css({position:e.data.startPosition,left:e.data.startLeft,top:e.data.startTop});
-}
-$(this).trigger("_drop",[e.data.target]);
-_4a();
-_4b=true;
-this.entered=false;
-return false;
-}
-});
-if(!_4b&&!_47.revert){
-_4a();
-}
-return _4b;
-};
-return false;
-};
-function _44(){
-if($.fn.draggable.timer){
-clearTimeout($.fn.draggable.timer);
-$.fn.draggable.timer=undefined;
-}
-$(document).unbind(".draggable");
-$.fn.draggable.isDragging=false;
-setTimeout(function(){
-$("body").css("cursor","");
-},100);
-};
-$.fn.draggable=function(_4d,_4e){
-if(typeof _4d=="string"){
-return $.fn.draggable.methods[_4d](this,_4e);
-}
-return this.each(function(){
-var _4f;
-var _50=$.data(this,"draggable");
-if(_50){
-_50.handle.unbind(".draggable");
-_4f=$.extend(_50.options,_4d);
-}else{
-_4f=$.extend({},$.fn.draggable.defaults,$.fn.draggable.parseOptions(this),_4d||{});
-}
-var _51=_4f.handle?(typeof _4f.handle=="string"?$(_4f.handle,this):_4f.handle):$(this);
-$.data(this,"draggable",{options:_4f,handle:_51});
-if(_4f.disabled){
-$(this).css("cursor","");
-return;
-}
-_51.unbind(".draggable").bind("mousemove.draggable",{target:this},function(e){
-if($.fn.draggable.isDragging){
-return;
-}
-var _52=$.data(e.data.target,"draggable").options;
-if(_53(e)){
-$(this).css("cursor",_52.cursor);
-}else{
-$(this).css("cursor","");
-}
-}).bind("mouseleave.draggable",{target:this},function(e){
-$(this).css("cursor","");
-}).bind("mousedown.draggable",{target:this},function(e){
-if(_53(e)==false){
-return;
-}
-$(this).css("cursor","");
-var _54=$(e.data.target).position();
-var _55=$(e.data.target).offset();
-var _56={startPosition:$(e.data.target).css("position"),startLeft:_54.left,startTop:_54.top,left:_54.left,top:_54.top,startX:e.pageX,startY:e.pageY,offsetWidth:(e.pageX-_55.left),offsetHeight:(e.pageY-_55.top),target:e.data.target,parent:$(e.data.target).parent()[0]};
-$.extend(e.data,_56);
-var _57=$.data(e.data.target,"draggable").options;
-if(_57.onBeforeDrag.call(e.data.target,e)==false){
-return;
-}
-$(document).bind("mousedown.draggable",e.data,_39);
-$(document).bind("mousemove.draggable",e.data,_3f);
-$(document).bind("mouseup.draggable",e.data,_43);
-$.fn.draggable.timer=setTimeout(function(){
-$.fn.draggable.isDragging=true;
-_39(e);
-},_57.delay);
-return false;
-});
-function _53(e){
-var _58=$.data(e.data.target,"draggable");
-var _59=_58.handle;
-var _5a=$(_59).offset();
-var _5b=$(_59).outerWidth();
-var _5c=$(_59).outerHeight();
-var t=e.pageY-_5a.top;
-var r=_5a.left+_5b-e.pageX;
-var b=_5a.top+_5c-e.pageY;
-var l=e.pageX-_5a.left;
-return Math.min(t,r,b,l)>_58.options.edge;
-};
-});
-};
-$.fn.draggable.methods={options:function(jq){
-return $.data(jq[0],"draggable").options;
-},proxy:function(jq){
-return $.data(jq[0],"draggable").proxy;
-},enable:function(jq){
-return jq.each(function(){
-$(this).draggable({disabled:false});
-});
-},disable:function(jq){
-return jq.each(function(){
-$(this).draggable({disabled:true});
-});
-}};
-$.fn.draggable.parseOptions=function(_5d){
-var t=$(_5d);
-return $.extend({},$.parser.parseOptions(_5d,["cursor","handle","axis",{"revert":"boolean","deltaX":"number","deltaY":"number","edge":"number","delay":"number"}]),{disabled:(t.attr("disabled")?true:undefined)});
-};
-$.fn.draggable.defaults={proxy:null,revert:false,cursor:"move",deltaX:null,deltaY:null,handle:null,disabled:false,edge:0,axis:null,delay:100,onBeforeDrag:function(e){
-},onStartDrag:function(e){
-},onDrag:function(e){
-},onStopDrag:function(e){
-}};
-$.fn.draggable.isDragging=false;
-})(jQuery);
-(function($){
-function _5e(_5f){
-$(_5f).addClass("droppable");
-$(_5f).bind("_dragenter",function(e,_60){
-$.data(_5f,"droppable").options.onDragEnter.apply(_5f,[e,_60]);
-});
-$(_5f).bind("_dragleave",function(e,_61){
-$.data(_5f,"droppable").options.onDragLeave.apply(_5f,[e,_61]);
-});
-$(_5f).bind("_dragover",function(e,_62){
-$.data(_5f,"droppable").options.onDragOver.apply(_5f,[e,_62]);
-});
-$(_5f).bind("_drop",function(e,_63){
-$.data(_5f,"droppable").options.onDrop.apply(_5f,[e,_63]);
-});
-};
-$.fn.droppable=function(_64,_65){
-if(typeof _64=="string"){
-return $.fn.droppable.methods[_64](this,_65);
-}
-_64=_64||{};
-return this.each(function(){
-var _66=$.data(this,"droppable");
-if(_66){
-$.extend(_66.options,_64);
-}else{
-_5e(this);
-$.data(this,"droppable",{options:$.extend({},$.fn.droppable.defaults,$.fn.droppable.parseOptions(this),_64)});
-}
-});
-};
-$.fn.droppable.methods={options:function(jq){
-return $.data(jq[0],"droppable").options;
-},enable:function(jq){
-return jq.each(function(){
-$(this).droppable({disabled:false});
-});
-},disable:function(jq){
-return jq.each(function(){
-$(this).droppable({disabled:true});
-});
-}};
-$.fn.droppable.parseOptions=function(_67){
-var t=$(_67);
-return $.extend({},$.parser.parseOptions(_67,["accept"]),{disabled:(t.attr("disabled")?true:undefined)});
-};
-$.fn.droppable.defaults={accept:null,disabled:false,onDragEnter:function(e,_68){
-},onDragOver:function(e,_69){
-},onDragLeave:function(e,_6a){
-},onDrop:function(e,_6b){
-}};
-})(jQuery);
-(function($){
-$.fn.resizable=function(_6c,_6d){
-if(typeof _6c=="string"){
-return $.fn.resizable.methods[_6c](this,_6d);
-}
-function _6e(e){
-var _6f=e.data;
-var _70=$.data(_6f.target,"resizable").options;
-if(_6f.dir.indexOf("e")!=-1){
-var _71=_6f.startWidth+e.pageX-_6f.startX;
-_71=Math.min(Math.max(_71,_70.minWidth),_70.maxWidth);
-_6f.width=_71;
-}
-if(_6f.dir.indexOf("s")!=-1){
-var _72=_6f.startHeight+e.pageY-_6f.startY;
-_72=Math.min(Math.max(_72,_70.minHeight),_70.maxHeight);
-_6f.height=_72;
-}
-if(_6f.dir.indexOf("w")!=-1){
-var _71=_6f.startWidth-e.pageX+_6f.startX;
-_71=Math.min(Math.max(_71,_70.minWidth),_70.maxWidth);
-_6f.width=_71;
-_6f.left=_6f.startLeft+_6f.startWidth-_6f.width;
-}
-if(_6f.dir.indexOf("n")!=-1){
-var _72=_6f.startHeight-e.pageY+_6f.startY;
-_72=Math.min(Math.max(_72,_70.minHeight),_70.maxHeight);
-_6f.height=_72;
-_6f.top=_6f.startTop+_6f.startHeight-_6f.height;
-}
-};
-function _73(e){
-var _74=e.data;
-var t=$(_74.target);
-t.css({left:_74.left,top:_74.top});
-if(t.outerWidth()!=_74.width){
-t._outerWidth(_74.width);
-}
-if(t.outerHeight()!=_74.height){
-t._outerHeight(_74.height);
-}
-};
-function _75(e){
-$.fn.resizable.isResizing=true;
-$.data(e.data.target,"resizable").options.onStartResize.call(e.data.target,e);
-return false;
-};
-function _76(e){
-_6e(e);
-if($.data(e.data.target,"resizable").options.onResize.call(e.data.target,e)!=false){
-_73(e);
-}
-return false;
-};
-function _77(e){
-$.fn.resizable.isResizing=false;
-_6e(e,true);
-_73(e);
-$.data(e.data.target,"resizable").options.onStopResize.call(e.data.target,e);
-$(document).unbind(".resizable");
-$("body").css("cursor","");
-return false;
-};
-return this.each(function(){
-var _78=null;
-var _79=$.data(this,"resizable");
-if(_79){
-$(this).unbind(".resizable");
-_78=$.extend(_79.options,_6c||{});
-}else{
-_78=$.extend({},$.fn.resizable.defaults,$.fn.resizable.parseOptions(this),_6c||{});
-$.data(this,"resizable",{options:_78});
-}
-if(_78.disabled==true){
-return;
-}
-$(this).bind("mousemove.resizable",{target:this},function(e){
-if($.fn.resizable.isResizing){
-return;
-}
-var dir=_7a(e);
-if(dir==""){
-$(e.data.target).css("cursor","");
-}else{
-$(e.data.target).css("cursor",dir+"-resize");
-}
-}).bind("mouseleave.resizable",{target:this},function(e){
-$(e.data.target).css("cursor","");
-}).bind("mousedown.resizable",{target:this},function(e){
-var dir=_7a(e);
-if(dir==""){
-return;
-}
-function _7b(css){
-var val=parseInt($(e.data.target).css(css));
-if(isNaN(val)){
-return 0;
-}else{
-return val;
-}
-};
-var _7c={target:e.data.target,dir:dir,startLeft:_7b("left"),startTop:_7b("top"),left:_7b("left"),top:_7b("top"),startX:e.pageX,startY:e.pageY,startWidth:$(e.data.target).outerWidth(),startHeight:$(e.data.target).outerHeight(),width:$(e.data.target).outerWidth(),height:$(e.data.target).outerHeight(),deltaWidth:$(e.data.target).outerWidth()-$(e.data.target).width(),deltaHeight:$(e.data.target).outerHeight()-$(e.data.target).height()};
-$(document).bind("mousedown.resizable",_7c,_75);
-$(document).bind("mousemove.resizable",_7c,_76);
-$(document).bind("mouseup.resizable",_7c,_77);
-$("body").css("cursor",dir+"-resize");
-});
-function _7a(e){
-var tt=$(e.data.target);
-var dir="";
-var _7d=tt.offset();
-var _7e=tt.outerWidth();
-var _7f=tt.outerHeight();
-var _80=_78.edge;
-if(e.pageY>_7d.top&&e.pageY<_7d.top+_80){
-dir+="n";
-}else{
-if(e.pageY<_7d.top+_7f&&e.pageY>_7d.top+_7f-_80){
-dir+="s";
-}
-}
-if(e.pageX>_7d.left&&e.pageX<_7d.left+_80){
-dir+="w";
-}else{
-if(e.pageX<_7d.left+_7e&&e.pageX>_7d.left+_7e-_80){
-dir+="e";
-}
-}
-var _81=_78.handles.split(",");
-for(var i=0;i<_81.length;i++){
-var _82=_81[i].replace(/(^\s*)|(\s*$)/g,"");
-if(_82=="all"||_82==dir){
-return dir;
-}
-}
-return "";
-};
-});
-};
-$.fn.resizable.methods={options:function(jq){
-return $.data(jq[0],"resizable").options;
-},enable:function(jq){
-return jq.each(function(){
-$(this).resizable({disabled:false});
-});
-},disable:function(jq){
-return jq.each(function(){
-$(this).resizable({disabled:true});
-});
-}};
-$.fn.resizable.parseOptions=function(_83){
-var t=$(_83);
-return $.extend({},$.parser.parseOptions(_83,["handles",{minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number",edge:"number"}]),{disabled:(t.attr("disabled")?true:undefined)});
-};
-$.fn.resizable.defaults={disabled:false,handles:"n, e, s, w, ne, se, sw, nw, all",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){
-},onResize:function(e){
-},onStopResize:function(e){
-}};
-$.fn.resizable.isResizing=false;
-})(jQuery);
-(function($){
-function _84(_85,_86){
-var _87=$.data(_85,"linkbutton").options;
-if(_86){
-$.extend(_87,_86);
-}
-if(_87.width||_87.height||_87.fit){
-var btn=$(_85);
-var _88=btn.parent();
-var _89=btn.is(":visible");
-if(!_89){
-var _8a=$("<div style=\"display:none\"></div>").insertBefore(_85);
-var _8b={position:btn.css("position"),display:btn.css("display"),left:btn.css("left")};
-btn.appendTo("body");
-btn.css({position:"absolute",display:"inline-block",left:-20000});
-}
-btn._size(_87,_88);
-var _8c=btn.find(".l-btn-left");
-_8c.css("margin-top",0);
-_8c.css("margin-top",parseInt((btn.height()-_8c.height())/2)+"px");
-if(!_89){
-btn.insertAfter(_8a);
-btn.css(_8b);
-_8a.remove();
-}
-}
-};
-function _8d(_8e){
-var _8f=$.data(_8e,"linkbutton").options;
-var t=$(_8e).empty();
-t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected l-btn-outline");
-t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-"+_8f.size);
-if(_8f.plain){
-t.addClass("l-btn-plain");
-}
-if(_8f.outline){
-t.addClass("l-btn-outline");
-}
-if(_8f.selected){
-t.addClass(_8f.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected");
-}
-t.attr("group",_8f.group||"");
-t.attr("id",_8f.id||"");
-var _90=$("<span class=\"l-btn-left\"></span>").appendTo(t);
-if(_8f.text){
-$("<span class=\"l-btn-text\"></span>").html(_8f.text).appendTo(_90);
-}else{
-$("<span class=\"l-btn-text l-btn-empty\">&nbsp;</span>").appendTo(_90);
-}
-if(_8f.iconCls){
-$("<span class=\"l-btn-icon\">&nbsp;</span>").addClass(_8f.iconCls).appendTo(_90);
-_90.addClass("l-btn-icon-"+_8f.iconAlign);
-}
-t.unbind(".linkbutton").bind("focus.linkbutton",function(){
-if(!_8f.disabled){
-$(this).addClass("l-btn-focus");
-}
-}).bind("blur.linkbutton",function(){
-$(this).removeClass("l-btn-focus");
-}).bind("click.linkbutton",function(){
-if(!_8f.disabled){
-if(_8f.toggle){
-if(_8f.selected){
-$(this).linkbutton("unselect");
-}else{
-$(this).linkbutton("select");
-}
-}
-_8f.onClick.call(this);
-}
-});
-_91(_8e,_8f.selected);
-_92(_8e,_8f.disabled);
-};
-function _91(_93,_94){
-var _95=$.data(_93,"linkbutton").options;
-if(_94){
-if(_95.group){
-$("a.l-btn[group=\""+_95.group+"\"]").each(function(){
-var o=$(this).linkbutton("options");
-if(o.toggle){
-$(this).removeClass("l-btn-selected l-btn-plain-selected");
-o.selected=false;
-}
-});
-}
-$(_93).addClass(_95.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected");
-_95.selected=true;
-}else{
-if(!_95.group){
-$(_93).removeClass("l-btn-selected l-btn-plain-selected");
-_95.selected=false;
-}
-}
-};
-function _92(_96,_97){
-var _98=$.data(_96,"linkbutton");
-var _99=_98.options;
-$(_96).removeClass("l-btn-disabled l-btn-plain-disabled");
-if(_97){
-_99.disabled=true;
-var _9a=$(_96).attr("href");
-if(_9a){
-_98.href=_9a;
-$(_96).attr("href","javascript:void(0)");
-}
-if(_96.onclick){
-_98.onclick=_96.onclick;
-_96.onclick=null;
-}
-_99.plain?$(_96).addClass("l-btn-disabled l-btn-plain-disabled"):$(_96).addClass("l-btn-disabled");
-}else{
-_99.disabled=false;
-if(_98.href){
-$(_96).attr("href",_98.href);
-}
-if(_98.onclick){
-_96.onclick=_98.onclick;
-}
-}
-};
-$.fn.linkbutton=function(_9b,_9c){
-if(typeof _9b=="string"){
-return $.fn.linkbutton.methods[_9b](this,_9c);
-}
-_9b=_9b||{};
-return this.each(function(){
-var _9d=$.data(this,"linkbutton");
-if(_9d){
-$.extend(_9d.options,_9b);
-}else{
-$.data(this,"linkbutton",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_9b)});
-$(this).removeAttr("disabled");
-$(this).bind("_resize",function(e,_9e){
-if($(this).hasClass("easyui-fluid")||_9e){
-_84(this);
-}
-return false;
-});
-}
-_8d(this);
-_84(this);
-});
-};
-$.fn.linkbutton.methods={options:function(jq){
-return $.data(jq[0],"linkbutton").options;
-},resize:function(jq,_9f){
-return jq.each(function(){
-_84(this,_9f);
-});
-},enable:function(jq){
-return jq.each(function(){
-_92(this,false);
-});
-},disable:function(jq){
-return jq.each(function(){
-_92(this,true);
-});
-},select:function(jq){
-return jq.each(function(){
-_91(this,true);
-});
-},unselect:function(jq){
-return jq.each(function(){
-_91(this,false);
-});
-}};
-$.fn.linkbutton.parseOptions=function(_a0){
-var t=$(_a0);
-return $.extend({},$.parser.parseOptions(_a0,["id","iconCls","iconAlign","group","size","text",{plain:"boolean",toggle:"boolean",selected:"boolean",outline:"boolean"}]),{disabled:(t.attr("disabled")?true:undefined),text:($.trim(t.html())||undefined),iconCls:(t.attr("icon")||t.attr("iconCls"))});
-};
-$.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,outline:false,group:null,plain:false,text:"",iconCls:null,iconAlign:"left",size:"small",onClick:function(){
-}};
-})(jQuery);
-(function($){
-function _a1(_a2){
-var _a3=$.data(_a2,"pagination");
-var _a4=_a3.options;
-var bb=_a3.bb={};
-var _a5=$(_a2).addClass("pagination").html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr></tr></table>");
-var tr=_a5.find("tr");
-var aa=$.extend([],_a4.layout);
-if(!_a4.showPageList){
-_a6(aa,"list");
-}
-if(!_a4.showRefresh){
-_a6(aa,"refresh");
-}
-if(aa[0]=="sep"){
-aa.shift();
-}
-if(aa[aa.length-1]=="sep"){
-aa.pop();
-}
-for(var _a7=0;_a7<aa.length;_a7++){
-var _a8=aa[_a7];
-if(_a8=="list"){
-var ps=$("<select class=\"pagination-page-list\"></select>");
-ps.bind("change",function(){
-_a4.pageSize=parseInt($(this).val());
-_a4.onChangePageSize.call(_a2,_a4.pageSize);
-_ae(_a2,_a4.pageNumber);
-});
-for(var i=0;i<_a4.pageList.length;i++){
-$("<option></option>").text(_a4.pageList[i]).appendTo(ps);
-}
-$("<td></td>").append(ps).appendTo(tr);
-}else{
-if(_a8=="sep"){
-$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
-}else{
-if(_a8=="first"){
-bb.first=_a9("first");
-}else{
-if(_a8=="prev"){
-bb.prev=_a9("prev");
-}else{
-if(_a8=="next"){
-bb.next=_a9("next");
-}else{
-if(_a8=="last"){
-bb.last=_a9("last");
-}else{
-if(_a8=="manual"){
-$("<span style=\"padding-left:6px;\"></span>").html(_a4.beforePageText).appendTo(tr).wrap("<td></td>");
-bb.num=$("<input class=\"pagination-num\" type=\"text\" value=\"1\" size=\"2\">").appendTo(tr).wrap("<td></td>");
-bb.num.unbind(".pagination").bind("keydown.pagination",function(e){
-if(e.keyCode==13){
-var _aa=parseInt($(this).val())||1;
-_ae(_a2,_aa);
-return false;
-}
-});
-bb.after=$("<span style=\"padding-right:6px;\"></span>").appendTo(tr).wrap("<td></td>");
-}else{
-if(_a8=="refresh"){
-bb.refresh=_a9("refresh");
-}else{
-if(_a8=="links"){
-$("<td class=\"pagination-links\"></td>").appendTo(tr);
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-if(_a4.buttons){
-$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
-if($.isArray(_a4.buttons)){
-for(var i=0;i<_a4.buttons.length;i++){
-var btn=_a4.buttons[i];
-if(btn=="-"){
-$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
-}else{
-var td=$("<td></td>").appendTo(tr);
-var a=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
-a[0].onclick=eval(btn.handler||function(){
-});
-a.linkbutton($.extend({},btn,{plain:true}));
-}
-}
-}else{
-var td=$("<td></td>").appendTo(tr);
-$(_a4.buttons).appendTo(td).show();
-}
-}
-$("<div class=\"pagination-info\"></div>").appendTo(_a5);
-$("<div style=\"clear:both;\"></div>").appendTo(_a5);
-function _a9(_ab){
-var btn=_a4.nav[_ab];
-var a=$("<a href=\"javascript:void(0)\"></a>").appendTo(tr);
-a.wrap("<td></td>");
-a.linkbutton({iconCls:btn.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){
-btn.handler.call(_a2);
-});
-return a;
-};
-function _a6(aa,_ac){
-var _ad=$.inArray(_ac,aa);
-if(_ad>=0){
-aa.splice(_ad,1);
-}
-return aa;
-};
-};
-function _ae(_af,_b0){
-var _b1=$.data(_af,"pagination").options;
-_b2(_af,{pageNumber:_b0});
-_b1.onSelectPage.call(_af,_b1.pageNumber,_b1.pageSize);
-};
-function _b2(_b3,_b4){
-var _b5=$.data(_b3,"pagination");
-var _b6=_b5.options;
-var bb=_b5.bb;
-$.extend(_b6,_b4||{});
-var ps=$(_b3).find("select.pagination-page-list");
-if(ps.length){
-ps.val(_b6.pageSize+"");
-_b6.pageSize=parseInt(ps.val());
-}
-var _b7=Math.ceil(_b6.total/_b6.pageSize)||1;
-if(_b6.pageNumber<1){
-_b6.pageNumber=1;
-}
-if(_b6.pageNumber>_b7){
-_b6.pageNumber=_b7;
-}
-if(_b6.total==0){
-_b6.pageNumber=0;
-_b7=0;
-}
-if(bb.num){
-bb.num.val(_b6.pageNumber);
-}
-if(bb.after){
-bb.after.html(_b6.afterPageText.replace(/{pages}/,_b7));
-}
-var td=$(_b3).find("td.pagination-links");
-if(td.length){
-td.empty();
-var _b8=_b6.pageNumber-Math.floor(_b6.links/2);
-if(_b8<1){
-_b8=1;
-}
-var _b9=_b8+_b6.links-1;
-if(_b9>_b7){
-_b9=_b7;
-}
-_b8=_b9-_b6.links+1;
-if(_b8<1){
-_b8=1;
-}
-for(var i=_b8;i<=_b9;i++){
-var a=$("<a class=\"pagination-link\" href=\"javascript:void(0)\"></a>").appendTo(td);
-a.linkbutton({plain:true,text:i});
-if(i==_b6.pageNumber){
-a.linkbutton("select");
-}else{
-a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){
-_ae(_b3,e.data.pageNumber);
-});
-}
-}
-}
-var _ba=_b6.displayMsg;
-_ba=_ba.replace(/{from}/,_b6.total==0?0:_b6.pageSize*(_b6.pageNumber-1)+1);
-_ba=_ba.replace(/{to}/,Math.min(_b6.pageSize*(_b6.pageNumber),_b6.total));
-_ba=_ba.replace(/{total}/,_b6.total);
-$(_b3).find("div.pagination-info").html(_ba);
-if(bb.first){
-bb.first.linkbutton({disabled:((!_b6.total)||_b6.pageNumber==1)});
-}
-if(bb.prev){
-bb.prev.linkbutton({disabled:((!_b6.total)||_b6.pageNumber==1)});
-}
-if(bb.next){
-bb.next.linkbutton({disabled:(_b6.pageNumber==_b7)});
-}
-if(bb.last){
-bb.last.linkbutton({disabled:(_b6.pageNumber==_b7)});
-}
-_bb(_b3,_b6.loading);
-};
-function _bb(_bc,_bd){
-var _be=$.data(_bc,"pagination");
-var _bf=_be.options;
-_bf.loading=_bd;
-if(_bf.showRefresh&&_be.bb.refresh){
-_be.bb.refresh.linkbutton({iconCls:(_bf.loading?"pagination-loading":"pagination-load")});
-}
-};
-$.fn.pagination=function(_c0,_c1){
-if(typeof _c0=="string"){
-return $.fn.pagination.methods[_c0](this,_c1);
-}
-_c0=_c0||{};
-return this.each(function(){
-var _c2;
-var _c3=$.data(this,"pagination");
-if(_c3){
-_c2=$.extend(_c3.options,_c0);
-}else{
-_c2=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_c0);
-$.data(this,"pagination",{options:_c2});
-}
-_a1(this);
-_b2(this);
-});
-};
-$.fn.pagination.methods={options:function(jq){
-return $.data(jq[0],"pagination").options;
-},loading:function(jq){
-return jq.each(function(){
-_bb(this,true);
-});
-},loaded:function(jq){
-return jq.each(function(){
-_bb(this,false);
-});
-},refresh:function(jq,_c4){
-return jq.each(function(){
-_b2(this,_c4);
-});
-},select:function(jq,_c5){
-return jq.each(function(){
-_ae(this,_c5);
-});
-}};
-$.fn.pagination.parseOptions=function(_c6){
-var t=$(_c6);
-return $.extend({},$.parser.parseOptions(_c6,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)});
-};
-$.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh"],onSelectPage:function(_c7,_c8){
-},onBeforeRefresh:function(_c9,_ca){
-},onRefresh:function(_cb,_cc){
-},onChangePageSize:function(_cd){
-},beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){
-var _ce=$(this).pagination("options");
-if(_ce.pageNumber>1){
-$(this).pagination("select",1);
-}
-}},prev:{iconCls:"pagination-prev",handler:function(){
-var _cf=$(this).pagination("options");
-if(_cf.pageNumber>1){
-$(this).pagination("select",_cf.pageNumber-1);
-}
-}},next:{iconCls:"pagination-next",handler:function(){
-var _d0=$(this).pagination("options");
-var _d1=Math.ceil(_d0.total/_d0.pageSize);
-if(_d0.pageNumber<_d1){
-$(this).pagination("select",_d0.pageNumber+1);
-}
-}},last:{iconCls:"pagination-last",handler:function(){
-var _d2=$(this).pagination("options");
-var _d3=Math.ceil(_d2.total/_d2.pageSize);
-if(_d2.pageNumber<_d3){
-$(this).pagination("select",_d3);
-}
-}},refresh:{iconCls:"pagination-refresh",handler:function(){
-var _d4=$(this).pagination("options");
-if(_d4.onBeforeRefresh.call(this,_d4.pageNumber,_d4.pageSize)!=false){
-$(this).pagination("select",_d4.pageNumber);
-_d4.onRefresh.call(this,_d4.pageNumber,_d4.pageSize);
-}
-}}}};
-})(jQuery);
-(function($){
-function _d5(_d6){
-var _d7=$(_d6);
-_d7.addClass("tree");
-return _d7;
-};
-function _d8(_d9){
-var _da=$.data(_d9,"tree").options;
-$(_d9).unbind().bind("mouseover",function(e){
-var tt=$(e.target);
-var _db=tt.closest("div.tree-node");
-if(!_db.length){
-return;
-}
-_db.addClass("tree-node-hover");
-if(tt.hasClass("tree-hit")){
-if(tt.hasClass("tree-expanded")){
-tt.addClass("tree-expanded-hover");
-}else{
-tt.addClass("tree-collapsed-hover");
-}
-}
-e.stopPropagation();
-}).bind("mouseout",function(e){
-var tt=$(e.target);
-var _dc=tt.closest("div.tree-node");
-if(!_dc.length){
-return;
-}
-_dc.removeClass("tree-node-hover");
-if(tt.hasClass("tree-hit")){
-if(tt.hasClass("tree-expanded")){
-tt.removeClass("tree-expanded-hover");
-}else{
-tt.removeClass("tree-collapsed-hover");
-}
-}
-e.stopPropagation();
-}).bind("click",function(e){
-var tt=$(e.target);
-var _dd=tt.closest("div.tree-node");
-if(!_dd.length){
-return;
-}
-if(tt.hasClass("tree-hit")){
-_144(_d9,_dd[0]);
-return false;
-}else{
-if(tt.hasClass("tree-checkbox")){
-_104(_d9,_dd[0]);
-return false;
-}else{
-_18a(_d9,_dd[0]);
-_da.onClick.call(_d9,_e0(_d9,_dd[0]));
-}
-}
-e.stopPropagation();
-}).bind("dblclick",function(e){
-var _de=$(e.target).closest("div.tree-node");
-if(!_de.length){
-return;
-}
-_18a(_d9,_de[0]);
-_da.onDblClick.call(_d9,_e0(_d9,_de[0]));
-e.stopPropagation();
-}).bind("contextmenu",function(e){
-var _df=$(e.target).closest("div.tree-node");
-if(!_df.length){
-return;
-}
-_da.onContextMenu.call(_d9,e,_e0(_d9,_df[0]));
-e.stopPropagation();
-});
-};
-function _e1(_e2){
-var _e3=$.data(_e2,"tree").options;
-_e3.dnd=false;
-var _e4=$(_e2).find("div.tree-node");
-_e4.draggable("disable");
-_e4.css("cursor","pointer");
-};
-function _e5(_e6){
-var _e7=$.data(_e6,"tree");
-var _e8=_e7.options;
-var _e9=_e7.tree;
-_e7.disabledNodes=[];
-_e8.dnd=true;
-_e9.find("div.tree-node").draggable({disabled:false,revert:true,cursor:"pointer",proxy:function(_ea){
-var p=$("<div class=\"tree-node-proxy\"></div>").appendTo("body");
-p.html("<span class=\"tree-dnd-icon tree-dnd-no\">&nbsp;</span>"+$(_ea).find(".tree-title").html());
-p.hide();
-return p;
-},deltaX:15,deltaY:15,onBeforeDrag:function(e){
-if(_e8.onBeforeDrag.call(_e6,_e0(_e6,this))==false){
-return false;
-}
-if($(e.target).hasClass("tree-hit")||$(e.target).hasClass("tree-checkbox")){
-return false;
-}
-if(e.which!=1){
-return false;
-}
-var _eb=$(this).find("span.tree-indent");
-if(_eb.length){
-e.data.offsetWidth-=_eb.length*_eb.width();
-}
-},onStartDrag:function(e){
-$(this).next("ul").find("div.tree-node").each(function(){
-$(this).droppable("disable");
-_e7.disabledNodes.push(this);
-});
-$(this).draggable("proxy").css({left:-10000,top:-10000});
-_e8.onStartDrag.call(_e6,_e0(_e6,this));
-var _ec=_e0(_e6,this);
-if(_ec.id==undefined){
-_ec.id="easyui_tree_node_id_temp";
-_127(_e6,_ec);
-}
-_e7.draggingNodeId=_ec.id;
-},onDrag:function(e){
-var x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY;
-var d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
-if(d>3){
-$(this).draggable("proxy").show();
-}
-this.pageY=e.pageY;
-},onStopDrag:function(){
-for(var i=0;i<_e7.disabledNodes.length;i++){
-$(_e7.disabledNodes[i]).droppable("enable");
-}
-_e7.disabledNodes=[];
-var _ed=_182(_e6,_e7.draggingNodeId);
-if(_ed&&_ed.id=="easyui_tree_node_id_temp"){
-_ed.id="";
-_127(_e6,_ed);
-}
-_e8.onStopDrag.call(_e6,_ed);
-}}).droppable({accept:"div.tree-node",onDragEnter:function(e,_ee){
-if(_e8.onDragEnter.call(_e6,this,_ef(_ee))==false){
-_f0(_ee,false);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-$(this).droppable("disable");
-_e7.disabledNodes.push(this);
-}
-},onDragOver:function(e,_f1){
-if($(this).droppable("options").disabled){
-return;
-}
-var _f2=_f1.pageY;
-var top=$(this).offset().top;
-var _f3=top+$(this).outerHeight();
-_f0(_f1,true);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-if(_f2>top+(_f3-top)/2){
-if(_f3-_f2<5){
-$(this).addClass("tree-node-bottom");
-}else{
-$(this).addClass("tree-node-append");
-}
-}else{
-if(_f2-top<5){
-$(this).addClass("tree-node-top");
-}else{
-$(this).addClass("tree-node-append");
-}
-}
-if(_e8.onDragOver.call(_e6,this,_ef(_f1))==false){
-_f0(_f1,false);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-$(this).droppable("disable");
-_e7.disabledNodes.push(this);
-}
-},onDragLeave:function(e,_f4){
-_f0(_f4,false);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-_e8.onDragLeave.call(_e6,this,_ef(_f4));
-},onDrop:function(e,_f5){
-var _f6=this;
-var _f7,_f8;
-if($(this).hasClass("tree-node-append")){
-_f7=_f9;
-_f8="append";
-}else{
-_f7=_fa;
-_f8=$(this).hasClass("tree-node-top")?"top":"bottom";
-}
-if(_e8.onBeforeDrop.call(_e6,_f6,_ef(_f5),_f8)==false){
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-return;
-}
-_f7(_f5,_f6,_f8);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-}});
-function _ef(_fb,pop){
-return $(_fb).closest("ul.tree").tree(pop?"pop":"getData",_fb);
-};
-function _f0(_fc,_fd){
-var _fe=$(_fc).draggable("proxy").find("span.tree-dnd-icon");
-_fe.removeClass("tree-dnd-yes tree-dnd-no").addClass(_fd?"tree-dnd-yes":"tree-dnd-no");
-};
-function _f9(_ff,dest){
-if(_e0(_e6,dest).state=="closed"){
-_13c(_e6,dest,function(){
-_100();
-});
-}else{
-_100();
-}
-function _100(){
-var node=_ef(_ff,true);
-$(_e6).tree("append",{parent:dest,data:[node]});
-_e8.onDrop.call(_e6,dest,node,"append");
-};
-};
-function _fa(_101,dest,_102){
-var _103={};
-if(_102=="top"){
-_103.before=dest;
-}else{
-_103.after=dest;
-}
-var node=_ef(_101,true);
-_103.data=node;
-$(_e6).tree("insert",_103);
-_e8.onDrop.call(_e6,dest,node,_102);
-};
-};
-function _104(_105,_106,_107){
-var _108=$.data(_105,"tree");
-var opts=_108.options;
-if(!opts.checkbox){
-return;
-}
-var _109=_e0(_105,_106);
-if(_107==undefined){
-var ck=$(_106).find(".tree-checkbox");
-if(ck.hasClass("tree-checkbox1")){
-_107=false;
-}else{
-if(ck.hasClass("tree-checkbox0")){
-_107=true;
-}else{
-if(_109._checked==undefined){
-_109._checked=$(_106).find(".tree-checkbox").hasClass("tree-checkbox1");
-}
-_107=!_109._checked;
-}
-}
-}
-_109._checked=_107;
-if(opts.onBeforeCheck.call(_105,_109,_107)==false){
-return;
-}
-if(opts.cascadeCheck){
-_10a(_109,_107);
-_10b(_109,_107);
-}else{
-_10c($(_109.target),_107?"1":"0");
-}
-opts.onCheck.call(_105,_109,_107);
-function _10c(node,flag){
-var ck=node.find(".tree-checkbox");
-ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2");
-ck.addClass("tree-checkbox"+flag);
-};
-function _10a(_10d,_10e){
-if(opts.deepCheck){
-var node=$("#"+_10d.domId);
-var flag=_10e?"1":"0";
-_10c(node,flag);
-_10c(node.next(),flag);
-}else{
-_10f(_10d,_10e);
-_12a(_10d.children||[],function(n){
-_10f(n,_10e);
-});
-}
-};
-function _10f(_110,_111){
-if(_110.hidden){
-return;
-}
-var cls="tree-checkbox"+(_111?"1":"0");
-var node=$("#"+_110.domId);
-_10c(node,_111?"1":"0");
-if(_110.children){
-for(var i=0;i<_110.children.length;i++){
-if(_110.children[i].hidden){
-if(!$("#"+_110.children[i].domId).find("."+cls).length){
-_10c(node,"2");
-var _112=_14f(_105,node[0]);
-while(_112){
-_10c($(_112.target),"2");
-_112=_14f(_105,_112[0]);
-}
-return;
-}
-}
-}
-}
-};
-function _10b(_113,_114){
-var node=$("#"+_113.domId);
-var _115=_14f(_105,node[0]);
-if(_115){
-var flag="";
-if(_116(node,true)){
-flag="1";
-}else{
-if(_116(node,false)){
-flag="0";
-}else{
-flag="2";
-}
-}
-_10c($(_115.target),flag);
-_10b(_115,_114);
-}
-};
-function _116(node,_117){
-var cls="tree-checkbox"+(_117?"1":"0");
-var ck=node.find(".tree-checkbox");
-if(!ck.hasClass(cls)){
-return false;
-}
-var b=true;
-node.parent().siblings().each(function(){
-var ck=$(this).children("div.tree-node").children(".tree-checkbox");
-if(ck.length&&!ck.hasClass(cls)){
-b=false;
-return false;
-}
-});
-return b;
-};
-};
-function _118(_119,_11a){
-var opts=$.data(_119,"tree").options;
-if(!opts.checkbox){
-return;
-}
-var node=$(_11a);
-if(_11b(_119,_11a)){
-var ck=node.find(".tree-checkbox");
-if(ck.length){
-if(ck.hasClass("tree-checkbox1")){
-_104(_119,_11a,true);
-}else{
-_104(_119,_11a,false);
-}
-}else{
-if(opts.onlyLeafCheck){
-$("<span class=\"tree-checkbox tree-checkbox0\"></span>").insertBefore(node.find(".tree-title"));
-}
-}
-}else{
-var ck=node.find(".tree-checkbox");
-if(opts.onlyLeafCheck){
-ck.remove();
-}else{
-if(ck.hasClass("tree-checkbox1")){
-_104(_119,_11a,true);
-}else{
-if(ck.hasClass("tree-checkbox2")){
-var _11c=true;
-var _11d=true;
-var _11e=_11f(_119,_11a);
-for(var i=0;i<_11e.length;i++){
-if(_11e[i].checked){
-_11d=false;
-}else{
-_11c=false;
-}
-}
-if(_11c){
-_104(_119,_11a,true);
-}
-if(_11d){
-_104(_119,_11a,false);
-}
-}
-}
-}
-}
-};
-function _120(_121,ul,data,_122){
-var _123=$.data(_121,"tree");
-var opts=_123.options;
-var _124=$(ul).prevAll("div.tree-node:first");
-data=opts.loadFilter.call(_121,data,_124[0]);
-var _125=_126(_121,"domId",_124.attr("id"));
-if(!_122){
-_125?_125.children=data:_123.data=data;
-$(ul).empty();
-}else{
-if(_125){
-_125.children?_125.children=_125.children.concat(data):_125.children=data;
-}else{
-_123.data=_123.data.concat(data);
-}
-}
-opts.view.render.call(opts.view,_121,ul,data);
-if(opts.dnd){
-_e5(_121);
-}
-if(_125){
-_127(_121,_125);
-}
-var _128=[];
-var _129=[];
-for(var i=0;i<data.length;i++){
-var node=data[i];
-if(!node.checked){
-_128.push(node);
-}
-}
-_12a(data,function(node){
-if(node.checked){
-_129.push(node);
-}
-});
-var _12b=opts.onCheck;
-opts.onCheck=function(){
-};
-if(_128.length){
-_104(_121,$("#"+_128[0].domId)[0],false);
-}
-for(var i=0;i<_129.length;i++){
-_104(_121,$("#"+_129[i].domId)[0],true);
-}
-opts.onCheck=_12b;
-setTimeout(function(){
-_12c(_121,_121);
-},0);
-opts.onLoadSuccess.call(_121,_125,data);
-};
-function _12c(_12d,ul,_12e){
-var opts=$.data(_12d,"tree").options;
-if(opts.lines){
-$(_12d).addClass("tree-lines");
-}else{
-$(_12d).removeClass("tree-lines");
-return;
-}
-if(!_12e){
-_12e=true;
-$(_12d).find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom");
-$(_12d).find("div.tree-node").removeClass("tree-node-last tree-root-first tree-root-one");
-var _12f=$(_12d).tree("getRoots");
-if(_12f.length>1){
-$(_12f[0].target).addClass("tree-root-first");
-}else{
-if(_12f.length==1){
-$(_12f[0].target).addClass("tree-root-one");
-}
-}
-}
-$(ul).children("li").each(function(){
-var node=$(this).children("div.tree-node");
-var ul=node.next("ul");
-if(ul.length){
-if($(this).next().length){
-_130(node);
-}
-_12c(_12d,ul,_12e);
-}else{
-_131(node);
-}
-});
-var _132=$(ul).children("li:last").children("div.tree-node").addClass("tree-node-last");
-_132.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom");
-function _131(node,_133){
-var icon=node.find("span.tree-icon");
-icon.prev("span.tree-indent").addClass("tree-join");
-};
-function _130(node){
-var _134=node.find("span.tree-indent, span.tree-hit").length;
-node.next().find("div.tree-node").each(function(){
-$(this).children("span:eq("+(_134-1)+")").addClass("tree-line");
-});
-};
-};
-function _135(_136,ul,_137,_138){
-var opts=$.data(_136,"tree").options;
-_137=$.extend({},opts.queryParams,_137||{});
-var _139=null;
-if(_136!=ul){
-var node=$(ul).prev();
-_139=_e0(_136,node[0]);
-}
-if(opts.onBeforeLoad.call(_136,_139,_137)==false){
-return;
-}
-var _13a=$(ul).prev().children("span.tree-folder");
-_13a.addClass("tree-loading");
-var _13b=opts.loader.call(_136,_137,function(data){
-_13a.removeClass("tree-loading");
-_120(_136,ul,data);
-if(_138){
-_138();
-}
-},function(){
-_13a.removeClass("tree-loading");
-opts.onLoadError.apply(_136,arguments);
-if(_138){
-_138();
-}
-});
-if(_13b==false){
-_13a.removeClass("tree-loading");
-}
-};
-function _13c(_13d,_13e,_13f){
-var opts=$.data(_13d,"tree").options;
-var hit=$(_13e).children("span.tree-hit");
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-expanded")){
-return;
-}
-var node=_e0(_13d,_13e);
-if(opts.onBeforeExpand.call(_13d,node)==false){
-return;
-}
-hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded");
-hit.next().addClass("tree-folder-open");
-var ul=$(_13e).next();
-if(ul.length){
-if(opts.animate){
-ul.slideDown("normal",function(){
-node.state="open";
-opts.onExpand.call(_13d,node);
-if(_13f){
-_13f();
-}
-});
-}else{
-ul.css("display","block");
-node.state="open";
-opts.onExpand.call(_13d,node);
-if(_13f){
-_13f();
-}
-}
-}else{
-var _140=$("<ul style=\"display:none\"></ul>").insertAfter(_13e);
-_135(_13d,_140[0],{id:node.id},function(){
-if(_140.is(":empty")){
-_140.remove();
-}
-if(opts.animate){
-_140.slideDown("normal",function(){
-node.state="open";
-opts.onExpand.call(_13d,node);
-if(_13f){
-_13f();
-}
-});
-}else{
-_140.css("display","block");
-node.state="open";
-opts.onExpand.call(_13d,node);
-if(_13f){
-_13f();
-}
-}
-});
-}
-};
-function _141(_142,_143){
-var opts=$.data(_142,"tree").options;
-var hit=$(_143).children("span.tree-hit");
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-collapsed")){
-return;
-}
-var node=_e0(_142,_143);
-if(opts.onBeforeCollapse.call(_142,node)==false){
-return;
-}
-hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
-hit.next().removeClass("tree-folder-open");
-var ul=$(_143).next();
-if(opts.animate){
-ul.slideUp("normal",function(){
-node.state="closed";
-opts.onCollapse.call(_142,node);
-});
-}else{
-ul.css("display","none");
-node.state="closed";
-opts.onCollapse.call(_142,node);
-}
-};
-function _144(_145,_146){
-var hit=$(_146).children("span.tree-hit");
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-expanded")){
-_141(_145,_146);
-}else{
-_13c(_145,_146);
-}
-};
-function _147(_148,_149){
-var _14a=_11f(_148,_149);
-if(_149){
-_14a.unshift(_e0(_148,_149));
-}
-for(var i=0;i<_14a.length;i++){
-_13c(_148,_14a[i].target);
-}
-};
-function _14b(_14c,_14d){
-var _14e=[];
-var p=_14f(_14c,_14d);
-while(p){
-_14e.unshift(p);
-p=_14f(_14c,p.target);
-}
-for(var i=0;i<_14e.length;i++){
-_13c(_14c,_14e[i].target);
-}
-};
-function _150(_151,_152){
-var c=$(_151).parent();
-while(c[0].tagName!="BODY"&&c.css("overflow-y")!="auto"){
-c=c.parent();
-}
-var n=$(_152);
-var ntop=n.offset().top;
-if(c[0].tagName!="BODY"){
-var ctop=c.offset().top;
-if(ntop<ctop){
-c.scrollTop(c.scrollTop()+ntop-ctop);
-}else{
-if(ntop+n.outerHeight()>ctop+c.outerHeight()-18){
-c.scrollTop(c.scrollTop()+ntop+n.outerHeight()-ctop-c.outerHeight()+18);
-}
-}
-}else{
-c.scrollTop(ntop);
-}
-};
-function _153(_154,_155){
-var _156=_11f(_154,_155);
-if(_155){
-_156.unshift(_e0(_154,_155));
-}
-for(var i=0;i<_156.length;i++){
-_141(_154,_156[i].target);
-}
-};
-function _157(_158,_159){
-var node=$(_159.parent);
-var data=_159.data;
-if(!data){
-return;
-}
-data=$.isArray(data)?data:[data];
-if(!data.length){
-return;
-}
-var ul;
-if(node.length==0){
-ul=$(_158);
-}else{
-if(_11b(_158,node[0])){
-var _15a=node.find("span.tree-icon");
-_15a.removeClass("tree-file").addClass("tree-folder tree-folder-open");
-var hit=$("<span class=\"tree-hit tree-expanded\"></span>").insertBefore(_15a);
-if(hit.prev().length){
-hit.prev().remove();
-}
-}
-ul=node.next();
-if(!ul.length){
-ul=$("<ul></ul>").insertAfter(node);
-}
-}
-_120(_158,ul[0],data,true);
-_118(_158,ul.prev());
-};
-function _15b(_15c,_15d){
-var ref=_15d.before||_15d.after;
-var _15e=_14f(_15c,ref);
-var data=_15d.data;
-if(!data){
-return;
-}
-data=$.isArray(data)?data:[data];
-if(!data.length){
-return;
-}
-_157(_15c,{parent:(_15e?_15e.target:null),data:data});
-var _15f=_15e?_15e.children:$(_15c).tree("getRoots");
-for(var i=0;i<_15f.length;i++){
-if(_15f[i].domId==$(ref).attr("id")){
-for(var j=data.length-1;j>=0;j--){
-_15f.splice((_15d.before?i:(i+1)),0,data[j]);
-}
-_15f.splice(_15f.length-data.length,data.length);
-break;
-}
-}
-var li=$();
-for(var i=0;i<data.length;i++){
-li=li.add($("#"+data[i].domId).parent());
-}
-if(_15d.before){
-li.insertBefore($(ref).parent());
-}else{
-li.insertAfter($(ref).parent());
-}
-};
-function _160(_161,_162){
-var _163=del(_162);
-$(_162).parent().remove();
-if(_163){
-if(!_163.children||!_163.children.length){
-var node=$(_163.target);
-node.find(".tree-icon").removeClass("tree-folder").addClass("tree-file");
-node.find(".tree-hit").remove();
-$("<span class=\"tree-indent\"></span>").prependTo(node);
-node.next().remove();
-}
-_127(_161,_163);
-_118(_161,_163.target);
-}
-_12c(_161,_161);
-function del(_164){
-var id=$(_164).attr("id");
-var _165=_14f(_161,_164);
-var cc=_165?_165.children:$.data(_161,"tree").data;
-for(var i=0;i<cc.length;i++){
-if(cc[i].domId==id){
-cc.splice(i,1);
-break;
-}
-}
-return _165;
-};
-};
-function _127(_166,_167){
-var opts=$.data(_166,"tree").options;
-var node=$(_167.target);
-var data=_e0(_166,_167.target);
-var _168=data.checked;
-if(data.iconCls){
-node.find(".tree-icon").removeClass(data.iconCls);
-}
-$.extend(data,_167);
-node.find(".tree-title").html(opts.formatter.call(_166,data));
-if(data.iconCls){
-node.find(".tree-icon").addClass(data.iconCls);
-}
-if(_168!=data.checked){
-_104(_166,_167.target,data.checked);
-}
-};
-function _169(_16a,_16b){
-if(_16b){
-var p=_14f(_16a,_16b);
-while(p){
-_16b=p.target;
-p=_14f(_16a,_16b);
-}
-return _e0(_16a,_16b);
-}else{
-var _16c=_16d(_16a);
-return _16c.length?_16c[0]:null;
-}
-};
-function _16d(_16e){
-var _16f=$.data(_16e,"tree").data;
-for(var i=0;i<_16f.length;i++){
-_170(_16f[i]);
-}
-return _16f;
-};
-function _11f(_171,_172){
-var _173=[];
-var n=_e0(_171,_172);
-var data=n?(n.children||[]):$.data(_171,"tree").data;
-_12a(data,function(node){
-_173.push(_170(node));
-});
-return _173;
-};
-function _14f(_174,_175){
-var p=$(_175).closest("ul").prevAll("div.tree-node:first");
-return _e0(_174,p[0]);
-};
-function _176(_177,_178){
-_178=_178||"checked";
-if(!$.isArray(_178)){
-_178=[_178];
-}
-var _179=[];
-for(var i=0;i<_178.length;i++){
-var s=_178[i];
-if(s=="checked"){
-_179.push("span.tree-checkbox1");
-}else{
-if(s=="unchecked"){
-_179.push("span.tree-checkbox0");
-}else{
-if(s=="indeterminate"){
-_179.push("span.tree-checkbox2");
-}
-}
-}
-}
-var _17a=[];
-$(_177).find(_179.join(",")).each(function(){
-var node=$(this).parent();
-_17a.push(_e0(_177,node[0]));
-});
-return _17a;
-};
-function _17b(_17c){
-var node=$(_17c).find("div.tree-node-selected");
-return node.length?_e0(_17c,node[0]):null;
-};
-function _17d(_17e,_17f){
-var data=_e0(_17e,_17f);
-if(data&&data.children){
-_12a(data.children,function(node){
-_170(node);
-});
-}
-return data;
-};
-function _e0(_180,_181){
-return _126(_180,"domId",$(_181).attr("id"));
-};
-function _182(_183,id){
-return _126(_183,"id",id);
-};
-function _126(_184,_185,_186){
-var data=$.data(_184,"tree").data;
-var _187=null;
-_12a(data,function(node){
-if(node[_185]==_186){
-_187=_170(node);
-return false;
-}
-});
-return _187;
-};
-function _170(node){
-var d=$("#"+node.domId);
-node.target=d[0];
-node.checked=d.find(".tree-checkbox").hasClass("tree-checkbox1");
-return node;
-};
-function _12a(data,_188){
-var _189=[];
-for(var i=0;i<data.length;i++){
-_189.push(data[i]);
-}
-while(_189.length){
-var node=_189.shift();
-if(_188(node)==false){
-return;
-}
-if(node.children){
-for(var i=node.children.length-1;i>=0;i--){
-_189.unshift(node.children[i]);
-}
-}
-}
-};
-function _18a(_18b,_18c){
-var opts=$.data(_18b,"tree").options;
-var node=_e0(_18b,_18c);
-if(opts.onBeforeSelect.call(_18b,node)==false){
-return;
-}
-$(_18b).find("div.tree-node-selected").removeClass("tree-node-selected");
-$(_18c).addClass("tree-node-selected");
-opts.onSelect.call(_18b,node);
-};
-function _11b(_18d,_18e){
-return $(_18e).children("span.tree-hit").length==0;
-};
-function _18f(_190,_191){
-var opts=$.data(_190,"tree").options;
-var node=_e0(_190,_191);
-if(opts.onBeforeEdit.call(_190,node)==false){
-return;
-}
-$(_191).css("position","relative");
-var nt=$(_191).find(".tree-title");
-var _192=nt.outerWidth();
-nt.empty();
-var _193=$("<input class=\"tree-editor\">").appendTo(nt);
-_193.val(node.text).focus();
-_193.width(_192+20);
-_193.height(document.compatMode=="CSS1Compat"?(18-(_193.outerHeight()-_193.height())):18);
-_193.bind("click",function(e){
-return false;
-}).bind("mousedown",function(e){
-e.stopPropagation();
-}).bind("mousemove",function(e){
-e.stopPropagation();
-}).bind("keydown",function(e){
-if(e.keyCode==13){
-_194(_190,_191);
-return false;
-}else{
-if(e.keyCode==27){
-_198(_190,_191);
-return false;
-}
-}
-}).bind("blur",function(e){
-e.stopPropagation();
-_194(_190,_191);
-});
-};
-function _194(_195,_196){
-var opts=$.data(_195,"tree").options;
-$(_196).css("position","");
-var _197=$(_196).find("input.tree-editor");
-var val=_197.val();
-_197.remove();
-var node=_e0(_195,_196);
-node.text=val;
-_127(_195,node);
-opts.onAfterEdit.call(_195,node);
-};
-function _198(_199,_19a){
-var opts=$.data(_199,"tree").options;
-$(_19a).css("position","");
-$(_19a).find("input.tree-editor").remove();
-var node=_e0(_199,_19a);
-_127(_199,node);
-opts.onCancelEdit.call(_199,node);
-};
-function _19b(_19c,q){
-var _19d=$.data(_19c,"tree");
-var opts=_19d.options;
-var ids={};
-_12a(_19d.data,function(node){
-if(opts.filter.call(_19c,q,node)){
-$("#"+node.domId).removeClass("tree-node-hidden");
-ids[node.domId]=1;
-node.hidden=false;
-}else{
-$("#"+node.domId).addClass("tree-node-hidden");
-node.hidden=true;
-}
-});
-for(var id in ids){
-_19e(id);
-}
-function _19e(_19f){
-var p=$(_19c).tree("getParent",$("#"+_19f)[0]);
-while(p){
-$(p.target).removeClass("tree-node-hidden");
-p.hidden=false;
-p=$(_19c).tree("getParent",p.target);
-}
-};
-};
-$.fn.tree=function(_1a0,_1a1){
-if(typeof _1a0=="string"){
-return $.fn.tree.methods[_1a0](this,_1a1);
-}
-var _1a0=_1a0||{};
-return this.each(function(){
-var _1a2=$.data(this,"tree");
-var opts;
-if(_1a2){
-opts=$.extend(_1a2.options,_1a0);
-_1a2.options=opts;
-}else{
-opts=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_1a0);
-$.data(this,"tree",{options:opts,tree:_d5(this),data:[]});
-var data=$.fn.tree.parseData(this);
-if(data.length){
-_120(this,this,data);
-}
-}
-_d8(this);
-if(opts.data){
-_120(this,this,$.extend(true,[],opts.data));
-}
-_135(this,this);
-});
-};
-$.fn.tree.methods={options:function(jq){
-return $.data(jq[0],"tree").options;
-},loadData:function(jq,data){
-return jq.each(function(){
-_120(this,this,data);
-});
-},getNode:function(jq,_1a3){
-return _e0(jq[0],_1a3);
-},getData:function(jq,_1a4){
-return _17d(jq[0],_1a4);
-},reload:function(jq,_1a5){
-return jq.each(function(){
-if(_1a5){
-var node=$(_1a5);
-var hit=node.children("span.tree-hit");
-hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
-node.next().remove();
-_13c(this,_1a5);
-}else{
-$(this).empty();
-_135(this,this);
-}
-});
-},getRoot:function(jq,_1a6){
-return _169(jq[0],_1a6);
-},getRoots:function(jq){
-return _16d(jq[0]);
-},getParent:function(jq,_1a7){
-return _14f(jq[0],_1a7);
-},getChildren:function(jq,_1a8){
-return _11f(jq[0],_1a8);
-},getChecked:function(jq,_1a9){
-return _176(jq[0],_1a9);
-},getSelected:function(jq){
-return _17b(jq[0]);
-},isLeaf:function(jq,_1aa){
-return _11b(jq[0],_1aa);
-},find:function(jq,id){
-return _182(jq[0],id);
-},select:function(jq,_1ab){
-return jq.each(function(){
-_18a(this,_1ab);
-});
-},check:function(jq,_1ac){
-return jq.each(function(){
-_104(this,_1ac,true);
-});
-},uncheck:function(jq,_1ad){
-return jq.each(function(){
-_104(this,_1ad,false);
-});
-},collapse:function(jq,_1ae){
-return jq.each(function(){
-_141(this,_1ae);
-});
-},expand:function(jq,_1af){
-return jq.each(function(){
-_13c(this,_1af);
-});
-},collapseAll:function(jq,_1b0){
-return jq.each(function(){
-_153(this,_1b0);
-});
-},expandAll:function(jq,_1b1){
-return jq.each(function(){
-_147(this,_1b1);
-});
-},expandTo:function(jq,_1b2){
-return jq.each(function(){
-_14b(this,_1b2);
-});
-},scrollTo:function(jq,_1b3){
-return jq.each(function(){
-_150(this,_1b3);
-});
-},toggle:function(jq,_1b4){
-return jq.each(function(){
-_144(this,_1b4);
-});
-},append:function(jq,_1b5){
-return jq.each(function(){
-_157(this,_1b5);
-});
-},insert:function(jq,_1b6){
-return jq.each(function(){
-_15b(this,_1b6);
-});
-},remove:function(jq,_1b7){
-return jq.each(function(){
-_160(this,_1b7);
-});
-},pop:function(jq,_1b8){
-var node=jq.tree("getData",_1b8);
-jq.tree("remove",_1b8);
-return node;
-},update:function(jq,_1b9){
-return jq.each(function(){
-_127(this,_1b9);
-});
-},enableDnd:function(jq){
-return jq.each(function(){
-_e5(this);
-});
-},disableDnd:function(jq){
-return jq.each(function(){
-_e1(this);
-});
-},beginEdit:function(jq,_1ba){
-return jq.each(function(){
-_18f(this,_1ba);
-});
-},endEdit:function(jq,_1bb){
-return jq.each(function(){
-_194(this,_1bb);
-});
-},cancelEdit:function(jq,_1bc){
-return jq.each(function(){
-_198(this,_1bc);
-});
-},doFilter:function(jq,q){
-return jq.each(function(){
-_19b(this,q);
-});
-}};
-$.fn.tree.parseOptions=function(_1bd){
-var t=$(_1bd);
-return $.extend({},$.parser.parseOptions(_1bd,["url","method",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean",lines:"boolean",dnd:"boolean"}]));
-};
-$.fn.tree.parseData=function(_1be){
-var data=[];
-_1bf(data,$(_1be));
-return data;
-function _1bf(aa,tree){
-tree.children("li").each(function(){
-var node=$(this);
-var item=$.extend({},$.parser.parseOptions(this,["id","iconCls","state"]),{checked:(node.attr("checked")?true:undefined)});
-item.text=node.children("span").html();
-if(!item.text){
-item.text=node.html();
-}
-var _1c0=node.children("ul");
-if(_1c0.length){
-item.children=[];
-_1bf(item.children,_1c0);
-}
-aa.push(item);
-});
-};
-};
-var _1c1=1;
-var _1c2={render:function(_1c3,ul,data){
-var opts=$.data(_1c3,"tree").options;
-var _1c4=$(ul).prev("div.tree-node").find("span.tree-indent, span.tree-hit").length;
-var cc=_1c5(_1c4,data);
-$(ul).append(cc.join(""));
-function _1c5(_1c6,_1c7){
-var cc=[];
-for(var i=0;i<_1c7.length;i++){
-var item=_1c7[i];
-if(item.state!="open"&&item.state!="closed"){
-item.state="open";
-}
-item.domId="_easyui_tree_"+_1c1++;
-cc.push("<li>");
-cc.push("<div id=\""+item.domId+"\" class=\"tree-node\">");
-for(var j=0;j<_1c6;j++){
-cc.push("<span class=\"tree-indent\"></span>");
-}
-var _1c8=false;
-if(item.state=="closed"){
-cc.push("<span class=\"tree-hit tree-collapsed\"></span>");
-cc.push("<span class=\"tree-icon tree-folder "+(item.iconCls?item.iconCls:"")+"\"></span>");
-}else{
-if(item.children&&item.children.length){
-cc.push("<span class=\"tree-hit tree-expanded\"></span>");
-cc.push("<span class=\"tree-icon tree-folder tree-folder-open "+(item.iconCls?item.iconCls:"")+"\"></span>");
-}else{
-cc.push("<span class=\"tree-indent\"></span>");
-cc.push("<span class=\"tree-icon tree-file "+(item.iconCls?item.iconCls:"")+"\"></span>");
-_1c8=true;
-}
-}
-if(opts.checkbox){
-if((!opts.onlyLeafCheck)||_1c8){
-cc.push("<span class=\"tree-checkbox tree-checkbox0\"></span>");
-}
-}
-cc.push("<span class=\"tree-title\">"+opts.formatter.call(_1c3,item)+"</span>");
-cc.push("</div>");
-if(item.children&&item.children.length){
-var tmp=_1c5(_1c6+1,item.children);
-cc.push("<ul style=\"display:"+(item.state=="closed"?"none":"block")+"\">");
-cc=cc.concat(tmp);
-cc.push("</ul>");
-}
-cc.push("</li>");
-}
-return cc;
-};
-}};
-$.fn.tree.defaults={url:null,method:"post",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,data:null,queryParams:{},formatter:function(node){
-return node.text;
-},filter:function(q,node){
-return node.text.toLowerCase().indexOf(q.toLowerCase())>=0;
-},loader:function(_1c9,_1ca,_1cb){
-var opts=$(this).tree("options");
-if(!opts.url){
-return false;
-}
-$.ajax({type:opts.method,url:opts.url,data:_1c9,dataType:"json",success:function(data){
-_1ca(data);
-},error:function(){
-_1cb.apply(this,arguments);
-}});
-},loadFilter:function(data,_1cc){
-return data;
-},view:_1c2,onBeforeLoad:function(node,_1cd){
-},onLoadSuccess:function(node,data){
-},onLoadError:function(){
-},onClick:function(node){
-},onDblClick:function(node){
-},onBeforeExpand:function(node){
-},onExpand:function(node){
-},onBeforeCollapse:function(node){
-},onCollapse:function(node){
-},onBeforeCheck:function(node,_1ce){
-},onCheck:function(node,_1cf){
-},onBeforeSelect:function(node){
-},onSelect:function(node){
-},onContextMenu:function(e,node){
-},onBeforeDrag:function(node){
-},onStartDrag:function(node){
-},onStopDrag:function(node){
-},onDragEnter:function(_1d0,_1d1){
-},onDragOver:function(_1d2,_1d3){
-},onDragLeave:function(_1d4,_1d5){
-},onBeforeDrop:function(_1d6,_1d7,_1d8){
-},onDrop:function(_1d9,_1da,_1db){
-},onBeforeEdit:function(node){
-},onAfterEdit:function(node){
-},onCancelEdit:function(node){
-}};
-})(jQuery);
-(function($){
-function init(_1dc){
-$(_1dc).addClass("progressbar");
-$(_1dc).html("<div class=\"progressbar-text\"></div><div class=\"progressbar-value\"><div class=\"progressbar-text\"></div></div>");
-$(_1dc).bind("_resize",function(e,_1dd){
-if($(this).hasClass("easyui-fluid")||_1dd){
-_1de(_1dc);
-}
-return false;
-});
-return $(_1dc);
-};
-function _1de(_1df,_1e0){
-var opts=$.data(_1df,"progressbar").options;
-var bar=$.data(_1df,"progressbar").bar;
-if(_1e0){
-opts.width=_1e0;
-}
-bar._size(opts);
-bar.find("div.progressbar-text").css("width",bar.width());
-bar.find("div.progressbar-text,div.progressbar-value").css({height:bar.height()+"px",lineHeight:bar.height()+"px"});
-};
-$.fn.progressbar=function(_1e1,_1e2){
-if(typeof _1e1=="string"){
-var _1e3=$.fn.progressbar.methods[_1e1];
-if(_1e3){
-return _1e3(this,_1e2);
-}
-}
-_1e1=_1e1||{};
-return this.each(function(){
-var _1e4=$.data(this,"progressbar");
-if(_1e4){
-$.extend(_1e4.options,_1e1);
-}else{
-_1e4=$.data(this,"progressbar",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_1e1),bar:init(this)});
-}
-$(this).progressbar("setValue",_1e4.options.value);
-_1de(this);
-});
-};
-$.fn.progressbar.methods={options:function(jq){
-return $.data(jq[0],"progressbar").options;
-},resize:function(jq,_1e5){
-return jq.each(function(){
-_1de(this,_1e5);
-});
-},getValue:function(jq){
-return $.data(jq[0],"progressbar").options.value;
-},setValue:function(jq,_1e6){
-if(_1e6<0){
-_1e6=0;
-}
-if(_1e6>100){
-_1e6=100;
-}
-return jq.each(function(){
-var opts=$.data(this,"progressbar").options;
-var text=opts.text.replace(/{value}/,_1e6);
-var _1e7=opts.value;
-opts.value=_1e6;
-$(this).find("div.progressbar-value").width(_1e6+"%");
-$(this).find("div.progressbar-text").html(text);
-if(_1e7!=_1e6){
-opts.onChange.call(this,_1e6,_1e7);
-}
-});
-}};
-$.fn.progressbar.parseOptions=function(_1e8){
-return $.extend({},$.parser.parseOptions(_1e8,["width","height","text",{value:"number"}]));
-};
-$.fn.progressbar.defaults={width:"auto",height:22,value:0,text:"{value}%",onChange:function(_1e9,_1ea){
-}};
-})(jQuery);
-(function($){
-function init(_1eb){
-$(_1eb).addClass("tooltip-f");
-};
-function _1ec(_1ed){
-var opts=$.data(_1ed,"tooltip").options;
-$(_1ed).unbind(".tooltip").bind(opts.showEvent+".tooltip",function(e){
-$(_1ed).tooltip("show",e);
-}).bind(opts.hideEvent+".tooltip",function(e){
-$(_1ed).tooltip("hide",e);
-}).bind("mousemove.tooltip",function(e){
-if(opts.trackMouse){
-opts.trackMouseX=e.pageX;
-opts.trackMouseY=e.pageY;
-$(_1ed).tooltip("reposition");
-}
-});
-};
-function _1ee(_1ef){
-var _1f0=$.data(_1ef,"tooltip");
-if(_1f0.showTimer){
-clearTimeout(_1f0.showTimer);
-_1f0.showTimer=null;
-}
-if(_1f0.hideTimer){
-clearTimeout(_1f0.hideTimer);
-_1f0.hideTimer=null;
-}
-};
-function _1f1(_1f2){
-var _1f3=$.data(_1f2,"tooltip");
-if(!_1f3||!_1f3.tip){
-return;
-}
-var opts=_1f3.options;
-var tip=_1f3.tip;
-var pos={left:-100000,top:-100000};
-if($(_1f2).is(":visible")){
-pos=_1f4(opts.position);
-if(opts.position=="top"&&pos.top<0){
-pos=_1f4("bottom");
-}else{
-if((opts.position=="bottom")&&(pos.top+tip._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){
-pos=_1f4("top");
-}
-}
-if(pos.left<0){
-if(opts.position=="left"){
-pos=_1f4("right");
-}else{
-$(_1f2).tooltip("arrow").css("left",tip._outerWidth()/2+pos.left);
-pos.left=0;
-}
-}else{
-if(pos.left+tip._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){
-if(opts.position=="right"){
-pos=_1f4("left");
-}else{
-var left=pos.left;
-pos.left=$(window)._outerWidth()+$(document)._scrollLeft()-tip._outerWidth();
-$(_1f2).tooltip("arrow").css("left",tip._outerWidth()/2-(pos.left-left));
-}
-}
-}
-}
-tip.css({left:pos.left,top:pos.top,zIndex:(opts.zIndex!=undefined?opts.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:""))});
-opts.onPosition.call(_1f2,pos.left,pos.top);
-function _1f4(_1f5){
-opts.position=_1f5||"bottom";
-tip.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-"+opts.position);
-var left,top;
-if(opts.trackMouse){
-t=$();
-left=opts.trackMouseX+opts.deltaX;
-top=opts.trackMouseY+opts.deltaY;
-}else{
-var t=$(_1f2);
-left=t.offset().left+opts.deltaX;
-top=t.offset().top+opts.deltaY;
-}
-switch(opts.position){
-case "right":
-left+=t._outerWidth()+12+(opts.trackMouse?12:0);
-top-=(tip._outerHeight()-t._outerHeight())/2;
-break;
-case "left":
-left-=tip._outerWidth()+12+(opts.trackMouse?12:0);
-top-=(tip._outerHeight()-t._outerHeight())/2;
-break;
-case "top":
-left-=(tip._outerWidth()-t._outerWidth())/2;
-top-=tip._outerHeight()+12+(opts.trackMouse?12:0);
-break;
-case "bottom":
-left-=(tip._outerWidth()-t._outerWidth())/2;
-top+=t._outerHeight()+12+(opts.trackMouse?12:0);
-break;
-}
-return {left:left,top:top};
-};
-};
-function _1f6(_1f7,e){
-var _1f8=$.data(_1f7,"tooltip");
-var opts=_1f8.options;
-var tip=_1f8.tip;
-if(!tip){
-tip=$("<div tabindex=\"-1\" class=\"tooltip\">"+"<div class=\"tooltip-content\"></div>"+"<div class=\"tooltip-arrow-outer\"></div>"+"<div class=\"tooltip-arrow\"></div>"+"</div>").appendTo("body");
-_1f8.tip=tip;
-_1f9(_1f7);
-}
-_1ee(_1f7);
-_1f8.showTimer=setTimeout(function(){
-$(_1f7).tooltip("reposition");
-tip.show();
-opts.onShow.call(_1f7,e);
-var _1fa=tip.children(".tooltip-arrow-outer");
-var _1fb=tip.children(".tooltip-arrow");
-var bc="border-"+opts.position+"-color";
-_1fa.add(_1fb).css({borderTopColor:"",borderBottomColor:"",borderLeftColor:"",borderRightColor:""});
-_1fa.css(bc,tip.css(bc));
-_1fb.css(bc,tip.css("backgroundColor"));
-},opts.showDelay);
-};
-function _1fc(_1fd,e){
-var _1fe=$.data(_1fd,"tooltip");
-if(_1fe&&_1fe.tip){
-_1ee(_1fd);
-_1fe.hideTimer=setTimeout(function(){
-_1fe.tip.hide();
-_1fe.options.onHide.call(_1fd,e);
-},_1fe.options.hideDelay);
-}
-};
-function _1f9(_1ff,_200){
-var _201=$.data(_1ff,"tooltip");
-var opts=_201.options;
-if(_200){
-opts.content=_200;
-}
-if(!_201.tip){
-return;
-}
-var cc=typeof opts.content=="function"?opts.content.call(_1ff):opts.content;
-_201.tip.children(".tooltip-content").html(cc);
-opts.onUpdate.call(_1ff,cc);
-};
-function _202(_203){
-var _204=$.data(_203,"tooltip");
-if(_204){
-_1ee(_203);
-var opts=_204.options;
-if(_204.tip){
-_204.tip.remove();
-}
-if(opts._title){
-$(_203).attr("title",opts._title);
-}
-$.removeData(_203,"tooltip");
-$(_203).unbind(".tooltip").removeClass("tooltip-f");
-opts.onDestroy.call(_203);
-}
-};
-$.fn.tooltip=function(_205,_206){
-if(typeof _205=="string"){
-return $.fn.tooltip.methods[_205](this,_206);
-}
-_205=_205||{};
-return this.each(function(){
-var _207=$.data(this,"tooltip");
-if(_207){
-$.extend(_207.options,_205);
-}else{
-$.data(this,"tooltip",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_205)});
-init(this);
-}
-_1ec(this);
-_1f9(this);
-});
-};
-$.fn.tooltip.methods={options:function(jq){
-return $.data(jq[0],"tooltip").options;
-},tip:function(jq){
-return $.data(jq[0],"tooltip").tip;
-},arrow:function(jq){
-return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow");
-},show:function(jq,e){
-return jq.each(function(){
-_1f6(this,e);
-});
-},hide:function(jq,e){
-return jq.each(function(){
-_1fc(this,e);
-});
-},update:function(jq,_208){
-return jq.each(function(){
-_1f9(this,_208);
-});
-},reposition:function(jq){
-return jq.each(function(){
-_1f1(this);
-});
-},destroy:function(jq){
-return jq.each(function(){
-_202(this);
-});
-}};
-$.fn.tooltip.parseOptions=function(_209){
-var t=$(_209);
-var opts=$.extend({},$.parser.parseOptions(_209,["position","showEvent","hideEvent","content",{trackMouse:"boolean",deltaX:"number",deltaY:"number",showDelay:"number",hideDelay:"number"}]),{_title:t.attr("title")});
-t.attr("title","");
-if(!opts.content){
-opts.content=opts._title;
-}
-return opts;
-};
-$.fn.tooltip.defaults={position:"bottom",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:"mouseenter",hideEvent:"mouseleave",showDelay:200,hideDelay:100,onShow:function(e){
-},onHide:function(e){
-},onUpdate:function(_20a){
-},onPosition:function(left,top){
-},onDestroy:function(){
-}};
-})(jQuery);
-(function($){
-$.fn._remove=function(){
-return this.each(function(){
-$(this).remove();
-try{
-this.outerHTML="";
-}
-catch(err){
-}
-});
-};
-function _20b(node){
-node._remove();
-};
-function _20c(_20d,_20e){
-var _20f=$.data(_20d,"panel");
-var opts=_20f.options;
-var _210=_20f.panel;
-var _211=_210.children(".panel-header");
-var _212=_210.children(".panel-body");
-var _213=_210.children(".panel-footer");
-if(_20e){
-$.extend(opts,{width:_20e.width,height:_20e.height,minWidth:_20e.minWidth,maxWidth:_20e.maxWidth,minHeight:_20e.minHeight,maxHeight:_20e.maxHeight,left:_20e.left,top:_20e.top});
-}
-_210._size(opts);
-_211.add(_212)._outerWidth(_210.width());
-if(!isNaN(parseInt(opts.height))){
-_212._outerHeight(_210.height()-_211._outerHeight()-_213._outerHeight());
-}else{
-_212.css("height","");
-var min=$.parser.parseValue("minHeight",opts.minHeight,_210.parent());
-var max=$.parser.parseValue("maxHeight",opts.maxHeight,_210.parent());
-var _214=_211._outerHeight()+_213._outerHeight()+_210._outerHeight()-_210.height();
-_212._size("minHeight",min?(min-_214):"");
-_212._size("maxHeight",max?(max-_214):"");
-}
-_210.css({height:"",minHeight:"",maxHeight:"",left:opts.left,top:opts.top});
-opts.onResize.apply(_20d,[opts.width,opts.height]);
-$(_20d).panel("doLayout");
-};
-function _215(_216,_217){
-var opts=$.data(_216,"panel").options;
-var _218=$.data(_216,"panel").panel;
-if(_217){
-if(_217.left!=null){
-opts.left=_217.left;
-}
-if(_217.top!=null){
-opts.top=_217.top;
-}
-}
-_218.css({left:opts.left,top:opts.top});
-opts.onMove.apply(_216,[opts.left,opts.top]);
-};
-function _219(_21a){
-$(_21a).addClass("panel-body")._size("clear");
-var _21b=$("<div class=\"panel\"></div>").insertBefore(_21a);
-_21b[0].appendChild(_21a);
-_21b.bind("_resize",function(e,_21c){
-if($(this).hasClass("easyui-fluid")||_21c){
-_20c(_21a);
-}
-return false;
-});
-return _21b;
-};
-function _21d(_21e){
-var _21f=$.data(_21e,"panel");
-var opts=_21f.options;
-var _220=_21f.panel;
-_220.css(opts.style);
-_220.addClass(opts.cls);
-_221();
-_222();
-var _223=$(_21e).panel("header");
-var body=$(_21e).panel("body");
-var _224=$(_21e).siblings(".panel-footer");
-if(opts.border){
-_223.removeClass("panel-header-noborder");
-body.removeClass("panel-body-noborder");
-_224.removeClass("panel-footer-noborder");
-}else{
-_223.addClass("panel-header-noborder");
-body.addClass("panel-body-noborder");
-_224.addClass("panel-footer-noborder");
-}
-_223.addClass(opts.headerCls);
-body.addClass(opts.bodyCls);
-$(_21e).attr("id",opts.id||"");
-if(opts.content){
-$(_21e).panel("clear");
-$(_21e).html(opts.content);
-$.parser.parse($(_21e));
-}
-function _221(){
-if(opts.noheader||(!opts.title&&!opts.header)){
-_20b(_220.children(".panel-header"));
-_220.children(".panel-body").addClass("panel-body-noheader");
-}else{
-if(opts.header){
-$(opts.header).addClass("panel-header").prependTo(_220);
-}else{
-var _225=_220.children(".panel-header");
-if(!_225.length){
-_225=$("<div class=\"panel-header\"></div>").prependTo(_220);
-}
-if(!$.isArray(opts.tools)){
-_225.find("div.panel-tool .panel-tool-a").appendTo(opts.tools);
-}
-_225.empty();
-var _226=$("<div class=\"panel-title\"></div>").html(opts.title).appendTo(_225);
-if(opts.iconCls){
-_226.addClass("panel-with-icon");
-$("<div class=\"panel-icon\"></div>").addClass(opts.iconCls).appendTo(_225);
-}
-var tool=$("<div class=\"panel-tool\"></div>").appendTo(_225);
-tool.bind("click",function(e){
-e.stopPropagation();
-});
-if(opts.tools){
-if($.isArray(opts.tools)){
-$.map(opts.tools,function(t){
-_227(tool,t.iconCls,eval(t.handler));
-});
-}else{
-$(opts.tools).children().each(function(){
-$(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(tool);
-});
-}
-}
-if(opts.collapsible){
-_227(tool,"panel-tool-collapse",function(){
-if(opts.collapsed==true){
-_245(_21e,true);
-}else{
-_238(_21e,true);
-}
-});
-}
-if(opts.minimizable){
-_227(tool,"panel-tool-min",function(){
-_24b(_21e);
-});
-}
-if(opts.maximizable){
-_227(tool,"panel-tool-max",function(){
-if(opts.maximized==true){
-_24e(_21e);
-}else{
-_237(_21e);
-}
-});
-}
-if(opts.closable){
-_227(tool,"panel-tool-close",function(){
-_239(_21e);
-});
-}
-}
-_220.children("div.panel-body").removeClass("panel-body-noheader");
-}
-};
-function _227(c,icon,_228){
-var a=$("<a href=\"javascript:void(0)\"></a>").addClass(icon).appendTo(c);
-a.bind("click",_228);
-};
-function _222(){
-if(opts.footer){
-$(opts.footer).addClass("panel-footer").appendTo(_220);
-$(_21e).addClass("panel-body-nobottom");
-}else{
-_220.children(".panel-footer").remove();
-$(_21e).removeClass("panel-body-nobottom");
-}
-};
-};
-function _229(_22a,_22b){
-var _22c=$.data(_22a,"panel");
-var opts=_22c.options;
-if(_22d){
-opts.queryParams=_22b;
-}
-if(!opts.href){
-return;
-}
-if(!_22c.isLoaded||!opts.cache){
-var _22d=$.extend({},opts.queryParams);
-if(opts.onBeforeLoad.call(_22a,_22d)==false){
-return;
-}
-_22c.isLoaded=false;
-$(_22a).panel("clear");
-if(opts.loadingMessage){
-$(_22a).html($("<div class=\"panel-loading\"></div>").html(opts.loadingMessage));
-}
-opts.loader.call(_22a,_22d,function(data){
-var _22e=opts.extractor.call(_22a,data);
-$(_22a).html(_22e);
-$.parser.parse($(_22a));
-opts.onLoad.apply(_22a,arguments);
-_22c.isLoaded=true;
-},function(){
-opts.onLoadError.apply(_22a,arguments);
-});
-}
-};
-function _22f(_230){
-var t=$(_230);
-t.find(".combo-f").each(function(){
-$(this).combo("destroy");
-});
-t.find(".m-btn").each(function(){
-$(this).menubutton("destroy");
-});
-t.find(".s-btn").each(function(){
-$(this).splitbutton("destroy");
-});
-t.find(".tooltip-f").each(function(){
-$(this).tooltip("destroy");
-});
-t.children("div").each(function(){
-$(this)._size("unfit");
-});
-t.empty();
-};
-function _231(_232){
-$(_232).panel("doLayout",true);
-};
-function _233(_234,_235){
-var opts=$.data(_234,"panel").options;
-var _236=$.data(_234,"panel").panel;
-if(_235!=true){
-if(opts.onBeforeOpen.call(_234)==false){
-return;
-}
-}
-_236.stop(true,true);
-if($.isFunction(opts.openAnimation)){
-opts.openAnimation.call(_234,cb);
-}else{
-switch(opts.openAnimation){
-case "slide":
-_236.slideDown(opts.openDuration,cb);
-break;
-case "fade":
-_236.fadeIn(opts.openDuration,cb);
-break;
-case "show":
-_236.show(opts.openDuration,cb);
-break;
-default:
-_236.show();
-cb();
-}
-}
-function cb(){
-opts.closed=false;
-opts.minimized=false;
-var tool=_236.children(".panel-header").find("a.panel-tool-restore");
-if(tool.length){
-opts.maximized=true;
-}
-opts.onOpen.call(_234);
-if(opts.maximized==true){
-opts.maximized=false;
-_237(_234);
-}
-if(opts.collapsed==true){
-opts.collapsed=false;
-_238(_234);
-}
-if(!opts.collapsed){
-_229(_234);
-_231(_234);
-}
-};
-};
-function _239(_23a,_23b){
-var opts=$.data(_23a,"panel").options;
-var _23c=$.data(_23a,"panel").panel;
-if(_23b!=true){
-if(opts.onBeforeClose.call(_23a)==false){
-return;
-}
-}
-_23c.stop(true,true);
-_23c._size("unfit");
-if($.isFunction(opts.closeAnimation)){
-opts.closeAnimation.call(_23a,cb);
-}else{
-switch(opts.closeAnimation){
-case "slide":
-_23c.slideUp(opts.closeDuration,cb);
-break;
-case "fade":
-_23c.fadeOut(opts.closeDuration,cb);
-break;
-case "hide":
-_23c.hide(opts.closeDuration,cb);
-break;
-default:
-_23c.hide();
-cb();
-}
-}
-function cb(){
-opts.closed=true;
-opts.onClose.call(_23a);
-};
-};
-function _23d(_23e,_23f){
-var _240=$.data(_23e,"panel");
-var opts=_240.options;
-var _241=_240.panel;
-if(_23f!=true){
-if(opts.onBeforeDestroy.call(_23e)==false){
-return;
-}
-}
-$(_23e).panel("clear").panel("clear","footer");
-_20b(_241);
-opts.onDestroy.call(_23e);
-};
-function _238(_242,_243){
-var opts=$.data(_242,"panel").options;
-var _244=$.data(_242,"panel").panel;
-var body=_244.children(".panel-body");
-var tool=_244.children(".panel-header").find("a.panel-tool-collapse");
-if(opts.collapsed==true){
-return;
-}
-body.stop(true,true);
-if(opts.onBeforeCollapse.call(_242)==false){
-return;
-}
-tool.addClass("panel-tool-expand");
-if(_243==true){
-body.slideUp("normal",function(){
-opts.collapsed=true;
-opts.onCollapse.call(_242);
-});
-}else{
-body.hide();
-opts.collapsed=true;
-opts.onCollapse.call(_242);
-}
-};
-function _245(_246,_247){
-var opts=$.data(_246,"panel").options;
-var _248=$.data(_246,"panel").panel;
-var body=_248.children(".panel-body");
-var tool=_248.children(".panel-header").find("a.panel-tool-collapse");
-if(opts.collapsed==false){
-return;
-}
-body.stop(true,true);
-if(opts.onBeforeExpand.call(_246)==false){
-return;
-}
-tool.removeClass("panel-tool-expand");
-if(_247==true){
-body.slideDown("normal",function(){
-opts.collapsed=false;
-opts.onExpand.call(_246);
-_229(_246);
-_231(_246);
-});
-}else{
-body.show();
-opts.collapsed=false;
-opts.onExpand.call(_246);
-_229(_246);
-_231(_246);
-}
-};
-function _237(_249){
-var opts=$.data(_249,"panel").options;
-var _24a=$.data(_249,"panel").panel;
-var tool=_24a.children(".panel-header").find("a.panel-tool-max");
-if(opts.maximized==true){
-return;
-}
-tool.addClass("panel-tool-restore");
-if(!$.data(_249,"panel").original){
-$.data(_249,"panel").original={width:opts.width,height:opts.height,left:opts.left,top:opts.top,fit:opts.fit};
-}
-opts.left=0;
-opts.top=0;
-opts.fit=true;
-_20c(_249);
-opts.minimized=false;
-opts.maximized=true;
-opts.onMaximize.call(_249);
-};
-function _24b(_24c){
-var opts=$.data(_24c,"panel").options;
-var _24d=$.data(_24c,"panel").panel;
-_24d._size("unfit");
-_24d.hide();
-opts.minimized=true;
-opts.maximized=false;
-opts.onMinimize.call(_24c);
-};
-function _24e(_24f){
-var opts=$.data(_24f,"panel").options;
-var _250=$.data(_24f,"panel").panel;
-var tool=_250.children(".panel-header").find("a.panel-tool-max");
-if(opts.maximized==false){
-return;
-}
-_250.show();
-tool.removeClass("panel-tool-restore");
-$.extend(opts,$.data(_24f,"panel").original);
-_20c(_24f);
-opts.minimized=false;
-opts.maximized=false;
-$.data(_24f,"panel").original=null;
-opts.onRestore.call(_24f);
-};
-function _251(_252,_253){
-$.data(_252,"panel").options.title=_253;
-$(_252).panel("header").find("div.panel-title").html(_253);
-};
-var _254=null;
-$(window).unbind(".panel").bind("resize.panel",function(){
-if(_254){
-clearTimeout(_254);
-}
-_254=setTimeout(function(){
-var _255=$("body.layout");
-if(_255.length){
-_255.layout("resize");
-$("body").children(".easyui-fluid:visible").each(function(){
-$(this).triggerHandler("_resize");
-});
-}else{
-$("body").panel("doLayout");
-}
-_254=null;
-},100);
-});
-$.fn.panel=function(_256,_257){
-if(typeof _256=="string"){
-return $.fn.panel.methods[_256](this,_257);
-}
-_256=_256||{};
-return this.each(function(){
-var _258=$.data(this,"panel");
-var opts;
-if(_258){
-opts=$.extend(_258.options,_256);
-_258.isLoaded=false;
-}else{
-opts=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_256);
-$(this).attr("title","");
-_258=$.data(this,"panel",{options:opts,panel:_219(this),isLoaded:false});
-}
-_21d(this);
-if(opts.doSize==true){
-_258.panel.css("display","block");
-_20c(this);
-}
-if(opts.closed==true||opts.minimized==true){
-_258.panel.hide();
-}else{
-_233(this);
-}
-});
-};
-$.fn.panel.methods={options:function(jq){
-return $.data(jq[0],"panel").options;
-},panel:function(jq){
-return $.data(jq[0],"panel").panel;
-},header:function(jq){
-return $.data(jq[0],"panel").panel.children(".panel-header");
-},footer:function(jq){
-return jq.panel("panel").children(".panel-footer");
-},body:function(jq){
-return $.data(jq[0],"panel").panel.children(".panel-body");
-},setTitle:function(jq,_259){
-return jq.each(function(){
-_251(this,_259);
-});
-},open:function(jq,_25a){
-return jq.each(function(){
-_233(this,_25a);
-});
-},close:function(jq,_25b){
-return jq.each(function(){
-_239(this,_25b);
-});
-},destroy:function(jq,_25c){
-return jq.each(function(){
-_23d(this,_25c);
-});
-},clear:function(jq,type){
-return jq.each(function(){
-_22f(type=="footer"?$(this).panel("footer"):this);
-});
-},refresh:function(jq,href){
-return jq.each(function(){
-var _25d=$.data(this,"panel");
-_25d.isLoaded=false;
-if(href){
-if(typeof href=="string"){
-_25d.options.href=href;
-}else{
-_25d.options.queryParams=href;
-}
-}
-_229(this);
-});
-},resize:function(jq,_25e){
-return jq.each(function(){
-_20c(this,_25e);
-});
-},doLayout:function(jq,all){
-return jq.each(function(){
-_25f(this,"body");
-_25f($(this).siblings(".panel-footer")[0],"footer");
-function _25f(_260,type){
-if(!_260){
-return;
-}
-var _261=_260==$("body")[0];
-var s=$(_260).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_262,el){
-var p=$(el).parents(".panel-"+type+":first");
-return _261?p.length==0:p[0]==_260;
-});
-s.each(function(){
-$(this).triggerHandler("_resize",[all||false]);
-});
-};
-});
-},move:function(jq,_263){
-return jq.each(function(){
-_215(this,_263);
-});
-},maximize:function(jq){
-return jq.each(function(){
-_237(this);
-});
-},minimize:function(jq){
-return jq.each(function(){
-_24b(this);
-});
-},restore:function(jq){
-return jq.each(function(){
-_24e(this);
-});
-},collapse:function(jq,_264){
-return jq.each(function(){
-_238(this,_264);
-});
-},expand:function(jq,_265){
-return jq.each(function(){
-_245(this,_265);
-});
-}};
-$.fn.panel.parseOptions=function(_266){
-var t=$(_266);
-var hh=t.children(".panel-header,header");
-var ff=t.children(".panel-footer,footer");
-return $.extend({},$.parser.parseOptions(_266,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method","header","footer",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"},"openAnimation","closeAnimation",{openDuration:"number",closeDuration:"number"},]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined),header:(hh.length?hh.removeClass("panel-header"):undefined),footer:(ff.length?ff.removeClass("panel-footer"):undefined)});
-};
-$.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,header:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_267,_268,_269){
-var opts=$(this).panel("options");
-if(!opts.href){
-return false;
-}
-$.ajax({type:opts.method,url:opts.href,cache:false,data:_267,dataType:"html",success:function(data){
-_268(data);
-},error:function(){
-_269.apply(this,arguments);
-}});
-},extractor:function(data){
-var _26a=/<body[^>]*>((.|[\n\r])*)<\/body>/im;
-var _26b=_26a.exec(data);
-if(_26b){
-return _26b[1];
-}else{
-return data;
-}
-},onBeforeLoad:function(_26c){
-},onLoad:function(){
-},onLoadError:function(){
-},onBeforeOpen:function(){
-},onOpen:function(){
-},onBeforeClose:function(){
-},onClose:function(){
-},onBeforeDestroy:function(){
-},onDestroy:function(){
-},onResize:function(_26d,_26e){
-},onMove:function(left,top){
-},onMaximize:function(){
-},onRestore:function(){
-},onMinimize:function(){
-},onBeforeCollapse:function(){
-},onBeforeExpand:function(){
-},onCollapse:function(){
-},onExpand:function(){
-}};
-})(jQuery);
-(function($){
-function _26f(_270,_271){
-var _272=$.data(_270,"window");
-if(_271){
-if(_271.left!=null){
-_272.options.left=_271.left;
-}
-if(_271.top!=null){
-_272.options.top=_271.top;
-}
-}
-$(_270).panel("move",_272.options);
-if(_272.shadow){
-_272.shadow.css({left:_272.options.left,top:_272.options.top});
-}
-};
-function _273(_274,_275){
-var opts=$.data(_274,"window").options;
-var pp=$(_274).window("panel");
-var _276=pp._outerWidth();
-if(opts.inline){
-var _277=pp.parent();
-opts.left=Math.ceil((_277.width()-_276)/2+_277.scrollLeft());
-}else{
-opts.left=Math.ceil(($(window)._outerWidth()-_276)/2+$(document).scrollLeft());
-}
-if(_275){
-_26f(_274);
-}
-};
-function _278(_279,_27a){
-var opts=$.data(_279,"window").options;
-var pp=$(_279).window("panel");
-var _27b=pp._outerHeight();
-if(opts.inline){
-var _27c=pp.parent();
-opts.top=Math.ceil((_27c.height()-_27b)/2+_27c.scrollTop());
-}else{
-opts.top=Math.ceil(($(window)._outerHeight()-_27b)/2+$(document).scrollTop());
-}
-if(_27a){
-_26f(_279);
-}
-};
-function _27d(_27e){
-var _27f=$.data(_27e,"window");
-var opts=_27f.options;
-var win=$(_27e).panel($.extend({},_27f.options,{border:false,doSize:true,closed:true,cls:"window",headerCls:"window-header",bodyCls:"window-body "+(opts.noheader?"window-body-noheader":""),onBeforeDestroy:function(){
-if(opts.onBeforeDestroy.call(_27e)==false){
-return false;
-}
-if(_27f.shadow){
-_27f.shadow.remove();
-}
-if(_27f.mask){
-_27f.mask.remove();
-}
-},onClose:function(){
-if(_27f.shadow){
-_27f.shadow.hide();
-}
-if(_27f.mask){
-_27f.mask.hide();
-}
-opts.onClose.call(_27e);
-},onOpen:function(){
-if(_27f.mask){
-_27f.mask.css($.extend({display:"block",zIndex:$.fn.window.defaults.zIndex++},$.fn.window.getMaskSize(_27e)));
-}
-if(_27f.shadow){
-_27f.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:opts.left,top:opts.top,width:_27f.window._outerWidth(),height:_27f.window._outerHeight()});
-}
-_27f.window.css("z-index",$.fn.window.defaults.zIndex++);
-opts.onOpen.call(_27e);
-},onResize:function(_280,_281){
-var _282=$(this).panel("options");
-$.extend(opts,{width:_282.width,height:_282.height,left:_282.left,top:_282.top});
-if(_27f.shadow){
-_27f.shadow.css({left:opts.left,top:opts.top,width:_27f.window._outerWidth(),height:_27f.window._outerHeight()});
-}
-opts.onResize.call(_27e,_280,_281);
-},onMinimize:function(){
-if(_27f.shadow){
-_27f.shadow.hide();
-}
-if(_27f.mask){
-_27f.mask.hide();
-}
-_27f.options.onMinimize.call(_27e);
-},onBeforeCollapse:function(){
-if(opts.onBeforeCollapse.call(_27e)==false){
-return false;
-}
-if(_27f.shadow){
-_27f.shadow.hide();
-}
-},onExpand:function(){
-if(_27f.shadow){
-_27f.shadow.show();
-}
-opts.onExpand.call(_27e);
-}}));
-_27f.window=win.panel("panel");
-if(_27f.mask){
-_27f.mask.remove();
-}
-if(opts.modal){
-_27f.mask=$("<div class=\"window-mask\" style=\"display:none\"></div>").insertAfter(_27f.window);
-}
-if(_27f.shadow){
-_27f.shadow.remove();
-}
-if(opts.shadow){
-_27f.shadow=$("<div class=\"window-shadow\" style=\"display:none\"></div>").insertAfter(_27f.window);
-}
-var _283=opts.closed;
-if(opts.left==null){
-_273(_27e);
-}
-if(opts.top==null){
-_278(_27e);
-}
-_26f(_27e);
-if(!_283){
-win.window("open");
-}
-};
-function _284(_285){
-var _286=$.data(_285,"window");
-_286.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_286.options.draggable==false,onStartDrag:function(e){
-if(_286.mask){
-_286.mask.css("z-index",$.fn.window.defaults.zIndex++);
-}
-if(_286.shadow){
-_286.shadow.css("z-index",$.fn.window.defaults.zIndex++);
-}
-_286.window.css("z-index",$.fn.window.defaults.zIndex++);
-if(!_286.proxy){
-_286.proxy=$("<div class=\"window-proxy\"></div>").insertAfter(_286.window);
-}
-_286.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top});
-_286.proxy._outerWidth(_286.window._outerWidth());
-_286.proxy._outerHeight(_286.window._outerHeight());
-setTimeout(function(){
-if(_286.proxy){
-_286.proxy.show();
-}
-},500);
-},onDrag:function(e){
-_286.proxy.css({display:"block",left:e.data.left,top:e.data.top});
-return false;
-},onStopDrag:function(e){
-_286.options.left=e.data.left;
-_286.options.top=e.data.top;
-$(_285).window("move");
-_286.proxy.remove();
-_286.proxy=null;
-}});
-_286.window.resizable({disabled:_286.options.resizable==false,onStartResize:function(e){
-if(_286.pmask){
-_286.pmask.remove();
-}
-_286.pmask=$("<div class=\"window-proxy-mask\"></div>").insertAfter(_286.window);
-_286.pmask.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_286.window._outerWidth(),height:_286.window._outerHeight()});
-if(_286.proxy){
-_286.proxy.remove();
-}
-_286.proxy=$("<div class=\"window-proxy\"></div>").insertAfter(_286.window);
-_286.proxy.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top});
-_286.proxy._outerWidth(e.data.width)._outerHeight(e.data.height);
-},onResize:function(e){
-_286.proxy.css({left:e.data.left,top:e.data.top});
-_286.proxy._outerWidth(e.data.width);
-_286.proxy._outerHeight(e.data.height);
-return false;
-},onStopResize:function(e){
-$(_285).window("resize",e.data);
-_286.pmask.remove();
-_286.pmask=null;
-_286.proxy.remove();
-_286.proxy=null;
-}});
-};
-$(window).resize(function(){
-$("body>div.window-mask").css({width:$(window)._outerWidth(),height:$(window)._outerHeight()});
-setTimeout(function(){
-$("body>div.window-mask").css($.fn.window.getMaskSize());
-},50);
-});
-$.fn.window=function(_287,_288){
-if(typeof _287=="string"){
-var _289=$.fn.window.methods[_287];
-if(_289){
-return _289(this,_288);
-}else{
-return this.panel(_287,_288);
-}
-}
-_287=_287||{};
-return this.each(function(){
-var _28a=$.data(this,"window");
-if(_28a){
-$.extend(_28a.options,_287);
-}else{
-_28a=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_287)});
-if(!_28a.options.inline){
-document.body.appendChild(this);
-}
-}
-_27d(this);
-_284(this);
-});
-};
-$.fn.window.methods={options:function(jq){
-var _28b=jq.panel("options");
-var _28c=$.data(jq[0],"window").options;
-return $.extend(_28c,{closed:_28b.closed,collapsed:_28b.collapsed,minimized:_28b.minimized,maximized:_28b.maximized});
-},window:function(jq){
-return $.data(jq[0],"window").window;
-},move:function(jq,_28d){
-return jq.each(function(){
-_26f(this,_28d);
-});
-},hcenter:function(jq){
-return jq.each(function(){
-_273(this,true);
-});
-},vcenter:function(jq){
-return jq.each(function(){
-_278(this,true);
-});
-},center:function(jq){
-return jq.each(function(){
-_273(this);
-_278(this);
-_26f(this);
-});
-}};
-$.fn.window.getMaskSize=function(_28e){
-var _28f=$(_28e).data("window");
-var _290=(_28f&&_28f.options.inline);
-return {width:(_290?"100%":$(document).width()),height:(_290?"100%":$(document).height())};
-};
-$.fn.window.parseOptions=function(_291){
-return $.extend({},$.fn.panel.parseOptions(_291),$.parser.parseOptions(_291,[{draggable:"boolean",resizable:"boolean",shadow:"boolean",modal:"boolean",inline:"boolean"}]));
-};
-$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false});
-})(jQuery);
-(function($){
-function _292(_293){
-var opts=$.data(_293,"dialog").options;
-opts.inited=false;
-$(_293).window($.extend({},opts,{onResize:function(w,h){
-if(opts.inited){
-_298(this);
-opts.onResize.call(this,w,h);
-}
-}}));
-var win=$(_293).window("window");
-if(opts.toolbar){
-if($.isArray(opts.toolbar)){
-$(_293).siblings("div.dialog-toolbar").remove();
-var _294=$("<div class=\"dialog-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").appendTo(win);
-var tr=_294.find("tr");
-for(var i=0;i<opts.toolbar.length;i++){
-var btn=opts.toolbar[i];
-if(btn=="-"){
-$("<td><div class=\"dialog-tool-separator\"></div></td>").appendTo(tr);
-}else{
-var td=$("<td></td>").appendTo(tr);
-var tool=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
-tool[0].onclick=eval(btn.handler||function(){
-});
-tool.linkbutton($.extend({},btn,{plain:true}));
-}
-}
-}else{
-$(opts.toolbar).addClass("dialog-toolbar").appendTo(win);
-$(opts.toolbar).show();
-}
-}else{
-$(_293).siblings("div.dialog-toolbar").remove();
-}
-if(opts.buttons){
-if($.isArray(opts.buttons)){
-$(_293).siblings("div.dialog-button").remove();
-var _295=$("<div class=\"dialog-button\"></div>").appendTo(win);
-for(var i=0;i<opts.buttons.length;i++){
-var p=opts.buttons[i];
-var _296=$("<a href=\"javascript:void(0)\"></a>").appendTo(_295);
-if(p.handler){
-_296[0].onclick=p.handler;
-}
-_296.linkbutton(p);
-}
-}else{
-$(opts.buttons).addClass("dialog-button").appendTo(win);
-$(opts.buttons).show();
-}
-}else{
-$(_293).siblings("div.dialog-button").remove();
-}
-opts.inited=true;
-var _297=opts.closed;
-win.show();
-$(_293).window("resize");
-if(_297){
-win.hide();
-}
-};
-function _298(_299,_29a){
-var t=$(_299);
-var opts=t.dialog("options");
-var _29b=opts.noheader;
-var tb=t.siblings(".dialog-toolbar");
-var bb=t.siblings(".dialog-button");
-tb.insertBefore(_299).css({position:"relative",borderTopWidth:(_29b?1:0),top:(_29b?tb.length:0)});
-bb.insertAfter(_299).css({position:"relative",top:-1});
-tb.add(bb)._outerWidth(t._outerWidth()).find(".easyui-fluid:visible").each(function(){
-$(this).triggerHandler("_resize");
-});
-var _29c=tb._outerHeight()+bb._outerHeight();
-if(!isNaN(parseInt(opts.height))){
-t._outerHeight(t._outerHeight()-_29c);
-}else{
-var _29d=t._size("min-height");
-if(_29d){
-t._size("min-height",_29d-_29c);
-}
-var _29e=t._size("max-height");
-if(_29e){
-t._size("max-height",_29e-_29c);
-}
-}
-var _29f=$.data(_299,"window").shadow;
-if(_29f){
-var cc=t.panel("panel");
-_29f.css({width:cc._outerWidth(),height:cc._outerHeight()});
-}
-};
-$.fn.dialog=function(_2a0,_2a1){
-if(typeof _2a0=="string"){
-var _2a2=$.fn.dialog.methods[_2a0];
-if(_2a2){
-return _2a2(this,_2a1);
-}else{
-return this.window(_2a0,_2a1);
-}
-}
-_2a0=_2a0||{};
-return this.each(function(){
-var _2a3=$.data(this,"dialog");
-if(_2a3){
-$.extend(_2a3.options,_2a0);
-}else{
-$.data(this,"dialog",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_2a0)});
-}
-_292(this);
-});
-};
-$.fn.dialog.methods={options:function(jq){
-var _2a4=$.data(jq[0],"dialog").options;
-var _2a5=jq.panel("options");
-$.extend(_2a4,{width:_2a5.width,height:_2a5.height,left:_2a5.left,top:_2a5.top,closed:_2a5.closed,collapsed:_2a5.collapsed,minimized:_2a5.minimized,maximized:_2a5.maximized});
-return _2a4;
-},dialog:function(jq){
-return jq.window("window");
-}};
-$.fn.dialog.parseOptions=function(_2a6){
-var t=$(_2a6);
-return $.extend({},$.fn.window.parseOptions(_2a6),$.parser.parseOptions(_2a6,["toolbar","buttons"]),{toolbar:(t.children(".dialog-toolbar").length?t.children(".dialog-toolbar").removeClass("dialog-toolbar"):undefined),buttons:(t.children(".dialog-button").length?t.children(".dialog-button").removeClass("dialog-button"):undefined)});
-};
-$.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:"New Dialog",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null});
-})(jQuery);
-(function($){
-function _2a7(){
-$(document).unbind(".messager").bind("keydown.messager",function(e){
-if(e.keyCode==27){
-$("body").children("div.messager-window").children("div.messager-body").each(function(){
-$(this).dialog("close");
-});
-}else{
-if(e.keyCode==9){
-var win=$("body").children("div.messager-window");
-if(!win.length){
-return;
-}
-var _2a8=win.find(".messager-input,.messager-button .l-btn");
-for(var i=0;i<_2a8.length;i++){
-if($(_2a8[i]).is(":focus")){
-$(_2a8[i>=_2a8.length-1?0:i+1]).focus();
-return false;
-}
-}
-}
-}
-});
-};
-function _2a9(){
-$(document).unbind(".messager");
-};
-function _2aa(_2ab){
-var opts=$.extend({},$.messager.defaults,{modal:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},title:"",width:250,height:100,minHeight:0,showType:"slide",showSpeed:600,content:_2ab.msg,timeout:4000},_2ab);
-var dlg=$("<div class=\"messager-body\"></div>").appendTo("body");
-dlg.dialog($.extend({},opts,{noheader:(opts.title?false:true),openAnimation:(opts.showType),closeAnimation:(opts.showType=="show"?"hide":opts.showType),openDuration:opts.showSpeed,closeDuration:opts.showSpeed,onOpen:function(){
-dlg.dialog("dialog").hover(function(){
-if(opts.timer){
-clearTimeout(opts.timer);
-}
-},function(){
-_2ac();
-});
-_2ac();
-function _2ac(){
-if(opts.timeout>0){
-opts.timer=setTimeout(function(){
-if(dlg.length&&dlg.data("dialog")){
-dlg.dialog("close");
-}
-},opts.timeout);
-}
-};
-if(_2ab.onOpen){
-_2ab.onOpen.call(this);
-}else{
-opts.onOpen.call(this);
-}
-},onClose:function(){
-if(opts.timer){
-clearTimeout(opts.timer);
-}
-if(_2ab.onClose){
-_2ab.onClose.call(this);
-}else{
-opts.onClose.call(this);
-}
-dlg.dialog("destroy");
-}}));
-dlg.dialog("dialog").css(opts.style);
-dlg.dialog("open");
-return dlg;
-};
-function _2ad(_2ae){
-_2a7();
-var dlg=$("<div class=\"messager-body\"></div>").appendTo("body");
-dlg.dialog($.extend({},_2ae,{noheader:(_2ae.title?false:true),onClose:function(){
-_2a9();
-if(_2ae.onClose){
-_2ae.onClose.call(this);
-}
-setTimeout(function(){
-dlg.dialog("destroy");
-},100);
-}}));
-var win=dlg.dialog("dialog").addClass("messager-window");
-win.find(".dialog-button").addClass("messager-button").find("a:first").focus();
-return dlg;
-};
-function _2af(dlg,_2b0){
-dlg.dialog("close");
-dlg.dialog("options").fn(_2b0);
-};
-$.messager={show:function(_2b1){
-return _2aa(_2b1);
-},alert:function(_2b2,msg,icon,fn){
-var opts=typeof _2b2=="object"?_2b2:{title:_2b2,msg:msg,icon:icon,fn:fn};
-var cls=opts.icon?"messager-icon messager-"+opts.icon:"";
-opts=$.extend({},$.messager.defaults,{content:"<div class=\""+cls+"\"></div>"+"<div>"+opts.msg+"</div>"+"<div style=\"clear:both;\"/>"},opts);
-if(!opts.buttons){
-opts.buttons=[{text:opts.ok,onClick:function(){
-_2af(dlg);
-}}];
-}
-var dlg=_2ad(opts);
-return dlg;
-},confirm:function(_2b3,msg,fn){
-var opts=typeof _2b3=="object"?_2b3:{title:_2b3,msg:msg,fn:fn};
-opts=$.extend({},$.messager.defaults,{content:"<div class=\"messager-icon messager-question\"></div>"+"<div>"+opts.msg+"</div>"+"<div style=\"clear:both;\"/>"},opts);
-if(!opts.buttons){
-opts.buttons=[{text:opts.ok,onClick:function(){
-_2af(dlg,true);
-}},{text:opts.cancel,onClick:function(){
-_2af(dlg,false);
-}}];
-}
-var dlg=_2ad(opts);
-return dlg;
-},prompt:function(_2b4,msg,fn){
-var opts=typeof _2b4=="object"?_2b4:{title:_2b4,msg:msg,fn:fn};
-opts=$.extend({},$.messager.defaults,{content:"<div class=\"messager-icon messager-question\"></div>"+"<div>"+opts.msg+"</div>"+"<br/>"+"<div style=\"clear:both;\"/>"+"<div><input class=\"messager-input\" type=\"text\"/></div>"},opts);
-if(!opts.buttons){
-opts.buttons=[{text:opts.ok,onClick:function(){
-_2af(dlg,dlg.find(".messager-input").val());
-}},{text:opts.cancel,onClick:function(){
-_2af(dlg);
-}}];
-}
-var dlg=_2ad(opts);
-dlg.find("input.messager-input").focus();
-return dlg;
-},progress:function(_2b5){
-var _2b6={bar:function(){
-return $("body>div.messager-window").find("div.messager-p-bar");
-},close:function(){
-var dlg=$("body>div.messager-window>div.messager-body:has(div.messager-progress)");
-if(dlg.length){
-dlg.dialog("close");
-}
-}};
-if(typeof _2b5=="string"){
-var _2b7=_2b6[_2b5];
-return _2b7();
-}
-_2b5=_2b5||{};
-var opts=$.extend({},{title:"",minHeight:0,content:undefined,msg:"",text:undefined,interval:300},_2b5);
-var dlg=_2ad($.extend({},$.messager.defaults,{content:"<div class=\"messager-progress\"><div class=\"messager-p-msg\">"+opts.msg+"</div><div class=\"messager-p-bar\"></div></div>",closable:false,doSize:false},opts,{onClose:function(){
-if(this.timer){
-clearInterval(this.timer);
-}
-if(_2b5.onClose){
-_2b5.onClose.call(this);
-}else{
-$.messager.defaults.onClose.call(this);
-}
-}}));
-var bar=dlg.find("div.messager-p-bar");
-bar.progressbar({text:opts.text});
-dlg.dialog("resize");
-if(opts.interval){
-dlg[0].timer=setInterval(function(){
-var v=bar.progressbar("getValue");
-v+=10;
-if(v>100){
-v=0;
-}
-bar.progressbar("setValue",v);
-},opts.interval);
-}
-return dlg;
-}};
-$.messager.defaults=$.extend({},$.fn.dialog.defaults,{ok:"Ok",cancel:"Cancel",width:300,height:"auto",minHeight:150,modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,fn:function(){
-}});
-})(jQuery);
-(function($){
-function _2b8(_2b9,_2ba){
-var _2bb=$.data(_2b9,"accordion");
-var opts=_2bb.options;
-var _2bc=_2bb.panels;
-var cc=$(_2b9);
-if(_2ba){
-$.extend(opts,{width:_2ba.width,height:_2ba.height});
-}
-cc._size(opts);
-var _2bd=0;
-var _2be="auto";
-var _2bf=cc.find(">.panel>.accordion-header");
-if(_2bf.length){
-_2bd=$(_2bf[0]).css("height","")._outerHeight();
-}
-if(!isNaN(parseInt(opts.height))){
-_2be=cc.height()-_2bd*_2bf.length;
-}
-_2c0(true,_2be-_2c0(false)+1);
-function _2c0(_2c1,_2c2){
-var _2c3=0;
-for(var i=0;i<_2bc.length;i++){
-var p=_2bc[i];
-var h=p.panel("header")._outerHeight(_2bd);
-if(p.panel("options").collapsible==_2c1){
-var _2c4=isNaN(_2c2)?undefined:(_2c2+_2bd*h.length);
-p.panel("resize",{width:cc.width(),height:(_2c1?_2c4:undefined)});
-_2c3+=p.panel("panel").outerHeight()-_2bd*h.length;
-}
-}
-return _2c3;
-};
-};
-function _2c5(_2c6,_2c7,_2c8,all){
-var _2c9=$.data(_2c6,"accordion").panels;
-var pp=[];
-for(var i=0;i<_2c9.length;i++){
-var p=_2c9[i];
-if(_2c7){
-if(p.panel("options")[_2c7]==_2c8){
-pp.push(p);
-}
-}else{
-if(p[0]==$(_2c8)[0]){
-return i;
-}
-}
-}
-if(_2c7){
-return all?pp:(pp.length?pp[0]:null);
-}else{
-return -1;
-}
-};
-function _2ca(_2cb){
-return _2c5(_2cb,"collapsed",false,true);
-};
-function _2cc(_2cd){
-var pp=_2ca(_2cd);
-return pp.length?pp[0]:null;
-};
-function _2ce(_2cf,_2d0){
-return _2c5(_2cf,null,_2d0);
-};
-function _2d1(_2d2,_2d3){
-var _2d4=$.data(_2d2,"accordion").panels;
-if(typeof _2d3=="number"){
-if(_2d3<0||_2d3>=_2d4.length){
-return null;
-}else{
-return _2d4[_2d3];
-}
-}
-return _2c5(_2d2,"title",_2d3);
-};
-function _2d5(_2d6){
-var opts=$.data(_2d6,"accordion").options;
-var cc=$(_2d6);
-if(opts.border){
-cc.removeClass("accordion-noborder");
-}else{
-cc.addClass("accordion-noborder");
-}
-};
-function init(_2d7){
-var _2d8=$.data(_2d7,"accordion");
-var cc=$(_2d7);
-cc.addClass("accordion");
-_2d8.panels=[];
-cc.children("div").each(function(){
-var opts=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)});
-var pp=$(this);
-_2d8.panels.push(pp);
-_2da(_2d7,pp,opts);
-});
-cc.bind("_resize",function(e,_2d9){
-if($(this).hasClass("easyui-fluid")||_2d9){
-_2b8(_2d7);
-}
-return false;
-});
-};
-function _2da(_2db,pp,_2dc){
-var opts=$.data(_2db,"accordion").options;
-pp.panel($.extend({},{collapsible:true,minimizable:false,maximizable:false,closable:false,doSize:false,collapsed:true,headerCls:"accordion-header",bodyCls:"accordion-body"},_2dc,{onBeforeExpand:function(){
-if(_2dc.onBeforeExpand){
-if(_2dc.onBeforeExpand.call(this)==false){
-return false;
-}
-}
-if(!opts.multiple){
-var all=$.grep(_2ca(_2db),function(p){
-return p.panel("options").collapsible;
-});
-for(var i=0;i<all.length;i++){
-_2e4(_2db,_2ce(_2db,all[i]));
-}
-}
-var _2dd=$(this).panel("header");
-_2dd.addClass("accordion-header-selected");
-_2dd.find(".accordion-collapse").removeClass("accordion-expand");
-},onExpand:function(){
-if(_2dc.onExpand){
-_2dc.onExpand.call(this);
-}
-opts.onSelect.call(_2db,$(this).panel("options").title,_2ce(_2db,this));
-},onBeforeCollapse:function(){
-if(_2dc.onBeforeCollapse){
-if(_2dc.onBeforeCollapse.call(this)==false){
-return false;
-}
-}
-var _2de=$(this).panel("header");
-_2de.removeClass("accordion-header-selected");
-_2de.find(".accordion-collapse").addClass("accordion-expand");
-},onCollapse:function(){
-if(_2dc.onCollapse){
-_2dc.onCollapse.call(this);
-}
-opts.onUnselect.call(_2db,$(this).panel("options").title,_2ce(_2db,this));
-}}));
-var _2df=pp.panel("header");
-var tool=_2df.children("div.panel-tool");
-tool.children("a.panel-tool-collapse").hide();
-var t=$("<a href=\"javascript:void(0)\"></a>").addClass("accordion-collapse accordion-expand").appendTo(tool);
-t.bind("click",function(){
-_2e0(pp);
-return false;
-});
-pp.panel("options").collapsible?t.show():t.hide();
-_2df.click(function(){
-_2e0(pp);
-return false;
-});
-function _2e0(p){
-var _2e1=p.panel("options");
-if(_2e1.collapsible){
-var _2e2=_2ce(_2db,p);
-if(_2e1.collapsed){
-_2e3(_2db,_2e2);
-}else{
-_2e4(_2db,_2e2);
-}
-}
-};
-};
-function _2e3(_2e5,_2e6){
-var p=_2d1(_2e5,_2e6);
-if(!p){
-return;
-}
-_2e7(_2e5);
-var opts=$.data(_2e5,"accordion").options;
-p.panel("expand",opts.animate);
-};
-function _2e4(_2e8,_2e9){
-var p=_2d1(_2e8,_2e9);
-if(!p){
-return;
-}
-_2e7(_2e8);
-var opts=$.data(_2e8,"accordion").options;
-p.panel("collapse",opts.animate);
-};
-function _2ea(_2eb){
-var opts=$.data(_2eb,"accordion").options;
-var p=_2c5(_2eb,"selected",true);
-if(p){
-_2ec(_2ce(_2eb,p));
-}else{
-_2ec(opts.selected);
-}
-function _2ec(_2ed){
-var _2ee=opts.animate;
-opts.animate=false;
-_2e3(_2eb,_2ed);
-opts.animate=_2ee;
-};
-};
-function _2e7(_2ef){
-var _2f0=$.data(_2ef,"accordion").panels;
-for(var i=0;i<_2f0.length;i++){
-_2f0[i].stop(true,true);
-}
-};
-function add(_2f1,_2f2){
-var _2f3=$.data(_2f1,"accordion");
-var opts=_2f3.options;
-var _2f4=_2f3.panels;
-if(_2f2.selected==undefined){
-_2f2.selected=true;
-}
-_2e7(_2f1);
-var pp=$("<div></div>").appendTo(_2f1);
-_2f4.push(pp);
-_2da(_2f1,pp,_2f2);
-_2b8(_2f1);
-opts.onAdd.call(_2f1,_2f2.title,_2f4.length-1);
-if(_2f2.selected){
-_2e3(_2f1,_2f4.length-1);
-}
-};
-function _2f5(_2f6,_2f7){
-var _2f8=$.data(_2f6,"accordion");
-var opts=_2f8.options;
-var _2f9=_2f8.panels;
-_2e7(_2f6);
-var _2fa=_2d1(_2f6,_2f7);
-var _2fb=_2fa.panel("options").title;
-var _2fc=_2ce(_2f6,_2fa);
-if(!_2fa){
-return;
-}
-if(opts.onBeforeRemove.call(_2f6,_2fb,_2fc)==false){
-return;
-}
-_2f9.splice(_2fc,1);
-_2fa.panel("destroy");
-if(_2f9.length){
-_2b8(_2f6);
-var curr=_2cc(_2f6);
-if(!curr){
-_2e3(_2f6,0);
-}
-}
-opts.onRemove.call(_2f6,_2fb,_2fc);
-};
-$.fn.accordion=function(_2fd,_2fe){
-if(typeof _2fd=="string"){
-return $.fn.accordion.methods[_2fd](this,_2fe);
-}
-_2fd=_2fd||{};
-return this.each(function(){
-var _2ff=$.data(this,"accordion");
-if(_2ff){
-$.extend(_2ff.options,_2fd);
-}else{
-$.data(this,"accordion",{options:$.extend({},$.fn.accordion.defaults,$.fn.accordion.parseOptions(this),_2fd),accordion:$(this).addClass("accordion"),panels:[]});
-init(this);
-}
-_2d5(this);
-_2b8(this);
-_2ea(this);
-});
-};
-$.fn.accordion.methods={options:function(jq){
-return $.data(jq[0],"accordion").options;
-},panels:function(jq){
-return $.data(jq[0],"accordion").panels;
-},resize:function(jq,_300){
-return jq.each(function(){
-_2b8(this,_300);
-});
-},getSelections:function(jq){
-return _2ca(jq[0]);
-},getSelected:function(jq){
-return _2cc(jq[0]);
-},getPanel:function(jq,_301){
-return _2d1(jq[0],_301);
-},getPanelIndex:function(jq,_302){
-return _2ce(jq[0],_302);
-},select:function(jq,_303){
-return jq.each(function(){
-_2e3(this,_303);
-});
-},unselect:function(jq,_304){
-return jq.each(function(){
-_2e4(this,_304);
-});
-},add:function(jq,_305){
-return jq.each(function(){
-add(this,_305);
-});
-},remove:function(jq,_306){
-return jq.each(function(){
-_2f5(this,_306);
-});
-}};
-$.fn.accordion.parseOptions=function(_307){
-var t=$(_307);
-return $.extend({},$.parser.parseOptions(_307,["width","height",{fit:"boolean",border:"boolean",animate:"boolean",multiple:"boolean",selected:"number"}]));
-};
-$.fn.accordion.defaults={width:"auto",height:"auto",fit:false,border:true,animate:true,multiple:false,selected:0,onSelect:function(_308,_309){
-},onUnselect:function(_30a,_30b){
-},onAdd:function(_30c,_30d){
-},onBeforeRemove:function(_30e,_30f){
-},onRemove:function(_310,_311){
-}};
-})(jQuery);
-(function($){
-function _312(c){
-var w=0;
-$(c).children().each(function(){
-w+=$(this).outerWidth(true);
-});
-return w;
-};
-function _313(_314){
-var opts=$.data(_314,"tabs").options;
-if(opts.tabPosition=="left"||opts.tabPosition=="right"||!opts.showHeader){
-return;
-}
-var _315=$(_314).children("div.tabs-header");
-var tool=_315.children("div.tabs-tool:not(.tabs-tool-hidden)");
-var _316=_315.children("div.tabs-scroller-left");
-var _317=_315.children("div.tabs-scroller-right");
-var wrap=_315.children("div.tabs-wrap");
-var _318=_315.outerHeight();
-if(opts.plain){
-_318-=_318-_315.height();
-}
-tool._outerHeight(_318);
-var _319=_312(_315.find("ul.tabs"));
-var _31a=_315.width()-tool._outerWidth();
-if(_319>_31a){
-_316.add(_317).show()._outerHeight(_318);
-if(opts.toolPosition=="left"){
-tool.css({left:_316.outerWidth(),right:""});
-wrap.css({marginLeft:_316.outerWidth()+tool._outerWidth(),marginRight:_317._outerWidth(),width:_31a-_316.outerWidth()-_317.outerWidth()});
-}else{
-tool.css({left:"",right:_317.outerWidth()});
-wrap.css({marginLeft:_316.outerWidth(),marginRight:_317.outerWidth()+tool._outerWidth(),width:_31a-_316.outerWidth()-_317.outerWidth()});
-}
-}else{
-_316.add(_317).hide();
-if(opts.toolPosition=="left"){
-tool.css({left:0,right:""});
-wrap.css({marginLeft:tool._outerWidth(),marginRight:0,width:_31a});
-}else{
-tool.css({left:"",right:0});
-wrap.css({marginLeft:0,marginRight:tool._outerWidth(),width:_31a});
-}
-}
-};
-function _31b(_31c){
-var opts=$.data(_31c,"tabs").options;
-var _31d=$(_31c).children("div.tabs-header");
-if(opts.tools){
-if(typeof opts.tools=="string"){
-$(opts.tools).addClass("tabs-tool").appendTo(_31d);
-$(opts.tools).show();
-}else{
-_31d.children("div.tabs-tool").remove();
-var _31e=$("<div class=\"tabs-tool\"><table cellspacing=\"0\" cellpadding=\"0\" style=\"height:100%\"><tr></tr></table></div>").appendTo(_31d);
-var tr=_31e.find("tr");
-for(var i=0;i<opts.tools.length;i++){
-var td=$("<td></td>").appendTo(tr);
-var tool=$("<a href=\"javascript:void(0);\"></a>").appendTo(td);
-tool[0].onclick=eval(opts.tools[i].handler||function(){
-});
-tool.linkbutton($.extend({},opts.tools[i],{plain:true}));
-}
-}
-}else{
-_31d.children("div.tabs-tool").remove();
-}
-};
-function _31f(_320,_321){
-var _322=$.data(_320,"tabs");
-var opts=_322.options;
-var cc=$(_320);
-if(!opts.doSize){
-return;
-}
-if(_321){
-$.extend(opts,{width:_321.width,height:_321.height});
-}
-cc._size(opts);
-var _323=cc.children("div.tabs-header");
-var _324=cc.children("div.tabs-panels");
-var wrap=_323.find("div.tabs-wrap");
-var ul=wrap.find(".tabs");
-ul.children("li").removeClass("tabs-first tabs-last");
-ul.children("li:first").addClass("tabs-first");
-ul.children("li:last").addClass("tabs-last");
-if(opts.tabPosition=="left"||opts.tabPosition=="right"){
-_323._outerWidth(opts.showHeader?opts.headerWidth:0);
-_324._outerWidth(cc.width()-_323.outerWidth());
-_323.add(_324)._size("height",isNaN(parseInt(opts.height))?"":cc.height());
-wrap._outerWidth(_323.width());
-ul._outerWidth(wrap.width()).css("height","");
-}else{
-_323.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool:not(.tabs-tool-hidden)").css("display",opts.showHeader?"block":"none");
-_323._outerWidth(cc.width()).css("height","");
-if(opts.showHeader){
-_323.css("background-color","");
-wrap.css("height","");
-}else{
-_323.css("background-color","transparent");
-_323._outerHeight(0);
-wrap._outerHeight(0);
-}
-ul._outerHeight(opts.tabHeight).css("width","");
-ul._outerHeight(ul.outerHeight()-ul.height()-1+opts.tabHeight).css("width","");
-_324._size("height",isNaN(parseInt(opts.height))?"":(cc.height()-_323.outerHeight()));
-_324._size("width",cc.width());
-}
-if(_322.tabs.length){
-var d1=ul.outerWidth(true)-ul.width();
-var li=ul.children("li:first");
-var d2=li.outerWidth(true)-li.width();
-var _325=_323.width()-_323.children(".tabs-tool:not(.tabs-tool-hidden)")._outerWidth();
-var _326=Math.floor((_325-d1-d2*_322.tabs.length)/_322.tabs.length);
-$.map(_322.tabs,function(p){
-_327(p,(opts.justified&&$.inArray(opts.tabPosition,["top","bottom"])>=0)?_326:undefined);
-});
-if(opts.justified&&$.inArray(opts.tabPosition,["top","bottom"])>=0){
-var _328=_325-d1-_312(ul);
-_327(_322.tabs[_322.tabs.length-1],_326+_328);
-}
-}
-_313(_320);
-function _327(p,_329){
-var _32a=p.panel("options");
-var p_t=_32a.tab.find("a.tabs-inner");
-var _329=_329?_329:(parseInt(_32a.tabWidth||opts.tabWidth||undefined));
-if(_329){
-p_t._outerWidth(_329);
-}else{
-p_t.css("width","");
-}
-p_t._outerHeight(opts.tabHeight);
-p_t.css("lineHeight",p_t.height()+"px");
-p_t.find(".easyui-fluid:visible").triggerHandler("_resize");
-};
-};
-function _32b(_32c){
-var opts=$.data(_32c,"tabs").options;
-var tab=_32d(_32c);
-if(tab){
-var _32e=$(_32c).children("div.tabs-panels");
-var _32f=opts.width=="auto"?"auto":_32e.width();
-var _330=opts.height=="auto"?"auto":_32e.height();
-tab.panel("resize",{width:_32f,height:_330});
-}
-};
-function _331(_332){
-var tabs=$.data(_332,"tabs").tabs;
-var cc=$(_332).addClass("tabs-container");
-var _333=$("<div class=\"tabs-panels\"></div>").insertBefore(cc);
-cc.children("div").each(function(){
-_333[0].appendChild(this);
-});
-cc[0].appendChild(_333[0]);
-$("<div class=\"tabs-header\">"+"<div class=\"tabs-scroller-left\"></div>"+"<div class=\"tabs-scroller-right\"></div>"+"<div class=\"tabs-wrap\">"+"<ul class=\"tabs\"></ul>"+"</div>"+"</div>").prependTo(_332);
-cc.children("div.tabs-panels").children("div").each(function(i){
-var opts=$.extend({},$.parser.parseOptions(this),{disabled:($(this).attr("disabled")?true:undefined),selected:($(this).attr("selected")?true:undefined)});
-_340(_332,opts,$(this));
-});
-cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){
-$(this).addClass("tabs-scroller-over");
-},function(){
-$(this).removeClass("tabs-scroller-over");
-});
-cc.bind("_resize",function(e,_334){
-if($(this).hasClass("easyui-fluid")||_334){
-_31f(_332);
-_32b(_332);
-}
-return false;
-});
-};
-function _335(_336){
-var _337=$.data(_336,"tabs");
-var opts=_337.options;
-$(_336).children("div.tabs-header").unbind().bind("click",function(e){
-if($(e.target).hasClass("tabs-scroller-left")){
-$(_336).tabs("scrollBy",-opts.scrollIncrement);
-}else{
-if($(e.target).hasClass("tabs-scroller-right")){
-$(_336).tabs("scrollBy",opts.scrollIncrement);
-}else{
-var li=$(e.target).closest("li");
-if(li.hasClass("tabs-disabled")){
-return false;
-}
-var a=$(e.target).closest("a.tabs-close");
-if(a.length){
-_359(_336,_338(li));
-}else{
-if(li.length){
-var _339=_338(li);
-var _33a=_337.tabs[_339].panel("options");
-if(_33a.collapsible){
-_33a.closed?_350(_336,_339):_36d(_336,_339);
-}else{
-_350(_336,_339);
-}
-}
-}
-return false;
-}
-}
-}).bind("contextmenu",function(e){
-var li=$(e.target).closest("li");
-if(li.hasClass("tabs-disabled")){
-return;
-}
-if(li.length){
-opts.onContextMenu.call(_336,e,li.find("span.tabs-title").html(),_338(li));
-}
-});
-function _338(li){
-var _33b=0;
-li.parent().children("li").each(function(i){
-if(li[0]==this){
-_33b=i;
-return false;
-}
-});
-return _33b;
-};
-};
-function _33c(_33d){
-var opts=$.data(_33d,"tabs").options;
-var _33e=$(_33d).children("div.tabs-header");
-var _33f=$(_33d).children("div.tabs-panels");
-_33e.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right");
-_33f.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right");
-if(opts.tabPosition=="top"){
-_33e.insertBefore(_33f);
-}else{
-if(opts.tabPosition=="bottom"){
-_33e.insertAfter(_33f);
-_33e.addClass("tabs-header-bottom");
-_33f.addClass("tabs-panels-top");
-}else{
-if(opts.tabPosition=="left"){
-_33e.addClass("tabs-header-left");
-_33f.addClass("tabs-panels-right");
-}else{
-if(opts.tabPosition=="right"){
-_33e.addClass("tabs-header-right");
-_33f.addClass("tabs-panels-left");
-}
-}
-}
-}
-if(opts.plain==true){
-_33e.addClass("tabs-header-plain");
-}else{
-_33e.removeClass("tabs-header-plain");
-}
-_33e.removeClass("tabs-header-narrow").addClass(opts.narrow?"tabs-header-narrow":"");
-var tabs=_33e.find(".tabs");
-tabs.removeClass("tabs-pill").addClass(opts.pill?"tabs-pill":"");
-tabs.removeClass("tabs-narrow").addClass(opts.narrow?"tabs-narrow":"");
-tabs.removeClass("tabs-justified").addClass(opts.justified?"tabs-justified":"");
-if(opts.border==true){
-_33e.removeClass("tabs-header-noborder");
-_33f.removeClass("tabs-panels-noborder");
-}else{
-_33e.addClass("tabs-header-noborder");
-_33f.addClass("tabs-panels-noborder");
-}
-opts.doSize=true;
-};
-function _340(_341,_342,pp){
-_342=_342||{};
-var _343=$.data(_341,"tabs");
-var tabs=_343.tabs;
-if(_342.index==undefined||_342.index>tabs.length){
-_342.index=tabs.length;
-}
-if(_342.index<0){
-_342.index=0;
-}
-var ul=$(_341).children("div.tabs-header").find("ul.tabs");
-var _344=$(_341).children("div.tabs-panels");
-var tab=$("<li>"+"<a href=\"javascript:void(0)\" class=\"tabs-inner\">"+"<span class=\"tabs-title\"></span>"+"<span class=\"tabs-icon\"></span>"+"</a>"+"</li>");
-if(!pp){
-pp=$("<div></div>");
-}
-if(_342.index>=tabs.length){
-tab.appendTo(ul);
-pp.appendTo(_344);
-tabs.push(pp);
-}else{
-tab.insertBefore(ul.children("li:eq("+_342.index+")"));
-pp.insertBefore(_344.children("div.panel:eq("+_342.index+")"));
-tabs.splice(_342.index,0,pp);
-}
-pp.panel($.extend({},_342,{tab:tab,border:false,noheader:true,closed:true,doSize:false,iconCls:(_342.icon?_342.icon:undefined),onLoad:function(){
-if(_342.onLoad){
-_342.onLoad.call(this,arguments);
-}
-_343.options.onLoad.call(_341,$(this));
-},onBeforeOpen:function(){
-if(_342.onBeforeOpen){
-if(_342.onBeforeOpen.call(this)==false){
-return false;
-}
-}
-var p=$(_341).tabs("getSelected");
-if(p){
-if(p[0]!=this){
-$(_341).tabs("unselect",_34b(_341,p));
-p=$(_341).tabs("getSelected");
-if(p){
-return false;
-}
-}else{
-_32b(_341);
-return false;
-}
-}
-var _345=$(this).panel("options");
-_345.tab.addClass("tabs-selected");
-var wrap=$(_341).find(">div.tabs-header>div.tabs-wrap");
-var left=_345.tab.position().left;
-var _346=left+_345.tab.outerWidth();
-if(left<0||_346>wrap.width()){
-var _347=left-(wrap.width()-_345.tab.width())/2;
-$(_341).tabs("scrollBy",_347);
-}else{
-$(_341).tabs("scrollBy",0);
-}
-var _348=$(this).panel("panel");
-_348.css("display","block");
-_32b(_341);
-_348.css("display","none");
-},onOpen:function(){
-if(_342.onOpen){
-_342.onOpen.call(this);
-}
-var _349=$(this).panel("options");
-_343.selectHis.push(_349.title);
-_343.options.onSelect.call(_341,_349.title,_34b(_341,this));
-},onBeforeClose:function(){
-if(_342.onBeforeClose){
-if(_342.onBeforeClose.call(this)==false){
-return false;
-}
-}
-$(this).panel("options").tab.removeClass("tabs-selected");
-},onClose:function(){
-if(_342.onClose){
-_342.onClose.call(this);
-}
-var _34a=$(this).panel("options");
-_343.options.onUnselect.call(_341,_34a.title,_34b(_341,this));
-}}));
-$(_341).tabs("update",{tab:pp,options:pp.panel("options"),type:"header"});
-};
-function _34c(_34d,_34e){
-var _34f=$.data(_34d,"tabs");
-var opts=_34f.options;
-if(_34e.selected==undefined){
-_34e.selected=true;
-}
-_340(_34d,_34e);
-opts.onAdd.call(_34d,_34e.title,_34e.index);
-if(_34e.selected){
-_350(_34d,_34e.index);
-}
-};
-function _351(_352,_353){
-_353.type=_353.type||"all";
-var _354=$.data(_352,"tabs").selectHis;
-var pp=_353.tab;
-var opts=pp.panel("options");
-var _355=opts.title;
-$.extend(opts,_353.options,{iconCls:(_353.options.icon?_353.options.icon:undefined)});
-if(_353.type=="all"||_353.type=="body"){
-pp.panel();
-}
-if(_353.type=="all"||_353.type=="header"){
-var tab=opts.tab;
-if(opts.header){
-tab.find(".tabs-inner").html($(opts.header));
-}else{
-var _356=tab.find("span.tabs-title");
-var _357=tab.find("span.tabs-icon");
-_356.html(opts.title);
-_357.attr("class","tabs-icon");
-tab.find("a.tabs-close").remove();
-if(opts.closable){
-_356.addClass("tabs-closable");
-$("<a href=\"javascript:void(0)\" class=\"tabs-close\"></a>").appendTo(tab);
-}else{
-_356.removeClass("tabs-closable");
-}
-if(opts.iconCls){
-_356.addClass("tabs-with-icon");
-_357.addClass(opts.iconCls);
-}else{
-_356.removeClass("tabs-with-icon");
-}
-if(opts.tools){
-var _358=tab.find("span.tabs-p-tool");
-if(!_358.length){
-var _358=$("<span class=\"tabs-p-tool\"></span>").insertAfter(tab.find("a.tabs-inner"));
-}
-if($.isArray(opts.tools)){
-_358.empty();
-for(var i=0;i<opts.tools.length;i++){
-var t=$("<a href=\"javascript:void(0)\"></a>").appendTo(_358);
-t.addClass(opts.tools[i].iconCls);
-if(opts.tools[i].handler){
-t.bind("click",{handler:opts.tools[i].handler},function(e){
-if($(this).parents("li").hasClass("tabs-disabled")){
-return;
-}
-e.data.handler.call(this);
-});
-}
-}
-}else{
-$(opts.tools).children().appendTo(_358);
-}
-var pr=_358.children().length*12;
-if(opts.closable){
-pr+=8;
-}else{
-pr-=3;
-_358.css("right","5px");
-}
-_356.css("padding-right",pr+"px");
-}else{
-tab.find("span.tabs-p-tool").remove();
-_356.css("padding-right","");
-}
-}
-if(_355!=opts.title){
-for(var i=0;i<_354.length;i++){
-if(_354[i]==_355){
-_354[i]=opts.title;
-}
-}
-}
-}
-if(opts.disabled){
-opts.tab.addClass("tabs-disabled");
-}else{
-opts.tab.removeClass("tabs-disabled");
-}
-_31f(_352);
-$.data(_352,"tabs").options.onUpdate.call(_352,opts.title,_34b(_352,pp));
-};
-function _359(_35a,_35b){
-var opts=$.data(_35a,"tabs").options;
-var tabs=$.data(_35a,"tabs").tabs;
-var _35c=$.data(_35a,"tabs").selectHis;
-if(!_35d(_35a,_35b)){
-return;
-}
-var tab=_35e(_35a,_35b);
-var _35f=tab.panel("options").title;
-var _360=_34b(_35a,tab);
-if(opts.onBeforeClose.call(_35a,_35f,_360)==false){
-return;
-}
-var tab=_35e(_35a,_35b,true);
-tab.panel("options").tab.remove();
-tab.panel("destroy");
-opts.onClose.call(_35a,_35f,_360);
-_31f(_35a);
-for(var i=0;i<_35c.length;i++){
-if(_35c[i]==_35f){
-_35c.splice(i,1);
-i--;
-}
-}
-var _361=_35c.pop();
-if(_361){
-_350(_35a,_361);
-}else{
-if(tabs.length){
-_350(_35a,0);
-}
-}
-};
-function _35e(_362,_363,_364){
-var tabs=$.data(_362,"tabs").tabs;
-if(typeof _363=="number"){
-if(_363<0||_363>=tabs.length){
-return null;
-}else{
-var tab=tabs[_363];
-if(_364){
-tabs.splice(_363,1);
-}
-return tab;
-}
-}
-for(var i=0;i<tabs.length;i++){
-var tab=tabs[i];
-if(tab.panel("options").title==_363){
-if(_364){
-tabs.splice(i,1);
-}
-return tab;
-}
-}
-return null;
-};
-function _34b(_365,tab){
-var tabs=$.data(_365,"tabs").tabs;
-for(var i=0;i<tabs.length;i++){
-if(tabs[i][0]==$(tab)[0]){
-return i;
-}
-}
-return -1;
-};
-function _32d(_366){
-var tabs=$.data(_366,"tabs").tabs;
-for(var i=0;i<tabs.length;i++){
-var tab=tabs[i];
-if(tab.panel("options").tab.hasClass("tabs-selected")){
-return tab;
-}
-}
-return null;
-};
-function _367(_368){
-var _369=$.data(_368,"tabs");
-var tabs=_369.tabs;
-for(var i=0;i<tabs.length;i++){
-var opts=tabs[i].panel("options");
-if(opts.selected&&!opts.disabled){
-_350(_368,i);
-return;
-}
-}
-_350(_368,_369.options.selected);
-};
-function _350(_36a,_36b){
-var p=_35e(_36a,_36b);
-if(p&&!p.is(":visible")){
-_36c(_36a);
-if(!p.panel("options").disabled){
-p.panel("open");
-}
-}
-};
-function _36d(_36e,_36f){
-var p=_35e(_36e,_36f);
-if(p&&p.is(":visible")){
-_36c(_36e);
-p.panel("close");
-}
-};
-function _36c(_370){
-$(_370).children("div.tabs-panels").each(function(){
-$(this).stop(true,true);
-});
-};
-function _35d(_371,_372){
-return _35e(_371,_372)!=null;
-};
-function _373(_374,_375){
-var opts=$.data(_374,"tabs").options;
-opts.showHeader=_375;
-$(_374).tabs("resize");
-};
-function _376(_377,_378){
-var tool=$(_377).find(">.tabs-header>.tabs-tool");
-if(_378){
-tool.removeClass("tabs-tool-hidden").show();
-}else{
-tool.addClass("tabs-tool-hidden").hide();
-}
-$(_377).tabs("resize").tabs("scrollBy",0);
-};
-$.fn.tabs=function(_379,_37a){
-if(typeof _379=="string"){
-return $.fn.tabs.methods[_379](this,_37a);
-}
-_379=_379||{};
-return this.each(function(){
-var _37b=$.data(this,"tabs");
-if(_37b){
-$.extend(_37b.options,_379);
-}else{
-$.data(this,"tabs",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_379),tabs:[],selectHis:[]});
-_331(this);
-}
-_31b(this);
-_33c(this);
-_31f(this);
-_335(this);
-_367(this);
-});
-};
-$.fn.tabs.methods={options:function(jq){
-var cc=jq[0];
-var opts=$.data(cc,"tabs").options;
-var s=_32d(cc);
-opts.selected=s?_34b(cc,s):-1;
-return opts;
-},tabs:function(jq){
-return $.data(jq[0],"tabs").tabs;
-},resize:function(jq,_37c){
-return jq.each(function(){
-_31f(this,_37c);
-_32b(this);
-});
-},add:function(jq,_37d){
-return jq.each(function(){
-_34c(this,_37d);
-});
-},close:function(jq,_37e){
-return jq.each(function(){
-_359(this,_37e);
-});
-},getTab:function(jq,_37f){
-return _35e(jq[0],_37f);
-},getTabIndex:function(jq,tab){
-return _34b(jq[0],tab);
-},getSelected:function(jq){
-return _32d(jq[0]);
-},select:function(jq,_380){
-return jq.each(function(){
-_350(this,_380);
-});
-},unselect:function(jq,_381){
-return jq.each(function(){
-_36d(this,_381);
-});
-},exists:function(jq,_382){
-return _35d(jq[0],_382);
-},update:function(jq,_383){
-return jq.each(function(){
-_351(this,_383);
-});
-},enableTab:function(jq,_384){
-return jq.each(function(){
-var opts=$(this).tabs("getTab",_384).panel("options");
-opts.tab.removeClass("tabs-disabled");
-opts.disabled=false;
-});
-},disableTab:function(jq,_385){
-return jq.each(function(){
-var opts=$(this).tabs("getTab",_385).panel("options");
-opts.tab.addClass("tabs-disabled");
-opts.disabled=true;
-});
-},showHeader:function(jq){
-return jq.each(function(){
-_373(this,true);
-});
-},hideHeader:function(jq){
-return jq.each(function(){
-_373(this,false);
-});
-},showTool:function(jq){
-return jq.each(function(){
-_376(this,true);
-});
-},hideTool:function(jq){
-return jq.each(function(){
-_376(this,false);
-});
-},scrollBy:function(jq,_386){
-return jq.each(function(){
-var opts=$(this).tabs("options");
-var wrap=$(this).find(">div.tabs-header>div.tabs-wrap");
-var pos=Math.min(wrap._scrollLeft()+_386,_387());
-wrap.animate({scrollLeft:pos},opts.scrollDuration);
-function _387(){
-var w=0;
-var ul=wrap.children("ul");
-ul.children("li").each(function(){
-w+=$(this).outerWidth(true);
-});
-return w-wrap.width()+(ul.outerWidth()-ul.width());
-};
-});
-}};
-$.fn.tabs.parseOptions=function(_388){
-return $.extend({},$.parser.parseOptions(_388,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean"},{headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number"},{showHeader:"boolean",justified:"boolean",narrow:"boolean",pill:"boolean"}]));
-};
-$.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:27,selected:0,showHeader:true,plain:false,fit:false,border:true,justified:false,narrow:false,pill:false,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_389){
-},onSelect:function(_38a,_38b){
-},onUnselect:function(_38c,_38d){
-},onBeforeClose:function(_38e,_38f){
-},onClose:function(_390,_391){
-},onAdd:function(_392,_393){
-},onUpdate:function(_394,_395){
-},onContextMenu:function(e,_396,_397){
-}};
-})(jQuery);
-(function($){
-var _398=false;
-function _399(_39a,_39b){
-var _39c=$.data(_39a,"layout");
-var opts=_39c.options;
-var _39d=_39c.panels;
-var cc=$(_39a);
-if(_39b){
-$.extend(opts,{width:_39b.width,height:_39b.height});
-}
-if(_39a.tagName.toLowerCase()=="body"){
-cc._size("fit");
-}else{
-cc._size(opts);
-}
-var cpos={top:0,left:0,width:cc.width(),height:cc.height()};
-_39e(_39f(_39d.expandNorth)?_39d.expandNorth:_39d.north,"n");
-_39e(_39f(_39d.expandSouth)?_39d.expandSouth:_39d.south,"s");
-_3a0(_39f(_39d.expandEast)?_39d.expandEast:_39d.east,"e");
-_3a0(_39f(_39d.expandWest)?_39d.expandWest:_39d.west,"w");
-_39d.center.panel("resize",cpos);
-function _39e(pp,type){
-if(!pp.length||!_39f(pp)){
-return;
-}
-var opts=pp.panel("options");
-pp.panel("resize",{width:cc.width(),height:opts.height});
-var _3a1=pp.panel("panel").outerHeight();
-pp.panel("move",{left:0,top:(type=="n"?0:cc.height()-_3a1)});
-cpos.height-=_3a1;
-if(type=="n"){
-cpos.top+=_3a1;
-if(!opts.split&&opts.border){
-cpos.top--;
-}
-}
-if(!opts.split&&opts.border){
-cpos.height++;
-}
-};
-function _3a0(pp,type){
-if(!pp.length||!_39f(pp)){
-return;
-}
-var opts=pp.panel("options");
-pp.panel("resize",{width:opts.width,height:cpos.height});
-var _3a2=pp.panel("panel").outerWidth();
-pp.panel("move",{left:(type=="e"?cc.width()-_3a2:0),top:cpos.top});
-cpos.width-=_3a2;
-if(type=="w"){
-cpos.left+=_3a2;
-if(!opts.split&&opts.border){
-cpos.left--;
-}
-}
-if(!opts.split&&opts.border){
-cpos.width++;
-}
-};
-};
-function init(_3a3){
-var cc=$(_3a3);
-cc.addClass("layout");
-function _3a4(cc){
-var opts=cc.layout("options");
-var _3a5=opts.onAdd;
-opts.onAdd=function(){
-};
-cc.children("div").each(function(){
-var _3a6=$.fn.layout.parsePanelOptions(this);
-if("north,south,east,west,center".indexOf(_3a6.region)>=0){
-_3a8(_3a3,_3a6,this);
-}
-});
-opts.onAdd=_3a5;
-};
-cc.children("form").length?_3a4(cc.children("form")):_3a4(cc);
-cc.append("<div class=\"layout-split-proxy-h\"></div><div class=\"layout-split-proxy-v\"></div>");
-cc.bind("_resize",function(e,_3a7){
-if($(this).hasClass("easyui-fluid")||_3a7){
-_399(_3a3);
-}
-return false;
-});
-};
-function _3a8(_3a9,_3aa,el){
-_3aa.region=_3aa.region||"center";
-var _3ab=$.data(_3a9,"layout").panels;
-var cc=$(_3a9);
-var dir=_3aa.region;
-if(_3ab[dir].length){
-return;
-}
-var pp=$(el);
-if(!pp.length){
-pp=$("<div></div>").appendTo(cc);
-}
-var _3ac=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():"auto"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():"auto"),doSize:false,collapsible:true,onOpen:function(){
-var tool=$(this).panel("header").children("div.panel-tool");
-tool.children("a.panel-tool-collapse").hide();
-var _3ad={north:"up",south:"down",east:"right",west:"left"};
-if(!_3ad[dir]){
-return;
-}
-var _3ae="layout-button-"+_3ad[dir];
-var t=tool.children("a."+_3ae);
-if(!t.length){
-t=$("<a href=\"javascript:void(0)\"></a>").addClass(_3ae).appendTo(tool);
-t.bind("click",{dir:dir},function(e){
-_3ba(_3a9,e.data.dir);
-return false;
-});
-}
-$(this).panel("options").collapsible?t.show():t.hide();
-}},_3aa,{cls:((_3aa.cls||"")+" layout-panel layout-panel-"+dir),bodyCls:((_3aa.bodyCls||"")+" layout-body")});
-pp.panel(_3ac);
-_3ab[dir]=pp;
-var _3af={north:"s",south:"n",east:"w",west:"e"};
-var _3b0=pp.panel("panel");
-if(pp.panel("options").split){
-_3b0.addClass("layout-split-"+dir);
-}
-_3b0.resizable($.extend({},{handles:(_3af[dir]||""),disabled:(!pp.panel("options").split),onStartResize:function(e){
-_398=true;
-if(dir=="north"||dir=="south"){
-var _3b1=$(">div.layout-split-proxy-v",_3a9);
-}else{
-var _3b1=$(">div.layout-split-proxy-h",_3a9);
-}
-var top=0,left=0,_3b2=0,_3b3=0;
-var pos={display:"block"};
-if(dir=="north"){
-pos.top=parseInt(_3b0.css("top"))+_3b0.outerHeight()-_3b1.height();
-pos.left=parseInt(_3b0.css("left"));
-pos.width=_3b0.outerWidth();
-pos.height=_3b1.height();
-}else{
-if(dir=="south"){
-pos.top=parseInt(_3b0.css("top"));
-pos.left=parseInt(_3b0.css("left"));
-pos.width=_3b0.outerWidth();
-pos.height=_3b1.height();
-}else{
-if(dir=="east"){
-pos.top=parseInt(_3b0.css("top"))||0;
-pos.left=parseInt(_3b0.css("left"))||0;
-pos.width=_3b1.width();
-pos.height=_3b0.outerHeight();
-}else{
-if(dir=="west"){
-pos.top=parseInt(_3b0.css("top"))||0;
-pos.left=_3b0.outerWidth()-_3b1.width();
-pos.width=_3b1.width();
-pos.height=_3b0.outerHeight();
-}
-}
-}
-}
-_3b1.css(pos);
-$("<div class=\"layout-mask\"></div>").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc);
-},onResize:function(e){
-if(dir=="north"||dir=="south"){
-var _3b4=$(">div.layout-split-proxy-v",_3a9);
-_3b4.css("top",e.pageY-$(_3a9).offset().top-_3b4.height()/2);
-}else{
-var _3b4=$(">div.layout-split-proxy-h",_3a9);
-_3b4.css("left",e.pageX-$(_3a9).offset().left-_3b4.width()/2);
-}
-return false;
-},onStopResize:function(e){
-cc.children("div.layout-split-proxy-v,div.layout-split-proxy-h").hide();
-pp.panel("resize",e.data);
-_399(_3a9);
-_398=false;
-cc.find(">div.layout-mask").remove();
-}},_3aa));
-cc.layout("options").onAdd.call(_3a9,dir);
-};
-function _3b5(_3b6,_3b7){
-var _3b8=$.data(_3b6,"layout").panels;
-if(_3b8[_3b7].length){
-_3b8[_3b7].panel("destroy");
-_3b8[_3b7]=$();
-var _3b9="expand"+_3b7.substring(0,1).toUpperCase()+_3b7.substring(1);
-if(_3b8[_3b9]){
-_3b8[_3b9].panel("destroy");
-_3b8[_3b9]=undefined;
-}
-$(_3b6).layout("options").onRemove.call(_3b6,_3b7);
-}
-};
-function _3ba(_3bb,_3bc,_3bd){
-if(_3bd==undefined){
-_3bd="normal";
-}
-var _3be=$.data(_3bb,"layout").panels;
-var p=_3be[_3bc];
-var _3bf=p.panel("options");
-if(_3bf.onBeforeCollapse.call(p)==false){
-return;
-}
-var _3c0="expand"+_3bc.substring(0,1).toUpperCase()+_3bc.substring(1);
-if(!_3be[_3c0]){
-_3be[_3c0]=_3c1(_3bc);
-var ep=_3be[_3c0].panel("panel");
-if(!_3bf.expandMode){
-ep.css("cursor","default");
-}else{
-ep.bind("click",function(){
-if(_3bf.expandMode=="dock"){
-_3cc(_3bb,_3bc);
-}else{
-p.panel("expand",false).panel("open");
-var _3c2=_3c3();
-p.panel("resize",_3c2.collapse);
-p.panel("panel").animate(_3c2.expand,function(){
-$(this).unbind(".layout").bind("mouseleave.layout",{region:_3bc},function(e){
-if(_398==true){
-return;
-}
-if($("body>div.combo-p>div.combo-panel:visible").length){
-return;
-}
-_3ba(_3bb,e.data.region);
-});
-$(_3bb).layout("options").onExpand.call(_3bb,_3bc);
-});
-}
-return false;
-});
-}
-}
-var _3c4=_3c3();
-if(!_39f(_3be[_3c0])){
-_3be.center.panel("resize",_3c4.resizeC);
-}
-p.panel("panel").animate(_3c4.collapse,_3bd,function(){
-p.panel("collapse",false).panel("close");
-_3be[_3c0].panel("open").panel("resize",_3c4.expandP);
-$(this).unbind(".layout");
-$(_3bb).layout("options").onCollapse.call(_3bb,_3bc);
-});
-function _3c1(dir){
-var _3c5={"east":"left","west":"right","north":"down","south":"up"};
-var isns=(_3bf.region=="north"||_3bf.region=="south");
-var icon="layout-button-"+_3c5[dir];
-var p=$("<div></div>").appendTo(_3bb);
-p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:"&nbsp;",iconCls:(_3bf.hideCollapsedContent?null:_3bf.iconCls),closed:true,minWidth:0,minHeight:0,doSize:false,region:_3bf.region,collapsedSize:_3bf.collapsedSize,noheader:(!isns&&_3bf.hideExpandTool),tools:((isns&&_3bf.hideExpandTool)?null:[{iconCls:icon,handler:function(){
-_3cc(_3bb,_3bc);
-return false;
-}}])}));
-if(!_3bf.hideCollapsedContent){
-var _3c6=typeof _3bf.collapsedContent=="function"?_3bf.collapsedContent.call(p[0],_3bf.title):_3bf.collapsedContent;
-isns?p.panel("setTitle",_3c6):p.html(_3c6);
-}
-p.panel("panel").hover(function(){
-$(this).addClass("layout-expand-over");
-},function(){
-$(this).removeClass("layout-expand-over");
-});
-return p;
-};
-function _3c3(){
-var cc=$(_3bb);
-var _3c7=_3be.center.panel("options");
-var _3c8=_3bf.collapsedSize;
-if(_3bc=="east"){
-var _3c9=p.panel("panel")._outerWidth();
-var _3ca=_3c7.width+_3c9-_3c8;
-if(_3bf.split||!_3bf.border){
-_3ca++;
-}
-return {resizeC:{width:_3ca},expand:{left:cc.width()-_3c9},expandP:{top:_3c7.top,left:cc.width()-_3c8,width:_3c8,height:_3c7.height},collapse:{left:cc.width(),top:_3c7.top,height:_3c7.height}};
-}else{
-if(_3bc=="west"){
-var _3c9=p.panel("panel")._outerWidth();
-var _3ca=_3c7.width+_3c9-_3c8;
-if(_3bf.split||!_3bf.border){
-_3ca++;
-}
-return {resizeC:{width:_3ca,left:_3c8-1},expand:{left:0},expandP:{left:0,top:_3c7.top,width:_3c8,height:_3c7.height},collapse:{left:-_3c9,top:_3c7.top,height:_3c7.height}};
-}else{
-if(_3bc=="north"){
-var _3cb=p.panel("panel")._outerHeight();
-var hh=_3c7.height;
-if(!_39f(_3be.expandNorth)){
-hh+=_3cb-_3c8+((_3bf.split||!_3bf.border)?1:0);
-}
-_3be.east.add(_3be.west).add(_3be.expandEast).add(_3be.expandWest).panel("resize",{top:_3c8-1,height:hh});
-return {resizeC:{top:_3c8-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_3c8},collapse:{top:-_3cb,width:cc.width()}};
-}else{
-if(_3bc=="south"){
-var _3cb=p.panel("panel")._outerHeight();
-var hh=_3c7.height;
-if(!_39f(_3be.expandSouth)){
-hh+=_3cb-_3c8+((_3bf.split||!_3bf.border)?1:0);
-}
-_3be.east.add(_3be.west).add(_3be.expandEast).add(_3be.expandWest).panel("resize",{height:hh});
-return {resizeC:{height:hh},expand:{top:cc.height()-_3cb},expandP:{top:cc.height()-_3c8,left:0,width:cc.width(),height:_3c8},collapse:{top:cc.height(),width:cc.width()}};
-}
-}
-}
-}
-};
-};
-function _3cc(_3cd,_3ce){
-var _3cf=$.data(_3cd,"layout").panels;
-var p=_3cf[_3ce];
-var _3d0=p.panel("options");
-if(_3d0.onBeforeExpand.call(p)==false){
-return;
-}
-var _3d1="expand"+_3ce.substring(0,1).toUpperCase()+_3ce.substring(1);
-if(_3cf[_3d1]){
-_3cf[_3d1].panel("close");
-p.panel("panel").stop(true,true);
-p.panel("expand",false).panel("open");
-var _3d2=_3d3();
-p.panel("resize",_3d2.collapse);
-p.panel("panel").animate(_3d2.expand,function(){
-_399(_3cd);
-$(_3cd).layout("options").onExpand.call(_3cd,_3ce);
-});
-}
-function _3d3(){
-var cc=$(_3cd);
-var _3d4=_3cf.center.panel("options");
-if(_3ce=="east"&&_3cf.expandEast){
-return {collapse:{left:cc.width(),top:_3d4.top,height:_3d4.height},expand:{left:cc.width()-p.panel("panel")._outerWidth()}};
-}else{
-if(_3ce=="west"&&_3cf.expandWest){
-return {collapse:{left:-p.panel("panel")._outerWidth(),top:_3d4.top,height:_3d4.height},expand:{left:0}};
-}else{
-if(_3ce=="north"&&_3cf.expandNorth){
-return {collapse:{top:-p.panel("panel")._outerHeight(),width:cc.width()},expand:{top:0}};
-}else{
-if(_3ce=="south"&&_3cf.expandSouth){
-return {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel("panel")._outerHeight()}};
-}
-}
-}
-}
-};
-};
-function _39f(pp){
-if(!pp){
-return false;
-}
-if(pp.length){
-return pp.panel("panel").is(":visible");
-}else{
-return false;
-}
-};
-function _3d5(_3d6){
-var _3d7=$.data(_3d6,"layout");
-var opts=_3d7.options;
-var _3d8=_3d7.panels;
-var _3d9=opts.onCollapse;
-opts.onCollapse=function(){
-};
-_3da("east");
-_3da("west");
-_3da("north");
-_3da("south");
-opts.onCollapse=_3d9;
-function _3da(_3db){
-var p=_3d8[_3db];
-if(p.length&&p.panel("options").collapsed){
-_3ba(_3d6,_3db,0);
-}
-};
-};
-function _3dc(_3dd,_3de,_3df){
-var p=$(_3dd).layout("panel",_3de);
-p.panel("options").split=_3df;
-var cls="layout-split-"+_3de;
-var _3e0=p.panel("panel").removeClass(cls);
-if(_3df){
-_3e0.addClass(cls);
-}
-_3e0.resizable({disabled:(!_3df)});
-_399(_3dd);
-};
-$.fn.layout=function(_3e1,_3e2){
-if(typeof _3e1=="string"){
-return $.fn.layout.methods[_3e1](this,_3e2);
-}
-_3e1=_3e1||{};
-return this.each(function(){
-var _3e3=$.data(this,"layout");
-if(_3e3){
-$.extend(_3e3.options,_3e1);
-}else{
-var opts=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_3e1);
-$.data(this,"layout",{options:opts,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}});
-init(this);
-}
-_399(this);
-_3d5(this);
-});
-};
-$.fn.layout.methods={options:function(jq){
-return $.data(jq[0],"layout").options;
-},resize:function(jq,_3e4){
-return jq.each(function(){
-_399(this,_3e4);
-});
-},panel:function(jq,_3e5){
-return $.data(jq[0],"layout").panels[_3e5];
-},collapse:function(jq,_3e6){
-return jq.each(function(){
-_3ba(this,_3e6);
-});
-},expand:function(jq,_3e7){
-return jq.each(function(){
-_3cc(this,_3e7);
-});
-},add:function(jq,_3e8){
-return jq.each(function(){
-_3a8(this,_3e8);
-_399(this);
-if($(this).layout("panel",_3e8.region).panel("options").collapsed){
-_3ba(this,_3e8.region,0);
-}
-});
-},remove:function(jq,_3e9){
-return jq.each(function(){
-_3b5(this,_3e9);
-_399(this);
-});
-},split:function(jq,_3ea){
-return jq.each(function(){
-_3dc(this,_3ea,true);
-});
-},unsplit:function(jq,_3eb){
-return jq.each(function(){
-_3dc(this,_3eb,false);
-});
-}};
-$.fn.layout.parseOptions=function(_3ec){
-return $.extend({},$.parser.parseOptions(_3ec,[{fit:"boolean"}]));
-};
-$.fn.layout.defaults={fit:false,onExpand:function(_3ed){
-},onCollapse:function(_3ee){
-},onAdd:function(_3ef){
-},onRemove:function(_3f0){
-}};
-$.fn.layout.parsePanelOptions=function(_3f1){
-var t=$(_3f1);
-return $.extend({},$.fn.panel.parseOptions(_3f1),$.parser.parseOptions(_3f1,["region",{split:"boolean",collpasedSize:"number",minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number"}]));
-};
-$.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:28,expandMode:"float",hideExpandTool:false,hideCollapsedContent:true,collapsedContent:function(_3f2){
-var p=$(this);
-var opts=p.panel("options");
-if(opts.region=="north"||opts.region=="south"){
-return _3f2;
-}
-var size=opts.collapsedSize-2;
-var left=(size-16)/2;
-left=size-left;
-var cc=[];
-if(opts.iconCls){
-cc.push("<div class=\"panel-icon "+opts.iconCls+"\"></div>");
-}
-cc.push("<div class=\"panel-title layout-expand-title");
-cc.push(opts.iconCls?" layout-expand-with-icon":"");
-cc.push("\" style=\"left:"+left+"px\">");
-cc.push(_3f2);
-cc.push("</div>");
-return cc.join("");
-},minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000});
-})(jQuery);
-(function($){
-$(function(){
-$(document).unbind(".menu").bind("mousedown.menu",function(e){
-var m=$(e.target).closest("div.menu,div.combo-p");
-if(m.length){
-return;
-}
-$("body>div.menu-top:visible").not(".menu-inline").menu("hide");
-_3f3($("body>div.menu:visible").not(".menu-inline"));
-});
-});
-function init(_3f4){
-var opts=$.data(_3f4,"menu").options;
-$(_3f4).addClass("menu-top");
-opts.inline?$(_3f4).addClass("menu-inline"):$(_3f4).appendTo("body");
-$(_3f4).bind("_resize",function(e,_3f5){
-if($(this).hasClass("easyui-fluid")||_3f5){
-$(_3f4).menu("resize",_3f4);
-}
-return false;
-});
-var _3f6=_3f7($(_3f4));
-for(var i=0;i<_3f6.length;i++){
-_3f8(_3f6[i]);
-}
-function _3f7(menu){
-var _3f9=[];
-menu.addClass("menu");
-_3f9.push(menu);
-if(!menu.hasClass("menu-content")){
-menu.children("div").each(function(){
-var _3fa=$(this).children("div");
-if(_3fa.length){
-_3fa.appendTo("body");
-this.submenu=_3fa;
-var mm=_3f7(_3fa);
-_3f9=_3f9.concat(mm);
-}
-});
-}
-return _3f9;
-};
-function _3f8(menu){
-var wh=$.parser.parseOptions(menu[0],["width","height"]);
-menu[0].originalHeight=wh.height||0;
-if(menu.hasClass("menu-content")){
-menu[0].originalWidth=wh.width||menu._outerWidth();
-}else{
-menu[0].originalWidth=wh.width||0;
-menu.children("div").each(function(){
-var item=$(this);
-var _3fb=$.extend({},$.parser.parseOptions(this,["name","iconCls","href",{separator:"boolean"}]),{disabled:(item.attr("disabled")?true:undefined)});
-if(_3fb.separator){
-item.addClass("menu-sep");
-}
-if(!item.hasClass("menu-sep")){
-item[0].itemName=_3fb.name||"";
-item[0].itemHref=_3fb.href||"";
-var text=item.addClass("menu-item").html();
-item.empty().append($("<div class=\"menu-text\"></div>").html(text));
-if(_3fb.iconCls){
-$("<div class=\"menu-icon\"></div>").addClass(_3fb.iconCls).appendTo(item);
-}
-if(_3fb.disabled){
-_3fc(_3f4,item[0],true);
-}
-if(item[0].submenu){
-$("<div class=\"menu-rightarrow\"></div>").appendTo(item);
-}
-_3fd(_3f4,item);
-}
-});
-$("<div class=\"menu-line\"></div>").prependTo(menu);
-}
-_3fe(_3f4,menu);
-if(!menu.hasClass("menu-inline")){
-menu.hide();
-}
-_3ff(_3f4,menu);
-};
-};
-function _3fe(_400,menu){
-var opts=$.data(_400,"menu").options;
-var _401=menu.attr("style")||"";
-menu.css({display:"block",left:-10000,height:"auto",overflow:"hidden"});
-menu.find(".menu-item").each(function(){
-$(this)._outerHeight(opts.itemHeight);
-$(this).find(".menu-text").css({height:(opts.itemHeight-2)+"px",lineHeight:(opts.itemHeight-2)+"px"});
-});
-menu.removeClass("menu-noline").addClass(opts.noline?"menu-noline":"");
-var _402=menu[0].originalWidth||"auto";
-if(isNaN(parseInt(_402))){
-_402=0;
-menu.find("div.menu-text").each(function(){
-if(_402<$(this)._outerWidth()){
-_402=$(this)._outerWidth();
-}
-});
-_402+=40;
-}
-var _403=menu.outerHeight();
-var _404=menu[0].originalHeight||"auto";
-if(isNaN(parseInt(_404))){
-_404=_403;
-if(menu.hasClass("menu-top")&&opts.alignTo){
-var at=$(opts.alignTo);
-var h1=at.offset().top-$(document).scrollTop();
-var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight();
-_404=Math.min(_404,Math.max(h1,h2));
-}else{
-if(_404>$(window)._outerHeight()){
-_404=$(window).height();
-}
-}
-}
-menu.attr("style",_401);
-menu._size({fit:(menu[0]==_400?opts.fit:false),width:_402,minWidth:opts.minWidth,height:_404});
-menu.css("overflow",menu.outerHeight()<_403?"auto":"hidden");
-menu.children("div.menu-line")._outerHeight(_403-2);
-};
-function _3ff(_405,menu){
-if(menu.hasClass("menu-inline")){
-return;
-}
-var _406=$.data(_405,"menu");
-menu.unbind(".menu").bind("mouseenter.menu",function(){
-if(_406.timer){
-clearTimeout(_406.timer);
-_406.timer=null;
-}
-}).bind("mouseleave.menu",function(){
-if(_406.options.hideOnUnhover){
-_406.timer=setTimeout(function(){
-_407(_405,$(_405).hasClass("menu-inline"));
-},_406.options.duration);
-}
-});
-};
-function _3fd(_408,item){
-if(!item.hasClass("menu-item")){
-return;
-}
-item.unbind(".menu");
-item.bind("click.menu",function(){
-if($(this).hasClass("menu-item-disabled")){
-return;
-}
-if(!this.submenu){
-_407(_408,$(_408).hasClass("menu-inline"));
-var href=this.itemHref;
-if(href){
-location.href=href;
-}
-}
-$(this).trigger("mouseenter");
-var item=$(_408).menu("getItem",this);
-$.data(_408,"menu").options.onClick.call(_408,item);
-}).bind("mouseenter.menu",function(e){
-item.siblings().each(function(){
-if(this.submenu){
-_3f3(this.submenu);
-}
-$(this).removeClass("menu-active");
-});
-item.addClass("menu-active");
-if($(this).hasClass("menu-item-disabled")){
-item.addClass("menu-active-disabled");
-return;
-}
-var _409=item[0].submenu;
-if(_409){
-$(_408).menu("show",{menu:_409,parent:item});
-}
-}).bind("mouseleave.menu",function(e){
-item.removeClass("menu-active menu-active-disabled");
-var _40a=item[0].submenu;
-if(_40a){
-if(e.pageX>=parseInt(_40a.css("left"))){
-item.addClass("menu-active");
-}else{
-_3f3(_40a);
-}
-}else{
-item.removeClass("menu-active");
-}
-});
-};
-function _407(_40b,_40c){
-var _40d=$.data(_40b,"menu");
-if(_40d){
-if($(_40b).is(":visible")){
-_3f3($(_40b));
-if(_40c){
-$(_40b).show();
-}else{
-_40d.options.onHide.call(_40b);
-}
-}
-}
-return false;
-};
-function _40e(_40f,_410){
-var left,top;
-_410=_410||{};
-var menu=$(_410.menu||_40f);
-$(_40f).menu("resize",menu[0]);
-if(menu.hasClass("menu-top")){
-var opts=$.data(_40f,"menu").options;
-$.extend(opts,_410);
-left=opts.left;
-top=opts.top;
-if(opts.alignTo){
-var at=$(opts.alignTo);
-left=at.offset().left;
-top=at.offset().top+at._outerHeight();
-if(opts.align=="right"){
-left+=at.outerWidth()-menu.outerWidth();
-}
-}
-if(left+menu.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){
-left=$(window)._outerWidth()+$(document).scrollLeft()-menu.outerWidth()-5;
-}
-if(left<0){
-left=0;
-}
-top=_411(top,opts.alignTo);
-}else{
-var _412=_410.parent;
-left=_412.offset().left+_412.outerWidth()-2;
-if(left+menu.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){
-left=_412.offset().left-menu.outerWidth()+2;
-}
-top=_411(_412.offset().top-3);
-}
-function _411(top,_413){
-if(top+menu.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){
-if(_413){
-top=$(_413).offset().top-menu._outerHeight();
-}else{
-top=$(window)._outerHeight()+$(document).scrollTop()-menu.outerHeight();
-}
-}
-if(top<0){
-top=0;
-}
-return top;
-};
-menu.css({left:left,top:top});
-menu.show(0,function(){
-if(!menu[0].shadow){
-menu[0].shadow=$("<div class=\"menu-shadow\"></div>").insertAfter(menu);
-}
-menu[0].shadow.css({display:(menu.hasClass("menu-inline")?"none":"block"),zIndex:$.fn.menu.defaults.zIndex++,left:menu.css("left"),top:menu.css("top"),width:menu.outerWidth(),height:menu.outerHeight()});
-menu.css("z-index",$.fn.menu.defaults.zIndex++);
-if(menu.hasClass("menu-top")){
-$.data(menu[0],"menu").options.onShow.call(menu[0]);
-}
-});
-};
-function _3f3(menu){
-if(menu&&menu.length){
-_414(menu);
-menu.find("div.menu-item").each(function(){
-if(this.submenu){
-_3f3(this.submenu);
-}
-$(this).removeClass("menu-active");
-});
-}
-function _414(m){
-m.stop(true,true);
-if(m[0].shadow){
-m[0].shadow.hide();
-}
-m.hide();
-};
-};
-function _415(_416,text){
-var _417=null;
-var tmp=$("<div></div>");
-function find(menu){
-menu.children("div.menu-item").each(function(){
-var item=$(_416).menu("getItem",this);
-var s=tmp.empty().html(item.text).text();
-if(text==$.trim(s)){
-_417=item;
-}else{
-if(this.submenu&&!_417){
-find(this.submenu);
-}
-}
-});
-};
-find($(_416));
-tmp.remove();
-return _417;
-};
-function _3fc(_418,_419,_41a){
-var t=$(_419);
-if(!t.hasClass("menu-item")){
-return;
-}
-if(_41a){
-t.addClass("menu-item-disabled");
-if(_419.onclick){
-_419.onclick1=_419.onclick;
-_419.onclick=null;
-}
-}else{
-t.removeClass("menu-item-disabled");
-if(_419.onclick1){
-_419.onclick=_419.onclick1;
-_419.onclick1=null;
-}
-}
-};
-function _41b(_41c,_41d){
-var opts=$.data(_41c,"menu").options;
-var menu=$(_41c);
-if(_41d.parent){
-if(!_41d.parent.submenu){
-var _41e=$("<div class=\"menu\"><div class=\"menu-line\"></div></div>").appendTo("body");
-_41e.hide();
-_41d.parent.submenu=_41e;
-$("<div class=\"menu-rightarrow\"></div>").appendTo(_41d.parent);
-}
-menu=_41d.parent.submenu;
-}
-if(_41d.separator){
-var item=$("<div class=\"menu-sep\"></div>").appendTo(menu);
-}else{
-var item=$("<div class=\"menu-item\"></div>").appendTo(menu);
-$("<div class=\"menu-text\"></div>").html(_41d.text).appendTo(item);
-}
-if(_41d.iconCls){
-$("<div class=\"menu-icon\"></div>").addClass(_41d.iconCls).appendTo(item);
-}
-if(_41d.id){
-item.attr("id",_41d.id);
-}
-if(_41d.name){
-item[0].itemName=_41d.name;
-}
-if(_41d.href){
-item[0].itemHref=_41d.href;
-}
-if(_41d.onclick){
-if(typeof _41d.onclick=="string"){
-item.attr("onclick",_41d.onclick);
-}else{
-item[0].onclick=eval(_41d.onclick);
-}
-}
-if(_41d.handler){
-item[0].onclick=eval(_41d.handler);
-}
-if(_41d.disabled){
-_3fc(_41c,item[0],true);
-}
-_3fd(_41c,item);
-_3ff(_41c,menu);
-_3fe(_41c,menu);
-};
-function _41f(_420,_421){
-function _422(el){
-if(el.submenu){
-el.submenu.children("div.menu-item").each(function(){
-_422(this);
-});
-var _423=el.submenu[0].shadow;
-if(_423){
-_423.remove();
-}
-el.submenu.remove();
-}
-$(el).remove();
-};
-var menu=$(_421).parent();
-_422(_421);
-_3fe(_420,menu);
-};
-function _424(_425,_426,_427){
-var menu=$(_426).parent();
-if(_427){
-$(_426).show();
-}else{
-$(_426).hide();
-}
-_3fe(_425,menu);
-};
-function _428(_429){
-$(_429).children("div.menu-item").each(function(){
-_41f(_429,this);
-});
-if(_429.shadow){
-_429.shadow.remove();
-}
-$(_429).remove();
-};
-$.fn.menu=function(_42a,_42b){
-if(typeof _42a=="string"){
-return $.fn.menu.methods[_42a](this,_42b);
-}
-_42a=_42a||{};
-return this.each(function(){
-var _42c=$.data(this,"menu");
-if(_42c){
-$.extend(_42c.options,_42a);
-}else{
-_42c=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_42a)});
-init(this);
-}
-$(this).css({left:_42c.options.left,top:_42c.options.top});
-});
-};
-$.fn.menu.methods={options:function(jq){
-return $.data(jq[0],"menu").options;
-},show:function(jq,pos){
-return jq.each(function(){
-_40e(this,pos);
-});
-},hide:function(jq){
-return jq.each(function(){
-_407(this);
-});
-},destroy:function(jq){
-return jq.each(function(){
-_428(this);
-});
-},setText:function(jq,_42d){
-return jq.each(function(){
-$(_42d.target).children("div.menu-text").html(_42d.text);
-});
-},setIcon:function(jq,_42e){
-return jq.each(function(){
-$(_42e.target).children("div.menu-icon").remove();
-if(_42e.iconCls){
-$("<div class=\"menu-icon\"></div>").addClass(_42e.iconCls).appendTo(_42e.target);
-}
-});
-},getItem:function(jq,_42f){
-var t=$(_42f);
-var item={target:_42f,id:t.attr("id"),text:$.trim(t.children("div.menu-text").html()),disabled:t.hasClass("menu-item-disabled"),name:_42f.itemName,href:_42f.itemHref,onclick:_42f.onclick};
-var icon=t.children("div.menu-icon");
-if(icon.length){
-var cc=[];
-var aa=icon.attr("class").split(" ");
-for(var i=0;i<aa.length;i++){
-if(aa[i]!="menu-icon"){
-cc.push(aa[i]);
-}
-}
-item.iconCls=cc.join(" ");
-}
-return item;
-},findItem:function(jq,text){
-return _415(jq[0],text);
-},appendItem:function(jq,_430){
-return jq.each(function(){
-_41b(this,_430);
-});
-},removeItem:function(jq,_431){
-return jq.each(function(){
-_41f(this,_431);
-});
-},enableItem:function(jq,_432){
-return jq.each(function(){
-_3fc(this,_432,false);
-});
-},disableItem:function(jq,_433){
-return jq.each(function(){
-_3fc(this,_433,true);
-});
-},showItem:function(jq,_434){
-return jq.each(function(){
-_424(this,_434,true);
-});
-},hideItem:function(jq,_435){
-return jq.each(function(){
-_424(this,_435,false);
-});
-},resize:function(jq,_436){
-return jq.each(function(){
-_3fe(this,$(_436));
-});
-}};
-$.fn.menu.parseOptions=function(_437){
-return $.extend({},$.parser.parseOptions(_437,[{minWidth:"number",itemHeight:"number",duration:"number",hideOnUnhover:"boolean"},{fit:"boolean",inline:"boolean",noline:"boolean"}]));
-};
-$.fn.menu.defaults={zIndex:110000,left:0,top:0,alignTo:null,align:"left",minWidth:120,itemHeight:22,duration:100,hideOnUnhover:true,inline:false,fit:false,noline:false,onShow:function(){
-},onHide:function(){
-},onClick:function(item){
-}};
-})(jQuery);
-(function($){
-function init(_438){
-var opts=$.data(_438,"menubutton").options;
-var btn=$(_438);
-btn.linkbutton(opts);
-if(opts.hasDownArrow){
-btn.removeClass(opts.cls.btn1+" "+opts.cls.btn2).addClass("m-btn");
-btn.removeClass("m-btn-small m-btn-medium m-btn-large").addClass("m-btn-"+opts.size);
-var _439=btn.find(".l-btn-left");
-$("<span></span>").addClass(opts.cls.arrow).appendTo(_439);
-$("<span></span>").addClass("m-btn-line").appendTo(_439);
-}
-$(_438).menubutton("resize");
-if(opts.menu){
-$(opts.menu).menu({duration:opts.duration});
-var _43a=$(opts.menu).menu("options");
-var _43b=_43a.onShow;
-var _43c=_43a.onHide;
-$.extend(_43a,{onShow:function(){
-var _43d=$(this).menu("options");
-var btn=$(_43d.alignTo);
-var opts=btn.menubutton("options");
-btn.addClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1);
-_43b.call(this);
-},onHide:function(){
-var _43e=$(this).menu("options");
-var btn=$(_43e.alignTo);
-var opts=btn.menubutton("options");
-btn.removeClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1);
-_43c.call(this);
-}});
-}
-};
-function _43f(_440){
-var opts=$.data(_440,"menubutton").options;
-var btn=$(_440);
-var t=btn.find("."+opts.cls.trigger);
-if(!t.length){
-t=btn;
-}
-t.unbind(".menubutton");
-var _441=null;
-t.bind("click.menubutton",function(){
-if(!_442()){
-_443(_440);
-return false;
-}
-}).bind("mouseenter.menubutton",function(){
-if(!_442()){
-_441=setTimeout(function(){
-_443(_440);
-},opts.duration);
-return false;
-}
-}).bind("mouseleave.menubutton",function(){
-if(_441){
-clearTimeout(_441);
-}
-$(opts.menu).triggerHandler("mouseleave");
-});
-function _442(){
-return $(_440).linkbutton("options").disabled;
-};
-};
-function _443(_444){
-var opts=$(_444).menubutton("options");
-if(opts.disabled||!opts.menu){
-return;
-}
-$("body>div.menu-top").menu("hide");
-var btn=$(_444);
-var mm=$(opts.menu);
-if(mm.length){
-mm.menu("options").alignTo=btn;
-mm.menu("show",{alignTo:btn,align:opts.menuAlign});
-}
-btn.blur();
-};
-$.fn.menubutton=function(_445,_446){
-if(typeof _445=="string"){
-var _447=$.fn.menubutton.methods[_445];
-if(_447){
-return _447(this,_446);
-}else{
-return this.linkbutton(_445,_446);
-}
-}
-_445=_445||{};
-return this.each(function(){
-var _448=$.data(this,"menubutton");
-if(_448){
-$.extend(_448.options,_445);
-}else{
-$.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_445)});
-$(this).removeAttr("disabled");
-}
-init(this);
-_43f(this);
-});
-};
-$.fn.menubutton.methods={options:function(jq){
-var _449=jq.linkbutton("options");
-return $.extend($.data(jq[0],"menubutton").options,{toggle:_449.toggle,selected:_449.selected,disabled:_449.disabled});
-},destroy:function(jq){
-return jq.each(function(){
-var opts=$(this).menubutton("options");
-if(opts.menu){
-$(opts.menu).menu("destroy");
-}
-$(this).remove();
-});
-}};
-$.fn.menubutton.parseOptions=function(_44a){
-var t=$(_44a);
-return $.extend({},$.fn.linkbutton.parseOptions(_44a),$.parser.parseOptions(_44a,["menu",{plain:"boolean",hasDownArrow:"boolean",duration:"number"}]));
-};
-$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,hasDownArrow:true,menu:null,menuAlign:"left",duration:100,cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}});
-})(jQuery);
-(function($){
-function init(_44b){
-var opts=$.data(_44b,"splitbutton").options;
-$(_44b).menubutton(opts);
-$(_44b).addClass("s-btn");
-};
-$.fn.splitbutton=function(_44c,_44d){
-if(typeof _44c=="string"){
-var _44e=$.fn.splitbutton.methods[_44c];
-if(_44e){
-return _44e(this,_44d);
-}else{
-return this.menubutton(_44c,_44d);
-}
-}
-_44c=_44c||{};
-return this.each(function(){
-var _44f=$.data(this,"splitbutton");
-if(_44f){
-$.extend(_44f.options,_44c);
-}else{
-$.data(this,"splitbutton",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_44c)});
-$(this).removeAttr("disabled");
-}
-init(this);
-});
-};
-$.fn.splitbutton.methods={options:function(jq){
-var _450=jq.menubutton("options");
-var _451=$.data(jq[0],"splitbutton").options;
-$.extend(_451,{disabled:_450.disabled,toggle:_450.toggle,selected:_450.selected});
-return _451;
-}};
-$.fn.splitbutton.parseOptions=function(_452){
-var t=$(_452);
-return $.extend({},$.fn.linkbutton.parseOptions(_452),$.parser.parseOptions(_452,["menu",{plain:"boolean",duration:"number"}]));
-};
-$.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active s-btn-active",btn2:"m-btn-plain-active s-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn-line"}});
-})(jQuery);
-(function($){
-function init(_453){
-var _454=$("<span class=\"switchbutton\">"+"<span class=\"switchbutton-inner\">"+"<span class=\"switchbutton-on\"></span>"+"<span class=\"switchbutton-handle\"></span>"+"<span class=\"switchbutton-off\"></span>"+"<input class=\"switchbutton-value\" type=\"checkbox\">"+"</span>"+"</span>").insertAfter(_453);
-var t=$(_453);
-t.addClass("switchbutton-f").hide();
-var name=t.attr("name");
-if(name){
-t.removeAttr("name").attr("switchbuttonName",name);
-_454.find(".switchbutton-value").attr("name",name);
-}
-_454.bind("_resize",function(e,_455){
-if($(this).hasClass("easyui-fluid")||_455){
-_456(_453);
-}
-return false;
-});
-return _454;
-};
-function _456(_457,_458){
-var _459=$.data(_457,"switchbutton");
-var opts=_459.options;
-var _45a=_459.switchbutton;
-if(_458){
-$.extend(opts,_458);
-}
-var _45b=_45a.is(":visible");
-if(!_45b){
-_45a.appendTo("body");
-}
-_45a._size(opts);
-var w=_45a.width();
-var h=_45a.height();
-var w=_45a.outerWidth();
-var h=_45a.outerHeight();
-var _45c=parseInt(opts.handleWidth)||_45a.height();
-var _45d=w*2-_45c;
-_45a.find(".switchbutton-inner").css({width:_45d+"px",height:h+"px",lineHeight:h+"px"});
-_45a.find(".switchbutton-handle")._outerWidth(_45c)._outerHeight(h).css({marginLeft:-_45c/2+"px"});
-_45a.find(".switchbutton-on").css({width:(w-_45c/2)+"px",textIndent:(opts.reversed?"":"-")+_45c/2+"px"});
-_45a.find(".switchbutton-off").css({width:(w-_45c/2)+"px",textIndent:(opts.reversed?"-":"")+_45c/2+"px"});
-opts.marginWidth=w-_45c;
-_45e(_457,opts.checked,false);
-if(!_45b){
-_45a.insertAfter(_457);
-}
-};
-function _45f(_460){
-var _461=$.data(_460,"switchbutton");
-var opts=_461.options;
-var _462=_461.switchbutton;
-var _463=_462.find(".switchbutton-inner");
-var on=_463.find(".switchbutton-on").html(opts.onText);
-var off=_463.find(".switchbutton-off").html(opts.offText);
-var _464=_463.find(".switchbutton-handle").html(opts.handleText);
-if(opts.reversed){
-off.prependTo(_463);
-on.insertAfter(_464);
-}else{
-on.prependTo(_463);
-off.insertAfter(_464);
-}
-_462.find(".switchbutton-value")._propAttr("checked",opts.checked);
-_462.removeClass("switchbutton-disabled").addClass(opts.disabled?"switchbutton-disabled":"");
-_462.removeClass("switchbutton-reversed").addClass(opts.reversed?"switchbutton-reversed":"");
-_45e(_460,opts.checked);
-_465(_460,opts.readonly);
-$(_460).switchbutton("setValue",opts.value);
-};
-function _45e(_466,_467,_468){
-var _469=$.data(_466,"switchbutton");
-var opts=_469.options;
-opts.checked=_467;
-var _46a=_469.switchbutton.find(".switchbutton-inner");
-var _46b=_46a.find(".switchbutton-on");
-var _46c=opts.reversed?(opts.checked?opts.marginWidth:0):(opts.checked?0:opts.marginWidth);
-var dir=_46b.css("float").toLowerCase();
-var css={};
-css["margin-"+dir]=-_46c+"px";
-_468?_46a.animate(css,200):_46a.css(css);
-var _46d=_46a.find(".switchbutton-value");
-var ck=_46d.is(":checked");
-$(_466).add(_46d)._propAttr("checked",opts.checked);
-if(ck!=opts.checked){
-opts.onChange.call(_466,opts.checked);
-}
-};
-function _46e(_46f,_470){
-var _471=$.data(_46f,"switchbutton");
-var opts=_471.options;
-var _472=_471.switchbutton;
-var _473=_472.find(".switchbutton-value");
-if(_470){
-opts.disabled=true;
-$(_46f).add(_473).attr("disabled","disabled");
-_472.addClass("switchbutton-disabled");
-}else{
-opts.disabled=false;
-$(_46f).add(_473).removeAttr("disabled");
-_472.removeClass("switchbutton-disabled");
-}
-};
-function _465(_474,mode){
-var _475=$.data(_474,"switchbutton");
-var opts=_475.options;
-opts.readonly=mode==undefined?true:mode;
-_475.switchbutton.removeClass("switchbutton-readonly").addClass(opts.readonly?"switchbutton-readonly":"");
-};
-function _476(_477){
-var _478=$.data(_477,"switchbutton");
-var opts=_478.options;
-_478.switchbutton.unbind(".switchbutton").bind("click.switchbutton",function(){
-if(!opts.disabled&&!opts.readonly){
-_45e(_477,opts.checked?false:true,true);
-}
-});
-};
-$.fn.switchbutton=function(_479,_47a){
-if(typeof _479=="string"){
-return $.fn.switchbutton.methods[_479](this,_47a);
-}
-_479=_479||{};
-return this.each(function(){
-var _47b=$.data(this,"switchbutton");
-if(_47b){
-$.extend(_47b.options,_479);
-}else{
-_47b=$.data(this,"switchbutton",{options:$.extend({},$.fn.switchbutton.defaults,$.fn.switchbutton.parseOptions(this),_479),switchbutton:init(this)});
-}
-_47b.options.originalChecked=_47b.options.checked;
-_45f(this);
-_456(this);
-_476(this);
-});
-};
-$.fn.switchbutton.methods={options:function(jq){
-var _47c=jq.data("switchbutton");
-return $.extend(_47c.options,{value:_47c.switchbutton.find(".switchbutton-value").val()});
-},resize:function(jq,_47d){
-return jq.each(function(){
-_456(this,_47d);
-});
-},enable:function(jq){
-return jq.each(function(){
-_46e(this,false);
-});
-},disable:function(jq){
-return jq.each(function(){
-_46e(this,true);
-});
-},readonly:function(jq,mode){
-return jq.each(function(){
-_465(this,mode);
-});
-},check:function(jq){
-return jq.each(function(){
-_45e(this,true);
-});
-},uncheck:function(jq){
-return jq.each(function(){
-_45e(this,false);
-});
-},clear:function(jq){
-return jq.each(function(){
-_45e(this,false);
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).switchbutton("options");
-_45e(this,opts.originalChecked);
-});
-},setValue:function(jq,_47e){
-return jq.each(function(){
-$(this).val(_47e);
-$.data(this,"switchbutton").switchbutton.find(".switchbutton-value").val(_47e);
-});
-}};
-$.fn.switchbutton.parseOptions=function(_47f){
-var t=$(_47f);
-return $.extend({},$.parser.parseOptions(_47f,["onText","offText","handleText",{handleWidth:"number",reversed:"boolean"}]),{value:(t.val()||undefined),checked:(t.attr("checked")?true:undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)});
-};
-$.fn.switchbutton.defaults={handleWidth:"auto",width:60,height:26,checked:false,disabled:false,readonly:false,reversed:false,onText:"ON",offText:"OFF",handleText:"",value:"on",onChange:function(_480){
-}};
-})(jQuery);
-(function($){
-function init(_481){
-$(_481).addClass("validatebox-text");
-};
-function _482(_483){
-var _484=$.data(_483,"validatebox");
-_484.validating=false;
-if(_484.timer){
-clearTimeout(_484.timer);
-}
-$(_483).tooltip("destroy");
-$(_483).unbind();
-$(_483).remove();
-};
-function _485(_486){
-var opts=$.data(_486,"validatebox").options;
-var box=$(_486);
-box.unbind(".validatebox");
-if(opts.novalidate||box.is(":disabled")){
-return;
-}
-for(var _487 in opts.events){
-$(_486).bind(_487+".validatebox",{target:_486},opts.events[_487]);
-}
-};
-function _488(e){
-var _489=e.data.target;
-var _48a=$.data(_489,"validatebox");
-var box=$(_489);
-if($(_489).attr("readonly")){
-return;
-}
-_48a.validating=true;
-_48a.value=undefined;
-(function(){
-if(_48a.validating){
-if(_48a.value!=box.val()){
-_48a.value=box.val();
-if(_48a.timer){
-clearTimeout(_48a.timer);
-}
-_48a.timer=setTimeout(function(){
-$(_489).validatebox("validate");
-},_48a.options.delay);
-}else{
-_48b(_489);
-}
-setTimeout(arguments.callee,200);
-}
-})();
-};
-function _48c(e){
-var _48d=e.data.target;
-var _48e=$.data(_48d,"validatebox");
-if(_48e.timer){
-clearTimeout(_48e.timer);
-_48e.timer=undefined;
-}
-_48e.validating=false;
-_48f(_48d);
-};
-function _490(e){
-var _491=e.data.target;
-if($(_491).hasClass("validatebox-invalid")){
-_492(_491);
-}
-};
-function _493(e){
-var _494=e.data.target;
-var _495=$.data(_494,"validatebox");
-if(!_495.validating){
-_48f(_494);
-}
-};
-function _492(_496){
-var _497=$.data(_496,"validatebox");
-var opts=_497.options;
-$(_496).tooltip($.extend({},opts.tipOptions,{content:_497.message,position:opts.tipPosition,deltaX:opts.deltaX})).tooltip("show");
-_497.tip=true;
-};
-function _48b(_498){
-var _499=$.data(_498,"validatebox");
-if(_499&&_499.tip){
-$(_498).tooltip("reposition");
-}
-};
-function _48f(_49a){
-var _49b=$.data(_49a,"validatebox");
-_49b.tip=false;
-$(_49a).tooltip("hide");
-};
-function _49c(_49d){
-var _49e=$.data(_49d,"validatebox");
-var opts=_49e.options;
-var box=$(_49d);
-opts.onBeforeValidate.call(_49d);
-var _49f=_4a0();
-opts.onValidate.call(_49d,_49f);
-return _49f;
-function _4a1(msg){
-_49e.message=msg;
-};
-function _4a2(_4a3,_4a4){
-var _4a5=box.val();
-var _4a6=/([a-zA-Z_]+)(.*)/.exec(_4a3);
-var rule=opts.rules[_4a6[1]];
-if(rule&&_4a5){
-var _4a7=_4a4||opts.validParams||eval(_4a6[2]);
-if(!rule["validator"].call(_49d,_4a5,_4a7)){
-box.addClass("validatebox-invalid");
-var _4a8=rule["message"];
-if(_4a7){
-for(var i=0;i<_4a7.length;i++){
-_4a8=_4a8.replace(new RegExp("\\{"+i+"\\}","g"),_4a7[i]);
-}
-}
-_4a1(opts.invalidMessage||_4a8);
-if(_49e.validating){
-_492(_49d);
-}
-return false;
-}
-}
-return true;
-};
-function _4a0(){
-box.removeClass("validatebox-invalid");
-_48f(_49d);
-if(opts.novalidate||box.is(":disabled")){
-return true;
-}
-if(opts.required){
-if(box.val()==""){
-box.addClass("validatebox-invalid");
-_4a1(opts.missingMessage);
-if(_49e.validating){
-_492(_49d);
-}
-return false;
-}
-}
-if(opts.validType){
-if($.isArray(opts.validType)){
-for(var i=0;i<opts.validType.length;i++){
-if(!_4a2(opts.validType[i])){
-return false;
-}
-}
-}else{
-if(typeof opts.validType=="string"){
-if(!_4a2(opts.validType)){
-return false;
-}
-}else{
-for(var _4a9 in opts.validType){
-var _4aa=opts.validType[_4a9];
-if(!_4a2(_4a9,_4aa)){
-return false;
-}
-}
-}
-}
-}
-return true;
-};
-};
-function _4ab(_4ac,_4ad){
-var opts=$.data(_4ac,"validatebox").options;
-if(_4ad!=undefined){
-opts.novalidate=_4ad;
-}
-if(opts.novalidate){
-$(_4ac).removeClass("validatebox-invalid");
-_48f(_4ac);
-}
-_49c(_4ac);
-_485(_4ac);
-};
-$.fn.validatebox=function(_4ae,_4af){
-if(typeof _4ae=="string"){
-return $.fn.validatebox.methods[_4ae](this,_4af);
-}
-_4ae=_4ae||{};
-return this.each(function(){
-var _4b0=$.data(this,"validatebox");
-if(_4b0){
-$.extend(_4b0.options,_4ae);
-}else{
-init(this);
-$.data(this,"validatebox",{options:$.extend({},$.fn.validatebox.defaults,$.fn.validatebox.parseOptions(this),_4ae)});
-}
-_4ab(this);
-_49c(this);
-});
-};
-$.fn.validatebox.methods={options:function(jq){
-return $.data(jq[0],"validatebox").options;
-},destroy:function(jq){
-return jq.each(function(){
-_482(this);
-});
-},validate:function(jq){
-return jq.each(function(){
-_49c(this);
-});
-},isValid:function(jq){
-return _49c(jq[0]);
-},enableValidation:function(jq){
-return jq.each(function(){
-_4ab(this,false);
-});
-},disableValidation:function(jq){
-return jq.each(function(){
-_4ab(this,true);
-});
-}};
-$.fn.validatebox.parseOptions=function(_4b1){
-var t=$(_4b1);
-return $.extend({},$.parser.parseOptions(_4b1,["validType","missingMessage","invalidMessage","tipPosition",{delay:"number",deltaX:"number"}]),{required:(t.attr("required")?true:undefined),novalidate:(t.attr("novalidate")!=undefined?true:undefined)});
-};
-$.fn.validatebox.defaults={required:false,validType:null,validParams:null,delay:200,missingMessage:"This field is required.",invalidMessage:null,tipPosition:"right",deltaX:0,novalidate:false,events:{focus:_488,blur:_48c,mouseenter:_490,mouseleave:_493,click:function(e){
-var t=$(e.data.target);
-if(!t.is(":focus")){
-t.trigger("focus");
-}
-}},tipOptions:{showEvent:"none",hideEvent:"none",showDelay:0,hideDelay:0,zIndex:"",onShow:function(){
-$(this).tooltip("tip").css({color:"#000",borderColor:"#CC9933",backgroundColor:"#FFFFCC"});
-},onHide:function(){
-$(this).tooltip("destroy");
-}},rules:{email:{validator:function(_4b2){
-return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(_4b2);
-},message:"Please enter a valid email address."},url:{validator:function(_4b3){
-return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(_4b3);
-},message:"Please enter a valid URL."},length:{validator:function(_4b4,_4b5){
-var len=$.trim(_4b4).length;
-return len>=_4b5[0]&&len<=_4b5[1];
-},message:"Please enter a value between {0} and {1}."},remote:{validator:function(_4b6,_4b7){
-var data={};
-data[_4b7[1]]=_4b6;
-var _4b8=$.ajax({url:_4b7[0],dataType:"json",data:data,async:false,cache:false,type:"post"}).responseText;
-return _4b8=="true";
-},message:"Please fix this field."}},onBeforeValidate:function(){
-},onValidate:function(_4b9){
-}};
-})(jQuery);
-(function($){
-function init(_4ba){
-$(_4ba).addClass("textbox-f").hide();
-var span=$("<span class=\"textbox\">"+"<input class=\"textbox-text\" autocomplete=\"off\">"+"<input type=\"hidden\" class=\"textbox-value\">"+"</span>").insertAfter(_4ba);
-var name=$(_4ba).attr("name");
-if(name){
-span.find("input.textbox-value").attr("name",name);
-$(_4ba).removeAttr("name").attr("textboxName",name);
-}
-return span;
-};
-function _4bb(_4bc){
-var _4bd=$.data(_4bc,"textbox");
-var opts=_4bd.options;
-var tb=_4bd.textbox;
-tb.find(".textbox-text").remove();
-if(opts.multiline){
-$("<textarea class=\"textbox-text\" autocomplete=\"off\"></textarea>").prependTo(tb);
-}else{
-$("<input type=\""+opts.type+"\" class=\"textbox-text\" autocomplete=\"off\">").prependTo(tb);
-}
-tb.find(".textbox-addon").remove();
-var bb=opts.icons?$.extend(true,[],opts.icons):[];
-if(opts.iconCls){
-bb.push({iconCls:opts.iconCls,disabled:true});
-}
-if(bb.length){
-var bc=$("<span class=\"textbox-addon\"></span>").prependTo(tb);
-bc.addClass("textbox-addon-"+opts.iconAlign);
-for(var i=0;i<bb.length;i++){
-bc.append("<a href=\"javascript:void(0)\" class=\"textbox-icon "+bb[i].iconCls+"\" icon-index=\""+i+"\" tabindex=\"-1\"></a>");
-}
-}
-tb.find(".textbox-button").remove();
-if(opts.buttonText||opts.buttonIcon){
-var btn=$("<a href=\"javascript:void(0)\" class=\"textbox-button\"></a>").prependTo(tb);
-btn.addClass("textbox-button-"+opts.buttonAlign).linkbutton({text:opts.buttonText,iconCls:opts.buttonIcon});
-}
-_4be(_4bc,opts.disabled);
-_4bf(_4bc,opts.readonly);
-};
-function _4c0(_4c1){
-var tb=$.data(_4c1,"textbox").textbox;
-tb.find(".textbox-text").validatebox("destroy");
-tb.remove();
-$(_4c1).remove();
-};
-function _4c2(_4c3,_4c4){
-var _4c5=$.data(_4c3,"textbox");
-var opts=_4c5.options;
-var tb=_4c5.textbox;
-var _4c6=tb.parent();
-if(_4c4){
-opts.width=_4c4;
-}
-if(isNaN(parseInt(opts.width))){
-var c=$(_4c3).clone();
-c.css("visibility","hidden");
-c.insertAfter(_4c3);
-opts.width=c.outerWidth();
-c.remove();
-}
-var _4c7=tb.is(":visible");
-if(!_4c7){
-tb.appendTo("body");
-}
-var _4c8=tb.find(".textbox-text");
-var btn=tb.find(".textbox-button");
-var _4c9=tb.find(".textbox-addon");
-var _4ca=_4c9.find(".textbox-icon");
-tb._size(opts,_4c6);
-btn.linkbutton("resize",{height:tb.height()});
-btn.css({left:(opts.buttonAlign=="left"?0:""),right:(opts.buttonAlign=="right"?0:"")});
-_4c9.css({left:(opts.iconAlign=="left"?(opts.buttonAlign=="left"?btn._outerWidth():0):""),right:(opts.iconAlign=="right"?(opts.buttonAlign=="right"?btn._outerWidth():0):"")});
-_4ca.css({width:opts.iconWidth+"px",height:tb.height()+"px"});
-_4c8.css({paddingLeft:(_4c3.style.paddingLeft||""),paddingRight:(_4c3.style.paddingRight||""),marginLeft:_4cb("left"),marginRight:_4cb("right")});
-if(opts.multiline){
-_4c8.css({paddingTop:(_4c3.style.paddingTop||""),paddingBottom:(_4c3.style.paddingBottom||"")});
-_4c8._outerHeight(tb.height());
-}else{
-var _4cc=Math.floor((tb.height()-_4c8.height())/2);
-_4c8.css({paddingTop:_4cc+"px",paddingBottom:_4cc+"px"});
-}
-_4c8._outerWidth(tb.width()-_4ca.length*opts.iconWidth-btn._outerWidth());
-if(!_4c7){
-tb.insertAfter(_4c3);
-}
-opts.onResize.call(_4c3,opts.width,opts.height);
-function _4cb(_4cd){
-return (opts.iconAlign==_4cd?_4c9._outerWidth():0)+(opts.buttonAlign==_4cd?btn._outerWidth():0);
-};
-};
-function _4ce(_4cf){
-var opts=$(_4cf).textbox("options");
-var _4d0=$(_4cf).textbox("textbox");
-_4d0.validatebox($.extend({},opts,{deltaX:$(_4cf).textbox("getTipX"),onBeforeValidate:function(){
-var box=$(this);
-if(!box.is(":focus")){
-opts.oldInputValue=box.val();
-box.val(opts.value);
-}
-},onValidate:function(_4d1){
-var box=$(this);
-if(opts.oldInputValue!=undefined){
-box.val(opts.oldInputValue);
-opts.oldInputValue=undefined;
-}
-var tb=box.parent();
-if(_4d1){
-tb.removeClass("textbox-invalid");
-}else{
-tb.addClass("textbox-invalid");
-}
-}}));
-};
-function _4d2(_4d3){
-var _4d4=$.data(_4d3,"textbox");
-var opts=_4d4.options;
-var tb=_4d4.textbox;
-var _4d5=tb.find(".textbox-text");
-_4d5.attr("placeholder",opts.prompt);
-_4d5.unbind(".textbox");
-if(!opts.disabled&&!opts.readonly){
-_4d5.bind("blur.textbox",function(e){
-if(!tb.hasClass("textbox-focused")){
-return;
-}
-opts.value=$(this).val();
-if(opts.value==""){
-$(this).val(opts.prompt).addClass("textbox-prompt");
-}else{
-$(this).removeClass("textbox-prompt");
-}
-tb.removeClass("textbox-focused");
-}).bind("focus.textbox",function(e){
-if(tb.hasClass("textbox-focused")){
-return;
-}
-if($(this).val()!=opts.value){
-$(this).val(opts.value);
-}
-$(this).removeClass("textbox-prompt");
-tb.addClass("textbox-focused");
-});
-for(var _4d6 in opts.inputEvents){
-_4d5.bind(_4d6+".textbox",{target:_4d3},opts.inputEvents[_4d6]);
-}
-}
-var _4d7=tb.find(".textbox-addon");
-_4d7.unbind().bind("click",{target:_4d3},function(e){
-var icon=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)");
-if(icon.length){
-var _4d8=parseInt(icon.attr("icon-index"));
-var conf=opts.icons[_4d8];
-if(conf&&conf.handler){
-conf.handler.call(icon[0],e);
-opts.onClickIcon.call(_4d3,_4d8);
-}
-}
-});
-_4d7.find(".textbox-icon").each(function(_4d9){
-var conf=opts.icons[_4d9];
-var icon=$(this);
-if(!conf||conf.disabled||opts.disabled||opts.readonly){
-icon.addClass("textbox-icon-disabled");
-}else{
-icon.removeClass("textbox-icon-disabled");
-}
-});
-var btn=tb.find(".textbox-button");
-btn.unbind(".textbox").bind("click.textbox",function(){
-if(!btn.linkbutton("options").disabled){
-opts.onClickButton.call(_4d3);
-}
-});
-btn.linkbutton((opts.disabled||opts.readonly)?"disable":"enable");
-tb.unbind(".textbox").bind("_resize.textbox",function(e,_4da){
-if($(this).hasClass("easyui-fluid")||_4da){
-_4c2(_4d3);
-}
-return false;
-});
-};
-function _4be(_4db,_4dc){
-var _4dd=$.data(_4db,"textbox");
-var opts=_4dd.options;
-var tb=_4dd.textbox;
-if(_4dc){
-opts.disabled=true;
-$(_4db).attr("disabled","disabled");
-tb.addClass("textbox-disabled");
-tb.find(".textbox-text,.textbox-value").attr("disabled","disabled");
-}else{
-opts.disabled=false;
-tb.removeClass("textbox-disabled");
-$(_4db).removeAttr("disabled");
-tb.find(".textbox-text,.textbox-value").removeAttr("disabled");
-}
-};
-function _4bf(_4de,mode){
-var _4df=$.data(_4de,"textbox");
-var opts=_4df.options;
-opts.readonly=mode==undefined?true:mode;
-_4df.textbox.removeClass("textbox-readonly").addClass(opts.readonly?"textbox-readonly":"");
-var _4e0=_4df.textbox.find(".textbox-text");
-_4e0.removeAttr("readonly");
-if(opts.readonly||!opts.editable){
-_4e0.attr("readonly","readonly");
-}
-};
-$.fn.textbox=function(_4e1,_4e2){
-if(typeof _4e1=="string"){
-var _4e3=$.fn.textbox.methods[_4e1];
-if(_4e3){
-return _4e3(this,_4e2);
-}else{
-return this.each(function(){
-var _4e4=$(this).textbox("textbox");
-_4e4.validatebox(_4e1,_4e2);
-});
-}
-}
-_4e1=_4e1||{};
-return this.each(function(){
-var _4e5=$.data(this,"textbox");
-if(_4e5){
-$.extend(_4e5.options,_4e1);
-if(_4e1.value!=undefined){
-_4e5.options.originalValue=_4e1.value;
-}
-}else{
-_4e5=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_4e1),textbox:init(this)});
-_4e5.options.originalValue=_4e5.options.value;
-}
-_4bb(this);
-_4d2(this);
-_4c2(this);
-_4ce(this);
-$(this).textbox("initValue",_4e5.options.value);
-});
-};
-$.fn.textbox.methods={options:function(jq){
-return $.data(jq[0],"textbox").options;
-},cloneFrom:function(jq,from){
-return jq.each(function(){
-var t=$(this);
-if(t.data("textbox")){
-return;
-}
-if(!$(from).data("textbox")){
-$(from).textbox();
-}
-var name=t.attr("name")||"";
-t.addClass("textbox-f").hide();
-t.removeAttr("name").attr("textboxName",name);
-var span=$(from).next().clone().insertAfter(t);
-span.find("input.textbox-value").attr("name",name);
-$.data(this,"textbox",{options:$.extend(true,{},$(from).textbox("options")),textbox:span});
-var _4e6=$(from).textbox("button");
-if(_4e6.length){
-t.textbox("button").linkbutton($.extend(true,{},_4e6.linkbutton("options")));
-}
-_4d2(this);
-_4ce(this);
-});
-},textbox:function(jq){
-return $.data(jq[0],"textbox").textbox.find(".textbox-text");
-},button:function(jq){
-return $.data(jq[0],"textbox").textbox.find(".textbox-button");
-},destroy:function(jq){
-return jq.each(function(){
-_4c0(this);
-});
-},resize:function(jq,_4e7){
-return jq.each(function(){
-_4c2(this,_4e7);
-});
-},disable:function(jq){
-return jq.each(function(){
-_4be(this,true);
-_4d2(this);
-});
-},enable:function(jq){
-return jq.each(function(){
-_4be(this,false);
-_4d2(this);
-});
-},readonly:function(jq,mode){
-return jq.each(function(){
-_4bf(this,mode);
-_4d2(this);
-});
-},isValid:function(jq){
-return jq.textbox("textbox").validatebox("isValid");
-},clear:function(jq){
-return jq.each(function(){
-$(this).textbox("setValue","");
-});
-},setText:function(jq,_4e8){
-return jq.each(function(){
-var opts=$(this).textbox("options");
-var _4e9=$(this).textbox("textbox");
-_4e8=_4e8==undefined?"":String(_4e8);
-if($(this).textbox("getText")!=_4e8){
-_4e9.val(_4e8);
-}
-opts.value=_4e8;
-if(!_4e9.is(":focus")){
-if(_4e8){
-_4e9.removeClass("textbox-prompt");
-}else{
-_4e9.val(opts.prompt).addClass("textbox-prompt");
-}
-}
-$(this).textbox("validate");
-});
-},initValue:function(jq,_4ea){
-return jq.each(function(){
-var _4eb=$.data(this,"textbox");
-_4eb.options.value="";
-$(this).textbox("setText",_4ea);
-_4eb.textbox.find(".textbox-value").val(_4ea);
-$(this).val(_4ea);
-});
-},setValue:function(jq,_4ec){
-return jq.each(function(){
-var opts=$.data(this,"textbox").options;
-var _4ed=$(this).textbox("getValue");
-$(this).textbox("initValue",_4ec);
-if(_4ed!=_4ec){
-opts.onChange.call(this,_4ec,_4ed);
-$(this).closest("form").trigger("_change",[this]);
-}
-});
-},getText:function(jq){
-var _4ee=jq.textbox("textbox");
-if(_4ee.is(":focus")){
-return _4ee.val();
-}else{
-return jq.textbox("options").value;
-}
-},getValue:function(jq){
-return jq.data("textbox").textbox.find(".textbox-value").val();
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).textbox("options");
-$(this).textbox("setValue",opts.originalValue);
-});
-},getIcon:function(jq,_4ef){
-return jq.data("textbox").textbox.find(".textbox-icon:eq("+_4ef+")");
-},getTipX:function(jq){
-var _4f0=jq.data("textbox");
-var opts=_4f0.options;
-var tb=_4f0.textbox;
-var _4f1=tb.find(".textbox-text");
-var _4f2=tb.find(".textbox-addon")._outerWidth();
-var _4f3=tb.find(".textbox-button")._outerWidth();
-if(opts.tipPosition=="right"){
-return (opts.iconAlign=="right"?_4f2:0)+(opts.buttonAlign=="right"?_4f3:0)+1;
-}else{
-if(opts.tipPosition=="left"){
-return (opts.iconAlign=="left"?-_4f2:0)+(opts.buttonAlign=="left"?-_4f3:0)-1;
-}else{
-return _4f2/2*(opts.iconAlign=="right"?1:-1);
-}
-}
-}};
-$.fn.textbox.parseOptions=function(_4f4){
-var t=$(_4f4);
-return $.extend({},$.fn.validatebox.parseOptions(_4f4),$.parser.parseOptions(_4f4,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign",{multiline:"boolean",editable:"boolean",iconWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)});
-};
-$.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{width:"auto",height:22,prompt:"",value:"",type:"text",multiline:false,editable:true,disabled:false,readonly:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:18,buttonText:"",buttonIcon:null,buttonAlign:"right",inputEvents:{blur:function(e){
-var t=$(e.data.target);
-var opts=t.textbox("options");
-t.textbox("setValue",opts.value);
-},keydown:function(e){
-if(e.keyCode==13){
-var t=$(e.data.target);
-t.textbox("setValue",t.textbox("getText"));
-}
-}},onChange:function(_4f5,_4f6){
-},onResize:function(_4f7,_4f8){
-},onClickButton:function(){
-},onClickIcon:function(_4f9){
-}});
-})(jQuery);
-(function($){
-var _4fa=0;
-function _4fb(_4fc){
-var _4fd=$.data(_4fc,"filebox");
-var opts=_4fd.options;
-opts.fileboxId="filebox_file_id_"+(++_4fa);
-$(_4fc).addClass("filebox-f").textbox(opts);
-$(_4fc).textbox("textbox").attr("readonly","readonly");
-_4fd.filebox=$(_4fc).next().addClass("filebox");
-var file=_4fe(_4fc);
-var btn=$(_4fc).filebox("button");
-if(btn.length){
-$("<label class=\"filebox-label\" for=\""+opts.fileboxId+"\"></label>").appendTo(btn);
-if(btn.linkbutton("options").disabled){
-file.attr("disabled","disabled");
-}else{
-file.removeAttr("disabled");
-}
-}
-};
-function _4fe(_4ff){
-var _500=$.data(_4ff,"filebox");
-var opts=_500.options;
-_500.filebox.find(".textbox-value").remove();
-opts.oldValue="";
-var file=$("<input type=\"file\" class=\"textbox-value\">").appendTo(_500.filebox);
-file.attr("id",opts.fileboxId).attr("name",$(_4ff).attr("textboxName")||"");
-file.change(function(){
-$(_4ff).filebox("setText",this.value);
-opts.onChange.call(_4ff,this.value,opts.oldValue);
-opts.oldValue=this.value;
-});
-return file;
-};
-$.fn.filebox=function(_501,_502){
-if(typeof _501=="string"){
-var _503=$.fn.filebox.methods[_501];
-if(_503){
-return _503(this,_502);
-}else{
-return this.textbox(_501,_502);
-}
-}
-_501=_501||{};
-return this.each(function(){
-var _504=$.data(this,"filebox");
-if(_504){
-$.extend(_504.options,_501);
-}else{
-$.data(this,"filebox",{options:$.extend({},$.fn.filebox.defaults,$.fn.filebox.parseOptions(this),_501)});
-}
-_4fb(this);
-});
-};
-$.fn.filebox.methods={options:function(jq){
-var opts=jq.textbox("options");
-return $.extend($.data(jq[0],"filebox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-},clear:function(jq){
-return jq.each(function(){
-$(this).textbox("clear");
-_4fe(this);
-});
-},reset:function(jq){
-return jq.each(function(){
-$(this).filebox("clear");
-});
-}};
-$.fn.filebox.parseOptions=function(_505){
-return $.extend({},$.fn.textbox.parseOptions(_505),{});
-};
-$.fn.filebox.defaults=$.extend({},$.fn.textbox.defaults,{buttonIcon:null,buttonText:"Choose File",buttonAlign:"right",inputEvents:{}});
-})(jQuery);
-(function($){
-function _506(_507){
-var _508=$.data(_507,"searchbox");
-var opts=_508.options;
-var _509=$.extend(true,[],opts.icons);
-_509.push({iconCls:"searchbox-button",handler:function(e){
-var t=$(e.data.target);
-var opts=t.searchbox("options");
-opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName"));
-}});
-_50a();
-var _50b=_50c();
-$(_507).addClass("searchbox-f").textbox($.extend({},opts,{icons:_509,buttonText:(_50b?_50b.text:"")}));
-$(_507).attr("searchboxName",$(_507).attr("textboxName"));
-_508.searchbox=$(_507).next();
-_508.searchbox.addClass("searchbox");
-_50d(_50b);
-function _50a(){
-if(opts.menu){
-_508.menu=$(opts.menu).menu();
-var _50e=_508.menu.menu("options");
-var _50f=_50e.onClick;
-_50e.onClick=function(item){
-_50d(item);
-_50f.call(this,item);
-};
-}else{
-if(_508.menu){
-_508.menu.menu("destroy");
-}
-_508.menu=null;
-}
-};
-function _50c(){
-if(_508.menu){
-var item=_508.menu.children("div.menu-item:first");
-_508.menu.children("div.menu-item").each(function(){
-var _510=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)});
-if(_510.selected){
-item=$(this);
-return false;
-}
-});
-return _508.menu.menu("getItem",item[0]);
-}else{
-return null;
-}
-};
-function _50d(item){
-if(!item){
-return;
-}
-$(_507).textbox("button").menubutton({text:item.text,iconCls:(item.iconCls||null),menu:_508.menu,menuAlign:opts.buttonAlign,plain:false});
-_508.searchbox.find("input.textbox-value").attr("name",item.name||item.text);
-$(_507).searchbox("resize");
-};
-};
-$.fn.searchbox=function(_511,_512){
-if(typeof _511=="string"){
-var _513=$.fn.searchbox.methods[_511];
-if(_513){
-return _513(this,_512);
-}else{
-return this.textbox(_511,_512);
-}
-}
-_511=_511||{};
-return this.each(function(){
-var _514=$.data(this,"searchbox");
-if(_514){
-$.extend(_514.options,_511);
-}else{
-$.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_511)});
-}
-_506(this);
-});
-};
-$.fn.searchbox.methods={options:function(jq){
-var opts=jq.textbox("options");
-return $.extend($.data(jq[0],"searchbox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-},menu:function(jq){
-return $.data(jq[0],"searchbox").menu;
-},getName:function(jq){
-return $.data(jq[0],"searchbox").searchbox.find("input.textbox-value").attr("name");
-},selectName:function(jq,name){
-return jq.each(function(){
-var menu=$.data(this,"searchbox").menu;
-if(menu){
-menu.children("div.menu-item").each(function(){
-var item=menu.menu("getItem",this);
-if(item.name==name){
-$(this).triggerHandler("click");
-return false;
-}
-});
-}
-});
-},destroy:function(jq){
-return jq.each(function(){
-var menu=$(this).searchbox("menu");
-if(menu){
-menu.menu("destroy");
-}
-$(this).textbox("destroy");
-});
-}};
-$.fn.searchbox.parseOptions=function(_515){
-var t=$(_515);
-return $.extend({},$.fn.textbox.parseOptions(_515),$.parser.parseOptions(_515,["menu"]),{searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)});
-};
-$.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){
-if(e.keyCode==13){
-e.preventDefault();
-var t=$(e.data.target);
-var opts=t.searchbox("options");
-t.searchbox("setValue",$(this).val());
-opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName"));
-return false;
-}
-}}),buttonAlign:"left",menu:null,searcher:function(_516,name){
-}});
-})(jQuery);
-(function($){
-function _517(_518,_519){
-var opts=$.data(_518,"form").options;
-$.extend(opts,_519||{});
-var _51a=$.extend({},opts.queryParams);
-if(opts.onSubmit.call(_518,_51a)==false){
-return;
-}
-$(_518).find(".textbox-text:focus").blur();
-var _51b="easyui_frame_"+(new Date().getTime());
-var _51c=$("<iframe id="+_51b+" name="+_51b+"></iframe>").appendTo("body");
-_51c.attr("src",window.ActiveXObject?"javascript:false":"about:blank");
-_51c.css({position:"absolute",top:-1000,left:-1000});
-_51c.bind("load",cb);
-_51d(_51a);
-function _51d(_51e){
-var form=$(_518);
-if(opts.url){
-form.attr("action",opts.url);
-}
-var t=form.attr("target"),a=form.attr("action");
-form.attr("target",_51b);
-var _51f=$();
-try{
-for(var n in _51e){
-var _520=$("<input type=\"hidden\" name=\""+n+"\">").val(_51e[n]).appendTo(form);
-_51f=_51f.add(_520);
-}
-_521();
-form[0].submit();
-}
-finally{
-form.attr("action",a);
-t?form.attr("target",t):form.removeAttr("target");
-_51f.remove();
-}
-};
-function _521(){
-var f=$("#"+_51b);
-if(!f.length){
-return;
-}
-try{
-var s=f.contents()[0].readyState;
-if(s&&s.toLowerCase()=="uninitialized"){
-setTimeout(_521,100);
-}
-}
-catch(e){
-cb();
-}
-};
-var _522=10;
-function cb(){
-var f=$("#"+_51b);
-if(!f.length){
-return;
-}
-f.unbind();
-var data="";
-try{
-var body=f.contents().find("body");
-data=body.html();
-if(data==""){
-if(--_522){
-setTimeout(cb,100);
-return;
-}
-}
-var ta=body.find(">textarea");
-if(ta.length){
-data=ta.val();
-}else{
-var pre=body.find(">pre");
-if(pre.length){
-data=pre.html();
-}
-}
-}
-catch(e){
-}
-opts.success(data);
-setTimeout(function(){
-f.unbind();
-f.remove();
-},100);
-};
-};
-function load(_523,data){
-var opts=$.data(_523,"form").options;
-if(typeof data=="string"){
-var _524={};
-if(opts.onBeforeLoad.call(_523,_524)==false){
-return;
-}
-$.ajax({url:data,data:_524,dataType:"json",success:function(data){
-_525(data);
-},error:function(){
-opts.onLoadError.apply(_523,arguments);
-}});
-}else{
-_525(data);
-}
-function _525(data){
-var form=$(_523);
-for(var name in data){
-var val=data[name];
-if(!_526(name,val)){
-if(!_527(name,val)){
-form.find("input[name=\""+name+"\"]").val(val);
-form.find("textarea[name=\""+name+"\"]").val(val);
-form.find("select[name=\""+name+"\"]").val(val);
-}
-}
-}
-opts.onLoadSuccess.call(_523,data);
-form.form("validate");
-};
-function _526(name,val){
-var cc=$(_523).find("[switchbuttonName=\""+name+"\"]");
-if(cc.length){
-cc.switchbutton("uncheck");
-cc.each(function(){
-if(_528($(this).switchbutton("options").value,val)){
-$(this).switchbutton("check");
-}
-});
-return true;
-}
-cc=$(_523).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]");
-if(cc.length){
-cc._propAttr("checked",false);
-cc.each(function(){
-if(_528($(this).val(),val)){
-$(this)._propAttr("checked",true);
-}
-});
-return true;
-}
-return false;
-};
-function _528(v,val){
-if(v==String(val)||$.inArray(v,$.isArray(val)?val:[val])>=0){
-return true;
-}else{
-return false;
-}
-};
-function _527(name,val){
-var _529=$(_523).find("[textboxName=\""+name+"\"],[sliderName=\""+name+"\"]");
-if(_529.length){
-for(var i=0;i<opts.fieldTypes.length;i++){
-var type=opts.fieldTypes[i];
-var _52a=_529.data(type);
-if(_52a){
-if(_52a.options.multiple||_52a.options.range){
-_529[type]("setValues",val);
-}else{
-_529[type]("setValue",val);
-}
-return true;
-}
-}
-}
-return false;
-};
-};
-function _52b(_52c){
-$("input,select,textarea",_52c).each(function(){
-var t=this.type,tag=this.tagName.toLowerCase();
-if(t=="text"||t=="hidden"||t=="password"||tag=="textarea"){
-this.value="";
-}else{
-if(t=="file"){
-var file=$(this);
-if(!file.hasClass("textbox-value")){
-var _52d=file.clone().val("");
-_52d.insertAfter(file);
-if(file.data("validatebox")){
-file.validatebox("destroy");
-_52d.validatebox();
-}else{
-file.remove();
-}
-}
-}else{
-if(t=="checkbox"||t=="radio"){
-this.checked=false;
-}else{
-if(tag=="select"){
-this.selectedIndex=-1;
-}
-}
-}
-}
-});
-var form=$(_52c);
-var opts=$.data(_52c,"form").options;
-for(var i=opts.fieldTypes.length-1;i>=0;i--){
-var type=opts.fieldTypes[i];
-var _52e=form.find("."+type+"-f");
-if(_52e.length&&_52e[type]){
-_52e[type]("clear");
-}
-}
-form.form("validate");
-};
-function _52f(_530){
-_530.reset();
-var form=$(_530);
-var opts=$.data(_530,"form").options;
-for(var i=opts.fieldTypes.length-1;i>=0;i--){
-var type=opts.fieldTypes[i];
-var _531=form.find("."+type+"-f");
-if(_531.length&&_531[type]){
-_531[type]("reset");
-}
-}
-form.form("validate");
-};
-function _532(_533){
-var _534=$.data(_533,"form").options;
-$(_533).unbind(".form");
-if(_534.ajax){
-$(_533).bind("submit.form",function(){
-setTimeout(function(){
-_517(_533,_534);
-},0);
-return false;
-});
-}
-$(_533).bind("_change.form",function(e,t){
-_534.onChange.call(this,t);
-}).bind("change.form",function(e){
-var t=e.target;
-if(!$(t).hasClass("textbox-text")){
-_534.onChange.call(this,t);
-}
-});
-_535(_533,_534.novalidate);
-};
-function _536(_537,_538){
-_538=_538||{};
-var _539=$.data(_537,"form");
-if(_539){
-$.extend(_539.options,_538);
-}else{
-$.data(_537,"form",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_537),_538)});
-}
-};
-function _53a(_53b){
-if($.fn.validatebox){
-var t=$(_53b);
-t.find(".validatebox-text:not(:disabled)").validatebox("validate");
-var _53c=t.find(".validatebox-invalid");
-_53c.filter(":not(:disabled):first").focus();
-return _53c.length==0;
-}
-return true;
-};
-function _535(_53d,_53e){
-var opts=$.data(_53d,"form").options;
-opts.novalidate=_53e;
-$(_53d).find(".validatebox-text:not(:disabled)").validatebox(_53e?"disableValidation":"enableValidation");
-};
-$.fn.form=function(_53f,_540){
-if(typeof _53f=="string"){
-this.each(function(){
-_536(this);
-});
-return $.fn.form.methods[_53f](this,_540);
-}
-return this.each(function(){
-_536(this,_53f);
-_532(this);
-});
-};
-$.fn.form.methods={options:function(jq){
-return $.data(jq[0],"form").options;
-},submit:function(jq,_541){
-return jq.each(function(){
-_517(this,_541);
-});
-},load:function(jq,data){
-return jq.each(function(){
-load(this,data);
-});
-},clear:function(jq){
-return jq.each(function(){
-_52b(this);
-});
-},reset:function(jq){
-return jq.each(function(){
-_52f(this);
-});
-},validate:function(jq){
-return _53a(jq[0]);
-},disableValidation:function(jq){
-return jq.each(function(){
-_535(this,true);
-});
-},enableValidation:function(jq){
-return jq.each(function(){
-_535(this,false);
-});
-}};
-$.fn.form.parseOptions=function(_542){
-var t=$(_542);
-return $.extend({},$.parser.parseOptions(_542,[{ajax:"boolean"}]),{url:(t.attr("action")?t.attr("action"):undefined)});
-};
-$.fn.form.defaults={fieldTypes:["combobox","combotree","combogrid","datetimebox","datebox","combo","datetimespinner","timespinner","numberspinner","spinner","slider","searchbox","numberbox","textbox","switchbutton"],novalidate:false,ajax:true,url:null,queryParams:{},onSubmit:function(_543){
-return $(this).form("validate");
-},success:function(data){
-},onBeforeLoad:function(_544){
-},onLoadSuccess:function(data){
-},onLoadError:function(){
-},onChange:function(_545){
-}};
-})(jQuery);
-(function($){
-function _546(_547){
-var _548=$.data(_547,"numberbox");
-var opts=_548.options;
-$(_547).addClass("numberbox-f").textbox(opts);
-$(_547).textbox("textbox").css({imeMode:"disabled"});
-$(_547).attr("numberboxName",$(_547).attr("textboxName"));
-_548.numberbox=$(_547).next();
-_548.numberbox.addClass("numberbox");
-var _549=opts.parser.call(_547,opts.value);
-var _54a=opts.formatter.call(_547,_549);
-$(_547).numberbox("initValue",_549).numberbox("setText",_54a);
-};
-function _54b(_54c,_54d){
-var _54e=$.data(_54c,"numberbox");
-var opts=_54e.options;
-var _54d=opts.parser.call(_54c,_54d);
-var text=opts.formatter.call(_54c,_54d);
-opts.value=_54d;
-$(_54c).textbox("setText",text).textbox("setValue",_54d);
-text=opts.formatter.call(_54c,$(_54c).textbox("getValue"));
-$(_54c).textbox("setText",text);
-};
-$.fn.numberbox=function(_54f,_550){
-if(typeof _54f=="string"){
-var _551=$.fn.numberbox.methods[_54f];
-if(_551){
-return _551(this,_550);
-}else{
-return this.textbox(_54f,_550);
-}
-}
-_54f=_54f||{};
-return this.each(function(){
-var _552=$.data(this,"numberbox");
-if(_552){
-$.extend(_552.options,_54f);
-}else{
-_552=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_54f)});
-}
-_546(this);
-});
-};
-$.fn.numberbox.methods={options:function(jq){
-var opts=jq.data("textbox")?jq.textbox("options"):{};
-return $.extend($.data(jq[0],"numberbox").options,{width:opts.width,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-},fix:function(jq){
-return jq.each(function(){
-$(this).numberbox("setValue",$(this).numberbox("getText"));
-});
-},setValue:function(jq,_553){
-return jq.each(function(){
-_54b(this,_553);
-});
-},clear:function(jq){
-return jq.each(function(){
-$(this).textbox("clear");
-$(this).numberbox("options").value="";
-});
-},reset:function(jq){
-return jq.each(function(){
-$(this).textbox("reset");
-$(this).numberbox("setValue",$(this).numberbox("getValue"));
-});
-}};
-$.fn.numberbox.parseOptions=function(_554){
-var t=$(_554);
-return $.extend({},$.fn.textbox.parseOptions(_554),$.parser.parseOptions(_554,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)});
-};
-$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){
-var _555=e.data.target;
-var opts=$(_555).numberbox("options");
-return opts.filter.call(_555,e);
-},blur:function(e){
-var _556=e.data.target;
-$(_556).numberbox("setValue",$(_556).numberbox("getText"));
-},keydown:function(e){
-if(e.keyCode==13){
-var _557=e.data.target;
-$(_557).numberbox("setValue",$(_557).numberbox("getText"));
-}
-}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){
-var opts=$(this).numberbox("options");
-var s=$(this).numberbox("getText");
-if(e.which==13){
-return true;
-}
-if(e.which==45){
-return (s.indexOf("-")==-1?true:false);
-}
-var c=String.fromCharCode(e.which);
-if(c==opts.decimalSeparator){
-return (s.indexOf(c)==-1?true:false);
-}else{
-if(c==opts.groupSeparator){
-return true;
-}else{
-if((e.which>=48&&e.which<=57&&e.ctrlKey==false&&e.shiftKey==false)||e.which==0||e.which==8){
-return true;
-}else{
-if(e.ctrlKey==true&&(e.which==99||e.which==118)){
-return true;
-}else{
-return false;
-}
-}
-}
-}
-},formatter:function(_558){
-if(!_558){
-return _558;
-}
-_558=_558+"";
-var opts=$(this).numberbox("options");
-var s1=_558,s2="";
-var dpos=_558.indexOf(".");
-if(dpos>=0){
-s1=_558.substring(0,dpos);
-s2=_558.substring(dpos+1,_558.length);
-}
-if(opts.groupSeparator){
-var p=/(\d+)(\d{3})/;
-while(p.test(s1)){
-s1=s1.replace(p,"$1"+opts.groupSeparator+"$2");
-}
-}
-if(s2){
-return opts.prefix+s1+opts.decimalSeparator+s2+opts.suffix;
-}else{
-return opts.prefix+s1+opts.suffix;
-}
-},parser:function(s){
-s=s+"";
-var opts=$(this).numberbox("options");
-if(parseFloat(s)!=s){
-if(opts.prefix){
-s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.prefix),"g"),""));
-}
-if(opts.suffix){
-s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.suffix),"g"),""));
-}
-if(opts.groupSeparator){
-s=$.trim(s.replace(new RegExp("\\"+opts.groupSeparator,"g"),""));
-}
-if(opts.decimalSeparator){
-s=$.trim(s.replace(new RegExp("\\"+opts.decimalSeparator,"g"),"."));
-}
-s=s.replace(/\s/g,"");
-}
-var val=parseFloat(s).toFixed(opts.precision);
-if(isNaN(val)){
-val="";
-}else{
-if(typeof (opts.min)=="number"&&val<opts.min){
-val=opts.min.toFixed(opts.precision);
-}else{
-if(typeof (opts.max)=="number"&&val>opts.max){
-val=opts.max.toFixed(opts.precision);
-}
-}
-}
-return val;
-}});
-})(jQuery);
-(function($){
-function _559(_55a,_55b){
-var opts=$.data(_55a,"calendar").options;
-var t=$(_55a);
-if(_55b){
-$.extend(opts,{width:_55b.width,height:_55b.height});
-}
-t._size(opts,t.parent());
-t.find(".calendar-body")._outerHeight(t.height()-t.find(".calendar-header")._outerHeight());
-if(t.find(".calendar-menu").is(":visible")){
-_55c(_55a);
-}
-};
-function init(_55d){
-$(_55d).addClass("calendar").html("<div class=\"calendar-header\">"+"<div class=\"calendar-nav calendar-prevmonth\"></div>"+"<div class=\"calendar-nav calendar-nextmonth\"></div>"+"<div class=\"calendar-nav calendar-prevyear\"></div>"+"<div class=\"calendar-nav calendar-nextyear\"></div>"+"<div class=\"calendar-title\">"+"<span class=\"calendar-text\"></span>"+"</div>"+"</div>"+"<div class=\"calendar-body\">"+"<div class=\"calendar-menu\">"+"<div class=\"calendar-menu-year-inner\">"+"<span class=\"calendar-nav calendar-menu-prev\"></span>"+"<span><input class=\"calendar-menu-year\" type=\"text\"></input></span>"+"<span class=\"calendar-nav calendar-menu-next\"></span>"+"</div>"+"<div class=\"calendar-menu-month-inner\">"+"</div>"+"</div>"+"</div>");
-$(_55d).bind("_resize",function(e,_55e){
-if($(this).hasClass("easyui-fluid")||_55e){
-_559(_55d);
-}
-return false;
-});
-};
-function _55f(_560){
-var opts=$.data(_560,"calendar").options;
-var menu=$(_560).find(".calendar-menu");
-menu.find(".calendar-menu-year").unbind(".calendar").bind("keypress.calendar",function(e){
-if(e.keyCode==13){
-_561(true);
-}
-});
-$(_560).unbind(".calendar").bind("mouseover.calendar",function(e){
-var t=_562(e.target);
-if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){
-t.addClass("calendar-nav-hover");
-}
-}).bind("mouseout.calendar",function(e){
-var t=_562(e.target);
-if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){
-t.removeClass("calendar-nav-hover");
-}
-}).bind("click.calendar",function(e){
-var t=_562(e.target);
-if(t.hasClass("calendar-menu-next")||t.hasClass("calendar-nextyear")){
-_563(1);
-}else{
-if(t.hasClass("calendar-menu-prev")||t.hasClass("calendar-prevyear")){
-_563(-1);
-}else{
-if(t.hasClass("calendar-menu-month")){
-menu.find(".calendar-selected").removeClass("calendar-selected");
-t.addClass("calendar-selected");
-_561(true);
-}else{
-if(t.hasClass("calendar-prevmonth")){
-_564(-1);
-}else{
-if(t.hasClass("calendar-nextmonth")){
-_564(1);
-}else{
-if(t.hasClass("calendar-text")){
-if(menu.is(":visible")){
-menu.hide();
-}else{
-_55c(_560);
-}
-}else{
-if(t.hasClass("calendar-day")){
-if(t.hasClass("calendar-disabled")){
-return;
-}
-var _565=opts.current;
-t.closest("div.calendar-body").find(".calendar-selected").removeClass("calendar-selected");
-t.addClass("calendar-selected");
-var _566=t.attr("abbr").split(",");
-var y=parseInt(_566[0]);
-var m=parseInt(_566[1]);
-var d=parseInt(_566[2]);
-opts.current=new Date(y,m-1,d);
-opts.onSelect.call(_560,opts.current);
-if(!_565||_565.getTime()!=opts.current.getTime()){
-opts.onChange.call(_560,opts.current,_565);
-}
-if(opts.year!=y||opts.month!=m){
-opts.year=y;
-opts.month=m;
-show(_560);
-}
-}
-}
-}
-}
-}
-}
-}
-});
-function _562(t){
-var day=$(t).closest(".calendar-day");
-if(day.length){
-return day;
-}else{
-return $(t);
-}
-};
-function _561(_567){
-var menu=$(_560).find(".calendar-menu");
-var year=menu.find(".calendar-menu-year").val();
-var _568=menu.find(".calendar-selected").attr("abbr");
-if(!isNaN(year)){
-opts.year=parseInt(year);
-opts.month=parseInt(_568);
-show(_560);
-}
-if(_567){
-menu.hide();
-}
-};
-function _563(_569){
-opts.year+=_569;
-show(_560);
-menu.find(".calendar-menu-year").val(opts.year);
-};
-function _564(_56a){
-opts.month+=_56a;
-if(opts.month>12){
-opts.year++;
-opts.month=1;
-}else{
-if(opts.month<1){
-opts.year--;
-opts.month=12;
-}
-}
-show(_560);
-menu.find("td.calendar-selected").removeClass("calendar-selected");
-menu.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected");
-};
-};
-function _55c(_56b){
-var opts=$.data(_56b,"calendar").options;
-$(_56b).find(".calendar-menu").show();
-if($(_56b).find(".calendar-menu-month-inner").is(":empty")){
-$(_56b).find(".calendar-menu-month-inner").empty();
-var t=$("<table class=\"calendar-mtable\"></table>").appendTo($(_56b).find(".calendar-menu-month-inner"));
-var idx=0;
-for(var i=0;i<3;i++){
-var tr=$("<tr></tr>").appendTo(t);
-for(var j=0;j<4;j++){
-$("<td class=\"calendar-nav calendar-menu-month\"></td>").html(opts.months[idx++]).attr("abbr",idx).appendTo(tr);
-}
-}
-}
-var body=$(_56b).find(".calendar-body");
-var sele=$(_56b).find(".calendar-menu");
-var _56c=sele.find(".calendar-menu-year-inner");
-var _56d=sele.find(".calendar-menu-month-inner");
-_56c.find("input").val(opts.year).focus();
-_56d.find("td.calendar-selected").removeClass("calendar-selected");
-_56d.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected");
-sele._outerWidth(body._outerWidth());
-sele._outerHeight(body._outerHeight());
-_56d._outerHeight(sele.height()-_56c._outerHeight());
-};
-function _56e(_56f,year,_570){
-var opts=$.data(_56f,"calendar").options;
-var _571=[];
-var _572=new Date(year,_570,0).getDate();
-for(var i=1;i<=_572;i++){
-_571.push([year,_570,i]);
-}
-var _573=[],week=[];
-var _574=-1;
-while(_571.length>0){
-var date=_571.shift();
-week.push(date);
-var day=new Date(date[0],date[1]-1,date[2]).getDay();
-if(_574==day){
-day=0;
-}else{
-if(day==(opts.firstDay==0?7:opts.firstDay)-1){
-_573.push(week);
-week=[];
-}
-}
-_574=day;
-}
-if(week.length){
-_573.push(week);
-}
-var _575=_573[0];
-if(_575.length<7){
-while(_575.length<7){
-var _576=_575[0];
-var date=new Date(_576[0],_576[1]-1,_576[2]-1);
-_575.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]);
-}
-}else{
-var _576=_575[0];
-var week=[];
-for(var i=1;i<=7;i++){
-var date=new Date(_576[0],_576[1]-1,_576[2]-i);
-week.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]);
-}
-_573.unshift(week);
-}
-var _577=_573[_573.length-1];
-while(_577.length<7){
-var _578=_577[_577.length-1];
-var date=new Date(_578[0],_578[1]-1,_578[2]+1);
-_577.push([date.getFullYear(),date.getMonth()+1,date.getDate()]);
-}
-if(_573.length<6){
-var _578=_577[_577.length-1];
-var week=[];
-for(var i=1;i<=7;i++){
-var date=new Date(_578[0],_578[1]-1,_578[2]+i);
-week.push([date.getFullYear(),date.getMonth()+1,date.getDate()]);
-}
-_573.push(week);
-}
-return _573;
-};
-function show(_579){
-var opts=$.data(_579,"calendar").options;
-if(opts.current&&!opts.validator.call(_579,opts.current)){
-opts.current=null;
-}
-var now=new Date();
-var _57a=now.getFullYear()+","+(now.getMonth()+1)+","+now.getDate();
-var _57b=opts.current?(opts.current.getFullYear()+","+(opts.current.getMonth()+1)+","+opts.current.getDate()):"";
-var _57c=6-opts.firstDay;
-var _57d=_57c+1;
-if(_57c>=7){
-_57c-=7;
-}
-if(_57d>=7){
-_57d-=7;
-}
-$(_579).find(".calendar-title span").html(opts.months[opts.month-1]+" "+opts.year);
-var body=$(_579).find("div.calendar-body");
-body.children("table").remove();
-var data=["<table class=\"calendar-dtable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">"];
-data.push("<thead><tr>");
-for(var i=opts.firstDay;i<opts.weeks.length;i++){
-data.push("<th>"+opts.weeks[i]+"</th>");
-}
-for(var i=0;i<opts.firstDay;i++){
-data.push("<th>"+opts.weeks[i]+"</th>");
-}
-data.push("</tr></thead>");
-data.push("<tbody>");
-var _57e=_56e(_579,opts.year,opts.month);
-for(var i=0;i<_57e.length;i++){
-var week=_57e[i];
-var cls="";
-if(i==0){
-cls="calendar-first";
-}else{
-if(i==_57e.length-1){
-cls="calendar-last";
-}
-}
-data.push("<tr class=\""+cls+"\">");
-for(var j=0;j<week.length;j++){
-var day=week[j];
-var s=day[0]+","+day[1]+","+day[2];
-var _57f=new Date(day[0],parseInt(day[1])-1,day[2]);
-var d=opts.formatter.call(_579,_57f);
-var css=opts.styler.call(_579,_57f);
-var _580="";
-var _581="";
-if(typeof css=="string"){
-_581=css;
-}else{
-if(css){
-_580=css["class"]||"";
-_581=css["style"]||"";
-}
-}
-var cls="calendar-day";
-if(!(opts.year==day[0]&&opts.month==day[1])){
-cls+=" calendar-other-month";
-}
-if(s==_57a){
-cls+=" calendar-today";
-}
-if(s==_57b){
-cls+=" calendar-selected";
-}
-if(j==_57c){
-cls+=" calendar-saturday";
-}else{
-if(j==_57d){
-cls+=" calendar-sunday";
-}
-}
-if(j==0){
-cls+=" calendar-first";
-}else{
-if(j==week.length-1){
-cls+=" calendar-last";
-}
-}
-cls+=" "+_580;
-if(!opts.validator.call(_579,_57f)){
-cls+=" calendar-disabled";
-}
-data.push("<td class=\""+cls+"\" abbr=\""+s+"\" style=\""+_581+"\">"+d+"</td>");
-}
-data.push("</tr>");
-}
-data.push("</tbody>");
-data.push("</table>");
-body.append(data.join(""));
-body.children("table.calendar-dtable").prependTo(body);
-opts.onNavigate.call(_579,opts.year,opts.month);
-};
-$.fn.calendar=function(_582,_583){
-if(typeof _582=="string"){
-return $.fn.calendar.methods[_582](this,_583);
-}
-_582=_582||{};
-return this.each(function(){
-var _584=$.data(this,"calendar");
-if(_584){
-$.extend(_584.options,_582);
-}else{
-_584=$.data(this,"calendar",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_582)});
-init(this);
-}
-if(_584.options.border==false){
-$(this).addClass("calendar-noborder");
-}
-_559(this);
-_55f(this);
-show(this);
-$(this).find("div.calendar-menu").hide();
-});
-};
-$.fn.calendar.methods={options:function(jq){
-return $.data(jq[0],"calendar").options;
-},resize:function(jq,_585){
-return jq.each(function(){
-_559(this,_585);
-});
-},moveTo:function(jq,date){
-return jq.each(function(){
-if(!date){
-var now=new Date();
-$(this).calendar({year:now.getFullYear(),month:now.getMonth()+1,current:date});
-return;
-}
-var opts=$(this).calendar("options");
-if(opts.validator.call(this,date)){
-var _586=opts.current;
-$(this).calendar({year:date.getFullYear(),month:date.getMonth()+1,current:date});
-if(!_586||_586.getTime()!=date.getTime()){
-opts.onChange.call(this,opts.current,_586);
-}
-}
-});
-}};
-$.fn.calendar.parseOptions=function(_587){
-var t=$(_587);
-return $.extend({},$.parser.parseOptions(_587,[{firstDay:"number",fit:"boolean",border:"boolean"}]));
-};
-$.fn.calendar.defaults={width:180,height:180,fit:false,border:true,firstDay:0,weeks:["S","M","T","W","T","F","S"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:(function(){
-var d=new Date();
-return new Date(d.getFullYear(),d.getMonth(),d.getDate());
-})(),formatter:function(date){
-return date.getDate();
-},styler:function(date){
-return "";
-},validator:function(date){
-return true;
-},onSelect:function(date){
-},onChange:function(_588,_589){
-},onNavigate:function(year,_58a){
-}};
-})(jQuery);
-(function($){
-function _58b(_58c){
-var _58d=$.data(_58c,"spinner");
-var opts=_58d.options;
-var _58e=$.extend(true,[],opts.icons);
-_58e.push({iconCls:"spinner-arrow",handler:function(e){
-_58f(e);
-}});
-$(_58c).addClass("spinner-f").textbox($.extend({},opts,{icons:_58e}));
-var _590=$(_58c).textbox("getIcon",_58e.length-1);
-_590.append("<a href=\"javascript:void(0)\" class=\"spinner-arrow-up\" tabindex=\"-1\"></a>");
-_590.append("<a href=\"javascript:void(0)\" class=\"spinner-arrow-down\" tabindex=\"-1\"></a>");
-$(_58c).attr("spinnerName",$(_58c).attr("textboxName"));
-_58d.spinner=$(_58c).next();
-_58d.spinner.addClass("spinner");
-};
-function _58f(e){
-var _591=e.data.target;
-var opts=$(_591).spinner("options");
-var up=$(e.target).closest("a.spinner-arrow-up");
-if(up.length){
-opts.spin.call(_591,false);
-opts.onSpinUp.call(_591);
-$(_591).spinner("validate");
-}
-var down=$(e.target).closest("a.spinner-arrow-down");
-if(down.length){
-opts.spin.call(_591,true);
-opts.onSpinDown.call(_591);
-$(_591).spinner("validate");
-}
-};
-$.fn.spinner=function(_592,_593){
-if(typeof _592=="string"){
-var _594=$.fn.spinner.methods[_592];
-if(_594){
-return _594(this,_593);
-}else{
-return this.textbox(_592,_593);
-}
-}
-_592=_592||{};
-return this.each(function(){
-var _595=$.data(this,"spinner");
-if(_595){
-$.extend(_595.options,_592);
-}else{
-_595=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_592)});
-}
-_58b(this);
-});
-};
-$.fn.spinner.methods={options:function(jq){
-var opts=jq.textbox("options");
-return $.extend($.data(jq[0],"spinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-}};
-$.fn.spinner.parseOptions=function(_596){
-return $.extend({},$.fn.textbox.parseOptions(_596),$.parser.parseOptions(_596,["min","max",{increment:"number"}]));
-};
-$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spin:function(down){
-},onSpinUp:function(){
-},onSpinDown:function(){
-}});
-})(jQuery);
-(function($){
-function _597(_598){
-$(_598).addClass("numberspinner-f");
-var opts=$.data(_598,"numberspinner").options;
-$(_598).numberbox(opts).spinner(opts);
-$(_598).numberbox("setValue",opts.value);
-};
-function _599(_59a,down){
-var opts=$.data(_59a,"numberspinner").options;
-var v=parseFloat($(_59a).numberbox("getValue")||opts.value)||0;
-if(down){
-v-=opts.increment;
-}else{
-v+=opts.increment;
-}
-$(_59a).numberbox("setValue",v);
-};
-$.fn.numberspinner=function(_59b,_59c){
-if(typeof _59b=="string"){
-var _59d=$.fn.numberspinner.methods[_59b];
-if(_59d){
-return _59d(this,_59c);
-}else{
-return this.numberbox(_59b,_59c);
-}
-}
-_59b=_59b||{};
-return this.each(function(){
-var _59e=$.data(this,"numberspinner");
-if(_59e){
-$.extend(_59e.options,_59b);
-}else{
-$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_59b)});
-}
-_597(this);
-});
-};
-$.fn.numberspinner.methods={options:function(jq){
-var opts=jq.numberbox("options");
-return $.extend($.data(jq[0],"numberspinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-}};
-$.fn.numberspinner.parseOptions=function(_59f){
-return $.extend({},$.fn.spinner.parseOptions(_59f),$.fn.numberbox.parseOptions(_59f),{});
-};
-$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(down){
-_599(this,down);
-}});
-})(jQuery);
-(function($){
-function _5a0(_5a1){
-var _5a2=0;
-if(typeof _5a1.selectionStart=="number"){
-_5a2=_5a1.selectionStart;
-}else{
-if(_5a1.createTextRange){
-var _5a3=_5a1.createTextRange();
-var s=document.selection.createRange();
-s.setEndPoint("StartToStart",_5a3);
-_5a2=s.text.length;
-}
-}
-return _5a2;
-};
-function _5a4(_5a5,_5a6,end){
-if(_5a5.setSelectionRange){
-_5a5.setSelectionRange(_5a6,end);
-}else{
-if(_5a5.createTextRange){
-var _5a7=_5a5.createTextRange();
-_5a7.collapse();
-_5a7.moveEnd("character",end);
-_5a7.moveStart("character",_5a6);
-_5a7.select();
-}
-}
-};
-function _5a8(_5a9){
-var opts=$.data(_5a9,"timespinner").options;
-$(_5a9).addClass("timespinner-f").spinner(opts);
-var _5aa=opts.formatter.call(_5a9,opts.parser.call(_5a9,opts.value));
-$(_5a9).timespinner("initValue",_5aa);
-};
-function _5ab(e){
-var _5ac=e.data.target;
-var opts=$.data(_5ac,"timespinner").options;
-var _5ad=_5a0(this);
-for(var i=0;i<opts.selections.length;i++){
-var _5ae=opts.selections[i];
-if(_5ad>=_5ae[0]&&_5ad<=_5ae[1]){
-_5af(_5ac,i);
-return;
-}
-}
-};
-function _5af(_5b0,_5b1){
-var opts=$.data(_5b0,"timespinner").options;
-if(_5b1!=undefined){
-opts.highlight=_5b1;
-}
-var _5b2=opts.selections[opts.highlight];
-if(_5b2){
-var tb=$(_5b0).timespinner("textbox");
-_5a4(tb[0],_5b2[0],_5b2[1]);
-tb.focus();
-}
-};
-function _5b3(_5b4,_5b5){
-var opts=$.data(_5b4,"timespinner").options;
-var _5b5=opts.parser.call(_5b4,_5b5);
-var text=opts.formatter.call(_5b4,_5b5);
-$(_5b4).spinner("setValue",text);
-};
-function _5b6(_5b7,down){
-var opts=$.data(_5b7,"timespinner").options;
-var s=$(_5b7).timespinner("getValue");
-var _5b8=opts.selections[opts.highlight];
-var s1=s.substring(0,_5b8[0]);
-var s2=s.substring(_5b8[0],_5b8[1]);
-var s3=s.substring(_5b8[1]);
-var v=s1+((parseInt(s2,10)||0)+opts.increment*(down?-1:1))+s3;
-$(_5b7).timespinner("setValue",v);
-_5af(_5b7);
-};
-$.fn.timespinner=function(_5b9,_5ba){
-if(typeof _5b9=="string"){
-var _5bb=$.fn.timespinner.methods[_5b9];
-if(_5bb){
-return _5bb(this,_5ba);
-}else{
-return this.spinner(_5b9,_5ba);
-}
-}
-_5b9=_5b9||{};
-return this.each(function(){
-var _5bc=$.data(this,"timespinner");
-if(_5bc){
-$.extend(_5bc.options,_5b9);
-}else{
-$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_5b9)});
-}
-_5a8(this);
-});
-};
-$.fn.timespinner.methods={options:function(jq){
-var opts=jq.data("spinner")?jq.spinner("options"):{};
-return $.extend($.data(jq[0],"timespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-},setValue:function(jq,_5bd){
-return jq.each(function(){
-_5b3(this,_5bd);
-});
-},getHours:function(jq){
-var opts=$.data(jq[0],"timespinner").options;
-var vv=jq.timespinner("getValue").split(opts.separator);
-return parseInt(vv[0],10);
-},getMinutes:function(jq){
-var opts=$.data(jq[0],"timespinner").options;
-var vv=jq.timespinner("getValue").split(opts.separator);
-return parseInt(vv[1],10);
-},getSeconds:function(jq){
-var opts=$.data(jq[0],"timespinner").options;
-var vv=jq.timespinner("getValue").split(opts.separator);
-return parseInt(vv[2],10)||0;
-}};
-$.fn.timespinner.parseOptions=function(_5be){
-return $.extend({},$.fn.spinner.parseOptions(_5be),$.parser.parseOptions(_5be,["separator",{showSeconds:"boolean",highlight:"number"}]));
-};
-$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){
-_5ab.call(this,e);
-},blur:function(e){
-var t=$(e.data.target);
-t.timespinner("setValue",t.timespinner("getText"));
-},keydown:function(e){
-if(e.keyCode==13){
-var t=$(e.data.target);
-t.timespinner("setValue",t.timespinner("getText"));
-}
-}}),formatter:function(date){
-if(!date){
-return "";
-}
-var opts=$(this).timespinner("options");
-var tt=[_5bf(date.getHours()),_5bf(date.getMinutes())];
-if(opts.showSeconds){
-tt.push(_5bf(date.getSeconds()));
-}
-return tt.join(opts.separator);
-function _5bf(_5c0){
-return (_5c0<10?"0":"")+_5c0;
-};
-},parser:function(s){
-var opts=$(this).timespinner("options");
-var date=_5c1(s);
-if(date){
-var min=_5c1(opts.min);
-var max=_5c1(opts.max);
-if(min&&min>date){
-date=min;
-}
-if(max&&max<date){
-date=max;
-}
-}
-return date;
-function _5c1(s){
-if(!s){
-return null;
-}
-var tt=s.split(opts.separator);
-return new Date(1900,0,0,parseInt(tt[0],10)||0,parseInt(tt[1],10)||0,parseInt(tt[2],10)||0);
-};
-},selections:[[0,2],[3,5],[6,8]],separator:":",showSeconds:false,highlight:0,spin:function(down){
-_5b6(this,down);
-}});
-})(jQuery);
-(function($){
-function _5c2(_5c3){
-var opts=$.data(_5c3,"datetimespinner").options;
-$(_5c3).addClass("datetimespinner-f").timespinner(opts);
-};
-$.fn.datetimespinner=function(_5c4,_5c5){
-if(typeof _5c4=="string"){
-var _5c6=$.fn.datetimespinner.methods[_5c4];
-if(_5c6){
-return _5c6(this,_5c5);
-}else{
-return this.timespinner(_5c4,_5c5);
-}
-}
-_5c4=_5c4||{};
-return this.each(function(){
-var _5c7=$.data(this,"datetimespinner");
-if(_5c7){
-$.extend(_5c7.options,_5c4);
-}else{
-$.data(this,"datetimespinner",{options:$.extend({},$.fn.datetimespinner.defaults,$.fn.datetimespinner.parseOptions(this),_5c4)});
-}
-_5c2(this);
-});
-};
-$.fn.datetimespinner.methods={options:function(jq){
-var opts=jq.timespinner("options");
-return $.extend($.data(jq[0],"datetimespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-}};
-$.fn.datetimespinner.parseOptions=function(_5c8){
-return $.extend({},$.fn.timespinner.parseOptions(_5c8),$.parser.parseOptions(_5c8,[]));
-};
-$.fn.datetimespinner.defaults=$.extend({},$.fn.timespinner.defaults,{formatter:function(date){
-if(!date){
-return "";
-}
-return $.fn.datebox.defaults.formatter.call(this,date)+" "+$.fn.timespinner.defaults.formatter.call(this,date);
-},parser:function(s){
-s=$.trim(s);
-if(!s){
-return null;
-}
-var dt=s.split(" ");
-var _5c9=$.fn.datebox.defaults.parser.call(this,dt[0]);
-if(dt.length<2){
-return _5c9;
-}
-var _5ca=$.fn.timespinner.defaults.parser.call(this,dt[1]);
-return new Date(_5c9.getFullYear(),_5c9.getMonth(),_5c9.getDate(),_5ca.getHours(),_5ca.getMinutes(),_5ca.getSeconds());
-},selections:[[0,2],[3,5],[6,10],[11,13],[14,16],[17,19]]});
-})(jQuery);
-(function($){
-var _5cb=0;
-function _5cc(a,o){
-for(var i=0,len=a.length;i<len;i++){
-if(a[i]==o){
-return i;
-}
-}
-return -1;
-};
-function _5cd(a,o,id){
-if(typeof o=="string"){
-for(var i=0,len=a.length;i<len;i++){
-if(a[i][o]==id){
-a.splice(i,1);
-return;
-}
-}
-}else{
-var _5ce=_5cc(a,o);
-if(_5ce!=-1){
-a.splice(_5ce,1);
-}
-}
-};
-function _5cf(a,o,r){
-for(var i=0,len=a.length;i<len;i++){
-if(a[i][o]==r[o]){
-return;
-}
-}
-a.push(r);
-};
-function _5d0(_5d1,aa){
-return $.data(_5d1,"treegrid")?aa.slice(1):aa;
-};
-function _5d2(_5d3){
-var _5d4=$.data(_5d3,"datagrid");
-var opts=_5d4.options;
-var _5d5=_5d4.panel;
-var dc=_5d4.dc;
-var ss=null;
-if(opts.sharedStyleSheet){
-ss=typeof opts.sharedStyleSheet=="boolean"?"head":opts.sharedStyleSheet;
-}else{
-ss=_5d5.closest("div.datagrid-view");
-if(!ss.length){
-ss=dc.view;
-}
-}
-var cc=$(ss);
-var _5d6=$.data(cc[0],"ss");
-if(!_5d6){
-_5d6=$.data(cc[0],"ss",{cache:{},dirty:[]});
-}
-return {add:function(_5d7){
-var ss=["<style type=\"text/css\" easyui=\"true\">"];
-for(var i=0;i<_5d7.length;i++){
-_5d6.cache[_5d7[i][0]]={width:_5d7[i][1]};
-}
-var _5d8=0;
-for(var s in _5d6.cache){
-var item=_5d6.cache[s];
-item.index=_5d8++;
-ss.push(s+"{width:"+item.width+"}");
-}
-ss.push("</style>");
-$(ss.join("\n")).appendTo(cc);
-cc.children("style[easyui]:not(:last)").remove();
-},getRule:function(_5d9){
-var _5da=cc.children("style[easyui]:last")[0];
-var _5db=_5da.styleSheet?_5da.styleSheet:(_5da.sheet||document.styleSheets[document.styleSheets.length-1]);
-var _5dc=_5db.cssRules||_5db.rules;
-return _5dc[_5d9];
-},set:function(_5dd,_5de){
-var item=_5d6.cache[_5dd];
-if(item){
-item.width=_5de;
-var rule=this.getRule(item.index);
-if(rule){
-rule.style["width"]=_5de;
-}
-}
-},remove:function(_5df){
-var tmp=[];
-for(var s in _5d6.cache){
-if(s.indexOf(_5df)==-1){
-tmp.push([s,_5d6.cache[s].width]);
-}
-}
-_5d6.cache={};
-this.add(tmp);
-},dirty:function(_5e0){
-if(_5e0){
-_5d6.dirty.push(_5e0);
-}
-},clean:function(){
-for(var i=0;i<_5d6.dirty.length;i++){
-this.remove(_5d6.dirty[i]);
-}
-_5d6.dirty=[];
-}};
-};
-function _5e1(_5e2,_5e3){
-var _5e4=$.data(_5e2,"datagrid");
-var opts=_5e4.options;
-var _5e5=_5e4.panel;
-if(_5e3){
-$.extend(opts,_5e3);
-}
-if(opts.fit==true){
-var p=_5e5.panel("panel").parent();
-opts.width=p.width();
-opts.height=p.height();
-}
-_5e5.panel("resize",opts);
-};
-function _5e6(_5e7){
-var _5e8=$.data(_5e7,"datagrid");
-var opts=_5e8.options;
-var dc=_5e8.dc;
-var wrap=_5e8.panel;
-var _5e9=wrap.width();
-var _5ea=wrap.height();
-var view=dc.view;
-var _5eb=dc.view1;
-var _5ec=dc.view2;
-var _5ed=_5eb.children("div.datagrid-header");
-var _5ee=_5ec.children("div.datagrid-header");
-var _5ef=_5ed.find("table");
-var _5f0=_5ee.find("table");
-view.width(_5e9);
-var _5f1=_5ed.children("div.datagrid-header-inner").show();
-_5eb.width(_5f1.find("table").width());
-if(!opts.showHeader){
-_5f1.hide();
-}
-_5ec.width(_5e9-_5eb._outerWidth());
-_5eb.children()._outerWidth(_5eb.width());
-_5ec.children()._outerWidth(_5ec.width());
-var all=_5ed.add(_5ee).add(_5ef).add(_5f0);
-all.css("height","");
-var hh=Math.max(_5ef.height(),_5f0.height());
-all._outerHeight(hh);
-dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({position:"absolute",top:dc.header2._outerHeight()});
-var _5f2=dc.body2.children("table.datagrid-btable-frozen")._outerHeight();
-var _5f3=_5f2+_5ee._outerHeight()+_5ec.children(".datagrid-footer")._outerHeight();
-wrap.children(":not(.datagrid-view,.datagrid-mask,.datagrid-mask-msg)").each(function(){
-_5f3+=$(this)._outerHeight();
-});
-var _5f4=wrap.outerHeight()-wrap.height();
-var _5f5=wrap._size("minHeight")||"";
-var _5f6=wrap._size("maxHeight")||"";
-_5eb.add(_5ec).children("div.datagrid-body").css({marginTop:_5f2,height:(isNaN(parseInt(opts.height))?"":(_5ea-_5f3)),minHeight:(_5f5?_5f5-_5f4-_5f3:""),maxHeight:(_5f6?_5f6-_5f4-_5f3:"")});
-view.height(_5ec.height());
-};
-function _5f7(_5f8,_5f9,_5fa){
-var rows=$.data(_5f8,"datagrid").data.rows;
-var opts=$.data(_5f8,"datagrid").options;
-var dc=$.data(_5f8,"datagrid").dc;
-if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight||_5fa)){
-if(_5f9!=undefined){
-var tr1=opts.finder.getTr(_5f8,_5f9,"body",1);
-var tr2=opts.finder.getTr(_5f8,_5f9,"body",2);
-_5fb(tr1,tr2);
-}else{
-var tr1=opts.finder.getTr(_5f8,0,"allbody",1);
-var tr2=opts.finder.getTr(_5f8,0,"allbody",2);
-_5fb(tr1,tr2);
-if(opts.showFooter){
-var tr1=opts.finder.getTr(_5f8,0,"allfooter",1);
-var tr2=opts.finder.getTr(_5f8,0,"allfooter",2);
-_5fb(tr1,tr2);
-}
-}
-}
-_5e6(_5f8);
-if(opts.height=="auto"){
-var _5fc=dc.body1.parent();
-var _5fd=dc.body2;
-var _5fe=_5ff(_5fd);
-var _600=_5fe.height;
-if(_5fe.width>_5fd.width()){
-_600+=18;
-}
-_600-=parseInt(_5fd.css("marginTop"))||0;
-_5fc.height(_600);
-_5fd.height(_600);
-dc.view.height(dc.view2.height());
-}
-dc.body2.triggerHandler("scroll");
-function _5fb(trs1,trs2){
-for(var i=0;i<trs2.length;i++){
-var tr1=$(trs1[i]);
-var tr2=$(trs2[i]);
-tr1.css("height","");
-tr2.css("height","");
-var _601=Math.max(tr1.height(),tr2.height());
-tr1.css("height",_601);
-tr2.css("height",_601);
-}
-};
-function _5ff(cc){
-var _602=0;
-var _603=0;
-$(cc).children().each(function(){
-var c=$(this);
-if(c.is(":visible")){
-_603+=c._outerHeight();
-if(_602<c._outerWidth()){
-_602=c._outerWidth();
-}
-}
-});
-return {width:_602,height:_603};
-};
-};
-function _604(_605,_606){
-var _607=$.data(_605,"datagrid");
-var opts=_607.options;
-var dc=_607.dc;
-if(!dc.body2.children("table.datagrid-btable-frozen").length){
-dc.body1.add(dc.body2).prepend("<table class=\"datagrid-btable datagrid-btable-frozen\" cellspacing=\"0\" cellpadding=\"0\"></table>");
-}
-_608(true);
-_608(false);
-_5e6(_605);
-function _608(_609){
-var _60a=_609?1:2;
-var tr=opts.finder.getTr(_605,_606,"body",_60a);
-(_609?dc.body1:dc.body2).children("table.datagrid-btable-frozen").append(tr);
-};
-};
-function _60b(_60c,_60d){
-function _60e(){
-var _60f=[];
-var _610=[];
-$(_60c).children("thead").each(function(){
-var opt=$.parser.parseOptions(this,[{frozen:"boolean"}]);
-$(this).find("tr").each(function(){
-var cols=[];
-$(this).find("th").each(function(){
-var th=$(this);
-var col=$.extend({},$.parser.parseOptions(this,["field","align","halign","order","width",{sortable:"boolean",checkbox:"boolean",resizable:"boolean",fixed:"boolean"},{rowspan:"number",colspan:"number"}]),{title:(th.html()||undefined),hidden:(th.attr("hidden")?true:undefined),formatter:(th.attr("formatter")?eval(th.attr("formatter")):undefined),styler:(th.attr("styler")?eval(th.attr("styler")):undefined),sorter:(th.attr("sorter")?eval(th.attr("sorter")):undefined)});
-if(col.width&&String(col.width).indexOf("%")==-1){
-col.width=parseInt(col.width);
-}
-if(th.attr("editor")){
-var s=$.trim(th.attr("editor"));
-if(s.substr(0,1)=="{"){
-col.editor=eval("("+s+")");
-}else{
-col.editor=s;
-}
-}
-cols.push(col);
-});
-opt.frozen?_60f.push(cols):_610.push(cols);
-});
-});
-return [_60f,_610];
-};
-var _611=$("<div class=\"datagrid-wrap\">"+"<div class=\"datagrid-view\">"+"<div class=\"datagrid-view1\">"+"<div class=\"datagrid-header\">"+"<div class=\"datagrid-header-inner\"></div>"+"</div>"+"<div class=\"datagrid-body\">"+"<div class=\"datagrid-body-inner\"></div>"+"</div>"+"<div class=\"datagrid-footer\">"+"<div class=\"datagrid-footer-inner\"></div>"+"</div>"+"</div>"+"<div class=\"datagrid-view2\">"+"<div class=\"datagrid-header\">"+"<div class=\"datagrid-header-inner\"></div>"+"</div>"+"<div class=\"datagrid-body\"></div>"+"<div class=\"datagrid-footer\">"+"<div class=\"datagrid-footer-inner\"></div>"+"</div>"+"</div>"+"</div>"+"</div>").insertAfter(_60c);
-_611.panel({doSize:false,cls:"datagrid"});
-$(_60c).addClass("datagrid-f").hide().appendTo(_611.children("div.datagrid-view"));
-var cc=_60e();
-var view=_611.children("div.datagrid-view");
-var _612=view.children("div.datagrid-view1");
-var _613=view.children("div.datagrid-view2");
-return {panel:_611,frozenColumns:cc[0],columns:cc[1],dc:{view:view,view1:_612,view2:_613,header1:_612.children("div.datagrid-header").children("div.datagrid-header-inner"),header2:_613.children("div.datagrid-header").children("div.datagrid-header-inner"),body1:_612.children("div.datagrid-body").children("div.datagrid-body-inner"),body2:_613.children("div.datagrid-body"),footer1:_612.children("div.datagrid-footer").children("div.datagrid-footer-inner"),footer2:_613.children("div.datagrid-footer").children("div.datagrid-footer-inner")}};
-};
-function _614(_615){
-var _616=$.data(_615,"datagrid");
-var opts=_616.options;
-var dc=_616.dc;
-var _617=_616.panel;
-_616.ss=$(_615).datagrid("createStyleSheet");
-_617.panel($.extend({},opts,{id:null,doSize:false,onResize:function(_618,_619){
-if($.data(_615,"datagrid")){
-_5e6(_615);
-$(_615).datagrid("fitColumns");
-opts.onResize.call(_617,_618,_619);
-}
-},onExpand:function(){
-if($.data(_615,"datagrid")){
-$(_615).datagrid("fixRowHeight").datagrid("fitColumns");
-opts.onExpand.call(_617);
-}
-}}));
-_616.rowIdPrefix="datagrid-row-r"+(++_5cb);
-_616.cellClassPrefix="datagrid-cell-c"+_5cb;
-_61a(dc.header1,opts.frozenColumns,true);
-_61a(dc.header2,opts.columns,false);
-_61b();
-dc.header1.add(dc.header2).css("display",opts.showHeader?"block":"none");
-dc.footer1.add(dc.footer2).css("display",opts.showFooter?"block":"none");
-if(opts.toolbar){
-if($.isArray(opts.toolbar)){
-$("div.datagrid-toolbar",_617).remove();
-var tb=$("<div class=\"datagrid-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").prependTo(_617);
-var tr=tb.find("tr");
-for(var i=0;i<opts.toolbar.length;i++){
-var btn=opts.toolbar[i];
-if(btn=="-"){
-$("<td><div class=\"datagrid-btn-separator\"></div></td>").appendTo(tr);
-}else{
-var td=$("<td></td>").appendTo(tr);
-var tool=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
-tool[0].onclick=eval(btn.handler||function(){
-});
-tool.linkbutton($.extend({},btn,{plain:true}));
-}
-}
-}else{
-$(opts.toolbar).addClass("datagrid-toolbar").prependTo(_617);
-$(opts.toolbar).show();
-}
-}else{
-$("div.datagrid-toolbar",_617).remove();
-}
-$("div.datagrid-pager",_617).remove();
-if(opts.pagination){
-var _61c=$("<div class=\"datagrid-pager\"></div>");
-if(opts.pagePosition=="bottom"){
-_61c.appendTo(_617);
-}else{
-if(opts.pagePosition=="top"){
-_61c.addClass("datagrid-pager-top").prependTo(_617);
-}else{
-var ptop=$("<div class=\"datagrid-pager datagrid-pager-top\"></div>").prependTo(_617);
-_61c.appendTo(_617);
-_61c=_61c.add(ptop);
-}
-}
-_61c.pagination({total:(opts.pageNumber*opts.pageSize),pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_61d,_61e){
-opts.pageNumber=_61d||1;
-opts.pageSize=_61e;
-_61c.pagination("refresh",{pageNumber:_61d,pageSize:_61e});
-_65a(_615);
-}});
-opts.pageSize=_61c.pagination("options").pageSize;
-}
-function _61a(_61f,_620,_621){
-if(!_620){
-return;
-}
-$(_61f).show();
-$(_61f).empty();
-var _622=[];
-var _623=[];
-if(opts.sortName){
-_622=opts.sortName.split(",");
-_623=opts.sortOrder.split(",");
-}
-var t=$("<table class=\"datagrid-htable\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody></tbody></table>").appendTo(_61f);
-for(var i=0;i<_620.length;i++){
-var tr=$("<tr class=\"datagrid-header-row\"></tr>").appendTo($("tbody",t));
-var cols=_620[i];
-for(var j=0;j<cols.length;j++){
-var col=cols[j];
-var attr="";
-if(col.rowspan){
-attr+="rowspan=\""+col.rowspan+"\" ";
-}
-if(col.colspan){
-attr+="colspan=\""+col.colspan+"\" ";
-}
-var td=$("<td "+attr+"></td>").appendTo(tr);
-if(col.checkbox){
-td.attr("field",col.field);
-$("<div class=\"datagrid-header-check\"></div>").html("<input type=\"checkbox\"/>").appendTo(td);
-}else{
-if(col.field){
-td.attr("field",col.field);
-td.append("<div class=\"datagrid-cell\"><span></span><span class=\"datagrid-sort-icon\">&nbsp;</span></div>");
-td.find("span:first").html(col.title);
-var cell=td.find("div.datagrid-cell");
-var pos=_5cc(_622,col.field);
-if(pos>=0){
-cell.addClass("datagrid-sort-"+_623[pos]);
-}
-if(col.sortable){
-cell.addClass("datagrid-sort");
-}
-if(col.resizable==false){
-cell.attr("resizable","false");
-}
-if(col.width){
-var _624=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize);
-cell._outerWidth(_624-1);
-col.boxWidth=parseInt(cell[0].style.width);
-col.deltaWidth=_624-col.boxWidth;
-}else{
-col.auto=true;
-}
-cell.css("text-align",(col.halign||col.align||""));
-col.cellClass=_616.cellClassPrefix+"-"+col.field.replace(/[\.|\s]/g,"-");
-cell.addClass(col.cellClass).css("width","");
-}else{
-$("<div class=\"datagrid-cell-group\"></div>").html(col.title).appendTo(td);
-}
-}
-if(col.hidden){
-td.hide();
-}
-}
-}
-if(_621&&opts.rownumbers){
-var td=$("<td rowspan=\""+opts.frozenColumns.length+"\"><div class=\"datagrid-header-rownumber\"></div></td>");
-if($("tr",t).length==0){
-td.wrap("<tr class=\"datagrid-header-row\"></tr>").parent().appendTo($("tbody",t));
-}else{
-td.prependTo($("tr:first",t));
-}
-}
-};
-function _61b(){
-var _625=[];
-var _626=_627(_615,true).concat(_627(_615));
-for(var i=0;i<_626.length;i++){
-var col=_628(_615,_626[i]);
-if(col&&!col.checkbox){
-_625.push(["."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto"]);
-}
-}
-_616.ss.add(_625);
-_616.ss.dirty(_616.cellSelectorPrefix);
-_616.cellSelectorPrefix="."+_616.cellClassPrefix;
-};
-};
-function _629(_62a){
-var _62b=$.data(_62a,"datagrid");
-var _62c=_62b.panel;
-var opts=_62b.options;
-var dc=_62b.dc;
-var _62d=dc.header1.add(dc.header2);
-_62d.find("input[type=checkbox]").unbind(".datagrid").bind("click.datagrid",function(e){
-if(opts.singleSelect&&opts.selectOnCheck){
-return false;
-}
-if($(this).is(":checked")){
-_6c4(_62a);
-}else{
-_6ca(_62a);
-}
-e.stopPropagation();
-});
-var _62e=_62d.find("div.datagrid-cell");
-_62e.closest("td").unbind(".datagrid").bind("mouseenter.datagrid",function(){
-if(_62b.resizing){
-return;
-}
-$(this).addClass("datagrid-header-over");
-}).bind("mouseleave.datagrid",function(){
-$(this).removeClass("datagrid-header-over");
-}).bind("contextmenu.datagrid",function(e){
-var _62f=$(this).attr("field");
-opts.onHeaderContextMenu.call(_62a,e,_62f);
-});
-_62e.unbind(".datagrid").bind("click.datagrid",function(e){
-var p1=$(this).offset().left+5;
-var p2=$(this).offset().left+$(this)._outerWidth()-5;
-if(e.pageX<p2&&e.pageX>p1){
-_64f(_62a,$(this).parent().attr("field"));
-}
-}).bind("dblclick.datagrid",function(e){
-var p1=$(this).offset().left+5;
-var p2=$(this).offset().left+$(this)._outerWidth()-5;
-var cond=opts.resizeHandle=="right"?(e.pageX>p2):(opts.resizeHandle=="left"?(e.pageX<p1):(e.pageX<p1||e.pageX>p2));
-if(cond){
-var _630=$(this).parent().attr("field");
-var col=_628(_62a,_630);
-if(col.resizable==false){
-return;
-}
-$(_62a).datagrid("autoSizeColumn",_630);
-col.auto=false;
-}
-});
-var _631=opts.resizeHandle=="right"?"e":(opts.resizeHandle=="left"?"w":"e,w");
-_62e.each(function(){
-$(this).resizable({handles:_631,disabled:($(this).attr("resizable")?$(this).attr("resizable")=="false":false),minWidth:25,onStartResize:function(e){
-_62b.resizing=true;
-_62d.css("cursor",$("body").css("cursor"));
-if(!_62b.proxy){
-_62b.proxy=$("<div class=\"datagrid-resize-proxy\"></div>").appendTo(dc.view);
-}
-_62b.proxy.css({left:e.pageX-$(_62c).offset().left-1,display:"none"});
-setTimeout(function(){
-if(_62b.proxy){
-_62b.proxy.show();
-}
-},500);
-},onResize:function(e){
-_62b.proxy.css({left:e.pageX-$(_62c).offset().left-1,display:"block"});
-return false;
-},onStopResize:function(e){
-_62d.css("cursor","");
-$(this).css("height","");
-var _632=$(this).parent().attr("field");
-var col=_628(_62a,_632);
-col.width=$(this)._outerWidth();
-col.boxWidth=col.width-col.deltaWidth;
-col.auto=undefined;
-$(this).css("width","");
-$(_62a).datagrid("fixColumnSize",_632);
-_62b.proxy.remove();
-_62b.proxy=null;
-if($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")){
-_5e6(_62a);
-}
-$(_62a).datagrid("fitColumns");
-opts.onResizeColumn.call(_62a,_632,col.width);
-setTimeout(function(){
-_62b.resizing=false;
-},0);
-}});
-});
-var bb=dc.body1.add(dc.body2);
-bb.unbind();
-for(var _633 in opts.rowEvents){
-bb.bind(_633,opts.rowEvents[_633]);
-}
-dc.body1.bind("mousewheel DOMMouseScroll",function(e){
-var e1=e.originalEvent||window.event;
-var _634=e1.wheelDelta||e1.detail*(-1);
-var dg=$(e.target).closest("div.datagrid-view").children(".datagrid-f");
-var dc=dg.data("datagrid").dc;
-dc.body2.scrollTop(dc.body2.scrollTop()-_634);
-});
-dc.body2.bind("scroll",function(){
-var b1=dc.view1.children("div.datagrid-body");
-b1.scrollTop($(this).scrollTop());
-var c1=dc.body1.children(":first");
-var c2=dc.body2.children(":first");
-if(c1.length&&c2.length){
-var top1=c1.offset().top;
-var top2=c2.offset().top;
-if(top1!=top2){
-b1.scrollTop(b1.scrollTop()+top1-top2);
-}
-}
-dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft());
-dc.body2.children("table.datagrid-btable-frozen").css("left",-$(this)._scrollLeft());
-});
-};
-function _635(_636){
-return function(e){
-var tr=_637(e.target);
-if(!tr){
-return;
-}
-var _638=_639(tr);
-if($.data(_638,"datagrid").resizing){
-return;
-}
-var _63a=_63b(tr);
-if(_636){
-_63c(_638,_63a);
-}else{
-var opts=$.data(_638,"datagrid").options;
-opts.finder.getTr(_638,_63a).removeClass("datagrid-row-over");
-}
-};
-};
-function _63d(e){
-var tr=_637(e.target);
-if(!tr){
-return;
-}
-var _63e=_639(tr);
-var opts=$.data(_63e,"datagrid").options;
-var _63f=_63b(tr);
-var tt=$(e.target);
-if(tt.parent().hasClass("datagrid-cell-check")){
-if(opts.singleSelect&&opts.selectOnCheck){
-tt._propAttr("checked",!tt.is(":checked"));
-_640(_63e,_63f);
-}else{
-if(tt.is(":checked")){
-tt._propAttr("checked",false);
-_640(_63e,_63f);
-}else{
-tt._propAttr("checked",true);
-_641(_63e,_63f);
-}
-}
-}else{
-var row=opts.finder.getRow(_63e,_63f);
-var td=tt.closest("td[field]",tr);
-if(td.length){
-var _642=td.attr("field");
-opts.onClickCell.call(_63e,_63f,_642,row[_642]);
-}
-if(opts.singleSelect==true){
-_643(_63e,_63f);
-}else{
-if(opts.ctrlSelect){
-if(e.ctrlKey){
-if(tr.hasClass("datagrid-row-selected")){
-_644(_63e,_63f);
-}else{
-_643(_63e,_63f);
-}
-}else{
-if(e.shiftKey){
-$(_63e).datagrid("clearSelections");
-var _645=Math.min(opts.lastSelectedIndex||0,_63f);
-var _646=Math.max(opts.lastSelectedIndex||0,_63f);
-for(var i=_645;i<=_646;i++){
-_643(_63e,i);
-}
-}else{
-$(_63e).datagrid("clearSelections");
-_643(_63e,_63f);
-opts.lastSelectedIndex=_63f;
-}
-}
-}else{
-if(tr.hasClass("datagrid-row-selected")){
-_644(_63e,_63f);
-}else{
-_643(_63e,_63f);
-}
-}
-}
-opts.onClickRow.apply(_63e,_5d0(_63e,[_63f,row]));
-}
-};
-function _647(e){
-var tr=_637(e.target);
-if(!tr){
-return;
-}
-var _648=_639(tr);
-var opts=$.data(_648,"datagrid").options;
-var _649=_63b(tr);
-var row=opts.finder.getRow(_648,_649);
-var td=$(e.target).closest("td[field]",tr);
-if(td.length){
-var _64a=td.attr("field");
-opts.onDblClickCell.call(_648,_649,_64a,row[_64a]);
-}
-opts.onDblClickRow.apply(_648,_5d0(_648,[_649,row]));
-};
-function _64b(e){
-var tr=_637(e.target);
-if(tr){
-var _64c=_639(tr);
-var opts=$.data(_64c,"datagrid").options;
-var _64d=_63b(tr);
-var row=opts.finder.getRow(_64c,_64d);
-opts.onRowContextMenu.call(_64c,e,_64d,row);
-}else{
-var body=_637(e.target,".datagrid-body");
-if(body){
-var _64c=_639(body);
-var opts=$.data(_64c,"datagrid").options;
-opts.onRowContextMenu.call(_64c,e,-1,null);
-}
-}
-};
-function _639(t){
-return $(t).closest("div.datagrid-view").children(".datagrid-f")[0];
-};
-function _637(t,_64e){
-var tr=$(t).closest(_64e||"tr.datagrid-row");
-if(tr.length&&tr.parent().length){
-return tr;
-}else{
-return undefined;
-}
-};
-function _63b(tr){
-if(tr.attr("datagrid-row-index")){
-return parseInt(tr.attr("datagrid-row-index"));
-}else{
-return tr.attr("node-id");
-}
-};
-function _64f(_650,_651){
-var _652=$.data(_650,"datagrid");
-var opts=_652.options;
-_651=_651||{};
-var _653={sortName:opts.sortName,sortOrder:opts.sortOrder};
-if(typeof _651=="object"){
-$.extend(_653,_651);
-}
-var _654=[];
-var _655=[];
-if(_653.sortName){
-_654=_653.sortName.split(",");
-_655=_653.sortOrder.split(",");
-}
-if(typeof _651=="string"){
-var _656=_651;
-var col=_628(_650,_656);
-if(!col.sortable||_652.resizing){
-return;
-}
-var _657=col.order||"asc";
-var pos=_5cc(_654,_656);
-if(pos>=0){
-var _658=_655[pos]=="asc"?"desc":"asc";
-if(opts.multiSort&&_658==_657){
-_654.splice(pos,1);
-_655.splice(pos,1);
-}else{
-_655[pos]=_658;
-}
-}else{
-if(opts.multiSort){
-_654.push(_656);
-_655.push(_657);
-}else{
-_654=[_656];
-_655=[_657];
-}
-}
-_653.sortName=_654.join(",");
-_653.sortOrder=_655.join(",");
-}
-if(opts.onBeforeSortColumn.call(_650,_653.sortName,_653.sortOrder)==false){
-return;
-}
-$.extend(opts,_653);
-var dc=_652.dc;
-var _659=dc.header1.add(dc.header2);
-_659.find("div.datagrid-cell").removeClass("datagrid-sort-asc datagrid-sort-desc");
-for(var i=0;i<_654.length;i++){
-var col=_628(_650,_654[i]);
-_659.find("div."+col.cellClass).addClass("datagrid-sort-"+_655[i]);
-}
-if(opts.remoteSort){
-_65a(_650);
-}else{
-_65b(_650,$(_650).datagrid("getData"));
-}
-opts.onSortColumn.call(_650,opts.sortName,opts.sortOrder);
-};
-function _65c(_65d){
-var _65e=$.data(_65d,"datagrid");
-var opts=_65e.options;
-var dc=_65e.dc;
-var _65f=dc.view2.children("div.datagrid-header");
-dc.body2.css("overflow-x","");
-_660();
-_661();
-_662();
-_660(true);
-if(_65f.width()>=_65f.find("table").width()){
-dc.body2.css("overflow-x","hidden");
-}
-function _662(){
-if(!opts.fitColumns){
-return;
-}
-if(!_65e.leftWidth){
-_65e.leftWidth=0;
-}
-var _663=0;
-var cc=[];
-var _664=_627(_65d,false);
-for(var i=0;i<_664.length;i++){
-var col=_628(_65d,_664[i]);
-if(_665(col)){
-_663+=col.width;
-cc.push({field:col.field,col:col,addingWidth:0});
-}
-}
-if(!_663){
-return;
-}
-cc[cc.length-1].addingWidth-=_65e.leftWidth;
-var _666=_65f.children("div.datagrid-header-inner").show();
-var _667=_65f.width()-_65f.find("table").width()-opts.scrollbarSize+_65e.leftWidth;
-var rate=_667/_663;
-if(!opts.showHeader){
-_666.hide();
-}
-for(var i=0;i<cc.length;i++){
-var c=cc[i];
-var _668=parseInt(c.col.width*rate);
-c.addingWidth+=_668;
-_667-=_668;
-}
-cc[cc.length-1].addingWidth+=_667;
-for(var i=0;i<cc.length;i++){
-var c=cc[i];
-if(c.col.boxWidth+c.addingWidth>0){
-c.col.boxWidth+=c.addingWidth;
-c.col.width+=c.addingWidth;
-}
-}
-_65e.leftWidth=_667;
-$(_65d).datagrid("fixColumnSize");
-};
-function _661(){
-var _669=false;
-var _66a=_627(_65d,true).concat(_627(_65d,false));
-$.map(_66a,function(_66b){
-var col=_628(_65d,_66b);
-if(String(col.width||"").indexOf("%")>=0){
-var _66c=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize)-col.deltaWidth;
-if(_66c>0){
-col.boxWidth=_66c;
-_669=true;
-}
-}
-});
-if(_669){
-$(_65d).datagrid("fixColumnSize");
-}
-};
-function _660(fit){
-var _66d=dc.header1.add(dc.header2).find(".datagrid-cell-group");
-if(_66d.length){
-_66d.each(function(){
-$(this)._outerWidth(fit?$(this).parent().width():10);
-});
-if(fit){
-_5e6(_65d);
-}
-}
-};
-function _665(col){
-if(String(col.width||"").indexOf("%")>=0){
-return false;
-}
-if(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){
-return true;
-}
-};
-};
-function _66e(_66f,_670){
-var _671=$.data(_66f,"datagrid");
-var opts=_671.options;
-var dc=_671.dc;
-var tmp=$("<div class=\"datagrid-cell\" style=\"position:absolute;left:-9999px\"></div>").appendTo("body");
-if(_670){
-_5e1(_670);
-$(_66f).datagrid("fitColumns");
-}else{
-var _672=false;
-var _673=_627(_66f,true).concat(_627(_66f,false));
-for(var i=0;i<_673.length;i++){
-var _670=_673[i];
-var col=_628(_66f,_670);
-if(col.auto){
-_5e1(_670);
-_672=true;
-}
-}
-if(_672){
-$(_66f).datagrid("fitColumns");
-}
-}
-tmp.remove();
-function _5e1(_674){
-var _675=dc.view.find("div.datagrid-header td[field=\""+_674+"\"] div.datagrid-cell");
-_675.css("width","");
-var col=$(_66f).datagrid("getColumnOption",_674);
-col.width=undefined;
-col.boxWidth=undefined;
-col.auto=true;
-$(_66f).datagrid("fixColumnSize",_674);
-var _676=Math.max(_677("header"),_677("allbody"),_677("allfooter"))+1;
-_675._outerWidth(_676-1);
-col.width=_676;
-col.boxWidth=parseInt(_675[0].style.width);
-col.deltaWidth=_676-col.boxWidth;
-_675.css("width","");
-$(_66f).datagrid("fixColumnSize",_674);
-opts.onResizeColumn.call(_66f,_674,col.width);
-function _677(type){
-var _678=0;
-if(type=="header"){
-_678=_679(_675);
-}else{
-opts.finder.getTr(_66f,0,type).find("td[field=\""+_674+"\"] div.datagrid-cell").each(function(){
-var w=_679($(this));
-if(_678<w){
-_678=w;
-}
-});
-}
-return _678;
-function _679(cell){
-return cell.is(":visible")?cell._outerWidth():tmp.html(cell.html())._outerWidth();
-};
-};
-};
-};
-function _67a(_67b,_67c){
-var _67d=$.data(_67b,"datagrid");
-var opts=_67d.options;
-var dc=_67d.dc;
-var _67e=dc.view.find("table.datagrid-btable,table.datagrid-ftable");
-_67e.css("table-layout","fixed");
-if(_67c){
-fix(_67c);
-}else{
-var ff=_627(_67b,true).concat(_627(_67b,false));
-for(var i=0;i<ff.length;i++){
-fix(ff[i]);
-}
-}
-_67e.css("table-layout","");
-_67f(_67b);
-_5f7(_67b);
-_680(_67b);
-function fix(_681){
-var col=_628(_67b,_681);
-if(col.cellClass){
-_67d.ss.set("."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto");
-}
-};
-};
-function _67f(_682){
-var dc=$.data(_682,"datagrid").dc;
-dc.view.find("td.datagrid-td-merged").each(function(){
-var td=$(this);
-var _683=td.attr("colspan")||1;
-var col=_628(_682,td.attr("field"));
-var _684=col.boxWidth+col.deltaWidth-1;
-for(var i=1;i<_683;i++){
-td=td.next();
-col=_628(_682,td.attr("field"));
-_684+=col.boxWidth+col.deltaWidth;
-}
-$(this).children("div.datagrid-cell")._outerWidth(_684);
-});
-};
-function _680(_685){
-var dc=$.data(_685,"datagrid").dc;
-dc.view.find("div.datagrid-editable").each(function(){
-var cell=$(this);
-var _686=cell.parent().attr("field");
-var col=$(_685).datagrid("getColumnOption",_686);
-cell._outerWidth(col.boxWidth+col.deltaWidth-1);
-var ed=$.data(this,"datagrid.editor");
-if(ed.actions.resize){
-ed.actions.resize(ed.target,cell.width());
-}
-});
-};
-function _628(_687,_688){
-function find(_689){
-if(_689){
-for(var i=0;i<_689.length;i++){
-var cc=_689[i];
-for(var j=0;j<cc.length;j++){
-var c=cc[j];
-if(c.field==_688){
-return c;
-}
-}
-}
-}
-return null;
-};
-var opts=$.data(_687,"datagrid").options;
-var col=find(opts.columns);
-if(!col){
-col=find(opts.frozenColumns);
-}
-return col;
-};
-function _627(_68a,_68b){
-var opts=$.data(_68a,"datagrid").options;
-var _68c=(_68b==true)?(opts.frozenColumns||[[]]):opts.columns;
-if(_68c.length==0){
-return [];
-}
-var aa=[];
-var _68d=_68e();
-for(var i=0;i<_68c.length;i++){
-aa[i]=new Array(_68d);
-}
-for(var _68f=0;_68f<_68c.length;_68f++){
-$.map(_68c[_68f],function(col){
-var _690=_691(aa[_68f]);
-if(_690>=0){
-var _692=col.field||"";
-for(var c=0;c<(col.colspan||1);c++){
-for(var r=0;r<(col.rowspan||1);r++){
-aa[_68f+r][_690]=_692;
-}
-_690++;
-}
-}
-});
-}
-return aa[aa.length-1];
-function _68e(){
-var _693=0;
-$.map(_68c[0],function(col){
-_693+=col.colspan||1;
-});
-return _693;
-};
-function _691(a){
-for(var i=0;i<a.length;i++){
-if(a[i]==undefined){
-return i;
-}
-}
-return -1;
-};
-};
-function _65b(_694,data){
-var _695=$.data(_694,"datagrid");
-var opts=_695.options;
-var dc=_695.dc;
-data=opts.loadFilter.call(_694,data);
-data.total=parseInt(data.total);
-_695.data=data;
-if(data.footer){
-_695.footer=data.footer;
-}
-if(!opts.remoteSort&&opts.sortName){
-var _696=opts.sortName.split(",");
-var _697=opts.sortOrder.split(",");
-data.rows.sort(function(r1,r2){
-var r=0;
-for(var i=0;i<_696.length;i++){
-var sn=_696[i];
-var so=_697[i];
-var col=_628(_694,sn);
-var _698=col.sorter||function(a,b){
-return a==b?0:(a>b?1:-1);
-};
-r=_698(r1[sn],r2[sn])*(so=="asc"?1:-1);
-if(r!=0){
-return r;
-}
-}
-return r;
-});
-}
-if(opts.view.onBeforeRender){
-opts.view.onBeforeRender.call(opts.view,_694,data.rows);
-}
-opts.view.render.call(opts.view,_694,dc.body2,false);
-opts.view.render.call(opts.view,_694,dc.body1,true);
-if(opts.showFooter){
-opts.view.renderFooter.call(opts.view,_694,dc.footer2,false);
-opts.view.renderFooter.call(opts.view,_694,dc.footer1,true);
-}
-if(opts.view.onAfterRender){
-opts.view.onAfterRender.call(opts.view,_694);
-}
-_695.ss.clean();
-var _699=$(_694).datagrid("getPager");
-if(_699.length){
-var _69a=_699.pagination("options");
-if(_69a.total!=data.total){
-_699.pagination("refresh",{total:data.total});
-if(opts.pageNumber!=_69a.pageNumber&&_69a.pageNumber>0){
-opts.pageNumber=_69a.pageNumber;
-_65a(_694);
-}
-}
-}
-_5f7(_694);
-dc.body2.triggerHandler("scroll");
-$(_694).datagrid("setSelectionState");
-$(_694).datagrid("autoSizeColumn");
-opts.onLoadSuccess.call(_694,data);
-};
-function _69b(_69c){
-var _69d=$.data(_69c,"datagrid");
-var opts=_69d.options;
-var dc=_69d.dc;
-dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",false);
-if(opts.idField){
-var _69e=$.data(_69c,"treegrid")?true:false;
-var _69f=opts.onSelect;
-var _6a0=opts.onCheck;
-opts.onSelect=opts.onCheck=function(){
-};
-var rows=opts.finder.getRows(_69c);
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-var _6a1=_69e?row[opts.idField]:i;
-if(_6a2(_69d.selectedRows,row)){
-_643(_69c,_6a1,true);
-}
-if(_6a2(_69d.checkedRows,row)){
-_640(_69c,_6a1,true);
-}
-}
-opts.onSelect=_69f;
-opts.onCheck=_6a0;
-}
-function _6a2(a,r){
-for(var i=0;i<a.length;i++){
-if(a[i][opts.idField]==r[opts.idField]){
-a[i]=r;
-return true;
-}
-}
-return false;
-};
-};
-function _6a3(_6a4,row){
-var _6a5=$.data(_6a4,"datagrid");
-var opts=_6a5.options;
-var rows=_6a5.data.rows;
-if(typeof row=="object"){
-return _5cc(rows,row);
-}else{
-for(var i=0;i<rows.length;i++){
-if(rows[i][opts.idField]==row){
-return i;
-}
-}
-return -1;
-}
-};
-function _6a6(_6a7){
-var _6a8=$.data(_6a7,"datagrid");
-var opts=_6a8.options;
-var data=_6a8.data;
-if(opts.idField){
-return _6a8.selectedRows;
-}else{
-var rows=[];
-opts.finder.getTr(_6a7,"","selected",2).each(function(){
-rows.push(opts.finder.getRow(_6a7,$(this)));
-});
-return rows;
-}
-};
-function _6a9(_6aa){
-var _6ab=$.data(_6aa,"datagrid");
-var opts=_6ab.options;
-if(opts.idField){
-return _6ab.checkedRows;
-}else{
-var rows=[];
-opts.finder.getTr(_6aa,"","checked",2).each(function(){
-rows.push(opts.finder.getRow(_6aa,$(this)));
-});
-return rows;
-}
-};
-function _6ac(_6ad,_6ae){
-var _6af=$.data(_6ad,"datagrid");
-var dc=_6af.dc;
-var opts=_6af.options;
-var tr=opts.finder.getTr(_6ad,_6ae);
-if(tr.length){
-if(tr.closest("table").hasClass("datagrid-btable-frozen")){
-return;
-}
-var _6b0=dc.view2.children("div.datagrid-header")._outerHeight();
-var _6b1=dc.body2;
-var _6b2=_6b1.outerHeight(true)-_6b1.outerHeight();
-var top=tr.position().top-_6b0-_6b2;
-if(top<0){
-_6b1.scrollTop(_6b1.scrollTop()+top);
-}else{
-if(top+tr._outerHeight()>_6b1.height()-18){
-_6b1.scrollTop(_6b1.scrollTop()+top+tr._outerHeight()-_6b1.height()+18);
-}
-}
-}
-};
-function _63c(_6b3,_6b4){
-var _6b5=$.data(_6b3,"datagrid");
-var opts=_6b5.options;
-opts.finder.getTr(_6b3,_6b5.highlightIndex).removeClass("datagrid-row-over");
-opts.finder.getTr(_6b3,_6b4).addClass("datagrid-row-over");
-_6b5.highlightIndex=_6b4;
-};
-function _643(_6b6,_6b7,_6b8){
-var _6b9=$.data(_6b6,"datagrid");
-var opts=_6b9.options;
-var row=opts.finder.getRow(_6b6,_6b7);
-if(opts.onBeforeSelect.apply(_6b6,_5d0(_6b6,[_6b7,row]))==false){
-return;
-}
-if(opts.singleSelect){
-_6ba(_6b6,true);
-_6b9.selectedRows=[];
-}
-if(!_6b8&&opts.checkOnSelect){
-_640(_6b6,_6b7,true);
-}
-if(opts.idField){
-_5cf(_6b9.selectedRows,opts.idField,row);
-}
-opts.finder.getTr(_6b6,_6b7).addClass("datagrid-row-selected");
-opts.onSelect.apply(_6b6,_5d0(_6b6,[_6b7,row]));
-_6ac(_6b6,_6b7);
-};
-function _644(_6bb,_6bc,_6bd){
-var _6be=$.data(_6bb,"datagrid");
-var dc=_6be.dc;
-var opts=_6be.options;
-var row=opts.finder.getRow(_6bb,_6bc);
-if(opts.onBeforeUnselect.apply(_6bb,_5d0(_6bb,[_6bc,row]))==false){
-return;
-}
-if(!_6bd&&opts.checkOnSelect){
-_641(_6bb,_6bc,true);
-}
-opts.finder.getTr(_6bb,_6bc).removeClass("datagrid-row-selected");
-if(opts.idField){
-_5cd(_6be.selectedRows,opts.idField,row[opts.idField]);
-}
-opts.onUnselect.apply(_6bb,_5d0(_6bb,[_6bc,row]));
-};
-function _6bf(_6c0,_6c1){
-var _6c2=$.data(_6c0,"datagrid");
-var opts=_6c2.options;
-var rows=opts.finder.getRows(_6c0);
-var _6c3=$.data(_6c0,"datagrid").selectedRows;
-if(!_6c1&&opts.checkOnSelect){
-_6c4(_6c0,true);
-}
-opts.finder.getTr(_6c0,"","allbody").addClass("datagrid-row-selected");
-if(opts.idField){
-for(var _6c5=0;_6c5<rows.length;_6c5++){
-_5cf(_6c3,opts.idField,rows[_6c5]);
-}
-}
-opts.onSelectAll.call(_6c0,rows);
-};
-function _6ba(_6c6,_6c7){
-var _6c8=$.data(_6c6,"datagrid");
-var opts=_6c8.options;
-var rows=opts.finder.getRows(_6c6);
-var _6c9=$.data(_6c6,"datagrid").selectedRows;
-if(!_6c7&&opts.checkOnSelect){
-_6ca(_6c6,true);
-}
-opts.finder.getTr(_6c6,"","selected").removeClass("datagrid-row-selected");
-if(opts.idField){
-for(var _6cb=0;_6cb<rows.length;_6cb++){
-_5cd(_6c9,opts.idField,rows[_6cb][opts.idField]);
-}
-}
-opts.onUnselectAll.call(_6c6,rows);
-};
-function _640(_6cc,_6cd,_6ce){
-var _6cf=$.data(_6cc,"datagrid");
-var opts=_6cf.options;
-var row=opts.finder.getRow(_6cc,_6cd);
-if(opts.onBeforeCheck.apply(_6cc,_5d0(_6cc,[_6cd,row]))==false){
-return;
-}
-if(opts.singleSelect&&opts.selectOnCheck){
-_6ca(_6cc,true);
-_6cf.checkedRows=[];
-}
-if(!_6ce&&opts.selectOnCheck){
-_643(_6cc,_6cd,true);
-}
-var tr=opts.finder.getTr(_6cc,_6cd).addClass("datagrid-row-checked");
-tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
-tr=opts.finder.getTr(_6cc,"","checked",2);
-if(tr.length==opts.finder.getRows(_6cc).length){
-var dc=_6cf.dc;
-dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",true);
-}
-if(opts.idField){
-_5cf(_6cf.checkedRows,opts.idField,row);
-}
-opts.onCheck.apply(_6cc,_5d0(_6cc,[_6cd,row]));
-};
-function _641(_6d0,_6d1,_6d2){
-var _6d3=$.data(_6d0,"datagrid");
-var opts=_6d3.options;
-var row=opts.finder.getRow(_6d0,_6d1);
-if(opts.onBeforeUncheck.apply(_6d0,_5d0(_6d0,[_6d1,row]))==false){
-return;
-}
-if(!_6d2&&opts.selectOnCheck){
-_644(_6d0,_6d1,true);
-}
-var tr=opts.finder.getTr(_6d0,_6d1).removeClass("datagrid-row-checked");
-tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",false);
-var dc=_6d3.dc;
-var _6d4=dc.header1.add(dc.header2);
-_6d4.find("input[type=checkbox]")._propAttr("checked",false);
-if(opts.idField){
-_5cd(_6d3.checkedRows,opts.idField,row[opts.idField]);
-}
-opts.onUncheck.apply(_6d0,_5d0(_6d0,[_6d1,row]));
-};
-function _6c4(_6d5,_6d6){
-var _6d7=$.data(_6d5,"datagrid");
-var opts=_6d7.options;
-var rows=opts.finder.getRows(_6d5);
-if(!_6d6&&opts.selectOnCheck){
-_6bf(_6d5,true);
-}
-var dc=_6d7.dc;
-var hck=dc.header1.add(dc.header2).find("input[type=checkbox]");
-var bck=opts.finder.getTr(_6d5,"","allbody").addClass("datagrid-row-checked").find("div.datagrid-cell-check input[type=checkbox]");
-hck.add(bck)._propAttr("checked",true);
-if(opts.idField){
-for(var i=0;i<rows.length;i++){
-_5cf(_6d7.checkedRows,opts.idField,rows[i]);
-}
-}
-opts.onCheckAll.call(_6d5,rows);
-};
-function _6ca(_6d8,_6d9){
-var _6da=$.data(_6d8,"datagrid");
-var opts=_6da.options;
-var rows=opts.finder.getRows(_6d8);
-if(!_6d9&&opts.selectOnCheck){
-_6ba(_6d8,true);
-}
-var dc=_6da.dc;
-var hck=dc.header1.add(dc.header2).find("input[type=checkbox]");
-var bck=opts.finder.getTr(_6d8,"","checked").removeClass("datagrid-row-checked").find("div.datagrid-cell-check input[type=checkbox]");
-hck.add(bck)._propAttr("checked",false);
-if(opts.idField){
-for(var i=0;i<rows.length;i++){
-_5cd(_6da.checkedRows,opts.idField,rows[i][opts.idField]);
-}
-}
-opts.onUncheckAll.call(_6d8,rows);
-};
-function _6db(_6dc,_6dd){
-var opts=$.data(_6dc,"datagrid").options;
-var tr=opts.finder.getTr(_6dc,_6dd);
-var row=opts.finder.getRow(_6dc,_6dd);
-if(tr.hasClass("datagrid-row-editing")){
-return;
-}
-if(opts.onBeforeEdit.apply(_6dc,_5d0(_6dc,[_6dd,row]))==false){
-return;
-}
-tr.addClass("datagrid-row-editing");
-_6de(_6dc,_6dd);
-_680(_6dc);
-tr.find("div.datagrid-editable").each(function(){
-var _6df=$(this).parent().attr("field");
-var ed=$.data(this,"datagrid.editor");
-ed.actions.setValue(ed.target,row[_6df]);
-});
-_6e0(_6dc,_6dd);
-opts.onBeginEdit.apply(_6dc,_5d0(_6dc,[_6dd,row]));
-};
-function _6e1(_6e2,_6e3,_6e4){
-var _6e5=$.data(_6e2,"datagrid");
-var opts=_6e5.options;
-var _6e6=_6e5.updatedRows;
-var _6e7=_6e5.insertedRows;
-var tr=opts.finder.getTr(_6e2,_6e3);
-var row=opts.finder.getRow(_6e2,_6e3);
-if(!tr.hasClass("datagrid-row-editing")){
-return;
-}
-if(!_6e4){
-if(!_6e0(_6e2,_6e3)){
-return;
-}
-var _6e8=false;
-var _6e9={};
-tr.find("div.datagrid-editable").each(function(){
-var _6ea=$(this).parent().attr("field");
-var ed=$.data(this,"datagrid.editor");
-var t=$(ed.target);
-var _6eb=t.data("textbox")?t.textbox("textbox"):t;
-_6eb.triggerHandler("blur");
-var _6ec=ed.actions.getValue(ed.target);
-if(row[_6ea]!=_6ec){
-row[_6ea]=_6ec;
-_6e8=true;
-_6e9[_6ea]=_6ec;
-}
-});
-if(_6e8){
-if(_5cc(_6e7,row)==-1){
-if(_5cc(_6e6,row)==-1){
-_6e6.push(row);
-}
-}
-}
-opts.onEndEdit.apply(_6e2,_5d0(_6e2,[_6e3,row,_6e9]));
-}
-tr.removeClass("datagrid-row-editing");
-_6ed(_6e2,_6e3);
-$(_6e2).datagrid("refreshRow",_6e3);
-if(!_6e4){
-opts.onAfterEdit.apply(_6e2,_5d0(_6e2,[_6e3,row,_6e9]));
-}else{
-opts.onCancelEdit.apply(_6e2,_5d0(_6e2,[_6e3,row]));
-}
-};
-function _6ee(_6ef,_6f0){
-var opts=$.data(_6ef,"datagrid").options;
-var tr=opts.finder.getTr(_6ef,_6f0);
-var _6f1=[];
-tr.children("td").each(function(){
-var cell=$(this).find("div.datagrid-editable");
-if(cell.length){
-var ed=$.data(cell[0],"datagrid.editor");
-_6f1.push(ed);
-}
-});
-return _6f1;
-};
-function _6f2(_6f3,_6f4){
-var _6f5=_6ee(_6f3,_6f4.index!=undefined?_6f4.index:_6f4.id);
-for(var i=0;i<_6f5.length;i++){
-if(_6f5[i].field==_6f4.field){
-return _6f5[i];
-}
-}
-return null;
-};
-function _6de(_6f6,_6f7){
-var opts=$.data(_6f6,"datagrid").options;
-var tr=opts.finder.getTr(_6f6,_6f7);
-tr.children("td").each(function(){
-var cell=$(this).find("div.datagrid-cell");
-var _6f8=$(this).attr("field");
-var col=_628(_6f6,_6f8);
-if(col&&col.editor){
-var _6f9,_6fa;
-if(typeof col.editor=="string"){
-_6f9=col.editor;
-}else{
-_6f9=col.editor.type;
-_6fa=col.editor.options;
-}
-var _6fb=opts.editors[_6f9];
-if(_6fb){
-var _6fc=cell.html();
-var _6fd=cell._outerWidth();
-cell.addClass("datagrid-editable");
-cell._outerWidth(_6fd);
-cell.html("<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td></td></tr></table>");
-cell.children("table").bind("click dblclick contextmenu",function(e){
-e.stopPropagation();
-});
-$.data(cell[0],"datagrid.editor",{actions:_6fb,target:_6fb.init(cell.find("td"),_6fa),field:_6f8,type:_6f9,oldHtml:_6fc});
-}
-}
-});
-_5f7(_6f6,_6f7,true);
-};
-function _6ed(_6fe,_6ff){
-var opts=$.data(_6fe,"datagrid").options;
-var tr=opts.finder.getTr(_6fe,_6ff);
-tr.children("td").each(function(){
-var cell=$(this).find("div.datagrid-editable");
-if(cell.length){
-var ed=$.data(cell[0],"datagrid.editor");
-if(ed.actions.destroy){
-ed.actions.destroy(ed.target);
-}
-cell.html(ed.oldHtml);
-$.removeData(cell[0],"datagrid.editor");
-cell.removeClass("datagrid-editable");
-cell.css("width","");
-}
-});
-};
-function _6e0(_700,_701){
-var tr=$.data(_700,"datagrid").options.finder.getTr(_700,_701);
-if(!tr.hasClass("datagrid-row-editing")){
-return true;
-}
-var vbox=tr.find(".validatebox-text");
-vbox.validatebox("validate");
-vbox.trigger("mouseleave");
-var _702=tr.find(".validatebox-invalid");
-return _702.length==0;
-};
-function _703(_704,_705){
-var _706=$.data(_704,"datagrid").insertedRows;
-var _707=$.data(_704,"datagrid").deletedRows;
-var _708=$.data(_704,"datagrid").updatedRows;
-if(!_705){
-var rows=[];
-rows=rows.concat(_706);
-rows=rows.concat(_707);
-rows=rows.concat(_708);
-return rows;
-}else{
-if(_705=="inserted"){
-return _706;
-}else{
-if(_705=="deleted"){
-return _707;
-}else{
-if(_705=="updated"){
-return _708;
-}
-}
-}
-}
-return [];
-};
-function _709(_70a,_70b){
-var _70c=$.data(_70a,"datagrid");
-var opts=_70c.options;
-var data=_70c.data;
-var _70d=_70c.insertedRows;
-var _70e=_70c.deletedRows;
-$(_70a).datagrid("cancelEdit",_70b);
-var row=opts.finder.getRow(_70a,_70b);
-if(_5cc(_70d,row)>=0){
-_5cd(_70d,row);
-}else{
-_70e.push(row);
-}
-_5cd(_70c.selectedRows,opts.idField,row[opts.idField]);
-_5cd(_70c.checkedRows,opts.idField,row[opts.idField]);
-opts.view.deleteRow.call(opts.view,_70a,_70b);
-if(opts.height=="auto"){
-_5f7(_70a);
-}
-$(_70a).datagrid("getPager").pagination("refresh",{total:data.total});
-};
-function _70f(_710,_711){
-var data=$.data(_710,"datagrid").data;
-var view=$.data(_710,"datagrid").options.view;
-var _712=$.data(_710,"datagrid").insertedRows;
-view.insertRow.call(view,_710,_711.index,_711.row);
-_712.push(_711.row);
-$(_710).datagrid("getPager").pagination("refresh",{total:data.total});
-};
-function _713(_714,row){
-var data=$.data(_714,"datagrid").data;
-var view=$.data(_714,"datagrid").options.view;
-var _715=$.data(_714,"datagrid").insertedRows;
-view.insertRow.call(view,_714,null,row);
-_715.push(row);
-$(_714).datagrid("getPager").pagination("refresh",{total:data.total});
-};
-function _716(_717){
-var _718=$.data(_717,"datagrid");
-var data=_718.data;
-var rows=data.rows;
-var _719=[];
-for(var i=0;i<rows.length;i++){
-_719.push($.extend({},rows[i]));
-}
-_718.originalRows=_719;
-_718.updatedRows=[];
-_718.insertedRows=[];
-_718.deletedRows=[];
-};
-function _71a(_71b){
-var data=$.data(_71b,"datagrid").data;
-var ok=true;
-for(var i=0,len=data.rows.length;i<len;i++){
-if(_6e0(_71b,i)){
-$(_71b).datagrid("endEdit",i);
-}else{
-ok=false;
-}
-}
-if(ok){
-_716(_71b);
-}
-};
-function _71c(_71d){
-var _71e=$.data(_71d,"datagrid");
-var opts=_71e.options;
-var _71f=_71e.originalRows;
-var _720=_71e.insertedRows;
-var _721=_71e.deletedRows;
-var _722=_71e.selectedRows;
-var _723=_71e.checkedRows;
-var data=_71e.data;
-function _724(a){
-var ids=[];
-for(var i=0;i<a.length;i++){
-ids.push(a[i][opts.idField]);
-}
-return ids;
-};
-function _725(ids,_726){
-for(var i=0;i<ids.length;i++){
-var _727=_6a3(_71d,ids[i]);
-if(_727>=0){
-(_726=="s"?_643:_640)(_71d,_727,true);
-}
-}
-};
-for(var i=0;i<data.rows.length;i++){
-$(_71d).datagrid("cancelEdit",i);
-}
-var _728=_724(_722);
-var _729=_724(_723);
-_722.splice(0,_722.length);
-_723.splice(0,_723.length);
-data.total+=_721.length-_720.length;
-data.rows=_71f;
-_65b(_71d,data);
-_725(_728,"s");
-_725(_729,"c");
-_716(_71d);
-};
-function _65a(_72a,_72b,cb){
-var opts=$.data(_72a,"datagrid").options;
-if(_72b){
-opts.queryParams=_72b;
-}
-var _72c=$.extend({},opts.queryParams);
-if(opts.pagination){
-$.extend(_72c,{page:opts.pageNumber||1,rows:opts.pageSize});
-}
-if(opts.sortName){
-$.extend(_72c,{sort:opts.sortName,order:opts.sortOrder});
-}
-if(opts.onBeforeLoad.call(_72a,_72c)==false){
-return;
-}
-$(_72a).datagrid("loading");
-var _72d=opts.loader.call(_72a,_72c,function(data){
-$(_72a).datagrid("loaded");
-$(_72a).datagrid("loadData",data);
-if(cb){
-cb();
-}
-},function(){
-$(_72a).datagrid("loaded");
-opts.onLoadError.apply(_72a,arguments);
-});
-if(_72d==false){
-$(_72a).datagrid("loaded");
-}
-};
-function _72e(_72f,_730){
-var opts=$.data(_72f,"datagrid").options;
-_730.type=_730.type||"body";
-_730.rowspan=_730.rowspan||1;
-_730.colspan=_730.colspan||1;
-if(_730.rowspan==1&&_730.colspan==1){
-return;
-}
-var tr=opts.finder.getTr(_72f,(_730.index!=undefined?_730.index:_730.id),_730.type);
-if(!tr.length){
-return;
-}
-var td=tr.find("td[field=\""+_730.field+"\"]");
-td.attr("rowspan",_730.rowspan).attr("colspan",_730.colspan);
-td.addClass("datagrid-td-merged");
-_731(td.next(),_730.colspan-1);
-for(var i=1;i<_730.rowspan;i++){
-tr=tr.next();
-if(!tr.length){
-break;
-}
-td=tr.find("td[field=\""+_730.field+"\"]");
-_731(td,_730.colspan);
-}
-_67f(_72f);
-function _731(td,_732){
-for(var i=0;i<_732;i++){
-td.hide();
-td=td.next();
-}
-};
-};
-$.fn.datagrid=function(_733,_734){
-if(typeof _733=="string"){
-return $.fn.datagrid.methods[_733](this,_734);
-}
-_733=_733||{};
-return this.each(function(){
-var _735=$.data(this,"datagrid");
-var opts;
-if(_735){
-opts=$.extend(_735.options,_733);
-_735.options=opts;
-}else{
-opts=$.extend({},$.extend({},$.fn.datagrid.defaults,{queryParams:{}}),$.fn.datagrid.parseOptions(this),_733);
-$(this).css("width","").css("height","");
-var _736=_60b(this,opts.rownumbers);
-if(!opts.columns){
-opts.columns=_736.columns;
-}
-if(!opts.frozenColumns){
-opts.frozenColumns=_736.frozenColumns;
-}
-opts.columns=$.extend(true,[],opts.columns);
-opts.frozenColumns=$.extend(true,[],opts.frozenColumns);
-opts.view=$.extend({},opts.view);
-$.data(this,"datagrid",{options:opts,panel:_736.panel,dc:_736.dc,ss:null,selectedRows:[],checkedRows:[],data:{total:0,rows:[]},originalRows:[],updatedRows:[],insertedRows:[],deletedRows:[]});
-}
-_614(this);
-_629(this);
-_5e1(this);
-if(opts.data){
-$(this).datagrid("loadData",opts.data);
-}else{
-var data=$.fn.datagrid.parseData(this);
-if(data.total>0){
-$(this).datagrid("loadData",data);
-}else{
-opts.view.renderEmptyRow(this);
-$(this).datagrid("autoSizeColumn");
-}
-}
-_65a(this);
-});
-};
-function _737(_738){
-var _739={};
-$.map(_738,function(name){
-_739[name]=_73a(name);
-});
-return _739;
-function _73a(name){
-function isA(_73b){
-return $.data($(_73b)[0],name)!=undefined;
-};
-return {init:function(_73c,_73d){
-var _73e=$("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_73c);
-if(_73e[name]&&name!="text"){
-return _73e[name](_73d);
-}else{
-return _73e;
-}
-},destroy:function(_73f){
-if(isA(_73f,name)){
-$(_73f)[name]("destroy");
-}
-},getValue:function(_740){
-if(isA(_740,name)){
-var opts=$(_740)[name]("options");
-if(opts.multiple){
-return $(_740)[name]("getValues").join(opts.separator);
-}else{
-return $(_740)[name]("getValue");
-}
-}else{
-return $(_740).val();
-}
-},setValue:function(_741,_742){
-if(isA(_741,name)){
-var opts=$(_741)[name]("options");
-if(opts.multiple){
-if(_742){
-$(_741)[name]("setValues",_742.split(opts.separator));
-}else{
-$(_741)[name]("clear");
-}
-}else{
-$(_741)[name]("setValue",_742);
-}
-}else{
-$(_741).val(_742);
-}
-},resize:function(_743,_744){
-if(isA(_743,name)){
-$(_743)[name]("resize",_744);
-}else{
-$(_743)._outerWidth(_744)._outerHeight(22);
-}
-}};
-};
-};
-var _745=$.extend({},_737(["text","textbox","numberbox","numberspinner","combobox","combotree","combogrid","datebox","datetimebox","timespinner","datetimespinner"]),{textarea:{init:function(_746,_747){
-var _748=$("<textarea class=\"datagrid-editable-input\"></textarea>").appendTo(_746);
-return _748;
-},getValue:function(_749){
-return $(_749).val();
-},setValue:function(_74a,_74b){
-$(_74a).val(_74b);
-},resize:function(_74c,_74d){
-$(_74c)._outerWidth(_74d);
-}},checkbox:{init:function(_74e,_74f){
-var _750=$("<input type=\"checkbox\">").appendTo(_74e);
-_750.val(_74f.on);
-_750.attr("offval",_74f.off);
-return _750;
-},getValue:function(_751){
-if($(_751).is(":checked")){
-return $(_751).val();
-}else{
-return $(_751).attr("offval");
-}
-},setValue:function(_752,_753){
-var _754=false;
-if($(_752).val()==_753){
-_754=true;
-}
-$(_752)._propAttr("checked",_754);
-}},validatebox:{init:function(_755,_756){
-var _757=$("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_755);
-_757.validatebox(_756);
-return _757;
-},destroy:function(_758){
-$(_758).validatebox("destroy");
-},getValue:function(_759){
-return $(_759).val();
-},setValue:function(_75a,_75b){
-$(_75a).val(_75b);
-},resize:function(_75c,_75d){
-$(_75c)._outerWidth(_75d)._outerHeight(22);
-}}});
-$.fn.datagrid.methods={options:function(jq){
-var _75e=$.data(jq[0],"datagrid").options;
-var _75f=$.data(jq[0],"datagrid").panel.panel("options");
-var opts=$.extend(_75e,{width:_75f.width,height:_75f.height,closed:_75f.closed,collapsed:_75f.collapsed,minimized:_75f.minimized,maximized:_75f.maximized});
-return opts;
-},setSelectionState:function(jq){
-return jq.each(function(){
-_69b(this);
-});
-},createStyleSheet:function(jq){
-return _5d2(jq[0]);
-},getPanel:function(jq){
-return $.data(jq[0],"datagrid").panel;
-},getPager:function(jq){
-return $.data(jq[0],"datagrid").panel.children("div.datagrid-pager");
-},getColumnFields:function(jq,_760){
-return _627(jq[0],_760);
-},getColumnOption:function(jq,_761){
-return _628(jq[0],_761);
-},resize:function(jq,_762){
-return jq.each(function(){
-_5e1(this,_762);
-});
-},load:function(jq,_763){
-return jq.each(function(){
-var opts=$(this).datagrid("options");
-if(typeof _763=="string"){
-opts.url=_763;
-_763=null;
-}
-opts.pageNumber=1;
-var _764=$(this).datagrid("getPager");
-_764.pagination("refresh",{pageNumber:1});
-_65a(this,_763);
-});
-},reload:function(jq,_765){
-return jq.each(function(){
-var opts=$(this).datagrid("options");
-if(typeof _765=="string"){
-opts.url=_765;
-_765=null;
-}
-_65a(this,_765);
-});
-},reloadFooter:function(jq,_766){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-var dc=$.data(this,"datagrid").dc;
-if(_766){
-$.data(this,"datagrid").footer=_766;
-}
-if(opts.showFooter){
-opts.view.renderFooter.call(opts.view,this,dc.footer2,false);
-opts.view.renderFooter.call(opts.view,this,dc.footer1,true);
-if(opts.view.onAfterRender){
-opts.view.onAfterRender.call(opts.view,this);
-}
-$(this).datagrid("fixRowHeight");
-}
-});
-},loading:function(jq){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-$(this).datagrid("getPager").pagination("loading");
-if(opts.loadMsg){
-var _767=$(this).datagrid("getPanel");
-if(!_767.children("div.datagrid-mask").length){
-$("<div class=\"datagrid-mask\" style=\"display:block\"></div>").appendTo(_767);
-var msg=$("<div class=\"datagrid-mask-msg\" style=\"display:block;left:50%\"></div>").html(opts.loadMsg).appendTo(_767);
-msg._outerHeight(40);
-msg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+"px")});
-}
-}
-});
-},loaded:function(jq){
-return jq.each(function(){
-$(this).datagrid("getPager").pagination("loaded");
-var _768=$(this).datagrid("getPanel");
-_768.children("div.datagrid-mask-msg").remove();
-_768.children("div.datagrid-mask").remove();
-});
-},fitColumns:function(jq){
-return jq.each(function(){
-_65c(this);
-});
-},fixColumnSize:function(jq,_769){
-return jq.each(function(){
-_67a(this,_769);
-});
-},fixRowHeight:function(jq,_76a){
-return jq.each(function(){
-_5f7(this,_76a);
-});
-},freezeRow:function(jq,_76b){
-return jq.each(function(){
-_604(this,_76b);
-});
-},autoSizeColumn:function(jq,_76c){
-return jq.each(function(){
-_66e(this,_76c);
-});
-},loadData:function(jq,data){
-return jq.each(function(){
-_65b(this,data);
-_716(this);
-});
-},getData:function(jq){
-return $.data(jq[0],"datagrid").data;
-},getRows:function(jq){
-return $.data(jq[0],"datagrid").data.rows;
-},getFooterRows:function(jq){
-return $.data(jq[0],"datagrid").footer;
-},getRowIndex:function(jq,id){
-return _6a3(jq[0],id);
-},getChecked:function(jq){
-return _6a9(jq[0]);
-},getSelected:function(jq){
-var rows=_6a6(jq[0]);
-return rows.length>0?rows[0]:null;
-},getSelections:function(jq){
-return _6a6(jq[0]);
-},clearSelections:function(jq){
-return jq.each(function(){
-var _76d=$.data(this,"datagrid");
-var _76e=_76d.selectedRows;
-var _76f=_76d.checkedRows;
-_76e.splice(0,_76e.length);
-_6ba(this);
-if(_76d.options.checkOnSelect){
-_76f.splice(0,_76f.length);
-}
-});
-},clearChecked:function(jq){
-return jq.each(function(){
-var _770=$.data(this,"datagrid");
-var _771=_770.selectedRows;
-var _772=_770.checkedRows;
-_772.splice(0,_772.length);
-_6ca(this);
-if(_770.options.selectOnCheck){
-_771.splice(0,_771.length);
-}
-});
-},scrollTo:function(jq,_773){
-return jq.each(function(){
-_6ac(this,_773);
-});
-},highlightRow:function(jq,_774){
-return jq.each(function(){
-_63c(this,_774);
-_6ac(this,_774);
-});
-},selectAll:function(jq){
-return jq.each(function(){
-_6bf(this);
-});
-},unselectAll:function(jq){
-return jq.each(function(){
-_6ba(this);
-});
-},selectRow:function(jq,_775){
-return jq.each(function(){
-_643(this,_775);
-});
-},selectRecord:function(jq,id){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-if(opts.idField){
-var _776=_6a3(this,id);
-if(_776>=0){
-$(this).datagrid("selectRow",_776);
-}
-}
-});
-},unselectRow:function(jq,_777){
-return jq.each(function(){
-_644(this,_777);
-});
-},checkRow:function(jq,_778){
-return jq.each(function(){
-_640(this,_778);
-});
-},uncheckRow:function(jq,_779){
-return jq.each(function(){
-_641(this,_779);
-});
-},checkAll:function(jq){
-return jq.each(function(){
-_6c4(this);
-});
-},uncheckAll:function(jq){
-return jq.each(function(){
-_6ca(this);
-});
-},beginEdit:function(jq,_77a){
-return jq.each(function(){
-_6db(this,_77a);
-});
-},endEdit:function(jq,_77b){
-return jq.each(function(){
-_6e1(this,_77b,false);
-});
-},cancelEdit:function(jq,_77c){
-return jq.each(function(){
-_6e1(this,_77c,true);
-});
-},getEditors:function(jq,_77d){
-return _6ee(jq[0],_77d);
-},getEditor:function(jq,_77e){
-return _6f2(jq[0],_77e);
-},refreshRow:function(jq,_77f){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-opts.view.refreshRow.call(opts.view,this,_77f);
-});
-},validateRow:function(jq,_780){
-return _6e0(jq[0],_780);
-},updateRow:function(jq,_781){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-opts.view.updateRow.call(opts.view,this,_781.index,_781.row);
-});
-},appendRow:function(jq,row){
-return jq.each(function(){
-_713(this,row);
-});
-},insertRow:function(jq,_782){
-return jq.each(function(){
-_70f(this,_782);
-});
-},deleteRow:function(jq,_783){
-return jq.each(function(){
-_709(this,_783);
-});
-},getChanges:function(jq,_784){
-return _703(jq[0],_784);
-},acceptChanges:function(jq){
-return jq.each(function(){
-_71a(this);
-});
-},rejectChanges:function(jq){
-return jq.each(function(){
-_71c(this);
-});
-},mergeCells:function(jq,_785){
-return jq.each(function(){
-_72e(this,_785);
-});
-},showColumn:function(jq,_786){
-return jq.each(function(){
-var _787=$(this).datagrid("getPanel");
-_787.find("td[field=\""+_786+"\"]").show();
-$(this).datagrid("getColumnOption",_786).hidden=false;
-$(this).datagrid("fitColumns");
-});
-},hideColumn:function(jq,_788){
-return jq.each(function(){
-var _789=$(this).datagrid("getPanel");
-_789.find("td[field=\""+_788+"\"]").hide();
-$(this).datagrid("getColumnOption",_788).hidden=true;
-$(this).datagrid("fitColumns");
-});
-},sort:function(jq,_78a){
-return jq.each(function(){
-_64f(this,_78a);
-});
-},gotoPage:function(jq,_78b){
-return jq.each(function(){
-var _78c=this;
-var page,cb;
-if(typeof _78b=="object"){
-page=_78b.page;
-cb=_78b.callback;
-}else{
-page=_78b;
-}
-$(_78c).datagrid("options").pageNumber=page;
-$(_78c).datagrid("getPager").pagination("refresh",{pageNumber:page});
-_65a(_78c,null,function(){
-if(cb){
-cb.call(_78c,page);
-}
-});
-});
-}};
-$.fn.datagrid.parseOptions=function(_78d){
-var t=$(_78d);
-return $.extend({},$.fn.panel.parseOptions(_78d),$.parser.parseOptions(_78d,["url","toolbar","idField","sortName","sortOrder","pagePosition","resizeHandle",{sharedStyleSheet:"boolean",fitColumns:"boolean",autoRowHeight:"boolean",striped:"boolean",nowrap:"boolean"},{rownumbers:"boolean",singleSelect:"boolean",ctrlSelect:"boolean",checkOnSelect:"boolean",selectOnCheck:"boolean"},{pagination:"boolean",pageSize:"number",pageNumber:"number"},{multiSort:"boolean",remoteSort:"boolean",showHeader:"boolean",showFooter:"boolean"},{scrollbarSize:"number"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined),loadMsg:(t.attr("loadMsg")!=undefined?t.attr("loadMsg"):undefined),rowStyler:(t.attr("rowStyler")?eval(t.attr("rowStyler")):undefined)});
-};
-$.fn.datagrid.parseData=function(_78e){
-var t=$(_78e);
-var data={total:0,rows:[]};
-var _78f=t.datagrid("getColumnFields",true).concat(t.datagrid("getColumnFields",false));
-t.find("tbody tr").each(function(){
-data.total++;
-var row={};
-$.extend(row,$.parser.parseOptions(this,["iconCls","state"]));
-for(var i=0;i<_78f.length;i++){
-row[_78f[i]]=$(this).find("td:eq("+i+")").html();
-}
-data.rows.push(row);
-});
-return data;
-};
-var _790={render:function(_791,_792,_793){
-var rows=$(_791).datagrid("getRows");
-$(_792).html(this.renderTable(_791,0,rows,_793));
-},renderFooter:function(_794,_795,_796){
-var opts=$.data(_794,"datagrid").options;
-var rows=$.data(_794,"datagrid").footer||[];
-var _797=$(_794).datagrid("getColumnFields",_796);
-var _798=["<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
-for(var i=0;i<rows.length;i++){
-_798.push("<tr class=\"datagrid-row\" datagrid-row-index=\""+i+"\">");
-_798.push(this.renderRow.call(this,_794,_797,_796,i,rows[i]));
-_798.push("</tr>");
-}
-_798.push("</tbody></table>");
-$(_795).html(_798.join(""));
-},renderTable:function(_799,_79a,rows,_79b){
-var _79c=$.data(_799,"datagrid");
-var opts=_79c.options;
-if(_79b){
-if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){
-return "";
-}
-}
-var _79d=$(_799).datagrid("getColumnFields",_79b);
-var _79e=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-var css=opts.rowStyler?opts.rowStyler.call(_799,_79a,row):"";
-var _79f="";
-var _7a0="";
-if(typeof css=="string"){
-_7a0=css;
-}else{
-if(css){
-_79f=css["class"]||"";
-_7a0=css["style"]||"";
-}
-}
-var cls="class=\"datagrid-row "+(_79a%2&&opts.striped?"datagrid-row-alt ":" ")+_79f+"\"";
-var _7a1=_7a0?"style=\""+_7a0+"\"":"";
-var _7a2=_79c.rowIdPrefix+"-"+(_79b?1:2)+"-"+_79a;
-_79e.push("<tr id=\""+_7a2+"\" datagrid-row-index=\""+_79a+"\" "+cls+" "+_7a1+">");
-_79e.push(this.renderRow.call(this,_799,_79d,_79b,_79a,row));
-_79e.push("</tr>");
-_79a++;
-}
-_79e.push("</tbody></table>");
-return _79e.join("");
-},renderRow:function(_7a3,_7a4,_7a5,_7a6,_7a7){
-var opts=$.data(_7a3,"datagrid").options;
-var cc=[];
-if(_7a5&&opts.rownumbers){
-var _7a8=_7a6+1;
-if(opts.pagination){
-_7a8+=(opts.pageNumber-1)*opts.pageSize;
-}
-cc.push("<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">"+_7a8+"</div></td>");
-}
-for(var i=0;i<_7a4.length;i++){
-var _7a9=_7a4[i];
-var col=$(_7a3).datagrid("getColumnOption",_7a9);
-if(col){
-var _7aa=_7a7[_7a9];
-var css=col.styler?(col.styler(_7aa,_7a7,_7a6)||""):"";
-var _7ab="";
-var _7ac="";
-if(typeof css=="string"){
-_7ac=css;
-}else{
-if(css){
-_7ab=css["class"]||"";
-_7ac=css["style"]||"";
-}
-}
-var cls=_7ab?"class=\""+_7ab+"\"":"";
-var _7ad=col.hidden?"style=\"display:none;"+_7ac+"\"":(_7ac?"style=\""+_7ac+"\"":"");
-cc.push("<td field=\""+_7a9+"\" "+cls+" "+_7ad+">");
-var _7ad="";
-if(!col.checkbox){
-if(col.align){
-_7ad+="text-align:"+col.align+";";
-}
-if(!opts.nowrap){
-_7ad+="white-space:normal;height:auto;";
-}else{
-if(opts.autoRowHeight){
-_7ad+="height:auto;";
-}
-}
-}
-cc.push("<div style=\""+_7ad+"\" ");
-cc.push(col.checkbox?"class=\"datagrid-cell-check\"":"class=\"datagrid-cell "+col.cellClass+"\"");
-cc.push(">");
-if(col.checkbox){
-cc.push("<input type=\"checkbox\" "+(_7a7.checked?"checked=\"checked\"":""));
-cc.push(" name=\""+_7a9+"\" value=\""+(_7aa!=undefined?_7aa:"")+"\">");
-}else{
-if(col.formatter){
-cc.push(col.formatter(_7aa,_7a7,_7a6));
-}else{
-cc.push(_7aa);
-}
-}
-cc.push("</div>");
-cc.push("</td>");
-}
-}
-return cc.join("");
-},refreshRow:function(_7ae,_7af){
-this.updateRow.call(this,_7ae,_7af,{});
-},updateRow:function(_7b0,_7b1,row){
-var opts=$.data(_7b0,"datagrid").options;
-var rows=$(_7b0).datagrid("getRows");
-var _7b2=_7b3(_7b1);
-$.extend(rows[_7b1],row);
-var _7b4=_7b3(_7b1);
-var _7b5=_7b2.c;
-var _7b6=_7b4.s;
-var _7b7="datagrid-row "+(_7b1%2&&opts.striped?"datagrid-row-alt ":" ")+_7b4.c;
-function _7b3(_7b8){
-var css=opts.rowStyler?opts.rowStyler.call(_7b0,_7b8,rows[_7b8]):"";
-var _7b9="";
-var _7ba="";
-if(typeof css=="string"){
-_7ba=css;
-}else{
-if(css){
-_7b9=css["class"]||"";
-_7ba=css["style"]||"";
-}
-}
-return {c:_7b9,s:_7ba};
-};
-function _7bb(_7bc){
-var _7bd=$(_7b0).datagrid("getColumnFields",_7bc);
-var tr=opts.finder.getTr(_7b0,_7b1,"body",(_7bc?1:2));
-var _7be=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked");
-tr.html(this.renderRow.call(this,_7b0,_7bd,_7bc,_7b1,rows[_7b1]));
-tr.attr("style",_7b6).removeClass(_7b5).addClass(_7b7);
-if(_7be){
-tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
-}
-};
-_7bb.call(this,true);
-_7bb.call(this,false);
-$(_7b0).datagrid("fixRowHeight",_7b1);
-},insertRow:function(_7bf,_7c0,row){
-var _7c1=$.data(_7bf,"datagrid");
-var opts=_7c1.options;
-var dc=_7c1.dc;
-var data=_7c1.data;
-if(_7c0==undefined||_7c0==null){
-_7c0=data.rows.length;
-}
-if(_7c0>data.rows.length){
-_7c0=data.rows.length;
-}
-function _7c2(_7c3){
-var _7c4=_7c3?1:2;
-for(var i=data.rows.length-1;i>=_7c0;i--){
-var tr=opts.finder.getTr(_7bf,i,"body",_7c4);
-tr.attr("datagrid-row-index",i+1);
-tr.attr("id",_7c1.rowIdPrefix+"-"+_7c4+"-"+(i+1));
-if(_7c3&&opts.rownumbers){
-var _7c5=i+2;
-if(opts.pagination){
-_7c5+=(opts.pageNumber-1)*opts.pageSize;
-}
-tr.find("div.datagrid-cell-rownumber").html(_7c5);
-}
-if(opts.striped){
-tr.removeClass("datagrid-row-alt").addClass((i+1)%2?"datagrid-row-alt":"");
-}
-}
-};
-function _7c6(_7c7){
-var _7c8=_7c7?1:2;
-var _7c9=$(_7bf).datagrid("getColumnFields",_7c7);
-var _7ca=_7c1.rowIdPrefix+"-"+_7c8+"-"+_7c0;
-var tr="<tr id=\""+_7ca+"\" class=\"datagrid-row\" datagrid-row-index=\""+_7c0+"\"></tr>";
-if(_7c0>=data.rows.length){
-if(data.rows.length){
-opts.finder.getTr(_7bf,"","last",_7c8).after(tr);
-}else{
-var cc=_7c7?dc.body1:dc.body2;
-cc.html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"+tr+"</tbody></table>");
-}
-}else{
-opts.finder.getTr(_7bf,_7c0+1,"body",_7c8).before(tr);
-}
-};
-_7c2.call(this,true);
-_7c2.call(this,false);
-_7c6.call(this,true);
-_7c6.call(this,false);
-data.total+=1;
-data.rows.splice(_7c0,0,row);
-this.refreshRow.call(this,_7bf,_7c0);
-},deleteRow:function(_7cb,_7cc){
-var _7cd=$.data(_7cb,"datagrid");
-var opts=_7cd.options;
-var data=_7cd.data;
-function _7ce(_7cf){
-var _7d0=_7cf?1:2;
-for(var i=_7cc+1;i<data.rows.length;i++){
-var tr=opts.finder.getTr(_7cb,i,"body",_7d0);
-tr.attr("datagrid-row-index",i-1);
-tr.attr("id",_7cd.rowIdPrefix+"-"+_7d0+"-"+(i-1));
-if(_7cf&&opts.rownumbers){
-var _7d1=i;
-if(opts.pagination){
-_7d1+=(opts.pageNumber-1)*opts.pageSize;
-}
-tr.find("div.datagrid-cell-rownumber").html(_7d1);
-}
-if(opts.striped){
-tr.removeClass("datagrid-row-alt").addClass((i-1)%2?"datagrid-row-alt":"");
-}
-}
-};
-opts.finder.getTr(_7cb,_7cc).remove();
-_7ce.call(this,true);
-_7ce.call(this,false);
-data.total-=1;
-data.rows.splice(_7cc,1);
-},onBeforeRender:function(_7d2,rows){
-},onAfterRender:function(_7d3){
-var _7d4=$.data(_7d3,"datagrid");
-var opts=_7d4.options;
-if(opts.showFooter){
-var _7d5=$(_7d3).datagrid("getPanel").find("div.datagrid-footer");
-_7d5.find("div.datagrid-cell-rownumber,div.datagrid-cell-check").css("visibility","hidden");
-}
-if(opts.finder.getRows(_7d3).length==0){
-this.renderEmptyRow(_7d3);
-}
-},renderEmptyRow:function(_7d6){
-var cols=$.map($(_7d6).datagrid("getColumnFields"),function(_7d7){
-return $(_7d6).datagrid("getColumnOption",_7d7);
-});
-$.map(cols,function(col){
-col.formatter1=col.formatter;
-col.styler1=col.styler;
-col.formatter=col.styler=undefined;
-});
-var _7d8=$.data(_7d6,"datagrid").dc.body2;
-_7d8.html(this.renderTable(_7d6,0,[{}],false));
-_7d8.find("tbody *").css({height:1,borderColor:"transparent",background:"transparent"});
-var tr=_7d8.find(".datagrid-row");
-tr.removeClass("datagrid-row").removeAttr("datagrid-row-index");
-tr.find(".datagrid-cell,.datagrid-cell-check").empty();
-$.map(cols,function(col){
-col.formatter=col.formatter1;
-col.styler=col.styler1;
-col.formatter1=col.styler1=undefined;
-});
-}};
-$.fn.datagrid.defaults=$.extend({},$.fn.panel.defaults,{sharedStyleSheet:false,frozenColumns:undefined,columns:undefined,fitColumns:false,resizeHandle:"right",autoRowHeight:true,toolbar:null,striped:false,method:"post",nowrap:true,idField:null,url:null,data:null,loadMsg:"Processing, please wait ...",rownumbers:false,singleSelect:false,ctrlSelect:false,selectOnCheck:true,checkOnSelect:true,pagination:false,pagePosition:"bottom",pageNumber:1,pageSize:10,pageList:[10,20,30,40,50],queryParams:{},sortName:null,sortOrder:"asc",multiSort:false,remoteSort:true,showHeader:true,showFooter:false,scrollbarSize:18,rowEvents:{mouseover:_635(true),mouseout:_635(false),click:_63d,dblclick:_647,contextmenu:_64b},rowStyler:function(_7d9,_7da){
-},loader:function(_7db,_7dc,_7dd){
-var opts=$(this).datagrid("options");
-if(!opts.url){
-return false;
-}
-$.ajax({type:opts.method,url:opts.url,data:_7db,dataType:"json",success:function(data){
-_7dc(data);
-},error:function(){
-_7dd.apply(this,arguments);
-}});
-},loadFilter:function(data){
-if(typeof data.length=="number"&&typeof data.splice=="function"){
-return {total:data.length,rows:data};
-}else{
-return data;
-}
-},editors:_745,finder:{getTr:function(_7de,_7df,type,_7e0){
-type=type||"body";
-_7e0=_7e0||0;
-var _7e1=$.data(_7de,"datagrid");
-var dc=_7e1.dc;
-var opts=_7e1.options;
-if(_7e0==0){
-var tr1=opts.finder.getTr(_7de,_7df,type,1);
-var tr2=opts.finder.getTr(_7de,_7df,type,2);
-return tr1.add(tr2);
-}else{
-if(type=="body"){
-var tr=$("#"+_7e1.rowIdPrefix+"-"+_7e0+"-"+_7df);
-if(!tr.length){
-tr=(_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index="+_7df+"]");
-}
-return tr;
-}else{
-if(type=="footer"){
-return (_7e0==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index="+_7df+"]");
-}else{
-if(type=="selected"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-selected");
-}else{
-if(type=="highlight"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-over");
-}else{
-if(type=="checked"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked");
-}else{
-if(type=="editing"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-editing");
-}else{
-if(type=="last"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]:last");
-}else{
-if(type=="allbody"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]");
-}else{
-if(type=="allfooter"){
-return (_7e0==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index]");
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-},getRow:function(_7e2,p){
-var _7e3=(typeof p=="object")?p.attr("datagrid-row-index"):p;
-return $.data(_7e2,"datagrid").data.rows[parseInt(_7e3)];
-},getRows:function(_7e4){
-return $(_7e4).datagrid("getRows");
-}},view:_790,onBeforeLoad:function(_7e5){
-},onLoadSuccess:function(){
-},onLoadError:function(){
-},onClickRow:function(_7e6,_7e7){
-},onDblClickRow:function(_7e8,_7e9){
-},onClickCell:function(_7ea,_7eb,_7ec){
-},onDblClickCell:function(_7ed,_7ee,_7ef){
-},onBeforeSortColumn:function(sort,_7f0){
-},onSortColumn:function(sort,_7f1){
-},onResizeColumn:function(_7f2,_7f3){
-},onBeforeSelect:function(_7f4,_7f5){
-},onSelect:function(_7f6,_7f7){
-},onBeforeUnselect:function(_7f8,_7f9){
-},onUnselect:function(_7fa,_7fb){
-},onSelectAll:function(rows){
-},onUnselectAll:function(rows){
-},onBeforeCheck:function(_7fc,_7fd){
-},onCheck:function(_7fe,_7ff){
-},onBeforeUncheck:function(_800,_801){
-},onUncheck:function(_802,_803){
-},onCheckAll:function(rows){
-},onUncheckAll:function(rows){
-},onBeforeEdit:function(_804,_805){
-},onBeginEdit:function(_806,_807){
-},onEndEdit:function(_808,_809,_80a){
-},onAfterEdit:function(_80b,_80c,_80d){
-},onCancelEdit:function(_80e,_80f){
-},onHeaderContextMenu:function(e,_810){
-},onRowContextMenu:function(e,_811,_812){
-}});
-})(jQuery);
-(function($){
-var _813;
-$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){
-var p=$(e.target).closest("div.datagrid-view,div.combo-panel");
-if(p.length){
-return;
-}
-_814(_813);
-_813=undefined;
-});
-function _815(_816){
-var _817=$.data(_816,"propertygrid");
-var opts=$.data(_816,"propertygrid").options;
-$(_816).datagrid($.extend({},opts,{cls:"propertygrid",view:(opts.showGroup?opts.groupView:opts.view),onBeforeEdit:function(_818,row){
-if(opts.onBeforeEdit.call(_816,_818,row)==false){
-return false;
-}
-var dg=$(this);
-var row=dg.datagrid("getRows")[_818];
-var col=dg.datagrid("getColumnOption","value");
-    if(row === undefined){
-        return false;
-    }else{
-        col.editor=row.editor;
-    }
-},onClickCell:function(_819,_81a,_81b){
-if(_813!=this){
-_814(_813);
-_813=this;
-}
-if(opts.editIndex!=_819){
-_814(_813);
-$(this).datagrid("beginEdit",_819);
-var ed=$(this).datagrid("getEditor",{index:_819,field:_81a});
-if(!ed){
-ed=$(this).datagrid("getEditor",{index:_819,field:"value"});
-}
-if(ed){
-var t=$(ed.target);
-var _81c=t.data("textbox")?t.textbox("textbox"):t;
-_81c.focus();
-opts.editIndex=_819;
-}
-}
-opts.onClickCell.call(_816,_819,_81a,_81b);
-},loadFilter:function(data){
-_814(this);
-return opts.loadFilter.call(this,data);
-}}));
-};
-function _814(_81d){
-var t=$(_81d);
-if(!t.length){
-return;
-}
-var opts=$.data(_81d,"propertygrid").options;
-opts.finder.getTr(_81d,null,"editing").each(function(){
-var _81e=parseInt($(this).attr("datagrid-row-index"));
-if(t.datagrid("validateRow",_81e)){
-t.datagrid("endEdit",_81e);
-}else{
-t.datagrid("cancelEdit",_81e);
-}
-});
-opts.editIndex=undefined;
-};
-$.fn.propertygrid=function(_81f,_820){
-if(typeof _81f=="string"){
-var _821=$.fn.propertygrid.methods[_81f];
-if(_821){
-return _821(this,_820);
-}else{
-return this.datagrid(_81f,_820);
-}
-}
-_81f=_81f||{};
-return this.each(function(){
-var _822=$.data(this,"propertygrid");
-if(_822){
-$.extend(_822.options,_81f);
-}else{
-var opts=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_81f);
-opts.frozenColumns=$.extend(true,[],opts.frozenColumns);
-opts.columns=$.extend(true,[],opts.columns);
-$.data(this,"propertygrid",{options:opts});
-}
-_815(this);
-});
-};
-$.fn.propertygrid.methods={options:function(jq){
-return $.data(jq[0],"propertygrid").options;
-}};
-$.fn.propertygrid.parseOptions=function(_823){
-return $.extend({},$.fn.datagrid.parseOptions(_823),$.parser.parseOptions(_823,[{showGroup:"boolean"}]));
-};
-var _824=$.extend({},$.fn.datagrid.defaults.view,{render:function(_825,_826,_827){
-var _828=[];
-var _829=this.groups;
-for(var i=0;i<_829.length;i++){
-_828.push(this.renderGroup.call(this,_825,i,_829[i],_827));
-}
-$(_826).html(_828.join(""));
-},renderGroup:function(_82a,_82b,_82c,_82d){
-var _82e=$.data(_82a,"datagrid");
-var opts=_82e.options;
-var _82f=$(_82a).datagrid("getColumnFields",_82d);
-var _830=[];
-_830.push("<div class=\"datagrid-group\" group-index="+_82b+">");
-if((_82d&&(opts.rownumbers||opts.frozenColumns.length))||(!_82d&&!(opts.rownumbers||opts.frozenColumns.length))){
-_830.push("<span class=\"datagrid-group-expander\">");
-_830.push("<span class=\"datagrid-row-expander datagrid-row-collapse\">&nbsp;</span>");
-_830.push("</span>");
-}
-if(!_82d){
-_830.push("<span class=\"datagrid-group-title\">");
-_830.push(opts.groupFormatter.call(_82a,_82c.value,_82c.rows));
-_830.push("</span>");
-}
-_830.push("</div>");
-_830.push("<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>");
-var _831=_82c.startIndex;
-for(var j=0;j<_82c.rows.length;j++){
-var css=opts.rowStyler?opts.rowStyler.call(_82a,_831,_82c.rows[j]):"";
-var _832="";
-var _833="";
-if(typeof css=="string"){
-_833=css;
-}else{
-if(css){
-_832=css["class"]||"";
-_833=css["style"]||"";
-}
-}
-var cls="class=\"datagrid-row "+(_831%2&&opts.striped?"datagrid-row-alt ":" ")+_832+"\"";
-var _834=_833?"style=\""+_833+"\"":"";
-var _835=_82e.rowIdPrefix+"-"+(_82d?1:2)+"-"+_831;
-_830.push("<tr id=\""+_835+"\" datagrid-row-index=\""+_831+"\" "+cls+" "+_834+">");
-_830.push(this.renderRow.call(this,_82a,_82f,_82d,_831,_82c.rows[j]));
-_830.push("</tr>");
-_831++;
-}
-_830.push("</tbody></table>");
-return _830.join("");
-},bindEvents:function(_836){
-var _837=$.data(_836,"datagrid");
-var dc=_837.dc;
-var body=dc.body1.add(dc.body2);
-var _838=($.data(body[0],"events")||$._data(body[0],"events")).click[0].handler;
-body.unbind("click").bind("click",function(e){
-var tt=$(e.target);
-var _839=tt.closest("span.datagrid-row-expander");
-if(_839.length){
-var _83a=_839.closest("div.datagrid-group").attr("group-index");
-if(_839.hasClass("datagrid-row-collapse")){
-$(_836).datagrid("collapseGroup",_83a);
-}else{
-$(_836).datagrid("expandGroup",_83a);
-}
-}else{
-_838(e);
-}
-e.stopPropagation();
-});
-},onBeforeRender:function(_83b,rows){
-var _83c=$.data(_83b,"datagrid");
-var opts=_83c.options;
-_83d();
-var _83e=[];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-var _83f=_840(row[opts.groupField]);
-if(!_83f){
-_83f={value:row[opts.groupField],rows:[row]};
-_83e.push(_83f);
-}else{
-_83f.rows.push(row);
-}
-}
-var _841=0;
-var _842=[];
-for(var i=0;i<_83e.length;i++){
-var _83f=_83e[i];
-_83f.startIndex=_841;
-_841+=_83f.rows.length;
-_842=_842.concat(_83f.rows);
-}
-_83c.data.rows=_842;
-this.groups=_83e;
-var that=this;
-setTimeout(function(){
-that.bindEvents(_83b);
-},0);
-function _840(_843){
-for(var i=0;i<_83e.length;i++){
-var _844=_83e[i];
-if(_844.value==_843){
-return _844;
-}
-}
-return null;
-};
-function _83d(){
-if(!$("#datagrid-group-style").length){
-$("head").append("<style id=\"datagrid-group-style\">"+".datagrid-group{height:"+opts.groupHeight+"px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}"+".datagrid-group-title,.datagrid-group-expander{display:inline-block;vertical-align:bottom;height:100%;line-height:"+opts.groupHeight+"px;padding:0 4px;}"+".datagrid-group-expander{width:"+opts.expanderWidth+"px;text-align:center;padding:0}"+".datagrid-row-expander{margin:"+Math.floor((opts.groupHeight-16)/2)+"px 0;display:inline-block;width:16px;height:16px;cursor:pointer}"+"</style>");
-}
-};
-}});
-$.extend($.fn.datagrid.methods,{groups:function(jq){
-return jq.datagrid("options").view.groups;
-},expandGroup:function(jq,_845){
-return jq.each(function(){
-var view=$.data(this,"datagrid").dc.view;
-var _846=view.find(_845!=undefined?"div.datagrid-group[group-index=\""+_845+"\"]":"div.datagrid-group");
-var _847=_846.find("span.datagrid-row-expander");
-if(_847.hasClass("datagrid-row-expand")){
-_847.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse");
-_846.next("table").show();
-}
-$(this).datagrid("fixRowHeight");
-});
-},collapseGroup:function(jq,_848){
-return jq.each(function(){
-var view=$.data(this,"datagrid").dc.view;
-var _849=view.find(_848!=undefined?"div.datagrid-group[group-index=\""+_848+"\"]":"div.datagrid-group");
-var _84a=_849.find("span.datagrid-row-expander");
-if(_84a.hasClass("datagrid-row-collapse")){
-_84a.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand");
-_849.next("table").hide();
-}
-$(this).datagrid("fixRowHeight");
-});
-}});
-$.extend(_824,{refreshGroupTitle:function(_84b,_84c){
-var _84d=$.data(_84b,"datagrid");
-var opts=_84d.options;
-var dc=_84d.dc;
-var _84e=this.groups[_84c];
-var span=dc.body2.children("div.datagrid-group[group-index="+_84c+"]").find("span.datagrid-group-title");
-span.html(opts.groupFormatter.call(_84b,_84e.value,_84e.rows));
-},insertRow:function(_84f,_850,row){
-var _851=$.data(_84f,"datagrid");
-var opts=_851.options;
-var dc=_851.dc;
-var _852=null;
-var _853;
-if(!_851.data.rows.length){
-$(_84f).datagrid("loadData",[row]);
-return;
-}
-for(var i=0;i<this.groups.length;i++){
-if(this.groups[i].value==row[opts.groupField]){
-_852=this.groups[i];
-_853=i;
-break;
-}
-}
-if(_852){
-if(_850==undefined||_850==null){
-_850=_851.data.rows.length;
-}
-if(_850<_852.startIndex){
-_850=_852.startIndex;
-}else{
-if(_850>_852.startIndex+_852.rows.length){
-_850=_852.startIndex+_852.rows.length;
-}
-}
-$.fn.datagrid.defaults.view.insertRow.call(this,_84f,_850,row);
-if(_850>=_852.startIndex+_852.rows.length){
-_854(_850,true);
-_854(_850,false);
-}
-_852.rows.splice(_850-_852.startIndex,0,row);
-}else{
-_852={value:row[opts.groupField],rows:[row],startIndex:_851.data.rows.length};
-_853=this.groups.length;
-dc.body1.append(this.renderGroup.call(this,_84f,_853,_852,true));
-dc.body2.append(this.renderGroup.call(this,_84f,_853,_852,false));
-this.groups.push(_852);
-_851.data.rows.push(row);
-}
-this.refreshGroupTitle(_84f,_853);
-function _854(_855,_856){
-var _857=_856?1:2;
-var _858=opts.finder.getTr(_84f,_855-1,"body",_857);
-var tr=opts.finder.getTr(_84f,_855,"body",_857);
-tr.insertAfter(_858);
-};
-},updateRow:function(_859,_85a,row){
-var opts=$.data(_859,"datagrid").options;
-$.fn.datagrid.defaults.view.updateRow.call(this,_859,_85a,row);
-var tb=opts.finder.getTr(_859,_85a,"body",2).closest("table.datagrid-btable");
-var _85b=parseInt(tb.prev().attr("group-index"));
-this.refreshGroupTitle(_859,_85b);
-},deleteRow:function(_85c,_85d){
-var _85e=$.data(_85c,"datagrid");
-var opts=_85e.options;
-var dc=_85e.dc;
-var body=dc.body1.add(dc.body2);
-var tb=opts.finder.getTr(_85c,_85d,"body",2).closest("table.datagrid-btable");
-var _85f=parseInt(tb.prev().attr("group-index"));
-$.fn.datagrid.defaults.view.deleteRow.call(this,_85c,_85d);
-var _860=this.groups[_85f];
-if(_860.rows.length>1){
-_860.rows.splice(_85d-_860.startIndex,1);
-this.refreshGroupTitle(_85c,_85f);
-}else{
-body.children("div.datagrid-group[group-index="+_85f+"]").remove();
-for(var i=_85f+1;i<this.groups.length;i++){
-body.children("div.datagrid-group[group-index="+i+"]").attr("group-index",i-1);
-}
-this.groups.splice(_85f,1);
-}
-var _85d=0;
-for(var i=0;i<this.groups.length;i++){
-var _860=this.groups[i];
-_860.startIndex=_85d;
-_85d+=_860.rows.length;
-}
-}});
-$.fn.propertygrid.defaults=$.extend({},$.fn.datagrid.defaults,{groupHeight:21,expanderWidth:16,singleSelect:true,remoteSort:false,fitColumns:true,loadMsg:"",frozenColumns:[[{field:"f",width:16,resizable:false}]],columns:[[{field:"name",title:"Name",width:100,sortable:true},{field:"value",title:"Value",width:100,resizable:false}]],showGroup:false,groupView:_824,groupField:"group",groupFormatter:function(_861,rows){
-return _861;
-}});
-})(jQuery);
-(function($){
-function _862(_863){
-var _864=$.data(_863,"treegrid");
-var opts=_864.options;
-$(_863).datagrid($.extend({},opts,{url:null,data:null,loader:function(){
-return false;
-},onBeforeLoad:function(){
-return false;
-},onLoadSuccess:function(){
-},onResizeColumn:function(_865,_866){
-_873(_863);
-opts.onResizeColumn.call(_863,_865,_866);
-},onBeforeSortColumn:function(sort,_867){
-if(opts.onBeforeSortColumn.call(_863,sort,_867)==false){
-return false;
-}
-},onSortColumn:function(sort,_868){
-opts.sortName=sort;
-opts.sortOrder=_868;
-if(opts.remoteSort){
-_872(_863);
-}else{
-var data=$(_863).treegrid("getData");
-_889(_863,0,data);
-}
-opts.onSortColumn.call(_863,sort,_868);
-},onClickCell:function(_869,_86a){
-opts.onClickCell.call(_863,_86a,find(_863,_869));
-},onDblClickCell:function(_86b,_86c){
-opts.onDblClickCell.call(_863,_86c,find(_863,_86b));
-},onRowContextMenu:function(e,_86d){
-opts.onContextMenu.call(_863,e,find(_863,_86d));
-}}));
-var _86e=$.data(_863,"datagrid").options;
-opts.columns=_86e.columns;
-opts.frozenColumns=_86e.frozenColumns;
-_864.dc=$.data(_863,"datagrid").dc;
-if(opts.pagination){
-var _86f=$(_863).datagrid("getPager");
-_86f.pagination({pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_870,_871){
-opts.pageNumber=_870;
-opts.pageSize=_871;
-_872(_863);
-}});
-opts.pageSize=_86f.pagination("options").pageSize;
-}
-};
-function _873(_874,_875){
-var opts=$.data(_874,"datagrid").options;
-var dc=$.data(_874,"datagrid").dc;
-if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight)){
-if(_875!=undefined){
-var _876=_877(_874,_875);
-for(var i=0;i<_876.length;i++){
-_878(_876[i][opts.idField]);
-}
-}
-}
-$(_874).datagrid("fixRowHeight",_875);
-function _878(_879){
-var tr1=opts.finder.getTr(_874,_879,"body",1);
-var tr2=opts.finder.getTr(_874,_879,"body",2);
-tr1.css("height","");
-tr2.css("height","");
-var _87a=Math.max(tr1.height(),tr2.height());
-tr1.css("height",_87a);
-tr2.css("height",_87a);
-};
-};
-function _87b(_87c){
-var dc=$.data(_87c,"datagrid").dc;
-var opts=$.data(_87c,"treegrid").options;
-if(!opts.rownumbers){
-return;
-}
-dc.body1.find("div.datagrid-cell-rownumber").each(function(i){
-$(this).html(i+1);
-});
-};
-function _87d(_87e){
-return function(e){
-$.fn.datagrid.defaults.rowEvents[_87e?"mouseover":"mouseout"](e);
-var tt=$(e.target);
-var fn=_87e?"addClass":"removeClass";
-if(tt.hasClass("tree-hit")){
-tt.hasClass("tree-expanded")?tt[fn]("tree-expanded-hover"):tt[fn]("tree-collapsed-hover");
-}
-};
-};
-function _87f(e){
-var tt=$(e.target);
-if(tt.hasClass("tree-hit")){
-var tr=tt.closest("tr.datagrid-row");
-var _880=tr.closest("div.datagrid-view").children(".datagrid-f")[0];
-_881(_880,tr.attr("node-id"));
-}else{
-$.fn.datagrid.defaults.rowEvents.click(e);
-}
-};
-function _882(_883,_884){
-var opts=$.data(_883,"treegrid").options;
-var tr1=opts.finder.getTr(_883,_884,"body",1);
-var tr2=opts.finder.getTr(_883,_884,"body",2);
-var _885=$(_883).datagrid("getColumnFields",true).length+(opts.rownumbers?1:0);
-var _886=$(_883).datagrid("getColumnFields",false).length;
-_887(tr1,_885);
-_887(tr2,_886);
-function _887(tr,_888){
-$("<tr class=\"treegrid-tr-tree\">"+"<td style=\"border:0px\" colspan=\""+_888+"\">"+"<div></div>"+"</td>"+"</tr>").insertAfter(tr);
-};
-};
-function _889(_88a,_88b,data,_88c){
-var _88d=$.data(_88a,"treegrid");
-var opts=_88d.options;
-var dc=_88d.dc;
-data=opts.loadFilter.call(_88a,data,_88b);
-var node=find(_88a,_88b);
-if(node){
-var _88e=opts.finder.getTr(_88a,_88b,"body",1);
-var _88f=opts.finder.getTr(_88a,_88b,"body",2);
-var cc1=_88e.next("tr.treegrid-tr-tree").children("td").children("div");
-var cc2=_88f.next("tr.treegrid-tr-tree").children("td").children("div");
-if(!_88c){
-node.children=[];
-}
-}else{
-var cc1=dc.body1;
-var cc2=dc.body2;
-if(!_88c){
-_88d.data=[];
-}
-}
-if(!_88c){
-cc1.empty();
-cc2.empty();
-}
-if(opts.view.onBeforeRender){
-opts.view.onBeforeRender.call(opts.view,_88a,_88b,data);
-}
-opts.view.render.call(opts.view,_88a,cc1,true);
-opts.view.render.call(opts.view,_88a,cc2,false);
-if(opts.showFooter){
-opts.view.renderFooter.call(opts.view,_88a,dc.footer1,true);
-opts.view.renderFooter.call(opts.view,_88a,dc.footer2,false);
-}
-if(opts.view.onAfterRender){
-opts.view.onAfterRender.call(opts.view,_88a);
-}
-if(!_88b&&opts.pagination){
-var _890=$.data(_88a,"treegrid").total;
-var _891=$(_88a).datagrid("getPager");
-if(_891.pagination("options").total!=_890){
-_891.pagination({total:_890});
-}
-}
-_873(_88a);
-_87b(_88a);
-$(_88a).treegrid("showLines");
-$(_88a).treegrid("setSelectionState");
-$(_88a).treegrid("autoSizeColumn");
-opts.onLoadSuccess.call(_88a,node,data);
-};
-function _872(_892,_893,_894,_895,_896){
-var opts=$.data(_892,"treegrid").options;
-var body=$(_892).datagrid("getPanel").find("div.datagrid-body");
-if(_894){
-opts.queryParams=_894;
-}
-var _897=$.extend({},opts.queryParams);
-if(opts.pagination){
-$.extend(_897,{page:opts.pageNumber,rows:opts.pageSize});
-}
-if(opts.sortName){
-$.extend(_897,{sort:opts.sortName,order:opts.sortOrder});
-}
-var row=find(_892,_893);
-if(opts.onBeforeLoad.call(_892,row,_897)==false){
-return;
-}
-var _898=body.find("tr[node-id=\""+_893+"\"] span.tree-folder");
-_898.addClass("tree-loading");
-$(_892).treegrid("loading");
-var _899=opts.loader.call(_892,_897,function(data){
-_898.removeClass("tree-loading");
-$(_892).treegrid("loaded");
-_889(_892,_893,data,_895);
-if(_896){
-_896();
-}
-},function(){
-_898.removeClass("tree-loading");
-$(_892).treegrid("loaded");
-opts.onLoadError.apply(_892,arguments);
-if(_896){
-_896();
-}
-});
-if(_899==false){
-_898.removeClass("tree-loading");
-$(_892).treegrid("loaded");
-}
-};
-function _89a(_89b){
-var rows=_89c(_89b);
-if(rows.length){
-return rows[0];
-}else{
-return null;
-}
-};
-function _89c(_89d){
-return $.data(_89d,"treegrid").data;
-};
-function _89e(_89f,_8a0){
-var row=find(_89f,_8a0);
-if(row._parentId){
-return find(_89f,row._parentId);
-}else{
-return null;
-}
-};
-function _877(_8a1,_8a2){
-var opts=$.data(_8a1,"treegrid").options;
-var body=$(_8a1).datagrid("getPanel").find("div.datagrid-view2 div.datagrid-body");
-var _8a3=[];
-if(_8a2){
-_8a4(_8a2);
-}else{
-var _8a5=_89c(_8a1);
-for(var i=0;i<_8a5.length;i++){
-_8a3.push(_8a5[i]);
-_8a4(_8a5[i][opts.idField]);
-}
-}
-function _8a4(_8a6){
-var _8a7=find(_8a1,_8a6);
-if(_8a7&&_8a7.children){
-for(var i=0,len=_8a7.children.length;i<len;i++){
-var _8a8=_8a7.children[i];
-_8a3.push(_8a8);
-_8a4(_8a8[opts.idField]);
-}
-}
-};
-return _8a3;
-};
-function _8a9(_8aa,_8ab){
-var opts=$.data(_8aa,"treegrid").options;
-var tr=opts.finder.getTr(_8aa,_8ab);
-var node=tr.children("td[field=\""+opts.treeField+"\"]");
-return node.find("span.tree-indent,span.tree-hit").length;
-};
-function find(_8ac,_8ad){
-var opts=$.data(_8ac,"treegrid").options;
-var data=$.data(_8ac,"treegrid").data;
-var cc=[data];
-while(cc.length){
-var c=cc.shift();
-for(var i=0;i<c.length;i++){
-var node=c[i];
-if(node[opts.idField]==_8ad){
-return node;
-}else{
-if(node["children"]){
-cc.push(node["children"]);
-}
-}
-}
-}
-return null;
-};
-function _8ae(_8af,_8b0){
-var opts=$.data(_8af,"treegrid").options;
-var row=find(_8af,_8b0);
-var tr=opts.finder.getTr(_8af,_8b0);
-var hit=tr.find("span.tree-hit");
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-collapsed")){
-return;
-}
-if(opts.onBeforeCollapse.call(_8af,row)==false){
-return;
-}
-hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
-hit.next().removeClass("tree-folder-open");
-row.state="closed";
-tr=tr.next("tr.treegrid-tr-tree");
-var cc=tr.children("td").children("div");
-if(opts.animate){
-cc.slideUp("normal",function(){
-$(_8af).treegrid("autoSizeColumn");
-_873(_8af,_8b0);
-opts.onCollapse.call(_8af,row);
-});
-}else{
-cc.hide();
-$(_8af).treegrid("autoSizeColumn");
-_873(_8af,_8b0);
-opts.onCollapse.call(_8af,row);
-}
-};
-function _8b1(_8b2,_8b3){
-var opts=$.data(_8b2,"treegrid").options;
-var tr=opts.finder.getTr(_8b2,_8b3);
-var hit=tr.find("span.tree-hit");
-var row=find(_8b2,_8b3);
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-expanded")){
-return;
-}
-if(opts.onBeforeExpand.call(_8b2,row)==false){
-return;
-}
-hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded");
-hit.next().addClass("tree-folder-open");
-var _8b4=tr.next("tr.treegrid-tr-tree");
-if(_8b4.length){
-var cc=_8b4.children("td").children("div");
-_8b5(cc);
-}else{
-_882(_8b2,row[opts.idField]);
-var _8b4=tr.next("tr.treegrid-tr-tree");
-var cc=_8b4.children("td").children("div");
-cc.hide();
-var _8b6=$.extend({},opts.queryParams||{});
-_8b6.id=row[opts.idField];
-_872(_8b2,row[opts.idField],_8b6,true,function(){
-if(cc.is(":empty")){
-_8b4.remove();
-}else{
-_8b5(cc);
-}
-});
-}
-function _8b5(cc){
-row.state="open";
-if(opts.animate){
-cc.slideDown("normal",function(){
-$(_8b2).treegrid("autoSizeColumn");
-_873(_8b2,_8b3);
-opts.onExpand.call(_8b2,row);
-});
-}else{
-cc.show();
-$(_8b2).treegrid("autoSizeColumn");
-_873(_8b2,_8b3);
-opts.onExpand.call(_8b2,row);
-}
-};
-};
-function _881(_8b7,_8b8){
-var opts=$.data(_8b7,"treegrid").options;
-var tr=opts.finder.getTr(_8b7,_8b8);
-var hit=tr.find("span.tree-hit");
-if(hit.hasClass("tree-expanded")){
-_8ae(_8b7,_8b8);
-}else{
-_8b1(_8b7,_8b8);
-}
-};
-function _8b9(_8ba,_8bb){
-var opts=$.data(_8ba,"treegrid").options;
-var _8bc=_877(_8ba,_8bb);
-if(_8bb){
-_8bc.unshift(find(_8ba,_8bb));
-}
-for(var i=0;i<_8bc.length;i++){
-_8ae(_8ba,_8bc[i][opts.idField]);
-}
-};
-function _8bd(_8be,_8bf){
-var opts=$.data(_8be,"treegrid").options;
-var _8c0=_877(_8be,_8bf);
-if(_8bf){
-_8c0.unshift(find(_8be,_8bf));
-}
-for(var i=0;i<_8c0.length;i++){
-_8b1(_8be,_8c0[i][opts.idField]);
-}
-};
-function _8c1(_8c2,_8c3){
-var opts=$.data(_8c2,"treegrid").options;
-var ids=[];
-var p=_89e(_8c2,_8c3);
-while(p){
-var id=p[opts.idField];
-ids.unshift(id);
-p=_89e(_8c2,id);
-}
-for(var i=0;i<ids.length;i++){
-_8b1(_8c2,ids[i]);
-}
-};
-function _8c4(_8c5,_8c6){
-var opts=$.data(_8c5,"treegrid").options;
-if(_8c6.parent){
-var tr=opts.finder.getTr(_8c5,_8c6.parent);
-if(tr.next("tr.treegrid-tr-tree").length==0){
-_882(_8c5,_8c6.parent);
-}
-var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell");
-var _8c7=cell.children("span.tree-icon");
-if(_8c7.hasClass("tree-file")){
-_8c7.removeClass("tree-file").addClass("tree-folder tree-folder-open");
-var hit=$("<span class=\"tree-hit tree-expanded\"></span>").insertBefore(_8c7);
-if(hit.prev().length){
-hit.prev().remove();
-}
-}
-}
-_889(_8c5,_8c6.parent,_8c6.data,true);
-};
-function _8c8(_8c9,_8ca){
-var ref=_8ca.before||_8ca.after;
-var opts=$.data(_8c9,"treegrid").options;
-var _8cb=_89e(_8c9,ref);
-_8c4(_8c9,{parent:(_8cb?_8cb[opts.idField]:null),data:[_8ca.data]});
-var _8cc=_8cb?_8cb.children:$(_8c9).treegrid("getRoots");
-for(var i=0;i<_8cc.length;i++){
-if(_8cc[i][opts.idField]==ref){
-var _8cd=_8cc[_8cc.length-1];
-_8cc.splice(_8ca.before?i:(i+1),0,_8cd);
-_8cc.splice(_8cc.length-1,1);
-break;
-}
-}
-_8ce(true);
-_8ce(false);
-_87b(_8c9);
-$(_8c9).treegrid("showLines");
-function _8ce(_8cf){
-var _8d0=_8cf?1:2;
-var tr=opts.finder.getTr(_8c9,_8ca.data[opts.idField],"body",_8d0);
-var _8d1=tr.closest("table.datagrid-btable");
-tr=tr.parent().children();
-var dest=opts.finder.getTr(_8c9,ref,"body",_8d0);
-if(_8ca.before){
-tr.insertBefore(dest);
-}else{
-var sub=dest.next("tr.treegrid-tr-tree");
-tr.insertAfter(sub.length?sub:dest);
-}
-_8d1.remove();
-};
-};
-function _8d2(_8d3,_8d4){
-var _8d5=$.data(_8d3,"treegrid");
-$(_8d3).datagrid("deleteRow",_8d4);
-_87b(_8d3);
-_8d5.total-=1;
-$(_8d3).datagrid("getPager").pagination("refresh",{total:_8d5.total});
-$(_8d3).treegrid("showLines");
-};
-function _8d6(_8d7){
-var t=$(_8d7);
-var opts=t.treegrid("options");
-if(opts.lines){
-t.treegrid("getPanel").addClass("tree-lines");
-}else{
-t.treegrid("getPanel").removeClass("tree-lines");
-return;
-}
-t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom");
-t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one");
-var _8d8=t.treegrid("getRoots");
-if(_8d8.length>1){
-_8d9(_8d8[0]).addClass("tree-root-first");
-}else{
-if(_8d8.length==1){
-_8d9(_8d8[0]).addClass("tree-root-one");
-}
-}
-_8da(_8d8);
-_8db(_8d8);
-function _8da(_8dc){
-$.map(_8dc,function(node){
-if(node.children&&node.children.length){
-_8da(node.children);
-}else{
-var cell=_8d9(node);
-cell.find(".tree-icon").prev().addClass("tree-join");
-}
-});
-if(_8dc.length){
-var cell=_8d9(_8dc[_8dc.length-1]);
-cell.addClass("tree-node-last");
-cell.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom");
-}
-};
-function _8db(_8dd){
-$.map(_8dd,function(node){
-if(node.children&&node.children.length){
-_8db(node.children);
-}
-});
-for(var i=0;i<_8dd.length-1;i++){
-var node=_8dd[i];
-var _8de=t.treegrid("getLevel",node[opts.idField]);
-var tr=opts.finder.getTr(_8d7,node[opts.idField]);
-var cc=tr.next().find("tr.datagrid-row td[field=\""+opts.treeField+"\"] div.datagrid-cell");
-cc.find("span:eq("+(_8de-1)+")").addClass("tree-line");
-}
-};
-function _8d9(node){
-var tr=opts.finder.getTr(_8d7,node[opts.idField]);
-var cell=tr.find("td[field=\""+opts.treeField+"\"] div.datagrid-cell");
-return cell;
-};
-};
-$.fn.treegrid=function(_8df,_8e0){
-if(typeof _8df=="string"){
-var _8e1=$.fn.treegrid.methods[_8df];
-if(_8e1){
-return _8e1(this,_8e0);
-}else{
-return this.datagrid(_8df,_8e0);
-}
-}
-_8df=_8df||{};
-return this.each(function(){
-var _8e2=$.data(this,"treegrid");
-if(_8e2){
-$.extend(_8e2.options,_8df);
-}else{
-_8e2=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_8df),data:[]});
-}
-_862(this);
-if(_8e2.options.data){
-$(this).treegrid("loadData",_8e2.options.data);
-}
-_872(this);
-});
-};
-$.fn.treegrid.methods={options:function(jq){
-return $.data(jq[0],"treegrid").options;
-},resize:function(jq,_8e3){
-return jq.each(function(){
-$(this).datagrid("resize",_8e3);
-});
-},fixRowHeight:function(jq,_8e4){
-return jq.each(function(){
-_873(this,_8e4);
-});
-},loadData:function(jq,data){
-return jq.each(function(){
-_889(this,data.parent,data);
-});
-},load:function(jq,_8e5){
-return jq.each(function(){
-$(this).treegrid("options").pageNumber=1;
-$(this).treegrid("getPager").pagination({pageNumber:1});
-$(this).treegrid("reload",_8e5);
-});
-},reload:function(jq,id){
-return jq.each(function(){
-var opts=$(this).treegrid("options");
-var _8e6={};
-if(typeof id=="object"){
-_8e6=id;
-}else{
-_8e6=$.extend({},opts.queryParams);
-_8e6.id=id;
-}
-if(_8e6.id){
-var node=$(this).treegrid("find",_8e6.id);
-if(node.children){
-node.children.splice(0,node.children.length);
-}
-opts.queryParams=_8e6;
-var tr=opts.finder.getTr(this,_8e6.id);
-tr.next("tr.treegrid-tr-tree").remove();
-tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
-_8b1(this,_8e6.id);
-}else{
-_872(this,null,_8e6);
-}
-});
-},reloadFooter:function(jq,_8e7){
-return jq.each(function(){
-var opts=$.data(this,"treegrid").options;
-var dc=$.data(this,"datagrid").dc;
-if(_8e7){
-$.data(this,"treegrid").footer=_8e7;
-}
-if(opts.showFooter){
-opts.view.renderFooter.call(opts.view,this,dc.footer1,true);
-opts.view.renderFooter.call(opts.view,this,dc.footer2,false);
-if(opts.view.onAfterRender){
-opts.view.onAfterRender.call(opts.view,this);
-}
-$(this).treegrid("fixRowHeight");
-}
-});
-},getData:function(jq){
-return $.data(jq[0],"treegrid").data;
-},getFooterRows:function(jq){
-return $.data(jq[0],"treegrid").footer;
-},getRoot:function(jq){
-return _89a(jq[0]);
-},getRoots:function(jq){
-return _89c(jq[0]);
-},getParent:function(jq,id){
-return _89e(jq[0],id);
-},getChildren:function(jq,id){
-return _877(jq[0],id);
-},getLevel:function(jq,id){
-return _8a9(jq[0],id);
-},find:function(jq,id){
-return find(jq[0],id);
-},isLeaf:function(jq,id){
-var opts=$.data(jq[0],"treegrid").options;
-var tr=opts.finder.getTr(jq[0],id);
-var hit=tr.find("span.tree-hit");
-return hit.length==0;
-},select:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("selectRow",id);
-});
-},unselect:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("unselectRow",id);
-});
-},collapse:function(jq,id){
-return jq.each(function(){
-_8ae(this,id);
-});
-},expand:function(jq,id){
-return jq.each(function(){
-_8b1(this,id);
-});
-},toggle:function(jq,id){
-return jq.each(function(){
-_881(this,id);
-});
-},collapseAll:function(jq,id){
-return jq.each(function(){
-_8b9(this,id);
-});
-},expandAll:function(jq,id){
-return jq.each(function(){
-_8bd(this,id);
-});
-},expandTo:function(jq,id){
-return jq.each(function(){
-_8c1(this,id);
-});
-},append:function(jq,_8e8){
-return jq.each(function(){
-_8c4(this,_8e8);
-});
-},insert:function(jq,_8e9){
-return jq.each(function(){
-_8c8(this,_8e9);
-});
-},remove:function(jq,id){
-return jq.each(function(){
-_8d2(this,id);
-});
-},pop:function(jq,id){
-var row=jq.treegrid("find",id);
-jq.treegrid("remove",id);
-return row;
-},refresh:function(jq,id){
-return jq.each(function(){
-var opts=$.data(this,"treegrid").options;
-opts.view.refreshRow.call(opts.view,this,id);
-});
-},update:function(jq,_8ea){
-return jq.each(function(){
-var opts=$.data(this,"treegrid").options;
-opts.view.updateRow.call(opts.view,this,_8ea.id,_8ea.row);
-});
-},beginEdit:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("beginEdit",id);
-$(this).treegrid("fixRowHeight",id);
-});
-},endEdit:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("endEdit",id);
-});
-},cancelEdit:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("cancelEdit",id);
-});
-},showLines:function(jq){
-return jq.each(function(){
-_8d6(this);
-});
-}};
-$.fn.treegrid.parseOptions=function(_8eb){
-return $.extend({},$.fn.datagrid.parseOptions(_8eb),$.parser.parseOptions(_8eb,["treeField",{animate:"boolean"}]));
-};
-var _8ec=$.extend({},$.fn.datagrid.defaults.view,{render:function(_8ed,_8ee,_8ef){
-var opts=$.data(_8ed,"treegrid").options;
-var _8f0=$(_8ed).datagrid("getColumnFields",_8ef);
-var _8f1=$.data(_8ed,"datagrid").rowIdPrefix;
-if(_8ef){
-if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){
-return;
-}
-}
-var view=this;
-if(this.treeNodes&&this.treeNodes.length){
-var _8f2=_8f3(_8ef,this.treeLevel,this.treeNodes);
-$(_8ee).append(_8f2.join(""));
-}
-function _8f3(_8f4,_8f5,_8f6){
-var _8f7=$(_8ed).treegrid("getParent",_8f6[0][opts.idField]);
-var _8f8=(_8f7?_8f7.children.length:$(_8ed).treegrid("getRoots").length)-_8f6.length;
-var _8f9=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
-for(var i=0;i<_8f6.length;i++){
-var row=_8f6[i];
-if(row.state!="open"&&row.state!="closed"){
-row.state="open";
-}
-var css=opts.rowStyler?opts.rowStyler.call(_8ed,row):"";
-var _8fa="";
-var _8fb="";
-if(typeof css=="string"){
-_8fb=css;
-}else{
-if(css){
-_8fa=css["class"]||"";
-_8fb=css["style"]||"";
-}
-}
-var cls="class=\"datagrid-row "+(_8f8++%2&&opts.striped?"datagrid-row-alt ":" ")+_8fa+"\"";
-var _8fc=_8fb?"style=\""+_8fb+"\"":"";
-var _8fd=_8f1+"-"+(_8f4?1:2)+"-"+row[opts.idField];
-_8f9.push("<tr id=\""+_8fd+"\" node-id=\""+row[opts.idField]+"\" "+cls+" "+_8fc+">");
-_8f9=_8f9.concat(view.renderRow.call(view,_8ed,_8f0,_8f4,_8f5,row));
-_8f9.push("</tr>");
-if(row.children&&row.children.length){
-var tt=_8f3(_8f4,_8f5+1,row.children);
-var v=row.state=="closed"?"none":"block";
-_8f9.push("<tr class=\"treegrid-tr-tree\"><td style=\"border:0px\" colspan="+(_8f0.length+(opts.rownumbers?1:0))+"><div style=\"display:"+v+"\">");
-_8f9=_8f9.concat(tt);
-_8f9.push("</div></td></tr>");
-}
-}
-_8f9.push("</tbody></table>");
-return _8f9;
-};
-},renderFooter:function(_8fe,_8ff,_900){
-var opts=$.data(_8fe,"treegrid").options;
-var rows=$.data(_8fe,"treegrid").footer||[];
-var _901=$(_8fe).datagrid("getColumnFields",_900);
-var _902=["<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-row[opts.idField]=row[opts.idField]||("foot-row-id"+i);
-_902.push("<tr class=\"datagrid-row\" node-id=\""+row[opts.idField]+"\">");
-_902.push(this.renderRow.call(this,_8fe,_901,_900,0,row));
-_902.push("</tr>");
-}
-_902.push("</tbody></table>");
-$(_8ff).html(_902.join(""));
-},renderRow:function(_903,_904,_905,_906,row){
-var opts=$.data(_903,"treegrid").options;
-var cc=[];
-if(_905&&opts.rownumbers){
-cc.push("<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">0</div></td>");
-}
-for(var i=0;i<_904.length;i++){
-var _907=_904[i];
-var col=$(_903).datagrid("getColumnOption",_907);
-if(col){
-var css=col.styler?(col.styler(row[_907],row)||""):"";
-var _908="";
-var _909="";
-if(typeof css=="string"){
-_909=css;
-}else{
-if(cc){
-_908=css["class"]||"";
-_909=css["style"]||"";
-}
-}
-var cls=_908?"class=\""+_908+"\"":"";
-var _90a=col.hidden?"style=\"display:none;"+_909+"\"":(_909?"style=\""+_909+"\"":"");
-cc.push("<td field=\""+_907+"\" "+cls+" "+_90a+">");
-var _90a="";
-if(!col.checkbox){
-if(col.align){
-_90a+="text-align:"+col.align+";";
-}
-if(!opts.nowrap){
-_90a+="white-space:normal;height:auto;";
-}else{
-if(opts.autoRowHeight){
-_90a+="height:auto;";
-}
-}
-}
-cc.push("<div style=\""+_90a+"\" ");
-if(col.checkbox){
-cc.push("class=\"datagrid-cell-check ");
-}else{
-cc.push("class=\"datagrid-cell "+col.cellClass);
-}
-cc.push("\">");
-if(col.checkbox){
-if(row.checked){
-cc.push("<input type=\"checkbox\" checked=\"checked\"");
-}else{
-cc.push("<input type=\"checkbox\"");
-}
-cc.push(" name=\""+_907+"\" value=\""+(row[_907]!=undefined?row[_907]:"")+"\">");
-}else{
-var val=null;
-if(col.formatter){
-val=col.formatter(row[_907],row);
-}else{
-val=row[_907];
-}
-if(_907==opts.treeField){
-for(var j=0;j<_906;j++){
-cc.push("<span class=\"tree-indent\"></span>");
-}
-if(row.state=="closed"){
-cc.push("<span class=\"tree-hit tree-collapsed\"></span>");
-cc.push("<span class=\"tree-icon tree-folder "+(row.iconCls?row.iconCls:"")+"\"></span>");
-}else{
-if(row.children&&row.children.length){
-cc.push("<span class=\"tree-hit tree-expanded\"></span>");
-cc.push("<span class=\"tree-icon tree-folder tree-folder-open "+(row.iconCls?row.iconCls:"")+"\"></span>");
-}else{
-cc.push("<span class=\"tree-indent\"></span>");
-cc.push("<span class=\"tree-icon tree-file "+(row.iconCls?row.iconCls:"")+"\"></span>");
-}
-}
-cc.push("<span class=\"tree-title\">"+val+"</span>");
-}else{
-cc.push(val);
-}
-}
-cc.push("</div>");
-cc.push("</td>");
-}
-}
-return cc.join("");
-},refreshRow:function(_90b,id){
-this.updateRow.call(this,_90b,id,{});
-},updateRow:function(_90c,id,row){
-var opts=$.data(_90c,"treegrid").options;
-var _90d=$(_90c).treegrid("find",id);
-$.extend(_90d,row);
-var _90e=$(_90c).treegrid("getLevel",id)-1;
-var _90f=opts.rowStyler?opts.rowStyler.call(_90c,_90d):"";
-var _910=$.data(_90c,"datagrid").rowIdPrefix;
-var _911=_90d[opts.idField];
-function _912(_913){
-var _914=$(_90c).treegrid("getColumnFields",_913);
-var tr=opts.finder.getTr(_90c,id,"body",(_913?1:2));
-var _915=tr.find("div.datagrid-cell-rownumber").html();
-var _916=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked");
-tr.html(this.renderRow(_90c,_914,_913,_90e,_90d));
-tr.attr("style",_90f||"");
-tr.find("div.datagrid-cell-rownumber").html(_915);
-if(_916){
-tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
-}
-if(_911!=id){
-tr.attr("id",_910+"-"+(_913?1:2)+"-"+_911);
-tr.attr("node-id",_911);
-}
-};
-_912.call(this,true);
-_912.call(this,false);
-$(_90c).treegrid("fixRowHeight",id);
-},deleteRow:function(_917,id){
-var opts=$.data(_917,"treegrid").options;
-var tr=opts.finder.getTr(_917,id);
-tr.next("tr.treegrid-tr-tree").remove();
-tr.remove();
-var _918=del(id);
-if(_918){
-if(_918.children.length==0){
-tr=opts.finder.getTr(_917,_918[opts.idField]);
-tr.next("tr.treegrid-tr-tree").remove();
-var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell");
-cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file");
-cell.find(".tree-hit").remove();
-$("<span class=\"tree-indent\"></span>").prependTo(cell);
-}
-}
-function del(id){
-var cc;
-var _919=$(_917).treegrid("getParent",id);
-if(_919){
-cc=_919.children;
-}else{
-cc=$(_917).treegrid("getData");
-}
-for(var i=0;i<cc.length;i++){
-if(cc[i][opts.idField]==id){
-cc.splice(i,1);
-break;
-}
-}
-return _919;
-};
-},onBeforeRender:function(_91a,_91b,data){
-if($.isArray(_91b)){
-data={total:_91b.length,rows:_91b};
-_91b=null;
-}
-if(!data){
-return false;
-}
-var _91c=$.data(_91a,"treegrid");
-var opts=_91c.options;
-if(data.length==undefined){
-if(data.footer){
-_91c.footer=data.footer;
-}
-if(data.total){
-_91c.total=data.total;
-}
-data=this.transfer(_91a,_91b,data.rows);
-}else{
-function _91d(_91e,_91f){
-for(var i=0;i<_91e.length;i++){
-var row=_91e[i];
-row._parentId=_91f;
-if(row.children&&row.children.length){
-_91d(row.children,row[opts.idField]);
-}
-}
-};
-_91d(data,_91b);
-}
-var node=find(_91a,_91b);
-if(node){
-if(node.children){
-node.children=node.children.concat(data);
-}else{
-node.children=data;
-}
-}else{
-_91c.data=_91c.data.concat(data);
-}
-this.sort(_91a,data);
-this.treeNodes=data;
-this.treeLevel=$(_91a).treegrid("getLevel",_91b);
-},sort:function(_920,data){
-var opts=$.data(_920,"treegrid").options;
-if(!opts.remoteSort&&opts.sortName){
-var _921=opts.sortName.split(",");
-var _922=opts.sortOrder.split(",");
-_923(data);
-}
-function _923(rows){
-rows.sort(function(r1,r2){
-var r=0;
-for(var i=0;i<_921.length;i++){
-var sn=_921[i];
-var so=_922[i];
-var col=$(_920).treegrid("getColumnOption",sn);
-var _924=col.sorter||function(a,b){
-return a==b?0:(a>b?1:-1);
-};
-r=_924(r1[sn],r2[sn])*(so=="asc"?1:-1);
-if(r!=0){
-return r;
-}
-}
-return r;
-});
-for(var i=0;i<rows.length;i++){
-var _925=rows[i].children;
-if(_925&&_925.length){
-_923(_925);
-}
-}
-};
-},transfer:function(_926,_927,data){
-var opts=$.data(_926,"treegrid").options;
-var rows=[];
-for(var i=0;i<data.length;i++){
-rows.push(data[i]);
-}
-var _928=[];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-if(!_927){
-if(!row._parentId){
-_928.push(row);
-rows.splice(i,1);
-i--;
-}
-}else{
-if(row._parentId==_927){
-_928.push(row);
-rows.splice(i,1);
-i--;
-}
-}
-}
-var toDo=[];
-for(var i=0;i<_928.length;i++){
-toDo.push(_928[i]);
-}
-while(toDo.length){
-var node=toDo.shift();
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-if(row._parentId==node[opts.idField]){
-if(node.children){
-node.children.push(row);
-}else{
-node.children=[row];
-}
-toDo.push(row);
-rows.splice(i,1);
-i--;
-}
-}
-}
-return _928;
-}});
-$.fn.treegrid.defaults=$.extend({},$.fn.datagrid.defaults,{treeField:null,lines:false,animate:false,singleSelect:true,view:_8ec,rowEvents:$.extend({},$.fn.datagrid.defaults.rowEvents,{mouseover:_87d(true),mouseout:_87d(false),click:_87f}),loader:function(_929,_92a,_92b){
-var opts=$(this).treegrid("options");
-if(!opts.url){
-return false;
-}
-$.ajax({type:opts.method,url:opts.url,data:_929,dataType:"json",success:function(data){
-_92a(data);
-},error:function(){
-_92b.apply(this,arguments);
-}});
-},loadFilter:function(data,_92c){
-return data;
-},finder:{getTr:function(_92d,id,type,_92e){
-type=type||"body";
-_92e=_92e||0;
-var dc=$.data(_92d,"datagrid").dc;
-if(_92e==0){
-var opts=$.data(_92d,"treegrid").options;
-var tr1=opts.finder.getTr(_92d,id,type,1);
-var tr2=opts.finder.getTr(_92d,id,type,2);
-return tr1.add(tr2);
-}else{
-if(type=="body"){
-var tr=$("#"+$.data(_92d,"datagrid").rowIdPrefix+"-"+_92e+"-"+id);
-if(!tr.length){
-tr=(_92e==1?dc.body1:dc.body2).find("tr[node-id=\""+id+"\"]");
-}
-return tr;
-}else{
-if(type=="footer"){
-return (_92e==1?dc.footer1:dc.footer2).find("tr[node-id=\""+id+"\"]");
-}else{
-if(type=="selected"){
-return (_92e==1?dc.body1:dc.body2).find("tr.datagrid-row-selected");
-}else{
-if(type=="highlight"){
-return (_92e==1?dc.body1:dc.body2).find("tr.datagrid-row-over");
-}else{
-if(type=="checked"){
-return (_92e==1?dc.body1:dc.body2).find("tr.datagrid-row-checked");
-}else{
-if(type=="last"){
-return (_92e==1?dc.body1:dc.body2).find("tr:last[node-id]");
-}else{
-if(type=="allbody"){
-return (_92e==1?dc.body1:dc.body2).find("tr[node-id]");
-}else{
-if(type=="allfooter"){
-return (_92e==1?dc.footer1:dc.footer2).find("tr[node-id]");
-}
-}
-}
-}
-}
-}
-}
-}
-}
-},getRow:function(_92f,p){
-var id=(typeof p=="object")?p.attr("node-id"):p;
-return $(_92f).treegrid("find",id);
-},getRows:function(_930){
-return $(_930).treegrid("getChildren");
-}},onBeforeLoad:function(row,_931){
-},onLoadSuccess:function(row,data){
-},onLoadError:function(){
-},onBeforeCollapse:function(row){
-},onCollapse:function(row){
-},onBeforeExpand:function(row){
-},onExpand:function(row){
-},onClickRow:function(row){
-},onDblClickRow:function(row){
-},onClickCell:function(_932,row){
-},onDblClickCell:function(_933,row){
-},onContextMenu:function(e,row){
-},onBeforeEdit:function(row){
-},onAfterEdit:function(row,_934){
-},onCancelEdit:function(row){
-}});
-})(jQuery);
-(function($){
-function _935(_936){
-var opts=$.data(_936,"datalist").options;
-$(_936).datagrid($.extend({},opts,{cls:"datalist"+(opts.lines?" datalist-lines":""),frozenColumns:(opts.frozenColumns&&opts.frozenColumns.length)?opts.frozenColumns:(opts.checkbox?[[{field:"_ck",checkbox:true}]]:undefined),columns:(opts.columns&&opts.columns.length)?opts.columns:[[{field:opts.textField,width:"100%",formatter:function(_937,row,_938){
-return opts.textFormatter?opts.textFormatter(_937,row,_938):_937;
-}}]]}));
-};
-var _939=$.extend({},$.fn.datagrid.defaults.view,{render:function(_93a,_93b,_93c){
-var _93d=$.data(_93a,"datagrid");
-var opts=_93d.options;
-if(opts.groupField){
-var g=this.groupRows(_93a,_93d.data.rows);
-this.groups=g.groups;
-_93d.data.rows=g.rows;
-var _93e=[];
-for(var i=0;i<g.groups.length;i++){
-_93e.push(this.renderGroup.call(this,_93a,i,g.groups[i],_93c));
-}
-$(_93b).html(_93e.join(""));
-}else{
-$(_93b).html(this.renderTable(_93a,0,_93d.data.rows,_93c));
-}
-},renderGroup:function(_93f,_940,_941,_942){
-var _943=$.data(_93f,"datagrid");
-var opts=_943.options;
-var _944=$(_93f).datagrid("getColumnFields",_942);
-var _945=[];
-_945.push("<div class=\"datagrid-group\" group-index="+_940+">");
-if(!_942){
-_945.push("<span class=\"datagrid-group-title\">");
-_945.push(opts.groupFormatter.call(_93f,_941.value,_941.rows));
-_945.push("</span>");
-}
-_945.push("</div>");
-_945.push(this.renderTable(_93f,_941.startIndex,_941.rows,_942));
-return _945.join("");
-},groupRows:function(_946,rows){
-var _947=$.data(_946,"datagrid");
-var opts=_947.options;
-var _948=[];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-var _949=_94a(row[opts.groupField]);
-if(!_949){
-_949={value:row[opts.groupField],rows:[row]};
-_948.push(_949);
-}else{
-_949.rows.push(row);
-}
-}
-var _94b=0;
-var rows=[];
-for(var i=0;i<_948.length;i++){
-var _949=_948[i];
-_949.startIndex=_94b;
-_94b+=_949.rows.length;
-rows=rows.concat(_949.rows);
-}
-return {groups:_948,rows:rows};
-function _94a(_94c){
-for(var i=0;i<_948.length;i++){
-var _94d=_948[i];
-if(_94d.value==_94c){
-return _94d;
-}
-}
-return null;
-};
-}});
-$.fn.datalist=function(_94e,_94f){
-if(typeof _94e=="string"){
-var _950=$.fn.datalist.methods[_94e];
-if(_950){
-return _950(this,_94f);
-}else{
-return this.datagrid(_94e,_94f);
-}
-}
-_94e=_94e||{};
-return this.each(function(){
-var _951=$.data(this,"datalist");
-if(_951){
-$.extend(_951.options,_94e);
-}else{
-var opts=$.extend({},$.fn.datalist.defaults,$.fn.datalist.parseOptions(this),_94e);
-opts.columns=$.extend(true,[],opts.columns);
-_951=$.data(this,"datalist",{options:opts});
-}
-_935(this);
-if(!_951.options.data){
-var data=$.fn.datalist.parseData(this);
-if(data.total){
-$(this).datalist("loadData",data);
-}
-}
-});
-};
-$.fn.datalist.methods={options:function(jq){
-return $.data(jq[0],"datalist").options;
-}};
-$.fn.datalist.parseOptions=function(_952){
-return $.extend({},$.fn.datagrid.parseOptions(_952),$.parser.parseOptions(_952,["valueField","textField","groupField",{checkbox:"boolean",lines:"boolean"}]));
-};
-$.fn.datalist.parseData=function(_953){
-var opts=$.data(_953,"datalist").options;
-var data={total:0,rows:[]};
-$(_953).children().each(function(){
-var _954=$.parser.parseOptions(this,["value","group"]);
-var row={};
-var html=$(this).html();
-row[opts.valueField]=_954.value!=undefined?_954.value:html;
-row[opts.textField]=html;
-if(opts.groupField){
-row[opts.groupField]=_954.group;
-}
-data.total++;
-data.rows.push(row);
-});
-return data;
-};
-$.fn.datalist.defaults=$.extend({},$.fn.datagrid.defaults,{fitColumns:true,singleSelect:true,showHeader:false,checkbox:false,lines:false,valueField:"value",textField:"text",groupField:"",view:_939,textFormatter:function(_955,row){
-return _955;
-},groupFormatter:function(_956,rows){
-return _956;
-}});
-})(jQuery);
-(function($){
-$(function(){
-$(document).unbind(".combo").bind("mousedown.combo mousewheel.combo",function(e){
-var p=$(e.target).closest("span.combo,div.combo-p,div.menu");
-if(p.length){
-_957(p);
-return;
-}
-$("body>div.combo-p>div.combo-panel:visible").panel("close");
-});
-});
-function _958(_959){
-var _95a=$.data(_959,"combo");
-var opts=_95a.options;
-if(!_95a.panel){
-_95a.panel=$("<div class=\"combo-panel\"></div>").appendTo("body");
-_95a.panel.panel({minWidth:opts.panelMinWidth,maxWidth:opts.panelMaxWidth,minHeight:opts.panelMinHeight,maxHeight:opts.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){
-var _95b=$(this).panel("options").comboTarget;
-var _95c=$.data(_95b,"combo");
-if(_95c){
-_95c.options.onShowPanel.call(_95b);
-}
-},onBeforeClose:function(){
-_957(this);
-},onClose:function(){
-var _95d=$(this).panel("options").comboTarget;
-var _95e=$(_95d).data("combo");
-if(_95e){
-_95e.options.onHidePanel.call(_95d);
-}
-}});
-}
-var _95f=$.extend(true,[],opts.icons);
-if(opts.hasDownArrow){
-_95f.push({iconCls:"combo-arrow",handler:function(e){
-_963(e.data.target);
-}});
-}
-$(_959).addClass("combo-f").textbox($.extend({},opts,{icons:_95f,onChange:function(){
-}}));
-$(_959).attr("comboName",$(_959).attr("textboxName"));
-_95a.combo=$(_959).next();
-_95a.combo.addClass("combo");
-};
-function _960(_961){
-var _962=$.data(_961,"combo");
-var opts=_962.options;
-var p=_962.panel;
-if(p.is(":visible")){
-p.panel("close");
-}
-if(!opts.cloned){
-p.panel("destroy");
-}
-$(_961).textbox("destroy");
-};
-function _963(_964){
-var _965=$.data(_964,"combo").panel;
-if(_965.is(":visible")){
-_966(_964);
-}else{
-var p=$(_964).closest("div.combo-panel");
-$("div.combo-panel:visible").not(_965).not(p).panel("close");
-$(_964).combo("showPanel");
-}
-$(_964).combo("textbox").focus();
-};
-function _957(_967){
-$(_967).find(".combo-f").each(function(){
-var p=$(this).combo("panel");
-if(p.is(":visible")){
-p.panel("close");
-}
-});
-};
-function _968(e){
-var _969=e.data.target;
-var _96a=$.data(_969,"combo");
-var opts=_96a.options;
-var _96b=_96a.panel;
-if(!opts.editable){
-_963(_969);
-}else{
-var p=$(_969).closest("div.combo-panel");
-$("div.combo-panel:visible").not(_96b).not(p).panel("close");
-}
-};
-function _96c(e){
-var _96d=e.data.target;
-var t=$(_96d);
-var _96e=t.data("combo");
-var opts=t.combo("options");
-switch(e.keyCode){
-case 38:
-opts.keyHandler.up.call(_96d,e);
-break;
-case 40:
-opts.keyHandler.down.call(_96d,e);
-break;
-case 37:
-opts.keyHandler.left.call(_96d,e);
-break;
-case 39:
-opts.keyHandler.right.call(_96d,e);
-break;
-case 13:
-e.preventDefault();
-opts.keyHandler.enter.call(_96d,e);
-return false;
-case 9:
-case 27:
-_966(_96d);
-break;
-default:
-if(opts.editable){
-if(_96e.timer){
-clearTimeout(_96e.timer);
-}
-_96e.timer=setTimeout(function(){
-var q=t.combo("getText");
-if(_96e.previousText!=q){
-_96e.previousText=q;
-t.combo("showPanel");
-opts.keyHandler.query.call(_96d,q,e);
-t.combo("validate");
-}
-},opts.delay);
-}
-}
-};
-function _96f(_970){
-var _971=$.data(_970,"combo");
-var _972=_971.combo;
-var _973=_971.panel;
-var opts=$(_970).combo("options");
-var _974=_973.panel("options");
-_974.comboTarget=_970;
-if(_974.closed){
-_973.panel("panel").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:($.fn.window?$.fn.window.defaults.zIndex++:99)),left:-999999});
-_973.panel("resize",{width:(opts.panelWidth?opts.panelWidth:_972._outerWidth()),height:opts.panelHeight});
-_973.panel("panel").hide();
-_973.panel("open");
-}
-(function(){
-if(_973.is(":visible")){
-_973.panel("move",{left:_975(),top:_976()});
-setTimeout(arguments.callee,200);
-}
-})();
-function _975(){
-var left=_972.offset().left;
-if(opts.panelAlign=="right"){
-left+=_972._outerWidth()-_973._outerWidth();
-}
-if(left+_973._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){
-left=$(window)._outerWidth()+$(document).scrollLeft()-_973._outerWidth();
-}
-if(left<0){
-left=0;
-}
-return left;
-};
-function _976(){
-var top=_972.offset().top+_972._outerHeight();
-if(top+_973._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){
-top=_972.offset().top-_973._outerHeight();
-}
-if(top<$(document).scrollTop()){
-top=_972.offset().top+_972._outerHeight();
-}
-return top;
-};
-};
-function _966(_977){
-var _978=$.data(_977,"combo").panel;
-_978.panel("close");
-};
-function _979(_97a,text){
-var _97b=$.data(_97a,"combo");
-var _97c=$(_97a).textbox("getText");
-if(_97c!=text){
-$(_97a).textbox("setText",text);
-_97b.previousText=text;
-}
-};
-function _97d(_97e){
-var _97f=[];
-var _980=$.data(_97e,"combo").combo;
-_980.find(".textbox-value").each(function(){
-_97f.push($(this).val());
-});
-return _97f;
-};
-function _981(_982,_983){
-var _984=$.data(_982,"combo");
-var opts=_984.options;
-var _985=_984.combo;
-if(!$.isArray(_983)){
-_983=_983.split(opts.separator);
-}
-var _986=_97d(_982);
-_985.find(".textbox-value").remove();
-var name=$(_982).attr("textboxName")||"";
-for(var i=0;i<_983.length;i++){
-var _987=$("<input type=\"hidden\" class=\"textbox-value\">").appendTo(_985);
-_987.attr("name",name);
-if(opts.disabled){
-_987.attr("disabled","disabled");
-}
-_987.val(_983[i]);
-}
-var _988=(function(){
-if(_986.length!=_983.length){
-return true;
-}
-var a1=$.extend(true,[],_986);
-var a2=$.extend(true,[],_983);
-a1.sort();
-a2.sort();
-for(var i=0;i<a1.length;i++){
-if(a1[i]!=a2[i]){
-return true;
-}
-}
-return false;
-})();
-if(_988){
-if(opts.multiple){
-opts.onChange.call(_982,_983,_986);
-}else{
-opts.onChange.call(_982,_983[0],_986[0]);
-}
-$(_982).closest("form").trigger("_change",[_982]);
-}
-};
-function _989(_98a){
-var _98b=_97d(_98a);
-return _98b[0];
-};
-function _98c(_98d,_98e){
-_981(_98d,[_98e]);
-};
-function _98f(_990){
-var opts=$.data(_990,"combo").options;
-var _991=opts.onChange;
-opts.onChange=function(){
-};
-if(opts.multiple){
-_981(_990,opts.value?opts.value:[]);
-}else{
-_98c(_990,opts.value);
-}
-opts.onChange=_991;
-};
-$.fn.combo=function(_992,_993){
-if(typeof _992=="string"){
-var _994=$.fn.combo.methods[_992];
-if(_994){
-return _994(this,_993);
-}else{
-return this.textbox(_992,_993);
-}
-}
-_992=_992||{};
-return this.each(function(){
-var _995=$.data(this,"combo");
-if(_995){
-$.extend(_995.options,_992);
-if(_992.value!=undefined){
-_995.options.originalValue=_992.value;
-}
-}else{
-_995=$.data(this,"combo",{options:$.extend({},$.fn.combo.defaults,$.fn.combo.parseOptions(this),_992),previousText:""});
-_995.options.originalValue=_995.options.value;
-}
-_958(this);
-_98f(this);
-});
-};
-$.fn.combo.methods={options:function(jq){
-var opts=jq.textbox("options");
-return $.extend($.data(jq[0],"combo").options,{width:opts.width,height:opts.height,disabled:opts.disabled,readonly:opts.readonly});
-},cloneFrom:function(jq,from){
-return jq.each(function(){
-$(this).textbox("cloneFrom",from);
-$.data(this,"combo",{options:$.extend(true,{cloned:true},$(from).combo("options")),combo:$(this).next(),panel:$(from).combo("panel")});
-$(this).addClass("combo-f").attr("comboName",$(this).attr("textboxName"));
-});
-},panel:function(jq){
-return $.data(jq[0],"combo").panel;
-},destroy:function(jq){
-return jq.each(function(){
-_960(this);
-});
-},showPanel:function(jq){
-return jq.each(function(){
-_96f(this);
-});
-},hidePanel:function(jq){
-return jq.each(function(){
-_966(this);
-});
-},clear:function(jq){
-return jq.each(function(){
-$(this).textbox("setText","");
-var opts=$.data(this,"combo").options;
-if(opts.multiple){
-$(this).combo("setValues",[]);
-}else{
-$(this).combo("setValue","");
-}
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$.data(this,"combo").options;
-if(opts.multiple){
-$(this).combo("setValues",opts.originalValue);
-}else{
-$(this).combo("setValue",opts.originalValue);
-}
-});
-},setText:function(jq,text){
-return jq.each(function(){
-_979(this,text);
-});
-},getValues:function(jq){
-return _97d(jq[0]);
-},setValues:function(jq,_996){
-return jq.each(function(){
-_981(this,_996);
-});
-},getValue:function(jq){
-return _989(jq[0]);
-},setValue:function(jq,_997){
-return jq.each(function(){
-_98c(this,_997);
-});
-}};
-$.fn.combo.parseOptions=function(_998){
-var t=$(_998);
-return $.extend({},$.fn.textbox.parseOptions(_998),$.parser.parseOptions(_998,["separator","panelAlign",{panelWidth:"number",hasDownArrow:"boolean",delay:"number",selectOnNavigation:"boolean"},{panelMinWidth:"number",panelMaxWidth:"number",panelMinHeight:"number",panelMaxHeight:"number"}]),{panelHeight:(t.attr("panelHeight")=="auto"?"auto":parseInt(t.attr("panelHeight"))||undefined),multiple:(t.attr("multiple")?true:undefined)});
-};
-$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_968,keydown:_96c,paste:_96c,drop:_96c},panelWidth:null,panelHeight:200,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:"left",multiple:false,selectOnNavigation:true,separator:",",hasDownArrow:true,delay:200,keyHandler:{up:function(e){
-},down:function(e){
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-},query:function(q,e){
-}},onShowPanel:function(){
-},onHidePanel:function(){
-},onChange:function(_999,_99a){
-}});
-})(jQuery);
-(function($){
-var _99b=0;
-function _99c(_99d,_99e){
-var _99f=$.data(_99d,"combobox");
-var opts=_99f.options;
-var data=_99f.data;
-for(var i=0;i<data.length;i++){
-if(data[i][opts.valueField]==_99e){
-return i;
-}
-}
-return -1;
-};
-function _9a0(_9a1,_9a2){
-var opts=$.data(_9a1,"combobox").options;
-var _9a3=$(_9a1).combo("panel");
-var item=opts.finder.getEl(_9a1,_9a2);
-if(item.length){
-if(item.position().top<=0){
-var h=_9a3.scrollTop()+item.position().top;
-_9a3.scrollTop(h);
-}else{
-if(item.position().top+item.outerHeight()>_9a3.height()){
-var h=_9a3.scrollTop()+item.position().top+item.outerHeight()-_9a3.height();
-_9a3.scrollTop(h);
-}
-}
-}
-};
-function nav(_9a4,dir){
-var opts=$.data(_9a4,"combobox").options;
-var _9a5=$(_9a4).combobox("panel");
-var item=_9a5.children("div.combobox-item-hover");
-if(!item.length){
-item=_9a5.children("div.combobox-item-selected");
-}
-item.removeClass("combobox-item-hover");
-var _9a6="div.combobox-item:visible:not(.combobox-item-disabled):first";
-var _9a7="div.combobox-item:visible:not(.combobox-item-disabled):last";
-if(!item.length){
-item=_9a5.children(dir=="next"?_9a6:_9a7);
-}else{
-if(dir=="next"){
-item=item.nextAll(_9a6);
-if(!item.length){
-item=_9a5.children(_9a6);
-}
-}else{
-item=item.prevAll(_9a6);
-if(!item.length){
-item=_9a5.children(_9a7);
-}
-}
-}
-if(item.length){
-item.addClass("combobox-item-hover");
-var row=opts.finder.getRow(_9a4,item);
-if(row){
-_9a0(_9a4,row[opts.valueField]);
-if(opts.selectOnNavigation){
-_9a8(_9a4,row[opts.valueField]);
-}
-}
-}
-};
-function _9a8(_9a9,_9aa){
-var opts=$.data(_9a9,"combobox").options;
-var _9ab=$(_9a9).combo("getValues");
-if($.inArray(_9aa+"",_9ab)==-1){
-if(opts.multiple){
-_9ab.push(_9aa);
-}else{
-_9ab=[_9aa];
-}
-_9ac(_9a9,_9ab);
-opts.onSelect.call(_9a9,opts.finder.getRow(_9a9,_9aa));
-}
-};
-function _9ad(_9ae,_9af){
-var opts=$.data(_9ae,"combobox").options;
-var _9b0=$(_9ae).combo("getValues");
-var _9b1=$.inArray(_9af+"",_9b0);
-if(_9b1>=0){
-_9b0.splice(_9b1,1);
-_9ac(_9ae,_9b0);
-opts.onUnselect.call(_9ae,opts.finder.getRow(_9ae,_9af));
-}
-};
-function _9ac(_9b2,_9b3,_9b4){
-var opts=$.data(_9b2,"combobox").options;
-var _9b5=$(_9b2).combo("panel");
-if(!$.isArray(_9b3)){
-_9b3=_9b3.split(opts.separator);
-}
-_9b5.find("div.combobox-item-selected").removeClass("combobox-item-selected");
-var vv=[],ss=[];
-for(var i=0;i<_9b3.length;i++){
-var v=_9b3[i];
-var s=v;
-opts.finder.getEl(_9b2,v).addClass("combobox-item-selected");
-var row=opts.finder.getRow(_9b2,v);
-if(row){
-s=row[opts.textField];
-}
-vv.push(v);
-ss.push(s);
-}
-if(!_9b4){
-$(_9b2).combo("setText",ss.join(opts.separator));
-}
-$(_9b2).combo("setValues",vv);
-};
-function _9b6(_9b7,data,_9b8){
-var _9b9=$.data(_9b7,"combobox");
-var opts=_9b9.options;
-_9b9.data=opts.loadFilter.call(_9b7,data);
-_9b9.groups=[];
-data=_9b9.data;
-var _9ba=$(_9b7).combobox("getValues");
-var dd=[];
-var _9bb=undefined;
-for(var i=0;i<data.length;i++){
-var row=data[i];
-var v=row[opts.valueField]+"";
-var s=row[opts.textField];
-var g=row[opts.groupField];
-if(g){
-if(_9bb!=g){
-_9bb=g;
-_9b9.groups.push(g);
-dd.push("<div id=\""+(_9b9.groupIdPrefix+"_"+(_9b9.groups.length-1))+"\" class=\"combobox-group\">");
-dd.push(opts.groupFormatter?opts.groupFormatter.call(_9b7,g):g);
-dd.push("</div>");
-}
-}else{
-_9bb=undefined;
-}
-var cls="combobox-item"+(row.disabled?" combobox-item-disabled":"")+(g?" combobox-gitem":"");
-dd.push("<div id=\""+(_9b9.itemIdPrefix+"_"+i)+"\" class=\""+cls+"\">");
-dd.push(opts.formatter?opts.formatter.call(_9b7,row):s);
-dd.push("</div>");
-if(row["selected"]&&$.inArray(v,_9ba)==-1){
-_9ba.push(v);
-}
-}
-$(_9b7).combo("panel").html(dd.join(""));
-if(opts.multiple){
-_9ac(_9b7,_9ba,_9b8);
-}else{
-_9ac(_9b7,_9ba.length?[_9ba[_9ba.length-1]]:[],_9b8);
-}
-opts.onLoadSuccess.call(_9b7,data);
-};
-function _9bc(_9bd,url,_9be,_9bf){
-var opts=$.data(_9bd,"combobox").options;
-if(url){
-opts.url=url;
-}
-_9be=$.extend({},opts.queryParams,_9be||{});
-if(opts.onBeforeLoad.call(_9bd,_9be)==false){
-return;
-}
-opts.loader.call(_9bd,_9be,function(data){
-_9b6(_9bd,data,_9bf);
-},function(){
-opts.onLoadError.apply(this,arguments);
-});
-};
-function _9c0(_9c1,q){
-var _9c2=$.data(_9c1,"combobox");
-var opts=_9c2.options;
-var qq=opts.multiple?q.split(opts.separator):[q];
-if(opts.mode=="remote"){
-_9c3(qq);
-_9bc(_9c1,null,{q:q},true);
-}else{
-var _9c4=$(_9c1).combo("panel");
-_9c4.find("div.combobox-item-selected,div.combobox-item-hover").removeClass("combobox-item-selected combobox-item-hover");
-_9c4.find("div.combobox-item,div.combobox-group").hide();
-var data=_9c2.data;
-var vv=[];
-$.map(qq,function(q){
-q=$.trim(q);
-var _9c5=q;
-var _9c6=undefined;
-for(var i=0;i<data.length;i++){
-var row=data[i];
-if(opts.filter.call(_9c1,q,row)){
-var v=row[opts.valueField];
-var s=row[opts.textField];
-var g=row[opts.groupField];
-var item=opts.finder.getEl(_9c1,v).show();
-if(s.toLowerCase()==q.toLowerCase()){
-_9c5=v;
-item.addClass("combobox-item-selected");
-opts.onSelect.call(_9c1,row);
-}
-if(opts.groupField&&_9c6!=g){
-$("#"+_9c2.groupIdPrefix+"_"+$.inArray(g,_9c2.groups)).show();
-_9c6=g;
-}
-}
-}
-vv.push(_9c5);
-});
-_9c3(vv);
-}
-function _9c3(vv){
-_9ac(_9c1,opts.multiple?(q?vv:[]):vv,true);
-};
-};
-function _9c7(_9c8){
-var t=$(_9c8);
-var opts=t.combobox("options");
-var _9c9=t.combobox("panel");
-var item=_9c9.children("div.combobox-item-hover");
-if(item.length){
-var row=opts.finder.getRow(_9c8,item);
-var _9ca=row[opts.valueField];
-if(opts.multiple){
-if(item.hasClass("combobox-item-selected")){
-t.combobox("unselect",_9ca);
-}else{
-t.combobox("select",_9ca);
-}
-}else{
-t.combobox("select",_9ca);
-}
-}
-var vv=[];
-$.map(t.combobox("getValues"),function(v){
-if(_99c(_9c8,v)>=0){
-vv.push(v);
-}
-});
-t.combobox("setValues",vv);
-if(!opts.multiple){
-t.combobox("hidePanel");
-}
-};
-function _9cb(_9cc){
-var _9cd=$.data(_9cc,"combobox");
-var opts=_9cd.options;
-_99b++;
-_9cd.itemIdPrefix="_easyui_combobox_i"+_99b;
-_9cd.groupIdPrefix="_easyui_combobox_g"+_99b;
-$(_9cc).addClass("combobox-f");
-$(_9cc).combo($.extend({},opts,{onShowPanel:function(){
-$(_9cc).combo("panel").find("div.combobox-item:hidden,div.combobox-group:hidden").show();
-_9a0(_9cc,$(_9cc).combobox("getValue"));
-opts.onShowPanel.call(_9cc);
-}}));
-$(_9cc).combo("panel").unbind().bind("mouseover",function(e){
-$(this).children("div.combobox-item-hover").removeClass("combobox-item-hover");
-var item=$(e.target).closest("div.combobox-item");
-if(!item.hasClass("combobox-item-disabled")){
-item.addClass("combobox-item-hover");
-}
-e.stopPropagation();
-}).bind("mouseout",function(e){
-$(e.target).closest("div.combobox-item").removeClass("combobox-item-hover");
-e.stopPropagation();
-}).bind("click",function(e){
-var item=$(e.target).closest("div.combobox-item");
-if(!item.length||item.hasClass("combobox-item-disabled")){
-return;
-}
-var row=opts.finder.getRow(_9cc,item);
-if(!row){
-return;
-}
-var _9ce=row[opts.valueField];
-if(opts.multiple){
-if(item.hasClass("combobox-item-selected")){
-_9ad(_9cc,_9ce);
-}else{
-_9a8(_9cc,_9ce);
-}
-}else{
-_9a8(_9cc,_9ce);
-$(_9cc).combo("hidePanel");
-}
-e.stopPropagation();
-});
-};
-$.fn.combobox=function(_9cf,_9d0){
-if(typeof _9cf=="string"){
-var _9d1=$.fn.combobox.methods[_9cf];
-if(_9d1){
-return _9d1(this,_9d0);
-}else{
-return this.combo(_9cf,_9d0);
-}
-}
-_9cf=_9cf||{};
-return this.each(function(){
-var _9d2=$.data(this,"combobox");
-if(_9d2){
-$.extend(_9d2.options,_9cf);
-}else{
-_9d2=$.data(this,"combobox",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_9cf),data:[]});
-}
-_9cb(this);
-if(_9d2.options.data){
-_9b6(this,_9d2.options.data);
-}else{
-var data=$.fn.combobox.parseData(this);
-if(data.length){
-_9b6(this,data);
-}
-}
-_9bc(this);
-});
-};
-$.fn.combobox.methods={options:function(jq){
-var _9d3=jq.combo("options");
-return $.extend($.data(jq[0],"combobox").options,{width:_9d3.width,height:_9d3.height,originalValue:_9d3.originalValue,disabled:_9d3.disabled,readonly:_9d3.readonly});
-},getData:function(jq){
-return $.data(jq[0],"combobox").data;
-},setValues:function(jq,_9d4){
-return jq.each(function(){
-_9ac(this,_9d4);
-});
-},setValue:function(jq,_9d5){
-return jq.each(function(){
-_9ac(this,[_9d5]);
-});
-},clear:function(jq){
-return jq.each(function(){
-$(this).combo("clear");
-var _9d6=$(this).combo("panel");
-_9d6.find("div.combobox-item-selected").removeClass("combobox-item-selected");
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).combobox("options");
-if(opts.multiple){
-$(this).combobox("setValues",opts.originalValue);
-}else{
-$(this).combobox("setValue",opts.originalValue);
-}
-});
-},loadData:function(jq,data){
-return jq.each(function(){
-_9b6(this,data);
-});
-},reload:function(jq,url){
-return jq.each(function(){
-if(typeof url=="string"){
-_9bc(this,url);
-}else{
-if(url){
-var opts=$(this).combobox("options");
-opts.queryParams=url;
-}
-_9bc(this);
-}
-});
-},select:function(jq,_9d7){
-return jq.each(function(){
-_9a8(this,_9d7);
-});
-},unselect:function(jq,_9d8){
-return jq.each(function(){
-_9ad(this,_9d8);
-});
-}};
-$.fn.combobox.parseOptions=function(_9d9){
-var t=$(_9d9);
-return $.extend({},$.fn.combo.parseOptions(_9d9),$.parser.parseOptions(_9d9,["valueField","textField","groupField","mode","method","url"]));
-};
-$.fn.combobox.parseData=function(_9da){
-var data=[];
-var opts=$(_9da).combobox("options");
-$(_9da).children().each(function(){
-if(this.tagName.toLowerCase()=="optgroup"){
-var _9db=$(this).attr("label");
-$(this).children().each(function(){
-_9dc(this,_9db);
-});
-}else{
-_9dc(this);
-}
-});
-return data;
-function _9dc(el,_9dd){
-var t=$(el);
-var row={};
-row[opts.valueField]=t.attr("value")!=undefined?t.attr("value"):t.text();
-row[opts.textField]=t.text();
-row["selected"]=t.is(":selected");
-row["disabled"]=t.is(":disabled");
-if(_9dd){
-opts.groupField=opts.groupField||"group";
-row[opts.groupField]=_9dd;
-}
-data.push(row);
-};
-};
-$.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:"value",textField:"text",groupField:null,groupFormatter:function(_9de){
-return _9de;
-},mode:"local",method:"post",url:null,data:null,queryParams:{},keyHandler:{up:function(e){
-nav(this,"prev");
-e.preventDefault();
-},down:function(e){
-nav(this,"next");
-e.preventDefault();
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-_9c7(this);
-},query:function(q,e){
-_9c0(this,q);
-}},filter:function(q,row){
-var opts=$(this).combobox("options");
-return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())==0;
-},formatter:function(row){
-var opts=$(this).combobox("options");
-return row[opts.textField];
-},loader:function(_9df,_9e0,_9e1){
-var opts=$(this).combobox("options");
-if(!opts.url){
-return false;
-}
-$.ajax({type:opts.method,url:opts.url,data:_9df,dataType:"json",success:function(data){
-_9e0(data);
-},error:function(){
-_9e1.apply(this,arguments);
-}});
-},loadFilter:function(data){
-return data;
-},finder:{getEl:function(_9e2,_9e3){
-var _9e4=_99c(_9e2,_9e3);
-var id=$.data(_9e2,"combobox").itemIdPrefix+"_"+_9e4;
-return $("#"+id);
-},getRow:function(_9e5,p){
-var _9e6=$.data(_9e5,"combobox");
-var _9e7=(p instanceof jQuery)?p.attr("id").substr(_9e6.itemIdPrefix.length+1):_99c(_9e5,p);
-return _9e6.data[parseInt(_9e7)];
-}},onBeforeLoad:function(_9e8){
-},onLoadSuccess:function(){
-},onLoadError:function(){
-},onSelect:function(_9e9){
-},onUnselect:function(_9ea){
-}});
-})(jQuery);
-(function($){
-function _9eb(_9ec){
-var _9ed=$.data(_9ec,"combotree");
-var opts=_9ed.options;
-var tree=_9ed.tree;
-$(_9ec).addClass("combotree-f");
-$(_9ec).combo(opts);
-var _9ee=$(_9ec).combo("panel");
-if(!tree){
-tree=$("<ul></ul>").appendTo(_9ee);
-$.data(_9ec,"combotree").tree=tree;
-}
-tree.tree($.extend({},opts,{checkbox:opts.multiple,onLoadSuccess:function(node,data){
-var _9ef=$(_9ec).combotree("getValues");
-if(opts.multiple){
-var _9f0=tree.tree("getChecked");
-for(var i=0;i<_9f0.length;i++){
-var id=_9f0[i].id;
-(function(){
-for(var i=0;i<_9ef.length;i++){
-if(id==_9ef[i]){
-return;
-}
-}
-_9ef.push(id);
-})();
-}
-}
-$(_9ec).combotree("setValues",_9ef);
-opts.onLoadSuccess.call(this,node,data);
-},onClick:function(node){
-if(opts.multiple){
-$(this).tree(node.checked?"uncheck":"check",node.target);
-}else{
-$(_9ec).combo("hidePanel");
-}
-_9f2(_9ec);
-opts.onClick.call(this,node);
-},onCheck:function(node,_9f1){
-_9f2(_9ec);
-opts.onCheck.call(this,node,_9f1);
-}}));
-};
-function _9f2(_9f3){
-var _9f4=$.data(_9f3,"combotree");
-var opts=_9f4.options;
-var tree=_9f4.tree;
-var vv=[],ss=[];
-if(opts.multiple){
-var _9f5=tree.tree("getChecked");
-for(var i=0;i<_9f5.length;i++){
-vv.push(_9f5[i].id);
-ss.push(_9f5[i].text);
-}
-}else{
-var node=tree.tree("getSelected");
-if(node){
-vv.push(node.id);
-ss.push(node.text);
-}
-}
-$(_9f3).combo("setText",ss.join(opts.separator)).combo("setValues",opts.multiple?vv:(vv.length?vv:[""]));
-};
-function _9f6(_9f7,_9f8){
-var _9f9=$.data(_9f7,"combotree");
-var opts=_9f9.options;
-var tree=_9f9.tree;
-var _9fa=tree.tree("options");
-var _9fb=_9fa.onCheck;
-var _9fc=_9fa.onSelect;
-_9fa.onCheck=_9fa.onSelect=function(){
-};
-tree.find("span.tree-checkbox").addClass("tree-checkbox0").removeClass("tree-checkbox1 tree-checkbox2");
-if(!$.isArray(_9f8)){
-_9f8=_9f8.split(opts.separator);
-}
-var vv=$.map(_9f8,function(_9fd){
-return String(_9fd);
-});
-var ss=[];
-$.map(vv,function(v){
-var node=tree.tree("find",v);
-if(node){
-tree.tree("check",node.target).tree("select",node.target);
-ss.push(node.text);
-}else{
-ss.push(v);
-}
-});
-if(opts.multiple){
-var _9fe=tree.tree("getChecked");
-$.map(_9fe,function(node){
-var id=String(node.id);
-if($.inArray(id,vv)==-1){
-vv.push(id);
-ss.push(node.text);
-}
-});
-}
-_9fa.onCheck=_9fb;
-_9fa.onSelect=_9fc;
-$(_9f7).combo("setText",ss.join(opts.separator)).combo("setValues",opts.multiple?vv:(vv.length?vv:[""]));
-};
-$.fn.combotree=function(_9ff,_a00){
-if(typeof _9ff=="string"){
-var _a01=$.fn.combotree.methods[_9ff];
-if(_a01){
-return _a01(this,_a00);
-}else{
-return this.combo(_9ff,_a00);
-}
-}
-_9ff=_9ff||{};
-return this.each(function(){
-var _a02=$.data(this,"combotree");
-if(_a02){
-$.extend(_a02.options,_9ff);
-}else{
-$.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_9ff)});
-}
-_9eb(this);
-});
-};
-$.fn.combotree.methods={options:function(jq){
-var _a03=jq.combo("options");
-return $.extend($.data(jq[0],"combotree").options,{width:_a03.width,height:_a03.height,originalValue:_a03.originalValue,disabled:_a03.disabled,readonly:_a03.readonly});
-},clone:function(jq,_a04){
-var t=jq.combo("clone",_a04);
-t.data("combotree",{options:$.extend(true,{},jq.combotree("options")),tree:jq.combotree("tree")});
-return t;
-},tree:function(jq){
-return $.data(jq[0],"combotree").tree;
-},loadData:function(jq,data){
-return jq.each(function(){
-var opts=$.data(this,"combotree").options;
-opts.data=data;
-var tree=$.data(this,"combotree").tree;
-tree.tree("loadData",data);
-});
-},reload:function(jq,url){
-return jq.each(function(){
-var opts=$.data(this,"combotree").options;
-var tree=$.data(this,"combotree").tree;
-if(url){
-opts.url=url;
-}
-tree.tree({url:opts.url});
-});
-},setValues:function(jq,_a05){
-return jq.each(function(){
-_9f6(this,_a05);
-});
-},setValue:function(jq,_a06){
-return jq.each(function(){
-_9f6(this,[_a06]);
-});
-},clear:function(jq){
-return jq.each(function(){
-var tree=$.data(this,"combotree").tree;
-tree.find("div.tree-node-selected").removeClass("tree-node-selected");
-var cc=tree.tree("getChecked");
-for(var i=0;i<cc.length;i++){
-tree.tree("uncheck",cc[i].target);
-}
-$(this).combo("clear");
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).combotree("options");
-if(opts.multiple){
-$(this).combotree("setValues",opts.originalValue);
-}else{
-$(this).combotree("setValue",opts.originalValue);
-}
-});
-}};
-$.fn.combotree.parseOptions=function(_a07){
-return $.extend({},$.fn.combo.parseOptions(_a07),$.fn.tree.parseOptions(_a07));
-};
-$.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,{editable:false});
-})(jQuery);
-(function($){
-function _a08(_a09){
-var _a0a=$.data(_a09,"combogrid");
-var opts=_a0a.options;
-var grid=_a0a.grid;
-$(_a09).addClass("combogrid-f").combo($.extend({},opts,{onShowPanel:function(){
-var p=$(this).combogrid("panel");
-var _a0b=p.outerHeight()-p.height();
-var _a0c=p._size("minHeight");
-var _a0d=p._size("maxHeight");
-var dg=$(this).combogrid("grid");
-dg.datagrid("resize",{width:"100%",height:(isNaN(parseInt(opts.panelHeight))?"auto":"100%"),minHeight:(_a0c?_a0c-_a0b:""),maxHeight:(_a0d?_a0d-_a0b:"")});
-var row=dg.datagrid("getSelected");
-if(row){
-dg.datagrid("scrollTo",dg.datagrid("getRowIndex",row));
-}
-opts.onShowPanel.call(this);
-}}));
-var _a0e=$(_a09).combo("panel");
-if(!grid){
-grid=$("<table></table>").appendTo(_a0e);
-_a0a.grid=grid;
-}
-grid.datagrid($.extend({},opts,{border:false,singleSelect:(!opts.multiple),onLoadSuccess:function(data){
-var _a0f=$(_a09).combo("getValues");
-var _a10=opts.onSelect;
-opts.onSelect=function(){
-};
-_a16(_a09,_a0f,_a0a.remainText);
-opts.onSelect=_a10;
-opts.onLoadSuccess.apply(_a09,arguments);
-},onClickRow:_a11,onSelect:function(_a12,row){
-_a13();
-opts.onSelect.call(this,_a12,row);
-},onUnselect:function(_a14,row){
-_a13();
-opts.onUnselect.call(this,_a14,row);
-},onSelectAll:function(rows){
-_a13();
-opts.onSelectAll.call(this,rows);
-},onUnselectAll:function(rows){
-if(opts.multiple){
-_a13();
-}
-opts.onUnselectAll.call(this,rows);
-}}));
-function _a11(_a15,row){
-_a0a.remainText=false;
-_a13();
-if(!opts.multiple){
-$(_a09).combo("hidePanel");
-}
-opts.onClickRow.call(this,_a15,row);
-};
-function _a13(){
-var vv=$.map(grid.datagrid("getSelections"),function(row){
-return row[opts.idField];
-});
-vv=vv.concat(opts.unselectedValues);
-if(!opts.multiple){
-vv=vv.length?[vv[0]]:[""];
-}
-_a16(_a09,vv,_a0a.remainText);
-};
-};
-function nav(_a17,dir){
-var _a18=$.data(_a17,"combogrid");
-var opts=_a18.options;
-var grid=_a18.grid;
-var _a19=grid.datagrid("getRows").length;
-if(!_a19){
-return;
-}
-var tr=opts.finder.getTr(grid[0],null,"highlight");
-if(!tr.length){
-tr=opts.finder.getTr(grid[0],null,"selected");
-}
-var _a1a;
-if(!tr.length){
-_a1a=(dir=="next"?0:_a19-1);
-}else{
-var _a1a=parseInt(tr.attr("datagrid-row-index"));
-_a1a+=(dir=="next"?1:-1);
-if(_a1a<0){
-_a1a=_a19-1;
-}
-if(_a1a>=_a19){
-_a1a=0;
-}
-}
-grid.datagrid("highlightRow",_a1a);
-if(opts.selectOnNavigation){
-_a18.remainText=false;
-grid.datagrid("selectRow",_a1a);
-}
-};
-function _a16(_a1b,_a1c,_a1d){
-var _a1e=$.data(_a1b,"combogrid");
-var opts=_a1e.options;
-var grid=_a1e.grid;
-var _a1f=$(_a1b).combo("getValues");
-var _a20=$(_a1b).combo("options");
-var _a21=_a20.onChange;
-_a20.onChange=function(){
-};
-var _a22=grid.datagrid("options");
-var _a23=_a22.onSelect;
-var _a24=_a22.onUnselectAll;
-_a22.onSelect=_a22.onUnselectAll=function(){
-};
-if(!$.isArray(_a1c)){
-_a1c=_a1c.split(opts.separator);
-}
-var _a25=[];
-$.map(grid.datagrid("getSelections"),function(row){
-if($.inArray(row[opts.idField],_a1c)>=0){
-_a25.push(row);
-}
-});
-grid.datagrid("clearSelections");
-grid.data("datagrid").selectedRows=_a25;
-var ss=[];
-for(var i=0;i<_a1c.length;i++){
-var _a26=_a1c[i];
-var _a27=grid.datagrid("getRowIndex",_a26);
-if(_a27>=0){
-grid.datagrid("selectRow",_a27);
-}
-ss.push(_a28(_a26,grid.datagrid("getRows"))||_a28(_a26,grid.datagrid("getSelections"))||_a28(_a26,opts.mappingRows)||_a26);
-}
-opts.unselectedValues=[];
-var _a29=$.map(_a25,function(row){
-return row[opts.idField];
-});
-$.map(_a1c,function(_a2a){
-if($.inArray(_a2a,_a29)==-1){
-opts.unselectedValues.push(_a2a);
-}
-});
-$(_a1b).combo("setValues",_a1f);
-_a20.onChange=_a21;
-_a22.onSelect=_a23;
-_a22.onUnselectAll=_a24;
-if(!_a1d){
-var s=ss.join(opts.separator);
-if($(_a1b).combo("getText")!=s){
-$(_a1b).combo("setText",s);
-}
-}
-$(_a1b).combo("setValues",_a1c);
-function _a28(_a2b,a){
-for(var i=0;i<a.length;i++){
-if(_a2b==a[i][opts.idField]){
-return a[i][opts.textField];
-}
-}
-return undefined;
-};
-};
-function _a2c(_a2d,q){
-var _a2e=$.data(_a2d,"combogrid");
-var opts=_a2e.options;
-var grid=_a2e.grid;
-_a2e.remainText=true;
-if(opts.multiple&&!q){
-_a16(_a2d,[],true);
-}else{
-_a16(_a2d,[q],true);
-}
-if(opts.mode=="remote"){
-grid.datagrid("clearSelections");
-grid.datagrid("load",$.extend({},opts.queryParams,{q:q}));
-}else{
-if(!q){
-return;
-}
-grid.datagrid("clearSelections").datagrid("highlightRow",-1);
-var rows=grid.datagrid("getRows");
-var qq=opts.multiple?q.split(opts.separator):[q];
-$.map(qq,function(q){
-q=$.trim(q);
-if(q){
-$.map(rows,function(row,i){
-if(q==row[opts.textField]){
-grid.datagrid("selectRow",i);
-}else{
-if(opts.filter.call(_a2d,q,row)){
-grid.datagrid("highlightRow",i);
-}
-}
-});
-}
-});
-}
-};
-function _a2f(_a30){
-var _a31=$.data(_a30,"combogrid");
-var opts=_a31.options;
-var grid=_a31.grid;
-var tr=opts.finder.getTr(grid[0],null,"highlight");
-_a31.remainText=false;
-if(tr.length){
-var _a32=parseInt(tr.attr("datagrid-row-index"));
-if(opts.multiple){
-if(tr.hasClass("datagrid-row-selected")){
-grid.datagrid("unselectRow",_a32);
-}else{
-grid.datagrid("selectRow",_a32);
-}
-}else{
-grid.datagrid("selectRow",_a32);
-}
-}
-var vv=[];
-$.map(grid.datagrid("getSelections"),function(row){
-vv.push(row[opts.idField]);
-});
-$(_a30).combogrid("setValues",vv);
-if(!opts.multiple){
-$(_a30).combogrid("hidePanel");
-}
-};
-$.fn.combogrid=function(_a33,_a34){
-if(typeof _a33=="string"){
-var _a35=$.fn.combogrid.methods[_a33];
-if(_a35){
-return _a35(this,_a34);
-}else{
-return this.combo(_a33,_a34);
-}
-}
-_a33=_a33||{};
-return this.each(function(){
-var _a36=$.data(this,"combogrid");
-if(_a36){
-$.extend(_a36.options,_a33);
-}else{
-_a36=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_a33)});
-}
-_a08(this);
-});
-};
-$.fn.combogrid.methods={options:function(jq){
-var _a37=jq.combo("options");
-return $.extend($.data(jq[0],"combogrid").options,{width:_a37.width,height:_a37.height,originalValue:_a37.originalValue,disabled:_a37.disabled,readonly:_a37.readonly});
-},grid:function(jq){
-return $.data(jq[0],"combogrid").grid;
-},setValues:function(jq,_a38){
-return jq.each(function(){
-var opts=$(this).combogrid("options");
-if($.isArray(_a38)){
-_a38=$.map(_a38,function(_a39){
-if(typeof _a39=="object"){
-var v=_a39[opts.idField];
-(function(){
-for(var i=0;i<opts.mappingRows.length;i++){
-if(v==opts.mappingRows[i][opts.idField]){
-return;
-}
-}
-opts.mappingRows.push(_a39);
-})();
-return v;
-}else{
-return _a39;
-}
-});
-}
-_a16(this,_a38);
-});
-},setValue:function(jq,_a3a){
-return jq.each(function(){
-$(this).combogrid("setValues",[_a3a]);
-});
-},clear:function(jq){
-return jq.each(function(){
-$(this).combogrid("grid").datagrid("clearSelections");
-$(this).combo("clear");
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).combogrid("options");
-if(opts.multiple){
-$(this).combogrid("setValues",opts.originalValue);
-}else{
-$(this).combogrid("setValue",opts.originalValue);
-}
-});
-}};
-$.fn.combogrid.parseOptions=function(_a3b){
-var t=$(_a3b);
-return $.extend({},$.fn.combo.parseOptions(_a3b),$.fn.datagrid.parseOptions(_a3b),$.parser.parseOptions(_a3b,["idField","textField","mode"]));
-};
-$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{height:22,loadMsg:null,idField:null,textField:null,unselectedValues:[],mappingRows:[],mode:"local",keyHandler:{up:function(e){
-nav(this,"prev");
-e.preventDefault();
-},down:function(e){
-nav(this,"next");
-e.preventDefault();
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-_a2f(this);
-},query:function(q,e){
-_a2c(this,q);
-}},filter:function(q,row){
-var opts=$(this).combogrid("options");
-return (row[opts.textField]||"").toLowerCase().indexOf(q.toLowerCase())==0;
-}});
-})(jQuery);
-(function($){
-function _a3c(_a3d){
-var _a3e=$.data(_a3d,"datebox");
-var opts=_a3e.options;
-$(_a3d).addClass("datebox-f").combo($.extend({},opts,{onShowPanel:function(){
-_a3f(this);
-_a40(this);
-_a41(this);
-_a4f(this,$(this).datebox("getText"),true);
-opts.onShowPanel.call(this);
-}}));
-if(!_a3e.calendar){
-var _a42=$(_a3d).combo("panel").css("overflow","hidden");
-_a42.panel("options").onBeforeDestroy=function(){
-var c=$(this).find(".calendar-shared");
-if(c.length){
-c.insertBefore(c[0].pholder);
-}
-};
-var cc=$("<div class=\"datebox-calendar-inner\"></div>").prependTo(_a42);
-if(opts.sharedCalendar){
-var c=$(opts.sharedCalendar);
-if(!c[0].pholder){
-c[0].pholder=$("<div class=\"calendar-pholder\" style=\"display:none\"></div>").insertAfter(c);
-}
-c.addClass("calendar-shared").appendTo(cc);
-if(!c.hasClass("calendar")){
-c.calendar();
-}
-_a3e.calendar=c;
-}else{
-_a3e.calendar=$("<div></div>").appendTo(cc).calendar();
-}
-$.extend(_a3e.calendar.calendar("options"),{fit:true,border:false,onSelect:function(date){
-var _a43=this.target;
-var opts=$(_a43).datebox("options");
-_a4f(_a43,opts.formatter.call(_a43,date));
-$(_a43).combo("hidePanel");
-opts.onSelect.call(_a43,date);
-}});
-}
-$(_a3d).combo("textbox").parent().addClass("datebox");
-$(_a3d).datebox("initValue",opts.value);
-function _a3f(_a44){
-var opts=$(_a44).datebox("options");
-var _a45=$(_a44).combo("panel");
-_a45.unbind(".datebox").bind("click.datebox",function(e){
-if($(e.target).hasClass("datebox-button-a")){
-var _a46=parseInt($(e.target).attr("datebox-button-index"));
-opts.buttons[_a46].handler.call(e.target,_a44);
-}
-});
-};
-function _a40(_a47){
-var _a48=$(_a47).combo("panel");
-if(_a48.children("div.datebox-button").length){
-return;
-}
-var _a49=$("<div class=\"datebox-button\"><table cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%\"><tr></tr></table></div>").appendTo(_a48);
-var tr=_a49.find("tr");
-for(var i=0;i<opts.buttons.length;i++){
-var td=$("<td></td>").appendTo(tr);
-var btn=opts.buttons[i];
-var t=$("<a class=\"datebox-button-a\" href=\"javascript:void(0)\"></a>").html($.isFunction(btn.text)?btn.text(_a47):btn.text).appendTo(td);
-t.attr("datebox-button-index",i);
-}
-tr.find("td").css("width",(100/opts.buttons.length)+"%");
-};
-function _a41(_a4a){
-var _a4b=$(_a4a).combo("panel");
-var cc=_a4b.children("div.datebox-calendar-inner");
-_a4b.children()._outerWidth(_a4b.width());
-_a3e.calendar.appendTo(cc);
-_a3e.calendar[0].target=_a4a;
-if(opts.panelHeight!="auto"){
-var _a4c=_a4b.height();
-_a4b.children().not(cc).each(function(){
-_a4c-=$(this).outerHeight();
-});
-cc._outerHeight(_a4c);
-}
-_a3e.calendar.calendar("resize");
-};
-};
-function _a4d(_a4e,q){
-_a4f(_a4e,q,true);
-};
-function _a50(_a51){
-var _a52=$.data(_a51,"datebox");
-var opts=_a52.options;
-var _a53=_a52.calendar.calendar("options").current;
-if(_a53){
-_a4f(_a51,opts.formatter.call(_a51,_a53));
-$(_a51).combo("hidePanel");
-}
-};
-function _a4f(_a54,_a55,_a56){
-var _a57=$.data(_a54,"datebox");
-var opts=_a57.options;
-var _a58=_a57.calendar;
-_a58.calendar("moveTo",opts.parser.call(_a54,_a55));
-if(_a56){
-$(_a54).combo("setValue",_a55);
-}else{
-if(_a55){
-_a55=opts.formatter.call(_a54,_a58.calendar("options").current);
-}
-$(_a54).combo("setText",_a55).combo("setValue",_a55);
-}
-};
-$.fn.datebox=function(_a59,_a5a){
-if(typeof _a59=="string"){
-var _a5b=$.fn.datebox.methods[_a59];
-if(_a5b){
-return _a5b(this,_a5a);
-}else{
-return this.combo(_a59,_a5a);
-}
-}
-_a59=_a59||{};
-return this.each(function(){
-var _a5c=$.data(this,"datebox");
-if(_a5c){
-$.extend(_a5c.options,_a59);
-}else{
-$.data(this,"datebox",{options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_a59)});
-}
-_a3c(this);
-});
-};
-$.fn.datebox.methods={options:function(jq){
-var _a5d=jq.combo("options");
-return $.extend($.data(jq[0],"datebox").options,{width:_a5d.width,height:_a5d.height,originalValue:_a5d.originalValue,disabled:_a5d.disabled,readonly:_a5d.readonly});
-},cloneFrom:function(jq,from){
-return jq.each(function(){
-$(this).combo("cloneFrom",from);
-$.data(this,"datebox",{options:$.extend(true,{},$(from).datebox("options")),calendar:$(from).datebox("calendar")});
-$(this).addClass("datebox-f");
-});
-},calendar:function(jq){
-return $.data(jq[0],"datebox").calendar;
-},initValue:function(jq,_a5e){
-return jq.each(function(){
-var opts=$(this).datebox("options");
-var _a5f=opts.value;
-if(_a5f){
-_a5f=opts.formatter.call(this,opts.parser.call(this,_a5f));
-}
-$(this).combo("initValue",_a5f).combo("setText",_a5f);
-});
-},setValue:function(jq,_a60){
-return jq.each(function(){
-_a4f(this,_a60);
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).datebox("options");
-$(this).datebox("setValue",opts.originalValue);
-});
-}};
-$.fn.datebox.parseOptions=function(_a61){
-return $.extend({},$.fn.combo.parseOptions(_a61),$.parser.parseOptions(_a61,["sharedCalendar"]));
-};
-$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{panelWidth:180,panelHeight:"auto",sharedCalendar:null,keyHandler:{up:function(e){
-},down:function(e){
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-_a50(this);
-},query:function(q,e){
-_a4d(this,q);
-}},currentText:"Today",closeText:"Close",okText:"Ok",buttons:[{text:function(_a62){
-return $(_a62).datebox("options").currentText;
-},handler:function(_a63){
-var now=new Date();
-$(_a63).datebox("calendar").calendar({year:now.getFullYear(),month:now.getMonth()+1,current:new Date(now.getFullYear(),now.getMonth(),now.getDate())});
-_a50(_a63);
-}},{text:function(_a64){
-return $(_a64).datebox("options").closeText;
-},handler:function(_a65){
-$(this).closest("div.combo-panel").panel("close");
-}}],formatter:function(date){
-var y=date.getFullYear();
-var m=date.getMonth()+1;
-var d=date.getDate();
-return (m<10?("0"+m):m)+"/"+(d<10?("0"+d):d)+"/"+y;
-},parser:function(s){
-if(!s){
-return new Date();
-}
-var ss=s.split("/");
-var m=parseInt(ss[0],10);
-var d=parseInt(ss[1],10);
-var y=parseInt(ss[2],10);
-if(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){
-return new Date(y,m-1,d);
-}else{
-return new Date();
-}
-},onSelect:function(date){
-}});
-})(jQuery);
-(function($){
-function _a66(_a67){
-var _a68=$.data(_a67,"datetimebox");
-var opts=_a68.options;
-$(_a67).datebox($.extend({},opts,{onShowPanel:function(){
-var _a69=$(this).datetimebox("getValue");
-_a6f(this,_a69,true);
-opts.onShowPanel.call(this);
-},formatter:$.fn.datebox.defaults.formatter,parser:$.fn.datebox.defaults.parser}));
-$(_a67).removeClass("datebox-f").addClass("datetimebox-f");
-$(_a67).datebox("calendar").calendar({onSelect:function(date){
-opts.onSelect.call(this.target,date);
-}});
-if(!_a68.spinner){
-var _a6a=$(_a67).datebox("panel");
-var p=$("<div style=\"padding:2px\"><input></div>").insertAfter(_a6a.children("div.datebox-calendar-inner"));
-_a68.spinner=p.children("input");
-}
-_a68.spinner.timespinner({width:opts.spinnerWidth,showSeconds:opts.showSeconds,separator:opts.timeSeparator});
-$(_a67).datetimebox("initValue",opts.value);
-};
-function _a6b(_a6c){
-var c=$(_a6c).datetimebox("calendar");
-var t=$(_a6c).datetimebox("spinner");
-var date=c.calendar("options").current;
-return new Date(date.getFullYear(),date.getMonth(),date.getDate(),t.timespinner("getHours"),t.timespinner("getMinutes"),t.timespinner("getSeconds"));
-};
-function _a6d(_a6e,q){
-_a6f(_a6e,q,true);
-};
-function _a70(_a71){
-var opts=$.data(_a71,"datetimebox").options;
-var date=_a6b(_a71);
-_a6f(_a71,opts.formatter.call(_a71,date));
-$(_a71).combo("hidePanel");
-};
-function _a6f(_a72,_a73,_a74){
-var opts=$.data(_a72,"datetimebox").options;
-$(_a72).combo("setValue",_a73);
-if(!_a74){
-if(_a73){
-var date=opts.parser.call(_a72,_a73);
-$(_a72).combo("setText",opts.formatter.call(_a72,date));
-$(_a72).combo("setValue",opts.formatter.call(_a72,date));
-}else{
-$(_a72).combo("setText",_a73);
-}
-}
-var date=opts.parser.call(_a72,_a73);
-$(_a72).datetimebox("calendar").calendar("moveTo",date);
-$(_a72).datetimebox("spinner").timespinner("setValue",_a75(date));
-function _a75(date){
-function _a76(_a77){
-return (_a77<10?"0":"")+_a77;
-};
-var tt=[_a76(date.getHours()),_a76(date.getMinutes())];
-if(opts.showSeconds){
-tt.push(_a76(date.getSeconds()));
-}
-return tt.join($(_a72).datetimebox("spinner").timespinner("options").separator);
-};
-};
-$.fn.datetimebox=function(_a78,_a79){
-if(typeof _a78=="string"){
-var _a7a=$.fn.datetimebox.methods[_a78];
-if(_a7a){
-return _a7a(this,_a79);
-}else{
-return this.datebox(_a78,_a79);
-}
-}
-_a78=_a78||{};
-return this.each(function(){
-var _a7b=$.data(this,"datetimebox");
-if(_a7b){
-$.extend(_a7b.options,_a78);
-}else{
-$.data(this,"datetimebox",{options:$.extend({},$.fn.datetimebox.defaults,$.fn.datetimebox.parseOptions(this),_a78)});
-}
-_a66(this);
-});
-};
-$.fn.datetimebox.methods={options:function(jq){
-var _a7c=jq.datebox("options");
-return $.extend($.data(jq[0],"datetimebox").options,{originalValue:_a7c.originalValue,disabled:_a7c.disabled,readonly:_a7c.readonly});
-},cloneFrom:function(jq,from){
-return jq.each(function(){
-$(this).datebox("cloneFrom",from);
-$.data(this,"datetimebox",{options:$.extend(true,{},$(from).datetimebox("options")),spinner:$(from).datetimebox("spinner")});
-$(this).removeClass("datebox-f").addClass("datetimebox-f");
-});
-},spinner:function(jq){
-return $.data(jq[0],"datetimebox").spinner;
-},initValue:function(jq,_a7d){
-return jq.each(function(){
-var opts=$(this).datetimebox("options");
-var _a7e=opts.value;
-if(_a7e){
-_a7e=opts.formatter.call(this,opts.parser.call(this,_a7e));
-}
-$(this).combo("initValue",_a7e).combo("setText",_a7e);
-});
-},setValue:function(jq,_a7f){
-return jq.each(function(){
-_a6f(this,_a7f);
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).datetimebox("options");
-$(this).datetimebox("setValue",opts.originalValue);
-});
-}};
-$.fn.datetimebox.parseOptions=function(_a80){
-var t=$(_a80);
-return $.extend({},$.fn.datebox.parseOptions(_a80),$.parser.parseOptions(_a80,["timeSeparator","spinnerWidth",{showSeconds:"boolean"}]));
-};
-$.fn.datetimebox.defaults=$.extend({},$.fn.datebox.defaults,{spinnerWidth:"100%",showSeconds:true,timeSeparator:":",keyHandler:{up:function(e){
-},down:function(e){
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-_a70(this);
-},query:function(q,e){
-_a6d(this,q);
-}},buttons:[{text:function(_a81){
-return $(_a81).datetimebox("options").currentText;
-},handler:function(_a82){
-var opts=$(_a82).datetimebox("options");
-_a6f(_a82,opts.formatter.call(_a82,new Date()));
-$(_a82).datetimebox("hidePanel");
-}},{text:function(_a83){
-return $(_a83).datetimebox("options").okText;
-},handler:function(_a84){
-_a70(_a84);
-}},{text:function(_a85){
-return $(_a85).datetimebox("options").closeText;
-},handler:function(_a86){
-$(_a86).datetimebox("hidePanel");
-}}],formatter:function(date){
-var h=date.getHours();
-var M=date.getMinutes();
-var s=date.getSeconds();
-function _a87(_a88){
-return (_a88<10?"0":"")+_a88;
-};
-var _a89=$(this).datetimebox("spinner").timespinner("options").separator;
-var r=$.fn.datebox.defaults.formatter(date)+" "+_a87(h)+_a89+_a87(M);
-if($(this).datetimebox("options").showSeconds){
-r+=_a89+_a87(s);
-}
-return r;
-},parser:function(s){
-if($.trim(s)==""){
-return new Date();
-}
-var dt=s.split(" ");
-var d=$.fn.datebox.defaults.parser(dt[0]);
-if(dt.length<2){
-return d;
-}
-var _a8a=$(this).datetimebox("spinner").timespinner("options").separator;
-var tt=dt[1].split(_a8a);
-var hour=parseInt(tt[0],10)||0;
-var _a8b=parseInt(tt[1],10)||0;
-var _a8c=parseInt(tt[2],10)||0;
-return new Date(d.getFullYear(),d.getMonth(),d.getDate(),hour,_a8b,_a8c);
-}});
-})(jQuery);
-(function($){
-function init(_a8d){
-var _a8e=$("<div class=\"slider\">"+"<div class=\"slider-inner\">"+"<a href=\"javascript:void(0)\" class=\"slider-handle\"></a>"+"<span class=\"slider-tip\"></span>"+"</div>"+"<div class=\"slider-rule\"></div>"+"<div class=\"slider-rulelabel\"></div>"+"<div style=\"clear:both\"></div>"+"<input type=\"hidden\" class=\"slider-value\">"+"</div>").insertAfter(_a8d);
-var t=$(_a8d);
-t.addClass("slider-f").hide();
-var name=t.attr("name");
-if(name){
-_a8e.find("input.slider-value").attr("name",name);
-t.removeAttr("name").attr("sliderName",name);
-}
-_a8e.bind("_resize",function(e,_a8f){
-if($(this).hasClass("easyui-fluid")||_a8f){
-_a90(_a8d);
-}
-return false;
-});
-return _a8e;
-};
-function _a90(_a91,_a92){
-var _a93=$.data(_a91,"slider");
-var opts=_a93.options;
-var _a94=_a93.slider;
-if(_a92){
-if(_a92.width){
-opts.width=_a92.width;
-}
-if(_a92.height){
-opts.height=_a92.height;
-}
-}
-_a94._size(opts);
-if(opts.mode=="h"){
-_a94.css("height","");
-_a94.children("div").css("height","");
-}else{
-_a94.css("width","");
-_a94.children("div").css("width","");
-_a94.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_a94._outerHeight());
-}
-_a95(_a91);
-};
-function _a96(_a97){
-var _a98=$.data(_a97,"slider");
-var opts=_a98.options;
-var _a99=_a98.slider;
-var aa=opts.mode=="h"?opts.rule:opts.rule.slice(0).reverse();
-if(opts.reversed){
-aa=aa.slice(0).reverse();
-}
-_a9a(aa);
-function _a9a(aa){
-var rule=_a99.find("div.slider-rule");
-var _a9b=_a99.find("div.slider-rulelabel");
-rule.empty();
-_a9b.empty();
-for(var i=0;i<aa.length;i++){
-var _a9c=i*100/(aa.length-1)+"%";
-var span=$("<span></span>").appendTo(rule);
-span.css((opts.mode=="h"?"left":"top"),_a9c);
-if(aa[i]!="|"){
-span=$("<span></span>").appendTo(_a9b);
-span.html(aa[i]);
-if(opts.mode=="h"){
-span.css({left:_a9c,marginLeft:-Math.round(span.outerWidth()/2)});
-}else{
-span.css({top:_a9c,marginTop:-Math.round(span.outerHeight()/2)});
-}
-}
-}
-};
-};
-function _a9d(_a9e){
-var _a9f=$.data(_a9e,"slider");
-var opts=_a9f.options;
-var _aa0=_a9f.slider;
-_aa0.removeClass("slider-h slider-v slider-disabled");
-_aa0.addClass(opts.mode=="h"?"slider-h":"slider-v");
-_aa0.addClass(opts.disabled?"slider-disabled":"");
-var _aa1=_aa0.find(".slider-inner");
-_aa1.html("<a href=\"javascript:void(0)\" class=\"slider-handle\"></a>"+"<span class=\"slider-tip\"></span>");
-if(opts.range){
-_aa1.append("<a href=\"javascript:void(0)\" class=\"slider-handle\"></a>"+"<span class=\"slider-tip\"></span>");
-}
-_aa0.find("a.slider-handle").draggable({axis:opts.mode,cursor:"pointer",disabled:opts.disabled,onDrag:function(e){
-var left=e.data.left;
-var _aa2=_aa0.width();
-if(opts.mode!="h"){
-left=e.data.top;
-_aa2=_aa0.height();
-}
-if(left<0||left>_aa2){
-return false;
-}else{
-_aa3(left,this);
-return false;
-}
-},onStartDrag:function(){
-_a9f.isDragging=true;
-opts.onSlideStart.call(_a9e,opts.value);
-},onStopDrag:function(e){
-_aa3(opts.mode=="h"?e.data.left:e.data.top,this);
-opts.onSlideEnd.call(_a9e,opts.value);
-opts.onComplete.call(_a9e,opts.value);
-_a9f.isDragging=false;
-}});
-_aa0.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){
-if(_a9f.isDragging||opts.disabled){
-return;
-}
-var pos=$(this).offset();
-_aa3(opts.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top));
-opts.onComplete.call(_a9e,opts.value);
-});
-function _aa3(pos,_aa4){
-var _aa5=_aa6(_a9e,pos);
-var s=Math.abs(_aa5%opts.step);
-if(s<opts.step/2){
-_aa5-=s;
-}else{
-_aa5=_aa5-s+opts.step;
-}
-if(opts.range){
-var v1=opts.value[0];
-var v2=opts.value[1];
-var m=parseFloat((v1+v2)/2);
-if(_aa4){
-var _aa7=$(_aa4).nextAll(".slider-handle").length>0;
-if(_aa5<=v2&&_aa7){
-v1=_aa5;
-}else{
-if(_aa5>=v1&&(!_aa7)){
-v2=_aa5;
-}
-}
-}else{
-if(_aa5<v1){
-v1=_aa5;
-}else{
-if(_aa5>v2){
-v2=_aa5;
-}else{
-_aa5<m?v1=_aa5:v2=_aa5;
-}
-}
-}
-$(_a9e).slider("setValues",[v1,v2]);
-}else{
-$(_a9e).slider("setValue",_aa5);
-}
-};
-};
-function _aa8(_aa9,_aaa){
-var _aab=$.data(_aa9,"slider");
-var opts=_aab.options;
-var _aac=_aab.slider;
-var _aad=$.isArray(opts.value)?opts.value:[opts.value];
-var _aae=[];
-if(!$.isArray(_aaa)){
-_aaa=$.map(String(_aaa).split(opts.separator),function(v){
-return parseFloat(v);
-});
-}
-_aac.find(".slider-value").remove();
-var name=$(_aa9).attr("sliderName")||"";
-for(var i=0;i<_aaa.length;i++){
-var _aaf=_aaa[i];
-if(_aaf<opts.min){
-_aaf=opts.min;
-}
-if(_aaf>opts.max){
-_aaf=opts.max;
-}
-var _ab0=$("<input type=\"hidden\" class=\"slider-value\">").appendTo(_aac);
-_ab0.attr("name",name);
-_ab0.val(_aaf);
-_aae.push(_aaf);
-var _ab1=_aac.find(".slider-handle:eq("+i+")");
-var tip=_ab1.next();
-var pos=_ab2(_aa9,_aaf);
-if(opts.showTip){
-tip.show();
-tip.html(opts.tipFormatter.call(_aa9,_aaf));
-}else{
-tip.hide();
-}
-if(opts.mode=="h"){
-var _ab3="left:"+pos+"px;";
-_ab1.attr("style",_ab3);
-tip.attr("style",_ab3+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px");
-}else{
-var _ab3="top:"+pos+"px;";
-_ab1.attr("style",_ab3);
-tip.attr("style",_ab3+"margin-left:"+(-Math.round(tip.outerWidth()))+"px");
-}
-}
-opts.value=opts.range?_aae:_aae[0];
-$(_aa9).val(opts.range?_aae.join(opts.separator):_aae[0]);
-if(_aad.join(",")!=_aae.join(",")){
-opts.onChange.call(_aa9,opts.value,(opts.range?_aad:_aad[0]));
-}
-};
-function _a95(_ab4){
-var opts=$.data(_ab4,"slider").options;
-var fn=opts.onChange;
-opts.onChange=function(){
-};
-_aa8(_ab4,opts.value);
-opts.onChange=fn;
-};
-function _ab2(_ab5,_ab6){
-var _ab7=$.data(_ab5,"slider");
-var opts=_ab7.options;
-var _ab8=_ab7.slider;
-var size=opts.mode=="h"?_ab8.width():_ab8.height();
-var pos=opts.converter.toPosition.call(_ab5,_ab6,size);
-if(opts.mode=="v"){
-pos=_ab8.height()-pos;
-}
-if(opts.reversed){
-pos=size-pos;
-}
-return pos.toFixed(0);
-};
-function _aa6(_ab9,pos){
-var _aba=$.data(_ab9,"slider");
-var opts=_aba.options;
-var _abb=_aba.slider;
-var size=opts.mode=="h"?_abb.width():_abb.height();
-var pos=opts.mode=="h"?(opts.reversed?(size-pos):pos):(opts.reversed?pos:(size-pos));
-var _abc=opts.converter.toValue.call(_ab9,pos,size);
-return _abc.toFixed(0);
-};
-$.fn.slider=function(_abd,_abe){
-if(typeof _abd=="string"){
-return $.fn.slider.methods[_abd](this,_abe);
-}
-_abd=_abd||{};
-return this.each(function(){
-var _abf=$.data(this,"slider");
-if(_abf){
-$.extend(_abf.options,_abd);
-}else{
-_abf=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_abd),slider:init(this)});
-$(this).removeAttr("disabled");
-}
-var opts=_abf.options;
-opts.min=parseFloat(opts.min);
-opts.max=parseFloat(opts.max);
-if(opts.range){
-if(!$.isArray(opts.value)){
-opts.value=$.map(String(opts.value).split(opts.separator),function(v){
-return parseFloat(v);
-});
-}
-if(opts.value.length<2){
-opts.value.push(opts.max);
-}
-}else{
-opts.value=parseFloat(opts.value);
-}
-opts.step=parseFloat(opts.step);
-opts.originalValue=opts.value;
-_a9d(this);
-_a96(this);
-_a90(this);
-});
-};
-$.fn.slider.methods={options:function(jq){
-return $.data(jq[0],"slider").options;
-},destroy:function(jq){
-return jq.each(function(){
-$.data(this,"slider").slider.remove();
-$(this).remove();
-});
-},resize:function(jq,_ac0){
-return jq.each(function(){
-_a90(this,_ac0);
-});
-},getValue:function(jq){
-return jq.slider("options").value;
-},getValues:function(jq){
-return jq.slider("options").value;
-},setValue:function(jq,_ac1){
-return jq.each(function(){
-_aa8(this,[_ac1]);
-});
-},setValues:function(jq,_ac2){
-return jq.each(function(){
-_aa8(this,_ac2);
-});
-},clear:function(jq){
-return jq.each(function(){
-var opts=$(this).slider("options");
-_aa8(this,opts.range?[opts.min,opts.max]:[opts.min]);
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).slider("options");
-$(this).slider(opts.range?"setValues":"setValue",opts.originalValue);
-});
-},enable:function(jq){
-return jq.each(function(){
-$.data(this,"slider").options.disabled=false;
-_a9d(this);
-});
-},disable:function(jq){
-return jq.each(function(){
-$.data(this,"slider").options.disabled=true;
-_a9d(this);
-});
-}};
-$.fn.slider.parseOptions=function(_ac3){
-var t=$(_ac3);
-return $.extend({},$.parser.parseOptions(_ac3,["width","height","mode",{reversed:"boolean",showTip:"boolean",range:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)});
-};
-$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,range:false,value:0,separator:",",min:0,max:100,step:1,rule:[],tipFormatter:function(_ac4){
-return _ac4;
-},converter:{toPosition:function(_ac5,size){
-var opts=$(this).slider("options");
-return (_ac5-opts.min)/(opts.max-opts.min)*size;
-},toValue:function(pos,size){
-var opts=$(this).slider("options");
-return opts.min+(opts.max-opts.min)*(pos/size);
-}},onChange:function(_ac6,_ac7){
-},onSlideStart:function(_ac8){
-},onSlideEnd:function(_ac9){
-},onComplete:function(_aca){
-}};
-})(jQuery);
-
diff --git a/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery.min.js b/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery.min.js
deleted file mode 100644
index 0f60b7b..0000000
--- a/Zplot/js/plotPanelControl/jquery-easyui-1.4.4/jquery.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
-
-return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){
-return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m});
diff --git a/Zplot/js/plotPanelControl/zTree/css/zTreeStyle.css b/Zplot/js/plotPanelControl/zTree/css/zTreeStyle.css
deleted file mode 100644
index efca838..0000000
--- a/Zplot/js/plotPanelControl/zTree/css/zTreeStyle.css
+++ /dev/null
@@ -1,97 +0,0 @@
-/*-------------------------------------
-zTree Style
-
-version:	3.5.19
-author:		Hunter.z
-email:		hunter.z@263.net
-website:	http://code.google.com/p/jquerytree/
-
--------------------------------------*/
-
-.ztree * {padding:0; margin:0; font-size:16px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
-.ztree {margin:0; padding:5px; color:#333}
-.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0}
-.ztree li ul{ margin:0; padding:0 0 0 18px}
-.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}
-
-.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; height:17px; color:#333; background-color: transparent;
-	text-decoration:none; vertical-align:top; display: inline-block}
-.ztree li a:hover {text-decoration:underline}
-.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
-.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
-.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#316AC5; color:white; height:16px; border:1px #316AC5 solid;
-	opacity:0.8; filter:alpha(opacity=80)}
-.ztree li a.tmpTargetNode_prev {}
-.ztree li a.tmpTargetNode_next {}
-.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;
-	font-size:12px; border:1px #7EC4CC solid; *border:0px}
-.ztree li span {line-height:16px; margin-right:2px}
-.ztree li span.button {line-height:0; margin:0; width:16px; height:16px; display: inline-block; vertical-align:middle;
-	border:0 none; cursor: pointer;outline:none;
-	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
-	background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
-
-.ztree li span.button.chk {width:13px; height:13px; margin:0 3px 0 0; cursor: auto}
-.ztree li span.button.chk.checkbox_false_full {background-position:0 0}
-.ztree li span.button.chk.checkbox_false_full_focus {background-position:0 -14px}
-.ztree li span.button.chk.checkbox_false_part {background-position:0 -28px}
-.ztree li span.button.chk.checkbox_false_part_focus {background-position:0 -42px}
-.ztree li span.button.chk.checkbox_false_disable {background-position:0 -56px}
-.ztree li span.button.chk.checkbox_true_full {background-position:-14px 0}
-.ztree li span.button.chk.checkbox_true_full_focus {background-position:-14px -14px}
-.ztree li span.button.chk.checkbox_true_part {background-position:-14px -28px}
-.ztree li span.button.chk.checkbox_true_part_focus {background-position:-14px -42px}
-.ztree li span.button.chk.checkbox_true_disable {background-position:-14px -56px}
-.ztree li span.button.chk.radio_false_full {background-position:-28px 0}
-.ztree li span.button.chk.radio_false_full_focus {background-position:-28px -14px}
-.ztree li span.button.chk.radio_false_part {background-position:-28px -28px}
-.ztree li span.button.chk.radio_false_part_focus {background-position:-28px -42px}
-.ztree li span.button.chk.radio_false_disable {background-position:-28px -56px}
-.ztree li span.button.chk.radio_true_full {background-position:-42px 0}
-.ztree li span.button.chk.radio_true_full_focus {background-position:-42px -14px}
-.ztree li span.button.chk.radio_true_part {background-position:-42px -28px}
-.ztree li span.button.chk.radio_true_part_focus {background-position:-42px -42px}
-.ztree li span.button.chk.radio_true_disable {background-position:-42px -56px}
-
-.ztree li span.button.switch {width:18px; height:18px}
-.ztree li span.button.root_open{background-position:-92px -54px}
-.ztree li span.button.root_close{background-position:-74px -54px}
-.ztree li span.button.roots_open{background-position:-92px 0}
-.ztree li span.button.roots_close{background-position:-74px 0}
-.ztree li span.button.center_open{background-position:-92px -18px}
-.ztree li span.button.center_close{background-position:-74px -18px}
-.ztree li span.button.bottom_open{background-position:-92px -36px}
-.ztree li span.button.bottom_close{background-position:-74px -36px}
-.ztree li span.button.noline_open{background-position:-92px -72px}
-.ztree li span.button.noline_close{background-position:-74px -72px}
-.ztree li span.button.root_docu{ background:none;}
-.ztree li span.button.roots_docu{background-position:-56px 0}
-.ztree li span.button.center_docu{background-position:-56px -18px}
-.ztree li span.button.bottom_docu{background-position:-56px -36px}
-.ztree li span.button.noline_docu{ background:none;}
-
-.ztree li span.button.ico_open{margin-right:2px; background-position:-110px -16px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.ico_close{margin-right:2px; background-position:-110px 0; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.ico_docu{margin-right:2px; background-position:-110px -32px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle}
-
-.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
-
-ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}
-
-span.tmpzTreeMove_arrow {width:16px; height:16px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;
-	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
-	background-position:-110px -80px; background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
-
-ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}
-.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}
-
-/* level style*/
-/*.ztree li span.button.level0 {
-	display:none;
-}
-.ztree li ul.level0 {
-	padding:0;
-	background:none;
-}*/
\ No newline at end of file
diff --git a/Zplot/js/plotPanelControl/zTree/jquery.ztree.core.js b/Zplot/js/plotPanelControl/zTree/jquery.ztree.core.js
deleted file mode 100644
index 1711dae..0000000
--- a/Zplot/js/plotPanelControl/zTree/jquery.ztree.core.js
+++ /dev/null
@@ -1,1819 +0,0 @@
-/*
- * JQuery zTree core v3.5.23
- * http://zTree.me/
- *
- * Copyright (c) 2010 Hunter.z
- *
- * Licensed same as jquery - MIT License
- * http://www.opensource.org/licenses/mit-license.php
- *
- * email: hunter.z@263.net
- * Date: 2016-04-01
- */
-(function($){
-	var settings = {}, roots = {}, caches = {},
-	//default consts of core
-	_consts = {
-		className: {
-			BUTTON: "button",
-			LEVEL: "level",
-			ICO_LOADING: "ico_loading",
-			SWITCH: "switch",
-			NAME: 'node_name'
-		},
-		event: {
-			NODECREATED: "ztree_nodeCreated",
-			CLICK: "ztree_click",
-			EXPAND: "ztree_expand",
-			COLLAPSE: "ztree_collapse",
-			ASYNC_SUCCESS: "ztree_async_success",
-			ASYNC_ERROR: "ztree_async_error",
-			REMOVE: "ztree_remove",
-			SELECTED: "ztree_selected",
-			UNSELECTED: "ztree_unselected"
-		},
-		id: {
-			A: "_a",
-			ICON: "_ico",
-			SPAN: "_span",
-			SWITCH: "_switch",
-			UL: "_ul"
-		},
-		line: {
-			ROOT: "root",
-			ROOTS: "roots",
-			CENTER: "center",
-			BOTTOM: "bottom",
-			NOLINE: "noline",
-			LINE: "line"
-		},
-		folder: {
-			OPEN: "open",
-			CLOSE: "close",
-			DOCU: "docu"
-		},
-		node: {
-			CURSELECTED: "curSelectedNode"
-		}
-	},
-	//default setting of core
-	_setting = {
-		treeId: "",
-		treeObj: null,
-		view: {
-			addDiyDom: null,
-			autoCancelSelected: true,
-			dblClickExpand: true,
-			expandSpeed: "fast",
-			fontCss: {},
-			nameIsHTML: false,
-			selectedMulti: true,
-			showIcon: true,
-			showLine: true,
-			showTitle: true,
-			txtSelectedEnable: false
-		},
-		data: {
-			key: {
-				children: "children",
-				name: "name",
-				title: "",
-				url: "url",
-				icon: "icon"
-			},
-			simpleData: {
-				enable: false,
-				idKey: "id",
-				pIdKey: "pId",
-				rootPId: null
-			},
-			keep: {
-				parent: false,
-				leaf: false
-			}
-		},
-		async: {
-			enable: false,
-			contentType: "application/x-www-form-urlencoded",
-			type: "post",
-			dataType: "text",
-			url: "",
-			autoParam: [],
-			otherParam: [],
-			dataFilter: null
-		},
-		callback: {
-			beforeAsync:null,
-			beforeClick:null,
-			beforeDblClick:null,
-			beforeRightClick:null,
-			beforeMouseDown:null,
-			beforeMouseUp:null,
-			beforeExpand:null,
-			beforeCollapse:null,
-			beforeRemove:null,
-
-			onAsyncError:null,
-			onAsyncSuccess:null,
-			onNodeCreated:null,
-			onClick:null,
-			onDblClick:null,
-			onRightClick:null,
-			onMouseDown:null,
-			onMouseUp:null,
-			onExpand:null,
-			onCollapse:null,
-			onRemove:null
-		}
-	},
-	//default root of core
-	//zTree use root to save full data
-	_initRoot = function (setting) {
-		var r = data.getRoot(setting);
-		if (!r) {
-			r = {};
-			data.setRoot(setting, r);
-		}
-		r[setting.data.key.children] = [];
-		r.expandTriggerFlag = false;
-		r.curSelectedList = [];
-		r.noSelection = true;
-		r.createdNodes = [];
-		r.zId = 0;
-		r._ver = (new Date()).getTime();
-	},
-	//default cache of core
-	_initCache = function(setting) {
-		var c = data.getCache(setting);
-		if (!c) {
-			c = {};
-			data.setCache(setting, c);
-		}
-		c.nodes = [];
-		c.doms = [];
-	},
-	//default bindEvent of core
-	_bindEvent = function(setting) {
-		var o = setting.treeObj,
-		c = consts.event;
-		o.bind(c.NODECREATED, function (event, treeId, node) {
-			tools.apply(setting.callback.onNodeCreated, [event, treeId, node]);
-		});
-
-		o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) {
-			tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]);
-		});
-
-		o.bind(c.EXPAND, function (event, treeId, node) {
-			tools.apply(setting.callback.onExpand, [event, treeId, node]);
-		});
-
-		o.bind(c.COLLAPSE, function (event, treeId, node) {
-			tools.apply(setting.callback.onCollapse, [event, treeId, node]);
-		});
-
-		o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) {
-			tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]);
-		});
-
-		o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) {
-			tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]);
-		});
-
-		o.bind(c.REMOVE, function (event, treeId, treeNode) {
-			tools.apply(setting.callback.onRemove, [event, treeId, treeNode]);
-		});
-
-		o.bind(c.SELECTED, function (event, treeId, node) {
-			tools.apply(setting.callback.onSelected, [treeId, node]);
-		});
-		o.bind(c.UNSELECTED, function (event, treeId, node) {
-			tools.apply(setting.callback.onUnSelected, [treeId, node]);
-		});
-	},
-	_unbindEvent = function(setting) {
-		var o = setting.treeObj,
-		c = consts.event;
-		o.unbind(c.NODECREATED)
-		.unbind(c.CLICK)
-		.unbind(c.EXPAND)
-		.unbind(c.COLLAPSE)
-		.unbind(c.ASYNC_SUCCESS)
-		.unbind(c.ASYNC_ERROR)
-		.unbind(c.REMOVE)
-		.unbind(c.SELECTED)
-		.unbind(c.UNSELECTED);
-	},
-	//default event proxy of core
-	_eventProxy = function(event) {
-		var target = event.target,
-		setting = data.getSetting(event.data.treeId),
-		tId = "", node = null,
-		nodeEventType = "", treeEventType = "",
-		nodeEventCallback = null, treeEventCallback = null,
-		tmp = null;
-
-		if (tools.eqs(event.type, "mousedown")) {
-			treeEventType = "mousedown";
-		} else if (tools.eqs(event.type, "mouseup")) {
-			treeEventType = "mouseup";
-		} else if (tools.eqs(event.type, "contextmenu")) {
-			treeEventType = "contextmenu";
-		} else if (tools.eqs(event.type, "click")) {
-			if (tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.SWITCH) !== null) {
-				tId = tools.getNodeMainDom(target).id;
-				nodeEventType = "switchNode";
-			} else {
-				tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
-				if (tmp) {
-					tId = tools.getNodeMainDom(tmp).id;
-					nodeEventType = "clickNode";
-				}
-			}
-		} else if (tools.eqs(event.type, "dblclick")) {
-			treeEventType = "dblclick";
-			tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
-			if (tmp) {
-				tId = tools.getNodeMainDom(tmp).id;
-				nodeEventType = "switchNode";
-			}
-		}
-		if (treeEventType.length > 0 && tId.length == 0) {
-			tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
-			if (tmp) {tId = tools.getNodeMainDom(tmp).id;}
-		}
-		// event to node
-		if (tId.length>0) {
-			node = data.getNodeCache(setting, tId);
-			switch (nodeEventType) {
-				case "switchNode" :
-					if (!node.isParent) {
-						nodeEventType = "";
-					} else if (tools.eqs(event.type, "click")
-						|| (tools.eqs(event.type, "dblclick") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) {
-						nodeEventCallback = handler.onSwitchNode;
-					} else {
-						nodeEventType = "";
-					}
-					break;
-				case "clickNode" :
-					nodeEventCallback = handler.onClickNode;
-					break;
-			}
-		}
-		// event to zTree
-		switch (treeEventType) {
-			case "mousedown" :
-				treeEventCallback = handler.onZTreeMousedown;
-				break;
-			case "mouseup" :
-				treeEventCallback = handler.onZTreeMouseup;
-				break;
-			case "dblclick" :
-				treeEventCallback = handler.onZTreeDblclick;
-				break;
-			case "contextmenu" :
-				treeEventCallback = handler.onZTreeContextmenu;
-				break;
-		}
-		var proxyResult = {
-			stop: false,
-			node: node,
-			nodeEventType: nodeEventType,
-			nodeEventCallback: nodeEventCallback,
-			treeEventType: treeEventType,
-			treeEventCallback: treeEventCallback
-		};
-		return proxyResult
-	},
-	//default init node of core
-	_initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
-		if (!n) return;
-		var r = data.getRoot(setting),
-		childKey = setting.data.key.children;
-		n.level = level;
-		n.tId = setting.treeId + "_" + (++r.zId);
-		n.parentTId = parentNode ? parentNode.tId : null;
-		n.open = (typeof n.open == "string") ? tools.eqs(n.open, "true") : !!n.open;
-		if (n[childKey] && n[childKey].length > 0) {
-			n.isParent = true;
-			n.zAsync = true;
-		} else {
-			n.isParent = (typeof n.isParent == "string") ? tools.eqs(n.isParent, "true") : !!n.isParent;
-			n.open = (n.isParent && !setting.async.enable) ? n.open : false;
-			n.zAsync = !n.isParent;
-		}
-		n.isFirstNode = isFirstNode;
-		n.isLastNode = isLastNode;
-		n.getParentNode = function() {return data.getNodeCache(setting, n.parentTId);};
-		n.getPreNode = function() {return data.getPreNode(setting, n);};
-		n.getNextNode = function() {return data.getNextNode(setting, n);};
-		n.getIndex = function() {return data.getNodeIndex(setting, n);};
-		n.getPath = function() {return data.getNodePath(setting, n);};
-		n.isAjaxing = false;
-		data.fixPIdKeyValue(setting, n);
-	},
-	_init = {
-		bind: [_bindEvent],
-		unbind: [_unbindEvent],
-		caches: [_initCache],
-		nodes: [_initNode],
-		proxys: [_eventProxy],
-		roots: [_initRoot],
-		beforeA: [],
-		afterA: [],
-		innerBeforeA: [],
-		innerAfterA: [],
-		zTreeTools: []
-	},
-	//method of operate data
-	data = {
-		addNodeCache: function(setting, node) {
-			data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node;
-		},
-		getNodeCacheId: function(tId) {
-			return tId.substring(tId.lastIndexOf("_")+1);
-		},
-		addAfterA: function(afterA) {
-			_init.afterA.push(afterA);
-		},
-		addBeforeA: function(beforeA) {
-			_init.beforeA.push(beforeA);
-		},
-		addInnerAfterA: function(innerAfterA) {
-			_init.innerAfterA.push(innerAfterA);
-		},
-		addInnerBeforeA: function(innerBeforeA) {
-			_init.innerBeforeA.push(innerBeforeA);
-		},
-		addInitBind: function(bindEvent) {
-			_init.bind.push(bindEvent);
-		},
-		addInitUnBind: function(unbindEvent) {
-			_init.unbind.push(unbindEvent);
-		},
-		addInitCache: function(initCache) {
-			_init.caches.push(initCache);
-		},
-		addInitNode: function(initNode) {
-			_init.nodes.push(initNode);
-		},
-		addInitProxy: function(initProxy, isFirst) {
-			if (!!isFirst) {
-				_init.proxys.splice(0,0,initProxy);
-			} else {
-				_init.proxys.push(initProxy);
-			}
-		},
-		addInitRoot: function(initRoot) {
-			_init.roots.push(initRoot);
-		},
-		addNodesData: function(setting, parentNode, index, nodes) {
-			var childKey = setting.data.key.children, params;
-			if (!parentNode[childKey]) {
-				parentNode[childKey] = [];
-				index = -1;
-			} else if (index >= parentNode[childKey].length) {
-				index = -1;
-			}
-
-			if (parentNode[childKey].length > 0 && index === 0) {
-				parentNode[childKey][0].isFirstNode = false;
-				view.setNodeLineIcos(setting, parentNode[childKey][0]);
-			} else if (parentNode[childKey].length > 0 && index < 0) {
-				parentNode[childKey][parentNode[childKey].length - 1].isLastNode = false;
-				view.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]);
-			}
-			parentNode.isParent = true;
-
-			if (index<0) {
-				parentNode[childKey] = parentNode[childKey].concat(nodes);
-			} else {
-				params = [index, 0].concat(nodes);
-				parentNode[childKey].splice.apply(parentNode[childKey], params);
-			}
-		},
-		addSelectedNode: function(setting, node) {
-			var root = data.getRoot(setting);
-			if (!data.isSelectedNode(setting, node)) {
-				root.curSelectedList.push(node);
-			}
-		},
-		addCreatedNode: function(setting, node) {
-			if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
-				var root = data.getRoot(setting);
-				root.createdNodes.push(node);
-			}
-		},
-		addZTreeTools: function(zTreeTools) {
-			_init.zTreeTools.push(zTreeTools);
-		},
-		exSetting: function(s) {
-			$.extend(true, _setting, s);
-		},
-		fixPIdKeyValue: function(setting, node) {
-			if (setting.data.simpleData.enable) {
-				node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId;
-			}
-		},
-		getAfterA: function(setting, node, array) {
-			for (var i=0, j=_init.afterA.length; i<j; i++) {
-				_init.afterA[i].apply(this, arguments);
-			}
-		},
-		getBeforeA: function(setting, node, array) {
-			for (var i=0, j=_init.beforeA.length; i<j; i++) {
-				_init.beforeA[i].apply(this, arguments);
-			}
-		},
-		getInnerAfterA: function(setting, node, array) {
-			for (var i=0, j=_init.innerAfterA.length; i<j; i++) {
-				_init.innerAfterA[i].apply(this, arguments);
-			}
-		},
-		getInnerBeforeA: function(setting, node, array) {
-			for (var i=0, j=_init.innerBeforeA.length; i<j; i++) {
-				_init.innerBeforeA[i].apply(this, arguments);
-			}
-		},
-		getCache: function(setting) {
-			return caches[setting.treeId];
-		},
-		getNodeIndex: function(setting, node) {
-			if (!node) return null;
-			var childKey = setting.data.key.children,
-			p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-			for (var i=0, l=p[childKey].length-1; i<=l; i++) {
-				if (p[childKey][i] === node) {
-					return i;
-				}
-			}
-			return -1;
-		},
-		getNextNode: function(setting, node) {
-			if (!node) return null;
-			var childKey = setting.data.key.children,
-			p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-			for (var i=0, l=p[childKey].length-1; i<=l; i++) {
-				if (p[childKey][i] === node) {
-					return (i==l ? null : p[childKey][i+1]);
-				}
-			}
-			return null;
-		},
-		getNodeByParam: function(setting, nodes, key, value) {
-			if (!nodes || !key) return null;
-			var childKey = setting.data.key.children;
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				if (nodes[i][key] == value) {
-					return nodes[i];
-				}
-				var tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value);
-				if (tmp) return tmp;
-			}
-			return null;
-		},
-		getNodeCache: function(setting, tId) {
-			if (!tId) return null;
-			var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)];
-			return n ? n : null;
-		},
-		getNodeName: function(setting, node) {
-			var nameKey = setting.data.key.name;
-			return "" + node[nameKey];
-		},
-		getNodePath: function(setting, node) {
-			if (!node) return null;
-
-			var path;
-			if(node.parentTId) {
-				path = node.getParentNode().getPath();
-			} else {
-				path = [];
-			}
-
-			if (path) {
-				path.push(node);
-			}
-
-			return path;
-		},
-		getNodeTitle: function(setting, node) {
-			var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title;
-			return "" + node[t];
-		},
-		getNodes: function(setting) {
-			return data.getRoot(setting)[setting.data.key.children];
-		},
-		getNodesByParam: function(setting, nodes, key, value) {
-			if (!nodes || !key) return [];
-			var childKey = setting.data.key.children,
-			result = [];
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				if (nodes[i][key] == value) {
-					result.push(nodes[i]);
-				}
-				result = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value));
-			}
-			return result;
-		},
-		getNodesByParamFuzzy: function(setting, nodes, key, value) {
-			if (!nodes || !key) return [];
-			var childKey = setting.data.key.children,
-			result = [];
-			value = value.toLowerCase();
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				if (typeof nodes[i][key] == "string" && nodes[i][key].toLowerCase().indexOf(value)>-1) {
-					result.push(nodes[i]);
-				}
-				result = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value));
-			}
-			return result;
-		},
-		getNodesByFilter: function(setting, nodes, filter, isSingle, invokeParam) {
-			if (!nodes) return (isSingle ? null : []);
-			var childKey = setting.data.key.children,
-			result = isSingle ? null : [];
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				if (tools.apply(filter, [nodes[i], invokeParam], false)) {
-					if (isSingle) {return nodes[i];}
-					result.push(nodes[i]);
-				}
-				var tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam);
-				if (isSingle && !!tmpResult) {return tmpResult;}
-				result = isSingle ? tmpResult : result.concat(tmpResult);
-			}
-			return result;
-		},
-		getPreNode: function(setting, node) {
-			if (!node) return null;
-			var childKey = setting.data.key.children,
-			p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-			for (var i=0, l=p[childKey].length; i<l; i++) {
-				if (p[childKey][i] === node) {
-					return (i==0 ? null : p[childKey][i-1]);
-				}
-			}
-			return null;
-		},
-		getRoot: function(setting) {
-			return setting ? roots[setting.treeId] : null;
-		},
-		getRoots: function() {
-			return roots;
-		},
-		getSetting: function(treeId) {
-			return settings[treeId];
-		},
-		getSettings: function() {
-			return settings;
-		},
-		getZTreeTools: function(treeId) {
-			var r = this.getRoot(this.getSetting(treeId));
-			return r ? r.treeTools : null;
-		},
-		initCache: function(setting) {
-			for (var i=0, j=_init.caches.length; i<j; i++) {
-				_init.caches[i].apply(this, arguments);
-			}
-		},
-		initNode: function(setting, level, node, parentNode, preNode, nextNode) {
-			for (var i=0, j=_init.nodes.length; i<j; i++) {
-				_init.nodes[i].apply(this, arguments);
-			}
-		},
-		initRoot: function(setting) {
-			for (var i=0, j=_init.roots.length; i<j; i++) {
-				_init.roots[i].apply(this, arguments);
-			}
-		},
-		isSelectedNode: function(setting, node) {
-			var root = data.getRoot(setting);
-			for (var i=0, j=root.curSelectedList.length; i<j; i++) {
-				if(node === root.curSelectedList[i]) return true;
-			}
-			return false;
-		},
-		removeNodeCache: function(setting, node) {
-			var childKey = setting.data.key.children;
-			if (node[childKey]) {
-				for (var i=0, l=node[childKey].length; i<l; i++) {
-					arguments.callee(setting, node[childKey][i]);
-				}
-			}
-			data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null;
-		},
-		removeSelectedNode: function(setting, node) {
-			var root = data.getRoot(setting);
-			for (var i=0, j=root.curSelectedList.length; i<j; i++) {
-				if(node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) {
-					root.curSelectedList.splice(i, 1);
-					setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, node]);
-					i--;j--;
-				}
-			}
-		},
-		setCache: function(setting, cache) {
-			caches[setting.treeId] = cache;
-		},
-		setRoot: function(setting, root) {
-			roots[setting.treeId] = root;
-		},
-		setZTreeTools: function(setting, zTreeTools) {
-			for (var i=0, j=_init.zTreeTools.length; i<j; i++) {
-				_init.zTreeTools[i].apply(this, arguments);
-			}
-		},
-		transformToArrayFormat: function (setting, nodes) {
-			if (!nodes) return [];
-			var childKey = setting.data.key.children,
-			r = [];
-			if (tools.isArray(nodes)) {
-				for (var i=0, l=nodes.length; i<l; i++) {
-					r.push(nodes[i]);
-					if (nodes[i][childKey])
-						r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey]));
-				}
-			} else {
-				r.push(nodes);
-				if (nodes[childKey])
-					r = r.concat(data.transformToArrayFormat(setting, nodes[childKey]));
-			}
-			return r;
-		},
-		transformTozTreeFormat: function(setting, sNodes) {
-			var i,l,
-			key = setting.data.simpleData.idKey,
-			parentKey = setting.data.simpleData.pIdKey,
-			childKey = setting.data.key.children;
-			if (!key || key=="" || !sNodes) return [];
-
-			if (tools.isArray(sNodes)) {
-				var r = [];
-				var tmpMap = [];
-				for (i=0, l=sNodes.length; i<l; i++) {
-					tmpMap[sNodes[i][key]] = sNodes[i];
-				}
-				for (i=0, l=sNodes.length; i<l; i++) {
-					if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {
-						if (!tmpMap[sNodes[i][parentKey]][childKey])
-							tmpMap[sNodes[i][parentKey]][childKey] = [];
-						tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);
-					} else {
-						r.push(sNodes[i]);
-					}
-				}
-				return r;
-			}else {
-				return [sNodes];
-			}
-		}
-	},
-	//method of event proxy
-	event = {
-		bindEvent: function(setting) {
-			for (var i=0, j=_init.bind.length; i<j; i++) {
-				_init.bind[i].apply(this, arguments);
-			}
-		},
-		unbindEvent: function(setting) {
-			for (var i=0, j=_init.unbind.length; i<j; i++) {
-				_init.unbind[i].apply(this, arguments);
-			}
-		},
-		bindTree: function(setting) {
-			var eventParam = {
-				treeId: setting.treeId
-			},
-			o = setting.treeObj;
-			if (!setting.view.txtSelectedEnable) {
-				// for can't select text
-				o.bind('selectstart', handler.onSelectStart).css({
-					"-moz-user-select":"-moz-none"
-				});
-			}
-			o.bind('click', eventParam, event.proxy);
-			o.bind('dblclick', eventParam, event.proxy);
-			o.bind('mouseover', eventParam, event.proxy);
-			o.bind('mouseout', eventParam, event.proxy);
-			o.bind('mousedown', eventParam, event.proxy);
-			o.bind('mouseup', eventParam, event.proxy);
-			o.bind('contextmenu', eventParam, event.proxy);
-		},
-		unbindTree: function(setting) {
-			var o = setting.treeObj;
-			o.unbind('selectstart', handler.onSelectStart)
-				.unbind('click', event.proxy)
-				.unbind('dblclick', event.proxy)
-				.unbind('mouseover', event.proxy)
-				.unbind('mouseout', event.proxy)
-				.unbind('mousedown', event.proxy)
-				.unbind('mouseup', event.proxy)
-				.unbind('contextmenu', event.proxy);
-		},
-		doProxy: function(e) {
-			var results = [];
-			for (var i=0, j=_init.proxys.length; i<j; i++) {
-				var proxyResult = _init.proxys[i].apply(this, arguments);
-				results.push(proxyResult);
-				if (proxyResult.stop) {
-					break;
-				}
-			}
-			return results;
-		},
-		proxy: function(e) {
-			var setting = data.getSetting(e.data.treeId);
-			if (!tools.uCanDo(setting, e)) return true;
-			var results = event.doProxy(e),
-			r = true, x = false;
-			for (var i=0, l=results.length; i<l; i++) {
-				var proxyResult = results[i];
-				if (proxyResult.nodeEventCallback) {
-					x = true;
-					r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
-				}
-				if (proxyResult.treeEventCallback) {
-					x = true;
-					r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
-				}
-			}
-			return r;
-		}
-	},
-	//method of event handler
-	handler = {
-		onSwitchNode: function (event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (node.open) {
-				if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true;
-				data.getRoot(setting).expandTriggerFlag = true;
-				view.switchNode(setting, node);
-			} else {
-				if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true;
-				data.getRoot(setting).expandTriggerFlag = true;
-				view.switchNode(setting, node);
-			}
-			return true;
-		},
-		onClickNode: function (event, node) {
-			var setting = data.getSetting(event.data.treeId),
-			clickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1;
-			if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true;
-			if (clickFlag === 0) {
-				view.cancelPreSelectedNode(setting, node);
-			} else {
-				view.selectNode(setting, node, clickFlag === 2);
-			}
-			setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]);
-			return true;
-		},
-		onZTreeMousedown: function(event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) {
-				tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]);
-			}
-			return true;
-		},
-		onZTreeMouseup: function(event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) {
-				tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]);
-			}
-			return true;
-		},
-		onZTreeDblclick: function(event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) {
-				tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]);
-			}
-			return true;
-		},
-		onZTreeContextmenu: function(event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) {
-				tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]);
-			}
-			return (typeof setting.callback.onRightClick) != "function";
-		},
-		onSelectStart: function(e){
-			var n = e.originalEvent.srcElement.nodeName.toLowerCase();
-			return (n === "input" || n === "textarea" );
-		}
-	},
-	//method of tools for zTree
-	tools = {
-		apply: function(fun, param, defaultValue) {
-			if ((typeof fun) == "function") {
-				return fun.apply(zt, param?param:[]);
-			}
-			return defaultValue;
-		},
-		canAsync: function(setting, node) {
-			var childKey = setting.data.key.children;
-			return (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0)));
-		},
-		clone: function (obj){
-			if (obj === null) return null;
-			var o = tools.isArray(obj) ? [] : {};
-			for(var i in obj){
-				o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? arguments.callee(obj[i]) : obj[i]);
-			}
-			return o;
-		},
-		eqs: function(str1, str2) {
-			return str1.toLowerCase() === str2.toLowerCase();
-		},
-		isArray: function(arr) {
-			return Object.prototype.toString.apply(arr) === "[object Array]";
-		},
-		$: function(node, exp, setting) {
-			if (!!exp && typeof exp != "string") {
-				setting = exp;
-				exp = "";
-			}
-			if (typeof node == "string") {
-				return $(node, setting ? setting.treeObj.get(0).ownerDocument : null);
-			} else {
-				return $("#" + node.tId + exp, setting ? setting.treeObj : null);
-			}
-		},
-		getMDom: function (setting, curDom, targetExpr) {
-			if (!curDom) return null;
-			while (curDom && curDom.id !== setting.treeId) {
-				for (var i=0, l=targetExpr.length; curDom.tagName && i<l; i++) {
-					if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) {
-						return curDom;
-					}
-				}
-				curDom = curDom.parentNode;
-			}
-			return null;
-		},
-		getNodeMainDom:function(target) {
-			return ($(target).parent("li").get(0) || $(target).parentsUntil("li").parent().get(0));
-		},
-		isChildOrSelf: function(dom, parentId) {
-			return ( $(dom).closest("#" + parentId).length> 0 );
-		},
-		uCanDo: function(setting, e) {
-			return true;
-		}
-	},
-	//method of operate ztree dom
-	view = {
-		addNodes: function(setting, parentNode, index, newNodes, isSilent) {
-			if (setting.data.keep.leaf && parentNode && !parentNode.isParent) {
-				return;
-			}
-			if (!tools.isArray(newNodes)) {
-				newNodes = [newNodes];
-			}
-			if (setting.data.simpleData.enable) {
-				newNodes = data.transformTozTreeFormat(setting, newNodes);
-			}
-			if (parentNode) {
-				var target_switchObj = $$(parentNode, consts.id.SWITCH, setting),
-				target_icoObj = $$(parentNode, consts.id.ICON, setting),
-				target_ulObj = $$(parentNode, consts.id.UL, setting);
-
-				if (!parentNode.open) {
-					view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE);
-					view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE);
-					parentNode.open = false;
-					target_ulObj.css({
-						"display": "none"
-					});
-				}
-
-				data.addNodesData(setting, parentNode, index, newNodes);
-				view.createNodes(setting, parentNode.level + 1, newNodes, parentNode, index);
-				if (!isSilent) {
-					view.expandCollapseParentNode(setting, parentNode, true);
-				}
-			} else {
-				data.addNodesData(setting, data.getRoot(setting), index, newNodes);
-				view.createNodes(setting, 0, newNodes, null, index);
-			}
-		},
-		appendNodes: function(setting, level, nodes, parentNode, index, initFlag, openFlag) {
-			if (!nodes) return [];
-			var html = [],
-			childKey = setting.data.key.children;
-
-			var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting),
-				tmpPChild = tmpPNode[childKey],
-				isFirstNode, isLastNode;
-
-			if (!tmpPChild || index >= tmpPChild.length) {
-				index = -1;
-			}
-
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				var node = nodes[i];
-				if (initFlag) {
-					isFirstNode = ((index===0 || tmpPChild.length == nodes.length) && (i == 0));
-					isLastNode = (index < 0 && i == (nodes.length - 1));
-					data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag);
-					data.addNodeCache(setting, node);
-				}
-
-				var childHtml = [];
-				if (node[childKey] && node[childKey].length > 0) {
-					//make child html first, because checkType
-					childHtml = view.appendNodes(setting, level + 1, node[childKey], node, -1, initFlag, openFlag && node.open);
-				}
-				if (openFlag) {
-
-					view.makeDOMNodeMainBefore(html, setting, node);
-					view.makeDOMNodeLine(html, setting, node);
-					data.getBeforeA(setting, node, html);
-					view.makeDOMNodeNameBefore(html, setting, node);
-					data.getInnerBeforeA(setting, node, html);
-					view.makeDOMNodeIcon(html, setting, node);
-					data.getInnerAfterA(setting, node, html);
-					view.makeDOMNodeNameAfter(html, setting, node);
-					data.getAfterA(setting, node, html);
-					if (node.isParent && node.open) {
-						view.makeUlHtml(setting, node, html, childHtml.join(''));
-					}
-					view.makeDOMNodeMainAfter(html, setting, node);
-					data.addCreatedNode(setting, node);
-				}
-			}
-			return html;
-		},
-		appendParentULDom: function(setting, node) {
-			var html = [],
-			nObj = $$(node, setting);
-			if (!nObj.get(0) && !!node.parentTId) {
-				view.appendParentULDom(setting, node.getParentNode());
-				nObj = $$(node, setting);
-			}
-			var ulObj = $$(node, consts.id.UL, setting);
-			if (ulObj.get(0)) {
-				ulObj.remove();
-			}
-			var childKey = setting.data.key.children,
-			childHtml = view.appendNodes(setting, node.level+1, node[childKey], node, -1, false, true);
-			view.makeUlHtml(setting, node, html, childHtml.join(''));
-			nObj.append(html.join(''));
-		},
-		asyncNode: function(setting, node, isSilent, callback) {
-			var i, l;
-			if (node && !node.isParent) {
-				tools.apply(callback);
-				return false;
-			} else if (node && node.isAjaxing) {
-				return false;
-			} else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) {
-				tools.apply(callback);
-				return false;
-			}
-			if (node) {
-				node.isAjaxing = true;
-				var icoObj = $$(node, consts.id.ICON, setting);
-				icoObj.attr({"style":"", "class":consts.className.BUTTON + " " + consts.className.ICO_LOADING});
-			}
-
-			var tmpParam = {};
-			for (i = 0, l = setting.async.autoParam.length; node && i < l; i++) {
-				var pKey = setting.async.autoParam[i].split("="), spKey = pKey;
-				if (pKey.length>1) {
-					spKey = pKey[1];
-					pKey = pKey[0];
-				}
-				tmpParam[spKey] = node[pKey];
-			}
-			if (tools.isArray(setting.async.otherParam)) {
-				for (i = 0, l = setting.async.otherParam.length; i < l; i += 2) {
-					tmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1];
-				}
-			} else {
-				for (var p in setting.async.otherParam) {
-					tmpParam[p] = setting.async.otherParam[p];
-				}
-			}
-
-			var _tmpV = data.getRoot(setting)._ver;
-			$.ajax({
-				contentType: setting.async.contentType,
-                cache: false,
-				type: setting.async.type,
-				url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url),
-				data: tmpParam,
-				dataType: setting.async.dataType,
-				success: function(msg) {
-					if (_tmpV != data.getRoot(setting)._ver) {
-						return;
-					}
-					var newNodes = [];
-					try {
-						if (!msg || msg.length == 0) {
-							newNodes = [];
-						} else if (typeof msg == "string") {
-							newNodes = eval("(" + msg + ")");
-						} else {
-							newNodes = msg;
-						}
-					} catch(err) {
-						newNodes = msg;
-					}
-
-					if (node) {
-						node.isAjaxing = null;
-						node.zAsync = true;
-					}
-					view.setNodeLineIcos(setting, node);
-					if (newNodes && newNodes !== "") {
-						newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes);
-						view.addNodes(setting, node, -1, !!newNodes ? tools.clone(newNodes) : [], !!isSilent);
-					} else {
-						view.addNodes(setting, node, -1, [], !!isSilent);
-					}
-					setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]);
-					tools.apply(callback);
-				},
-				error: function(XMLHttpRequest, textStatus, errorThrown) {
-					if (_tmpV != data.getRoot(setting)._ver) {
-						return;
-					}
-					if (node) node.isAjaxing = null;
-					view.setNodeLineIcos(setting, node);
-					setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]);
-				}
-			});
-			return true;
-		},
-		cancelPreSelectedNode: function (setting, node, excludeNode) {
-			var list = data.getRoot(setting).curSelectedList,
-				i, n;
-			for (i=list.length-1; i>=0; i--) {
-				n = list[i];
-				if (node === n || (!node && (!excludeNode || excludeNode !== n))) {
-					$$(n, consts.id.A, setting).removeClass(consts.node.CURSELECTED);
-					if (node) {
-						data.removeSelectedNode(setting, node);
-						break;
-					} else {
-						list.splice(i, 1);
-						setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, n]);
-					}
-				}
-			}
-		},
-		createNodeCallback: function(setting) {
-			if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
-				var root = data.getRoot(setting);
-				while (root.createdNodes.length>0) {
-					var node = root.createdNodes.shift();
-					tools.apply(setting.view.addDiyDom, [setting.treeId, node]);
-					if (!!setting.callback.onNodeCreated) {
-						setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]);
-					}
-				}
-			}
-		},
-		createNodes: function(setting, level, nodes, parentNode, index) {
-			if (!nodes || nodes.length == 0) return;
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children,
-			openFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0);
-			root.createdNodes = [];
-			var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, index, true, openFlag),
-				parentObj, nextObj;
-
-			if (!parentNode) {
-				parentObj = setting.treeObj;
-				//setting.treeObj.append(zTreeHtml.join(''));
-			} else {
-				var ulObj = $$(parentNode, consts.id.UL, setting);
-				if (ulObj.get(0)) {
-					parentObj = ulObj;
-					//ulObj.append(zTreeHtml.join(''));
-				}
-			}
-			if (parentObj) {
-				if (index >= 0) {
-					nextObj = parentObj.children()[index];
-				}
-				if (index >=0 && nextObj) {
-					$(nextObj).before(zTreeHtml.join(''));
-				} else {
-					parentObj.append(zTreeHtml.join(''));
-				}
-			}
-
-			view.createNodeCallback(setting);
-		},
-		destroy: function(setting) {
-			if (!setting) return;
-			data.initCache(setting);
-			data.initRoot(setting);
-			event.unbindTree(setting);
-			event.unbindEvent(setting);
-			setting.treeObj.empty();
-			delete settings[setting.treeId];
-		},
-		expandCollapseNode: function(setting, node, expandFlag, animateFlag, callback) {
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children;
-			if (!node) {
-				tools.apply(callback, []);
-				return;
-			}
-			if (root.expandTriggerFlag) {
-				var _callback = callback;
-				callback = function(){
-					if (_callback) _callback();
-					if (node.open) {
-						setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]);
-					} else {
-						setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]);
-					}
-				};
-				root.expandTriggerFlag = false;
-			}
-			if (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length>0 && !$$(node[childKey][0], setting).get(0)))) {
-				view.appendParentULDom(setting, node);
-				view.createNodeCallback(setting);
-			}
-			if (node.open == expandFlag) {
-				tools.apply(callback, []);
-				return;
-			}
-			var ulObj = $$(node, consts.id.UL, setting),
-			switchObj = $$(node, consts.id.SWITCH, setting),
-			icoObj = $$(node, consts.id.ICON, setting);
-
-			if (node.isParent) {
-				node.open = !node.open;
-				if (node.iconOpen && node.iconClose) {
-					icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
-				}
-
-				if (node.open) {
-					view.replaceSwitchClass(node, switchObj, consts.folder.OPEN);
-					view.replaceIcoClass(node, icoObj, consts.folder.OPEN);
-					if (animateFlag == false || setting.view.expandSpeed == "") {
-						ulObj.show();
-						tools.apply(callback, []);
-					} else {
-						if (node[childKey] && node[childKey].length > 0) {
-							ulObj.slideDown(setting.view.expandSpeed, callback);
-						} else {
-							ulObj.show();
-							tools.apply(callback, []);
-						}
-					}
-				} else {
-					view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE);
-					view.replaceIcoClass(node, icoObj, consts.folder.CLOSE);
-					if (animateFlag == false || setting.view.expandSpeed == "" || !(node[childKey] && node[childKey].length > 0)) {
-						ulObj.hide();
-						tools.apply(callback, []);
-					} else {
-						ulObj.slideUp(setting.view.expandSpeed, callback);
-					}
-				}
-			} else {
-				tools.apply(callback, []);
-			}
-		},
-		expandCollapseParentNode: function(setting, node, expandFlag, animateFlag, callback) {
-			if (!node) return;
-			if (!node.parentTId) {
-				view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);
-				return;
-			} else {
-				view.expandCollapseNode(setting, node, expandFlag, animateFlag);
-			}
-			if (node.parentTId) {
-				view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback);
-			}
-		},
-		expandCollapseSonNode: function(setting, node, expandFlag, animateFlag, callback) {
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children,
-			treeNodes = (node) ? node[childKey]: root[childKey],
-			selfAnimateSign = (node) ? false : animateFlag,
-			expandTriggerFlag = data.getRoot(setting).expandTriggerFlag;
-			data.getRoot(setting).expandTriggerFlag = false;
-			if (treeNodes) {
-				for (var i = 0, l = treeNodes.length; i < l; i++) {
-					if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign);
-				}
-			}
-			data.getRoot(setting).expandTriggerFlag = expandTriggerFlag;
-			view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback );
-		},
-		isSelectedNode: function (setting, node) {
-			if (!node) {
-				return false;
-			}
-			var list = data.getRoot(setting).curSelectedList,
-				i;
-			for (i=list.length-1; i>=0; i--) {
-				if (node === list[i]) {
-					return true;
-				}
-			}
-			return false;
-		},
-		makeDOMNodeIcon: function(html, setting, node) {
-			var nameStr = data.getNodeName(setting, node),
-			name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
-			html.push("<span id='", node.tId, consts.id.ICON,
-				"' title='' treeNode", consts.id.ICON," class='", view.makeNodeIcoClass(setting, node),
-				"' style='", view.makeNodeIcoStyle(setting, node), "'></span><span id='", node.tId, consts.id.SPAN,
-				"' class='", consts.className.NAME,
-				"'>",name,"</span>");
-		},
-		makeDOMNodeLine: function(html, setting, node) {
-			html.push("<span id='", node.tId, consts.id.SWITCH,	"' title='' class='", view.makeNodeLineClass(setting, node), "' treeNode", consts.id.SWITCH,"></span>");
-		},
-		makeDOMNodeMainAfter: function(html, setting, node) {
-			html.push("</li>");
-		},
-		makeDOMNodeMainBefore: function(html, setting, node) {
-			html.push("<li id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>");
-		},
-		makeDOMNodeNameAfter: function(html, setting, node) {
-			html.push("</a>");
-		},
-		makeDOMNodeNameBefore: function(html, setting, node) {
-			var title = data.getNodeTitle(setting, node),
-			url = view.makeNodeUrl(setting, node),
-			fontcss = view.makeNodeFontCss(setting, node),
-			fontStyle = [];
-			for (var f in fontcss) {
-				fontStyle.push(f, ":", fontcss[f], ";");
-			}
-			html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''),
-				"\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''),
-				"'");
-			if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"&#39;").replace(/</g,'&lt;').replace(/>/g,'&gt;'),"'");}
-			html.push(">");
-		},
-		makeNodeFontCss: function(setting, node) {
-			var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss);
-			return (fontCss && ((typeof fontCss) != "function")) ? fontCss : {};
-		},
-		makeNodeIcoClass: function(setting, node) {
-			var icoCss = ["ico"];
-			if (!node.isAjaxing) {
-				icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0];
-				if (node.isParent) {
-					icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
-				} else {
-					icoCss.push(consts.folder.DOCU);
-				}
-			}
-			return consts.className.BUTTON + " " + icoCss.join('_');
-		},
-		makeNodeIcoStyle: function(setting, node) {
-			var icoStyle = [];
-			if (!node.isAjaxing) {
-				var icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node[setting.data.key.icon];
-				if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;");
-				if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) {
-					icoStyle.push("width:0px;height:0px;");
-				}
-			}
-			return icoStyle.join('');
-		},
-		makeNodeLineClass: function(setting, node) {
-			var lineClass = [];
-			if (setting.view.showLine) {
-				if (node.level == 0 && node.isFirstNode && node.isLastNode) {
-					lineClass.push(consts.line.ROOT);
-				} else if (node.level == 0 && node.isFirstNode) {
-					lineClass.push(consts.line.ROOTS);
-				} else if (node.isLastNode) {
-					lineClass.push(consts.line.BOTTOM);
-				} else {
-					lineClass.push(consts.line.CENTER);
-				}
-			} else {
-				lineClass.push(consts.line.NOLINE);
-			}
-			if (node.isParent) {
-				lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
-			} else {
-				lineClass.push(consts.folder.DOCU);
-			}
-			return view.makeNodeLineClassEx(node) + lineClass.join('_');
-		},
-		makeNodeLineClassEx: function(node) {
-			return consts.className.BUTTON + " " + consts.className.LEVEL + node.level + " " + consts.className.SWITCH + " ";
-		},
-		makeNodeTarget: function(node) {
-			return (node.target || "_blank");
-		},
-		makeNodeUrl: function(setting, node) {
-			var urlKey = setting.data.key.url;
-			return node[urlKey] ? node[urlKey] : null;
-		},
-		makeUlHtml: function(setting, node, html, content) {
-			html.push("<ul id='", node.tId, consts.id.UL, "' class='", consts.className.LEVEL, node.level, " ", view.makeUlLineClass(setting, node), "' style='display:", (node.open ? "block": "none"),"'>");
-			html.push(content);
-			html.push("</ul>");
-		},
-		makeUlLineClass: function(setting, node) {
-			return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : "");
-		},
-		removeChildNodes: function(setting, node) {
-			if (!node) return;
-			var childKey = setting.data.key.children,
-			nodes = node[childKey];
-			if (!nodes) return;
-
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				data.removeNodeCache(setting, nodes[i]);
-			}
-			data.removeSelectedNode(setting);
-			delete node[childKey];
-
-			if (!setting.data.keep.parent) {
-				node.isParent = false;
-				node.open = false;
-				var tmp_switchObj = $$(node, consts.id.SWITCH, setting),
-				tmp_icoObj = $$(node, consts.id.ICON, setting);
-				view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU);
-				view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU);
-				$$(node, consts.id.UL, setting).remove();
-			} else {
-				$$(node, consts.id.UL, setting).empty();
-			}
-		},
-		scrollIntoView: function(dom) {
-			if (!dom) {
-				return;
-			}
-			if (dom.scrollIntoViewIfNeeded) {
-				dom.scrollIntoViewIfNeeded();
-			} else if (dom.scrollIntoView) {
-				dom.scrollIntoView(false);
-			} else {
-				try{dom.focus().blur();}catch(e){}
-			}
-		},
-		setFirstNode: function(setting, parentNode) {
-			var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
-			if ( childLength > 0) {
-				parentNode[childKey][0].isFirstNode = true;
-			}
-		},
-		setLastNode: function(setting, parentNode) {
-			var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
-			if ( childLength > 0) {
-				parentNode[childKey][childLength - 1].isLastNode = true;
-			}
-		},
-		removeNode: function(setting, node) {
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children,
-			parentNode = (node.parentTId) ? node.getParentNode() : root;
-
-			node.isFirstNode = false;
-			node.isLastNode = false;
-			node.getPreNode = function() {return null;};
-			node.getNextNode = function() {return null;};
-
-			if (!data.getNodeCache(setting, node.tId)) {
-				return;
-			}
-
-			$$(node, setting).remove();
-			data.removeNodeCache(setting, node);
-			data.removeSelectedNode(setting, node);
-
-			for (var i = 0, l = parentNode[childKey].length; i < l; i++) {
-				if (parentNode[childKey][i].tId == node.tId) {
-					parentNode[childKey].splice(i, 1);
-					break;
-				}
-			}
-			view.setFirstNode(setting, parentNode);
-			view.setLastNode(setting, parentNode);
-
-			var tmp_ulObj,tmp_switchObj,tmp_icoObj,
-			childLength = parentNode[childKey].length;
-
-			//repair nodes old parent
-			if (!setting.data.keep.parent && childLength == 0) {
-				//old parentNode has no child nodes
-				parentNode.isParent = false;
-				parentNode.open = false;
-				tmp_ulObj = $$(parentNode, consts.id.UL, setting);
-				tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting);
-				tmp_icoObj = $$(parentNode, consts.id.ICON, setting);
-				view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU);
-				view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU);
-				tmp_ulObj.css("display", "none");
-
-			} else if (setting.view.showLine && childLength > 0) {
-				//old parentNode has child nodes
-				var newLast = parentNode[childKey][childLength - 1];
-				tmp_ulObj = $$(newLast, consts.id.UL, setting);
-				tmp_switchObj = $$(newLast, consts.id.SWITCH, setting);
-				tmp_icoObj = $$(newLast, consts.id.ICON, setting);
-				if (parentNode == root) {
-					if (parentNode[childKey].length == 1) {
-						//node was root, and ztree has only one root after move node
-						view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT);
-					} else {
-						var tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting);
-						view.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS);
-						view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
-					}
-				} else {
-					view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
-				}
-				tmp_ulObj.removeClass(consts.line.LINE);
-			}
-		},
-		replaceIcoClass: function(node, obj, newName) {
-			if (!obj || node.isAjaxing) return;
-			var tmpName = obj.attr("class");
-			if (tmpName == undefined) return;
-			var tmpList = tmpName.split("_");
-			switch (newName) {
-				case consts.folder.OPEN:
-				case consts.folder.CLOSE:
-				case consts.folder.DOCU:
-					tmpList[tmpList.length-1] = newName;
-					break;
-			}
-			obj.attr("class", tmpList.join("_"));
-		},
-		replaceSwitchClass: function(node, obj, newName) {
-			if (!obj) return;
-			var tmpName = obj.attr("class");
-			if (tmpName == undefined) return;
-			var tmpList = tmpName.split("_");
-			switch (newName) {
-				case consts.line.ROOT:
-				case consts.line.ROOTS:
-				case consts.line.CENTER:
-				case consts.line.BOTTOM:
-				case consts.line.NOLINE:
-					tmpList[0] = view.makeNodeLineClassEx(node) + newName;
-					break;
-				case consts.folder.OPEN:
-				case consts.folder.CLOSE:
-				case consts.folder.DOCU:
-					tmpList[1] = newName;
-					break;
-			}
-			obj.attr("class", tmpList.join("_"));
-			if (newName !== consts.folder.DOCU) {
-				obj.removeAttr("disabled");
-			} else {
-				obj.attr("disabled", "disabled");
-			}
-		},
-		selectNode: function(setting, node, addFlag) {
-			if (!addFlag) {
-				view.cancelPreSelectedNode(setting, null, node);
-			}
-			$$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED);
-			data.addSelectedNode(setting, node);
-			setting.treeObj.trigger(consts.event.SELECTED, [setting.treeId, node]);
-		},
-		setNodeFontCss: function(setting, treeNode) {
-			var aObj = $$(treeNode, consts.id.A, setting),
-			fontCss = view.makeNodeFontCss(setting, treeNode);
-			if (fontCss) {
-				aObj.css(fontCss);
-			}
-		},
-		setNodeLineIcos: function(setting, node) {
-			if (!node) return;
-			var switchObj = $$(node, consts.id.SWITCH, setting),
-			ulObj = $$(node, consts.id.UL, setting),
-			icoObj = $$(node, consts.id.ICON, setting),
-			ulLine = view.makeUlLineClass(setting, node);
-			if (ulLine.length==0) {
-				ulObj.removeClass(consts.line.LINE);
-			} else {
-				ulObj.addClass(ulLine);
-			}
-			switchObj.attr("class", view.makeNodeLineClass(setting, node));
-			if (node.isParent) {
-				switchObj.removeAttr("disabled");
-			} else {
-				switchObj.attr("disabled", "disabled");
-			}
-			icoObj.removeAttr("style");
-			icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
-			icoObj.attr("class", view.makeNodeIcoClass(setting, node));
-		},
-		setNodeName: function(setting, node) {
-			var title = data.getNodeTitle(setting, node),
-			nObj = $$(node, consts.id.SPAN, setting);
-			nObj.empty();
-			if (setting.view.nameIsHTML) {
-				nObj.html(data.getNodeName(setting, node));
-			} else {
-				nObj.text(data.getNodeName(setting, node));
-			}
-			if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) {
-				var aObj = $$(node, consts.id.A, setting);
-				aObj.attr("title", !title ? "" : title);
-			}
-		},
-		setNodeTarget: function(setting, node) {
-			var aObj = $$(node, consts.id.A, setting);
-			aObj.attr("target", view.makeNodeTarget(node));
-		},
-		setNodeUrl: function(setting, node) {
-			var aObj = $$(node, consts.id.A, setting),
-			url = view.makeNodeUrl(setting, node);
-			if (url == null || url.length == 0) {
-				aObj.removeAttr("href");
-			} else {
-				aObj.attr("href", url);
-			}
-		},
-		switchNode: function(setting, node) {
-			if (node.open || !tools.canAsync(setting, node)) {
-				view.expandCollapseNode(setting, node, !node.open);
-			} else if (setting.async.enable) {
-				if (!view.asyncNode(setting, node)) {
-					view.expandCollapseNode(setting, node, !node.open);
-					return;
-				}
-			} else if (node) {
-				view.expandCollapseNode(setting, node, !node.open);
-			}
-		}
-	};
-	// zTree defind
-	$.fn.zTree = {
-		consts : _consts,
-		_z : {
-			tools: tools,
-			view: view,
-			event: event,
-			data: data
-		},
-		getZTreeObj: function(treeId) {
-			var o = data.getZTreeTools(treeId);
-			return o ? o : null;
-		},
-		destroy: function(treeId) {
-			if (!!treeId && treeId.length > 0) {
-				view.destroy(data.getSetting(treeId));
-			} else {
-				for(var s in settings) {
-					view.destroy(settings[s]);
-				}
-			}
-		},
-		init: function(obj, zSetting, zNodes) {
-			var setting = tools.clone(_setting);
-			$.extend(true, setting, zSetting);
-			setting.treeId = obj.attr("id");
-			setting.treeObj = obj;
-			setting.treeObj.empty();
-			settings[setting.treeId] = setting;
-			//For some older browser,(e.g., ie6)
-			if(typeof document.body.style.maxHeight === "undefined") {
-				setting.view.expandSpeed = "";
-			}
-			data.initRoot(setting);
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children;
-			zNodes = zNodes ? tools.clone(tools.isArray(zNodes)? zNodes : [zNodes]) : [];
-			if (setting.data.simpleData.enable) {
-				root[childKey] = data.transformTozTreeFormat(setting, zNodes);
-			} else {
-				root[childKey] = zNodes;
-			}
-
-			data.initCache(setting);
-			event.unbindTree(setting);
-			event.bindTree(setting);
-			event.unbindEvent(setting);
-			event.bindEvent(setting);
-
-			var zTreeTools = {
-				setting : setting,
-				addNodes : function(parentNode, index, newNodes, isSilent) {
-					if (!parentNode) parentNode = null;
-					if (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null;
-
-					var i = parseInt(index, 10);
-					if (isNaN(i)) {
-						isSilent = !!newNodes;
-						newNodes = index;
-						index = -1;
-					} else {
-						index = i;
-					}
-					if (!newNodes) return null;
-
-
-					var xNewNodes = tools.clone(tools.isArray(newNodes)? newNodes: [newNodes]);
-					function addCallback() {
-						view.addNodes(setting, parentNode, index, xNewNodes, (isSilent==true));
-					}
-
-					if (tools.canAsync(setting, parentNode)) {
-						view.asyncNode(setting, parentNode, isSilent, addCallback);
-					} else {
-						addCallback();
-					}
-					return xNewNodes;
-				},
-				cancelSelectedNode : function(node) {
-					view.cancelPreSelectedNode(setting, node);
-				},
-				destroy : function() {
-					view.destroy(setting);
-				},
-				expandAll : function(expandFlag) {
-					expandFlag = !!expandFlag;
-					view.expandCollapseSonNode(setting, null, expandFlag, true);
-					return expandFlag;
-				},
-				expandNode : function(node, expandFlag, sonSign, focus, callbackFlag) {
-					if (!node || !node.isParent) return null;
-					if (expandFlag !== true && expandFlag !== false) {
-						expandFlag = !node.open;
-					}
-					callbackFlag = !!callbackFlag;
-
-					if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) {
-						return null;
-					} else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) {
-						return null;
-					}
-					if (expandFlag && node.parentTId) {
-						view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false);
-					}
-					if (expandFlag === node.open && !sonSign) {
-						return null;
-					}
-
-					data.getRoot(setting).expandTriggerFlag = callbackFlag;
-					if (!tools.canAsync(setting, node) && sonSign) {
-						view.expandCollapseSonNode(setting, node, expandFlag, true, showNodeFocus);
-					} else {
-						node.open = !expandFlag;
-						view.switchNode(this.setting, node);
-						showNodeFocus();
-					}
-					return expandFlag;
-
-					function showNodeFocus() {
-						var a = $$(node, setting).get(0);
-						if (a && focus !== false) {
-							view.scrollIntoView(a);
-						}
-					}
-				},
-				getNodes : function() {
-					return data.getNodes(setting);
-				},
-				getNodeByParam : function(key, value, parentNode) {
-					if (!key) return null;
-					return data.getNodeByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
-				},
-				getNodeByTId : function(tId) {
-					return data.getNodeCache(setting, tId);
-				},
-				getNodesByParam : function(key, value, parentNode) {
-					if (!key) return null;
-					return data.getNodesByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
-				},
-				getNodesByParamFuzzy : function(key, value, parentNode) {
-					if (!key) return null;
-					return data.getNodesByParamFuzzy(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
-				},
-				getNodesByFilter: function(filter, isSingle, parentNode, invokeParam) {
-					isSingle = !!isSingle;
-					if (!filter || (typeof filter != "function")) return (isSingle ? null : []);
-					return data.getNodesByFilter(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), filter, isSingle, invokeParam);
-				},
-				getNodeIndex : function(node) {
-					if (!node) return null;
-					var childKey = setting.data.key.children,
-					parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);
-					for (var i=0, l = parentNode[childKey].length; i < l; i++) {
-						if (parentNode[childKey][i] == node) return i;
-					}
-					return -1;
-				},
-				getSelectedNodes : function() {
-					var r = [], list = data.getRoot(setting).curSelectedList;
-					for (var i=0, l=list.length; i<l; i++) {
-						r.push(list[i]);
-					}
-					return r;
-				},
-				isSelectedNode : function(node) {
-					return data.isSelectedNode(setting, node);
-				},
-				reAsyncChildNodes : function(parentNode, reloadType, isSilent) {
-					if (!this.setting.async.enable) return;
-					var isRoot = !parentNode;
-					if (isRoot) {
-						parentNode = data.getRoot(setting);
-					}
-					if (reloadType=="refresh") {
-						var childKey = this.setting.data.key.children;
-						for (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) {
-							data.removeNodeCache(setting, parentNode[childKey][i]);
-						}
-						data.removeSelectedNode(setting);
-						parentNode[childKey] = [];
-						if (isRoot) {
-							this.setting.treeObj.empty();
-						} else {
-							var ulObj = $$(parentNode, consts.id.UL, setting);
-							ulObj.empty();
-						}
-					}
-					view.asyncNode(this.setting, isRoot? null:parentNode, !!isSilent);
-				},
-				refresh : function() {
-					this.setting.treeObj.empty();
-					var root = data.getRoot(setting),
-					nodes = root[setting.data.key.children]
-					data.initRoot(setting);
-					root[setting.data.key.children] = nodes
-					data.initCache(setting);
-					view.createNodes(setting, 0, root[setting.data.key.children], null, -1);
-				},
-				removeChildNodes : function(node) {
-					if (!node) return null;
-					var childKey = setting.data.key.children,
-					nodes = node[childKey];
-					view.removeChildNodes(setting, node);
-					return nodes ? nodes : null;
-				},
-				removeNode : function(node, callbackFlag) {
-					if (!node) return;
-					callbackFlag = !!callbackFlag;
-					if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return;
-					view.removeNode(setting, node);
-					if (callbackFlag) {
-						this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);
-					}
-				},
-				selectNode : function(node, addFlag, isSilent) {
-					if (!node) return;
-					if (tools.uCanDo(setting)) {
-						addFlag = setting.view.selectedMulti && addFlag;
-						if (node.parentTId) {
-							view.expandCollapseParentNode(setting, node.getParentNode(), true, false, showNodeFocus);
-						} else {
-							try{$$(node, setting).focus().blur();}catch(e){}
-						}
-						view.selectNode(setting, node, addFlag);
-					}
-
-					function showNodeFocus() {
-						if (isSilent) {
-							return;
-						}
-						var a = $$(node, setting).get(0);
-						view.scrollIntoView(a);
-					}
-				},
-				transformTozTreeNodes : function(simpleNodes) {
-					return data.transformTozTreeFormat(setting, simpleNodes);
-				},
-				transformToArray : function(nodes) {
-					return data.transformToArrayFormat(setting, nodes);
-				},
-				updateNode : function(node, checkTypeFlag) {
-					if (!node) return;
-					var nObj = $$(node, setting);
-					if (nObj.get(0) && tools.uCanDo(setting)) {
-						view.setNodeName(setting, node);
-						view.setNodeTarget(setting, node);
-						view.setNodeUrl(setting, node);
-						view.setNodeLineIcos(setting, node);
-						view.setNodeFontCss(setting, node);
-					}
-				}
-			}
-			root.treeTools = zTreeTools;
-			data.setZTreeTools(setting, zTreeTools);
-
-			if (root[childKey] && root[childKey].length > 0) {
-				view.createNodes(setting, 0, root[childKey], null, -1);
-			} else if (setting.async.enable && setting.async.url && setting.async.url !== '') {
-				view.asyncNode(setting);
-			}
-			return zTreeTools;
-		}
-	};
-
-	var zt = $.fn.zTree,
-	$$ = tools.$,
-	consts = zt.consts;
-})(jQuery);
\ No newline at end of file
diff --git a/js/bootstrap.min.js b/js/bootstrap.min.js
deleted file mode 100644
index 9bcd2fc..0000000
--- a/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
-this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/js/jquery.min.js b/js/jquery.min.js
deleted file mode 100644
index 4024b66..0000000
--- a/js/jquery.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c;
-}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=N.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function W(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&T.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var X=/^(?:checkbox|radio)$/i,Y=/<([\w:-]+)/,Z=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||d,e=c.documentElement,f=c.body,a.pageX=b.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ea.test(f)?this.mouseHooks:da.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=d),3===a.target.nodeType&&(a.target=a.target.parentNode),h.filter?h.filter(a,g):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==ia()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===ia()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ga:ha):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:ha,isPropagationStopped:ha,isImmediatePropagationStopped:ha,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ga,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ga,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ga,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),n.fn.extend({on:function(a,b,c,d){return ja(this,a,b,c,d)},one:function(a,b,c,d){return ja(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ha),this.each(function(){n.event.remove(this,a,c,b)})}});var ka=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,la=/<script|<style|<link/i,ma=/checked\s*(?:[^=]|=\s*.checked.)/i,na=/^true\/(.*)/,oa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=wa[0].contentDocument,b.write(),b.close(),c=ya(a,b),wa.detach()),xa[a]=c),c}var Aa=/^margin/,Ba=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ca=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){var b,c,e,f,g=d.createElement("div"),h=d.createElement("div");if(h.style){h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h);function i(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",Ea.appendChild(g);var d=a.getComputedStyle(h);b="1%"!==d.top,f="2px"===d.marginLeft,c="4px"===d.width,h.style.marginRight="50%",e="4px"===d.marginRight,Ea.removeChild(g)}n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}})}}();function Fa(a,b,c){var d,e,f,g,h=a.style;return c=c||Ca(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Ba.test(g)&&Aa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function Ga(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:"absolute",visibility:"hidden",display:"block"},Ja={letterSpacing:"0",fontWeight:"400"},Ka=["Webkit","O","Moz","ms"],La=d.createElement("div").style;function Ma(a){if(a in La)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ka.length;while(c--)if(a=Ka[c]+b,a in La)return a}function Na(a,b,c){var d=T.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Oa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Pa(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ca(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Fa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ba.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Oa(a,b,c||(g?"border":"content"),d,f)+"px"}function Qa(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=N.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=N.access(d,"olddisplay",za(d.nodeName)))):(e=V(d),"none"===c&&e||N.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),"normal"===e&&b in Ja&&(e=Ja[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,"display"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,"border-box"===n.css(a,"boxSizing",!1,f),f);return g&&(e=T.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,"marginLeft"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:"inline-block"},Fa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function Ra(a,b,c,d,e){return new Ra.prototype.init(a,b,c,d,e)}n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;function Wa(){return a.setTimeout(function(){Sa=void 0}),Sa=n.now()}function Xa(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=U[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ya(a,b,c){for(var d,e=(_a.tweeners[b]||[]).concat(_a.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Za(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&V(a),q=N.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?N.get(a,"olddisplay")||za(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Ua.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?za(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=N.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;N.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ya(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function $a(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function _a(a,b,c){var d,e,f=0,g=_a.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Sa||Wa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:Sa||Wa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for($a(k,j.opts.specialEasing);g>f;f++)if(d=_a.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,Ya,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(_a,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=N.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa("show"),slideUp:Xa("hide"),slideToggle:Xa("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Sa=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ta||(Ta=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(Ta),Ta=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",l.checkOn=""!==a.value,l.optSelected=c.selected,b.disabled=!0,l.optDisabled=!c.disabled,a=d.createElement("input"),a.value="t",a.type="radio",l.radioValue="t"===a.value}();var ab,bb=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return K(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),
-void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\t\r\n\f]/g;function fb(a){return a.getAttribute&&a.getAttribute("class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=fb(this),b&&N.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":N.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+fb(c)+" ").replace(eb," ").indexOf(b)>-1)return!0;return!1}});var gb=/\r/g,hb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(gb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(hb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var ib=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!ib.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),l=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,ib.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}g=0;while((h=p[g++])&&!b.isPropagationStopped())b.type=g>1?j:o.bindType||q,m=(N.get(h,"events")||{})[b.type]&&N.get(h,"handle"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b)}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin="onfocusin"in a,l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var jb=a.location,kb=n.now(),lb=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var mb=/#.*$/,nb=/([?&])_=[^&]*/,ob=/^(.*?):[ \t]*([^\r\n]*)$/gm,pb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qb=/^(?:GET|HEAD)$/,rb=/^\/\//,sb={},tb={},ub="*/".concat("*"),vb=d.createElement("a");vb.href=jb.href;function wb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function xb(a,b,c,d){var e={},f=a===tb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function yb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function zb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Ab(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jb.href,type:"GET",isLocal:pb.test(jb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ub,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?yb(yb(a,n.ajaxSettings),b):yb(n.ajaxSettings,a)},ajaxPrefilter:wb(sb),ajaxTransport:wb(tb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks("once memory"),s=m.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h){h={};while(b=ob.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||jb.href)+"").replace(mb,"").replace(rb,jb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||"*").toLowerCase().match(G)||[""],null==m.crossDomain){j=d.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=vb.protocol+"//"+vb.host!=j.protocol+"//"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),xb(sb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!qb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(lb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=nb.test(f)?f.replace(nb,"$1_="+kb++):f+(lb.test(f)?"&":"?")+"_="+kb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&x.setRequestHeader("If-None-Match",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",m.contentType),x.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+ub+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w="abort";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=xb(tb,m,c,x)){if(x.readyState=1,k&&p.trigger("ajaxSend",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,"No Transport");function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=zb(m,x,d)),u=Ab(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(n.lastModified[f]=w),w=x.getResponseHeader("etag"),w&&(n.etag[f]=w)),204===b||"HEAD"===m.type?y="nocontent":304===b?y="notmodified":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+"",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?"ajaxSuccess":"ajaxError",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger("ajaxComplete",[x,m]),--n.active||n.event.trigger("ajaxStop")))}return x},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Bb=/%20/g,Cb=/\[\]$/,Db=/\r?\n/g,Eb=/^(?:submit|button|image|reset|file)$/i,Fb=/^(?:input|select|textarea|keygen)/i;function Gb(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Cb.test(a)?d(a,e):Gb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Gb(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Gb(c,a[c],b,e);return d.join("&").replace(Bb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Fb.test(this.nodeName)&&!Eb.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Db,"\r\n")}}):{name:b.name,value:c.replace(Db,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Hb={0:200,1223:204},Ib=n.ajaxSettings.xhr();l.cors=!!Ib&&"withCredentials"in Ib,l.ajax=Ib=!!Ib,n.ajaxTransport(function(b){var c,d;return l.cors||Ib&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Hb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Jb=[],Kb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Jb.pop()||n.expando+"_"+kb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Kb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Kb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Kb,"$1"+e):b.jsonp!==!1&&(b.url+=(lb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Jb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ca([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var Lb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Lb)return Lb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function Mb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(e=d.getBoundingClientRect(),c=Mb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ea})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;n.fn[a]=function(d){return K(this,function(a,d,e){var f=Mb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ga(l.pixelPosition,function(a,c){return c?(c=Fa(a,b),Ba.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return K(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Nb=a.jQuery,Ob=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Ob),b&&a.jQuery===n&&(a.jQuery=Nb),n},b||(a.jQuery=a.$=n),n});
diff --git a/js/plotPanelControl/PlotPanel.js b/js/plotPanelControl/PlotPanel.js
deleted file mode 100644
index cab1d86..0000000
--- a/js/plotPanelControl/PlotPanel.js
+++ /dev/null
@@ -1,226 +0,0 @@
-function initPlotPanel(div, serverUrl, drawControl,plotEditControl,plotting){
-    var plotPanel = document.getElementById(div);
-
-    var treeNodeStyle = document.createElement("div");
-    treeNodeStyle.style.height = '50%';
-    treeNodeStyle.style.width = '100%';
-    treeNodeStyle.style.border = '1px solid #617775';
-    treeNodeStyle.style.overflow ='scroll';
-
-    var treeNode = document.createElement("div");
-    treeNode.id = "tree";
-    treeNode.className = "ztree";
-
-    var iconNodeStyle = document.createElement("div");
-    iconNodeStyle.style.height = '50%';
-    iconNodeStyle.style.width = '100%';
-
-    var iconNode = document.createElement("div");
-    iconNode.id = "icon";
-    iconNode.style.height = '100%';
-    iconNode.style.width = '100%';
-    iconNode.style.border = '1px solid #617775';
-    iconNode.style.overflow ='scroll';
-
-    treeNodeStyle.appendChild(treeNode);
-    iconNodeStyle.appendChild(iconNode);
-
-    plotPanel.appendChild(treeNodeStyle);
-    plotPanel.appendChild(iconNodeStyle);
-
-    function beforeClickTreeNode(treeId, treeNode){
-        var tree = $.fn.zTree.getZTreeObj(treeId);
-        if (treeNode.isParent) {
-            tree.expandNode(treeNode);
-            return false;
-        } else {
-            var iconNode = document.getElementById("icon");
-            iconNode.innerHTML = "";
-            createDrawNodes(treeNode, iconNode, drawControl, serverUrl);
-        }
-    }
-
-    var setting = {
-        view: {
-            dblClickExpand: false,
-            showLine: true,
-            selectedMulti: false
-        },
-        data: {
-            simpleData: {
-                enable:true,
-                idKey: "id",
-                pIdKey: "pId",
-                rootPId: 0
-            }
-        },
-        callback: {
-            beforeClick: beforeClickTreeNode
-        }
-    };
-    var symbolLibManager = plotting.getSymbolLibManager();
-    if(symbolLibManager.isInitializeOK()){
-        var symbolTreeData = analysisSymbolTree(symbolLibManager);
-        $.fn.zTree.init($("#tree"), setting, symbolTreeData);
-    } else {
-        symbolLibManager.initializecompleted.addEventListener(function (result) {
-            if(result.libIDs.length !== 0){
-                var symbolTreeData = analysisSymbolTree(symbolLibManager);
-                $.fn.zTree.init($("#tree"), setting, symbolTreeData);
-            }
-        });
-        symbolLibManager.initializeAsync();
-    }
-}
-
-function analysisSymbolTree(symbolLibManager) {
-    var treeData = [];
-    var idIndex = addBasicCellTreeNodes(treeData);
-
-    for(var i = 0; i < symbolLibManager.getSymbolLibNumber(); i++){
-        var symbolLib = symbolLibManager.getSymbolLibByIndex(i);
-        var rootSymbolInfo = symbolLib.getRootSymbolInfo();
-        var rootSymbolIconUrl = symbolLib.getRootSymbolIconUrl();
-
-        if(rootSymbolInfo.symbolNodeType === "SYMBOL_GROUP"){
-            var rootNode = new Object();
-            rootNode.id = idIndex+i;
-            rootNode.pId = 0;
-            rootNode.name = rootSymbolInfo.symbolName;
-            rootNode.fullName = rootSymbolInfo.symbolName +"/";
-            treeData.push(rootNode);
-
-            idIndex = innerAnalysisSymbolTree(rootSymbolInfo.childNodes, treeData, rootNode, rootSymbolIconUrl);
-        }
-
-    }
-
-    return treeData;
-}
-
-function createDrawNodes(treeNode, iconNode, drawControl, serverUrl){
-    var drawNodeClick = function(){
-        if(drawControl !== null){
-            drawControl.deactivate();
-            drawControl.libID = this.libID;
-            drawControl.code = this.symbolCode;
-            //设置标号默认的模型路径
-            drawControl.drawFinishEvent.addEventListener(function (geo) {
-                if(geo.symbolType  === SuperMap.Plot.SymbolType.DOTSYMBOL ){
-                    geo.modelPath = './SampleData/plot/Cesium_Air.gltf';
-                }
-            });
-            drawControl.serverUrl = this.serverUrl;
-
-            drawControl.activate();
-            if(undefined !== plotEditControl){
-                plotEditControl.deactivate();
-            }
-        }
-    }
-
-    var me = this;
-    var drawData = treeNode.drawData;
-
-    var table = document.createElement("table");
-    table.style.height = "100%";
-    table.style.width = "100%";
-    var i = 0;
-    var rowLength = (drawData.length%3 === 0) ? drawData.length/3 : drawData.length/3+1;
-    for(var j = 0; j < rowLength; j++){
-        var tr = document.createElement("tr");
-        for(var k = 0; k < 3; k++){
-            if(drawData[i]){
-                //存储菜单信息
-                var td = document.createElement("td");
-                var drawNode = document.createElement("div");
-                drawNode.onclick = drawNodeClick;
-                drawNode.style.textAlign = "center";
-                drawNode.id = drawData[i].libID+ ""+ drawData[i].symbolCode;
-                drawNode.libID = drawData[i].libID;
-                drawNode.symbolCode = drawData[i].symbolCode;
-                drawNode.serverUrl = serverUrl;
-                //图片
-                var img = document.createElement("img");
-                img.src = drawData[i].icon;
-                //文本
-                var text = document.createElement("div");
-                text.innerHTML =  drawData[i].symbolName;
-
-                drawNode.appendChild(img);
-                drawNode.appendChild(text);
-                td.appendChild(drawNode);
-
-                tr.appendChild(td);
-            }
-            i++;
-        }
-        table.appendChild(tr);
-    }
-
-    iconNode.appendChild(table);
-}
-
-function addBasicCellTreeNodes(treeData){
-    var cellRootNode = new Object();
-    cellRootNode.id = 1;
-    cellRootNode.pId = 0;
-    cellRootNode.name = "基本标号";
-    cellRootNode.fullName = "BasicCell" +"/";
-    cellRootNode.drawData = [];
-    treeData.push(cellRootNode);
-
-    var symbolCode = [24, 28, 29, 31, 34, 410, 32, 590, 360, 390, 400, 350, 26, 370, 380, 44, 48, /*320,*/
-        1019, 1022, /*1024, 321,1023,*/  1025, 1013, 1014,3801,4401 /*1016, 1017, 1026,*/ /*1001 1003, 1004*/];
-    var symbolName = ["折线", "平行四边形", "圆", "椭圆", "注记", "正多边形", "多边形", "贝塞尔曲线", "闭合贝塞尔曲线",
-        "集结地", "大括号", "梯形", "矩形", "弓形", "扇形", "弧线", "平行线", /*"注记指示框",*/ "同心圆", "组合圆",
-        /*"标注框", "多角标注框","自由线",*/ "节点链", "跑道形", "八字形","扇形","弧线"/*"箭头线", "沿线注记", "线型标注", "对象间连线"*/
-        /*"多边形区域", "扇形区域"*/];
-    var cellId = cellRootNode.id + 1;
-    for(var i = 0; i < symbolCode.length; i++){
-        var drawCellNode = {
-            id: cellId++,
-            pId: 0,
-            icon:"js/plotPanelControl/" + cellRootNode.fullName + symbolCode[i] + ".png",
-            symbolCode: symbolCode[i],
-            libID: 0,
-            symbolName: symbolName[i]
-        };
-        cellRootNode.drawData.push(drawCellNode);
-    }
-
-    return cellId;
-}
-
-
-function innerAnalysisSymbolTree(childSymbolInfos, treeData, parentNode, rootSymbolIconUrl){
-    var drawData = [];
-    var treeNodeId = parentNode.id+1;
-    for(var i = 0; i < childSymbolInfos.length; i++){
-        if(childSymbolInfos[i].symbolNodeType === "SYMBOL_GROUP"){
-            var treeNode = new Object();
-            treeNode.id = treeNodeId++;
-            treeNode.pId = parentNode.id;
-            treeNode.name = childSymbolInfos[i].symbolName;
-            treeNode.fullName = parentNode.fullName + childSymbolInfos[i].symbolName+"/";
-            treeData.push(treeNode);
-
-            treeNodeId = innerAnalysisSymbolTree(childSymbolInfos[i].childNodes, treeData, treeNode, rootSymbolIconUrl);
-        } else if(childSymbolInfos[i].symbolNodeType === "SYMBOL_NODE"){
-            var drawNode = new Object();
-            drawNode.id = treeNodeId++;
-            drawNode.pId = parentNode.id;
-            drawNode.icon = rootSymbolIconUrl + parentNode.fullName + childSymbolInfos[i].symbolCode + ".png";
-            drawNode.symbolCode = childSymbolInfos[i].symbolCode;
-            drawNode.libID = childSymbolInfos[i].libID;
-            drawNode.symbolName = childSymbolInfos[i].symbolName + "_" + childSymbolInfos[i].symbolCode;
-            drawData.push(drawNode);
-        }
-    }
-
-    if(drawData.length !== 0){
-        parentNode.drawData = drawData;
-    }
-
-    return treeNodeId;
-}
\ No newline at end of file
diff --git a/js/plotPanelControl/PlottingUI.Include.js b/js/plotPanelControl/PlottingUI.Include.js
deleted file mode 100644
index 497bec7..0000000
--- a/js/plotPanelControl/PlottingUI.Include.js
+++ /dev/null
@@ -1,31 +0,0 @@
-(function() {
-   // var isWinRT = (typeof Windows === "undefined") ? false : true;
-    var r = new RegExp("(^|(.*?\\/))(PlottingUI.Include\.js)(\\?|$)"),
-    s = document.getElementsByTagName('script'),
-    src, m, baseurl = "";
-    for(var i=0, len=s.length; i<len; i++) {
-        src = s[i].getAttribute('src');
-        if(src) {
-            var m = src.match(r);
-            if(m) {
-                baseurl = m[1];
-                break;
-            }
-        }
-    }
-    function inputScript(inc){
-       // if (!isWinRT) {
-            var script = '<' + 'script type="text/javascript" src="' + inc + '"' + '><' + '/script>';
-            document.writeln(script);
-   //     } else {
-   //         var script = document.createElement("script");
-    //        script.src = inc;
-    //        document.getElementsByTagName("HEAD")[0].appendChild(script);
-      //  }
-    }
-    //加载类库资源文件
-    function loadSMLibs() {
-        inputScript(baseurl+'PlottingUI.js');
-    }
-    loadSMLibs();
-})();
diff --git a/js/plotPanelControl/PlottingUI.js b/js/plotPanelControl/PlottingUI.js
deleted file mode 100644
index 809c5a6..0000000
--- a/js/plotPanelControl/PlottingUI.js
+++ /dev/null
@@ -1,46 +0,0 @@
-//var isWinRT = (typeof Windows === "undefined") ? false : true;
-{
-    inputLink("colorpicker/css/colorpicker.css");
-    inputLink("colorpicker/css/layout.css");
-    inputLink("jquery-easyui-1.4.4/css/easyui.css");
-    inputLink("zTree/css/zTreeStyle.css");
-
-    inputScript("jquery-easyui-1.4.4/jquery.min.js");
-    inputScript("jquery-easyui-1.4.4/jquery-ui.js");
-    inputScript("jquery-easyui-1.4.4/jquery.easyui.min.js");
-
-    inputScript("colorpicker/js/colorpicker.js");
-    inputScript("colorpicker/js/colorpickerEditor.js");
-    inputScript("colorpicker/js/eye.js");
-    inputScript("colorpicker/js/utils.js");
-    inputScript("colorpicker/js/layout.js");
-
-    inputScript("zTree/jquery.ztree.core.js");
-
-    inputScript("./PlotPanel.js");
-    inputScript("./StylePanel.js");
-    // inputScript("TreePanel.js");
-
-}
-
-function inputLink(inc){
-    //if (!isWinRT) {
-        var link = '<' + 'link rel="stylesheet" type="text/css" media="screen,projection" href="js/plotPanelControl/' + inc + '"' + '><' + '/>';
-        document.writeln(link);
-    //} else {
-    //    var link = document.createElement("link");
-    //    link.href = "../PlottingPanel/zTree/" + inc;
-    //    document.getElementsByTagName("HEAD")[0].appendChild(link);
-    //}
-}
-
-function inputScript(inc){
-    //if (!isWinRT) {
-        var script = '<' + 'script type="text/javascript" src="js/plotPanelControl/' + inc + '"' + '><' + '/script>';
-        document.writeln(script);
-    //} else {
-    //    var script = document.createElement("script");
-    //    script.src = "../PlottingPanel/zTree/" + inc;
-    //    document.getElementsByTagName("HEAD")[0].appendChild(script);
-    //}
-}
diff --git a/js/plotPanelControl/StylePanel.js b/js/plotPanelControl/StylePanel.js
deleted file mode 100644
index 2918944..0000000
--- a/js/plotPanelControl/StylePanel.js
+++ /dev/null
@@ -1,1250 +0,0 @@
-/**
- * Created by Administrator on 2017/12/8 0008.
- */
-
-    /**
-     * 属性面板管理器
-     * @param options
-     * {
-     *   div - 属性面板div
-     *   scene - viewer.scene
-     *   graphicObjectHandler - 标绘Handler
-     * }
-     * @constructor
-     * @example
-     */
-    var StylePanel = function(div,plotEditControl,plotting) {
-        var _self = this;
-        this._div = div;
-        this._plottingEdit = plotEditControl;
-        this._plotting = plotting;
-        this._selectedFeature = undefined;
-        this._group = ["基本", "衬线", "军标大小", "线型", "填充", "文本", "子标号",  "箭头类型", "缩放比例", "旋转角度", "图片大小"];
-        this._displayName = ["镜像", "标号级别", "点标号显示模式", "模型路径", "图片路径", "整体高度", "Width", "Height", "x", "y", "z", "拉伸高度", "模型缩放","矢量缩放"];
-        this._displayLineStyleName = ["线宽", "边线颜色", "线型"];
-        this._displayFillStyleName = ["背景色", "背景透明", "渐变填充角度", "渐变填充模式", "渐变填充竖直偏移", "渐变填充水平偏移", "前景色", "填充模式", "填充透明度"];
-        this._displayTextContentName = ["注记内容", "注记位置", "字体背景颜色", "注记大小", "注记字体", "注记颜色", "字体边框", "边框宽度", "边框颜色"];
-        this._displaySurroundLineName = ["衬线类型", "衬线宽", "衬线颜色", "衬线透明度"];
-		this._displayPositionName = ["经度", "纬度", "高度"];
-        this._displayExtendWallName = ["绘制墙"];
-        this.init();
-        // 标号被选中回调函数
-        this._plottingEdit.SelectedEvent.addEventListener(function(geoGraphicObject) {
-            _self._selectedFeature = geoGraphicObject;
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-        });
-
-        // 选中标号被释放回调函数
-        this._plottingEdit.UnSelectedEvent.addEventListener(function() {
-            _self._selectedFeature = undefined;
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-        });
-
-        this._plottingEdit.ModifiedEvent.addEventListener(function (geoGraphicObject) {
-            _self._selectedFeature = geoGraphicObject;
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-
-        });
-
-        this._plottingEdit.RemoveFeatureEvent.addEventListener(function() {
-            _self._selectedFeature = undefined;
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-        });
-
-    };
-
-
-
-
-    /**
-     * @private
-     * @function init
-     * @description 初始化属性面板
-     */
-    StylePanel.prototype.init = function() {
-
-        var _self = this;
-
-        function afterModifySelectFeature() {
-            var updated = $('#pg').propertygrid('getChanges', "updated");
-            if (updated.length !== 0) {
-                _self.updateSelectFeature(updated[0], _self._selectedFeature);
-            }
-            var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-            $('#pg').propertygrid('loadData', rows);
-        }
-
-        var stylePanel = document.getElementById(_self._div);
-        var propertygrid = document.createElement('table');
-        propertygrid.id = "pg";
-        propertygrid.className = "easyui-propertygrid";
-        stylePanel.appendChild(propertygrid);
-
-        $('#pg').propertygrid({
-            showGroup:true,
-            columns : [[
-                { field : 'name', title: 'Name', width: 100, resizable: true },
-                { field : 'value', title: 'Value', width: 100, resizable: true }
-            ]],
-            onAfterEdit : afterModifySelectFeature
-        });
-    };
-
-    /**
-     * @param graphicObject
-     * @returns {Array}
-     */
-    StylePanel.prototype.collectionPropertyGridRows = function(graphicObject) {
-
-        if (null === graphicObject || undefined === graphicObject || graphicObject.symbolName === "GroupObject") {
-            return [];
-        }
-
-        var rows = [];
-        if (null !== graphicObject && undefined !== graphicObject) {
-            rows = [
-                {"name": "标号ID", "value": graphicObject.id, "group": "标号"},
-                {"name": "标号库ID", "value": graphicObject.libID, "group": "标号"},
-                {"name": "标号code", "value": graphicObject.code, "group": "标号"},
-                {"name": "标号名字", "value": graphicObject.symbolName, "group": "标号"}
-            ];
-
-            var annotationRows = this.getAnnotationRows(graphicObject);
-            var symbolRankRows = this.getSymbolRankRows(graphicObject);
-            var surroundLineTypeRows = this.getSurroundLineTypeRows(graphicObject);
-            var dotShowModeRows = this.getDotShowModeRows(graphicObject);
-            var fillSymbolIDRows = this.getFillSymbolIDRows(graphicObject);
-            var fillGradientRows = this.getFillGradientModeRows(graphicObject);
-            var lineStyleRows = this.getLineStyleRows(graphicObject);
-            var subSymbolsTypeRows = this.getSubSymbolsTypeRows(graphicObject);
-
-
-            // 镜像
-            var dotSymbolNegativeImageObj = new Object();
-            dotSymbolNegativeImageObj.name = this._displayName[0];
-            dotSymbolNegativeImageObj.value = this.checkboxValueToString(this._selectedFeature.isNegativeImage);
-            dotSymbolNegativeImageObj.group = this._group[0];
-            dotSymbolNegativeImageObj.editor = {"type": 'checkbox', "options": {"on": true, "off": false}};
-
-            // 标号级别
-            var dotSymbolRankObj = new Object();
-            dotSymbolRankObj.name = this._displayName[1];
-            dotSymbolRankObj.value = this.symbolRankToString(this._selectedFeature.symbolRank);
-            dotSymbolRankObj.group = this._group[0];
-            dotSymbolRankObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": symbolRankRows}
-            };
-
-            // 显示模式
-            var dotSymbolShowModeObj = new Object();
-            dotSymbolShowModeObj.name = this._displayName[2];
-            dotSymbolShowModeObj.value = this.showModeToString(this._selectedFeature.showMode);
-            dotSymbolShowModeObj.group = this._group[0];
-            dotSymbolShowModeObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": dotShowModeRows}
-            };
-
-            // 模型ID
-            var modelIdObj = new Object();
-            modelIdObj.name = this._displayName[3];
-            modelIdObj.value = this._selectedFeature.modelPath;
-            modelIdObj.group = this._group[0];
-            modelIdObj.editor = "text";
-
-            // 图片路径
-            var picturePathObj = new Object();
-            picturePathObj.name = this._displayName[4];
-            picturePathObj.value = this._selectedFeature.picturePath;
-            picturePathObj.group = this._group[0];
-            picturePathObj.editor = "text";
-
-
-            // 线宽
-            var lineWidthObj = new Object();
-            lineWidthObj.name = this._displayLineStyleName[0];
-            lineWidthObj.value = 1 === graphicObject._symbolType ? this._selectedFeature.gridLineWidth : this._selectedFeature.symbolStyle.lineWidth;
-            lineWidthObj.group = this._group[3];
-            lineWidthObj.editor = "text";
-
-            // 线色
-            var lineColorObj = new Object();
-            lineColorObj.name = this._displayLineStyleName[1];
-            lineColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolStyle.lineColor);
-            lineColorObj.group = this._group[3];
-            lineColorObj.editor = "colorpicker";
-
-            //拉伸墙
-            var extendWallObj = new Object();
-            extendWallObj.name = this._displayExtendWallName[0];
-            extendWallObj.value = this._selectedFeature.extendWallHeight;
-            extendWallObj.group = "绘制墙";
-            extendWallObj.editor = "text";
-
-            // 线型
-            var lineStyleObj = new Object();
-            lineStyleObj.name = this._displayLineStyleName[2];
-            lineStyleObj.value = this.lineStyleToString(this._selectedFeature.lineSymbolID);
-            lineStyleObj.group = this._group[3];
-            lineStyleObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": lineStyleRows}
-            };
-
-            // 填充背景色
-            var fillBackColorObj = new Object();
-            fillBackColorObj.name = this._displayFillStyleName[0];
-            fillBackColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolStyle.fillBackColor);
-            fillBackColorObj.group = this._group[4];
-            fillBackColorObj.editor = "colorpicker";
-
-            // 背景透明
-            var fillBackOpaqueObj = new Object();
-            fillBackOpaqueObj.name = this._displayFillStyleName[1];
-            fillBackOpaqueObj.value = this._selectedFeature.symbolStyle.fillBackOpaque;
-            fillBackOpaqueObj.group = this._group[4];
-            fillBackOpaqueObj.editor = {"type": "checkbox", "options": {"on": true, "off": false}};
-
-            // 渐变填充角度
-            var fillGradientAngleObj = new Object();
-            fillGradientAngleObj.name = this._displayFillStyleName[2];
-            fillGradientAngleObj.value = this._selectedFeature.symbolStyle.fillGradientAngle;
-            fillGradientAngleObj.group = this._group[4];
-            fillGradientAngleObj.editor = "text";
-
-            // 渐变填充模式
-            var fillGradientModeObj = new Object();
-            fillGradientModeObj.name = this._displayFillStyleName[3];
-            fillGradientModeObj.value = this.fillGradientModeToString(this._selectedFeature.symbolStyle.fillGradientMode);
-            fillGradientModeObj.group = this._group[4];
-            fillGradientModeObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": fillGradientRows}
-            };
-
-            // 渐变填充竖直偏移
-            var fillGradientOffsetRatioYObj = new Object();
-            fillGradientOffsetRatioYObj.name = this._displayFillStyleName[4];
-            fillGradientOffsetRatioYObj.value = this._selectedFeature.symbolStyle.fillGradientOffsetRatioY;
-            fillGradientOffsetRatioYObj.group = this._group[4];
-            fillGradientOffsetRatioYObj.editor = "text";
-
-            // 渐变填充水平偏移
-            var fillGradientOffsetRatioXObj = new Object();
-            fillGradientOffsetRatioXObj.name = this._displayFillStyleName[5];
-            fillGradientOffsetRatioXObj.value = this._selectedFeature.symbolStyle.fillGradientOffsetRatioY;
-            fillGradientOffsetRatioXObj.group = this._group[4];
-            fillGradientOffsetRatioXObj.editor = "text";
-
-            // 前景色
-            var fillForeColorObj = new Object();
-            fillForeColorObj.name = this._displayFillStyleName[6];
-            fillForeColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolStyle.fillForeColor);
-            fillForeColorObj.group = this._group[4];
-            fillForeColorObj.editor = "colorpicker";
-
-            // 填充模式
-            var fillSymbolIdObj = new Object();
-            fillSymbolIdObj.name = this._displayFillStyleName[7];
-            fillSymbolIdObj.value = this.fillSymbolIdToString(this._selectedFeature.symbolStyle.fillSymbolID);
-            fillSymbolIdObj.group = this._group[4];
-            fillSymbolIdObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": fillSymbolIDRows}
-            };
-
-            // 填充透明度
-            var fillOpaqueRateObj = new Object();
-            fillOpaqueRateObj.name = this._displayFillStyleName[8];
-            fillOpaqueRateObj.value = this._selectedFeature.symbolStyle.fillOpaqueRate;
-            fillOpaqueRateObj.group = this._group[4];
-            fillOpaqueRateObj.editor = "text";
-
-            // 文本内容
-            var textContentObj = new Object();
-            textContentObj.name = this._displayTextContentName[0];
-            if (34 == this._selectedFeature.symbolType) {
-                textContentObj.value = this._selectedFeature.textContent;
-            } else {
-                textContentObj.value = this._selectedFeature.textContent;
-            }
-            textContentObj.group = this._group[5];
-            textContentObj.editor = "text";
-
-            // 注记位置
-            var markPosObj = new Object();
-            markPosObj.name = this._displayTextContentName[1];
-            markPosObj.value = this.annotationToString(this._selectedFeature.textPos);
-            markPosObj.group = this._group[5];
-            markPosObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": annotationRows}
-            };
-
-            // 字体背景颜色
-            var fontBackColor = new Object();
-            fontBackColor.name = this._displayTextContentName[2];
-            fontBackColor.value = this.colorGeometryToString(this._selectedFeature.symbolTextStyle.backColor);
-            fontBackColor.group = this._group[5];
-            fontBackColor.editor = "colorpicker";
-
-            // 注记字体大小
-            var fontSizeObj = new Object();
-            fontSizeObj.name = this._displayTextContentName[3];
-            fontSizeObj.value = this._selectedFeature.symbolTextStyle.fontSize;
-            fontSizeObj.group = this._group[5];
-            fontSizeObj.editor = "text";
-
-            // 注记字体名称
-            var fontFamilyObj = new Object();
-            fontFamilyObj.name = this._displayTextContentName[4];
-            fontFamilyObj.value = this._selectedFeature.symbolTextStyle.fontName;
-            fontFamilyObj.group = this._group[5];
-            fontFamilyObj.editor = "text";
-
-            // 注记字体颜色
-            var fontColorObj = new Object();
-            fontColorObj.name = this._displayTextContentName[5];
-            fontColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolTextStyle.foreColor);
-            fontColorObj.group = this._group[5];
-            fontColorObj.editor = "colorpicker";
-
-            // 注记边框
-            var fontHaloObj = new Object();
-            fontHaloObj.name = this._displayTextContentName[6];
-            fontHaloObj.value = this.checkboxValueToString(this._selectedFeature.symbolTextStyle.outline);
-            fontHaloObj.group = this._group[5];
-            fontHaloObj.editor = {"type": "checkbox", "options": {"on": true, "off": false}};
-
-            // 注记边框宽度
-            var outlineWidthObj = new Object();
-            outlineWidthObj.name = this._displayTextContentName[7];
-            outlineWidthObj.value = this._selectedFeature.symbolTextStyle.outlineWidth;
-            outlineWidthObj.group = this._group[5];
-            outlineWidthObj.editor = "text";
-
-            // 注记边框颜色
-            var outlineColorObj = new Object();
-            outlineColorObj.name = this._displayTextContentName[8];
-            outlineColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolTextStyle.outlineColor);
-            outlineColorObj.group = this._group[5];
-            outlineColorObj.editor = "colorpicker";
-
-            // 衬线类型
-            var surroundLineTypeObj = new Object();
-            surroundLineTypeObj.name = this._displaySurroundLineName[0];
-            surroundLineTypeObj.value = this.surroundLineTypeToString(this._selectedFeature);
-            surroundLineTypeObj.group = this._group[1];
-            surroundLineTypeObj.editor = {
-                "type": 'combobox',
-                "options": {"valueField": 'value', "textField": 'text', "data": surroundLineTypeRows}
-            };
-
-            // 衬线宽
-            var surroundLineWidthObj = new Object();
-            surroundLineWidthObj.name = this._displaySurroundLineName[1];
-            surroundLineWidthObj.value = 1===this._selectedFeature.symbolType ? this._selectedFeature.gridSurroundLineWidth : this._selectedFeature.symbolStyle.surroundLineWidth;
-            surroundLineWidthObj.group = this._group[1];
-            surroundLineWidthObj.editor = "text";
-
-            // 衬线色
-            var surroundLineColorObj = new Object();
-            surroundLineColorObj.name = this._displaySurroundLineName[2];
-            surroundLineColorObj.value = this.colorGeometryToString(this._selectedFeature.symbolStyle.surroundLineColor);
-            surroundLineColorObj.group = this._group[1];
-            surroundLineColorObj.editor = "colorpicker";
-
-            // 标号大小
-            var gridSymbolSizeXObj, gridSymbolSizeYObj,pictureSymbolSizeXObj,pictureSymbolSizeYObj,rotationX, rotationY,rotationZ,scaleX,scaleY,scaleZ;
-            var modelScale, modelRotateX, modelRotateY, modelRotateZ;
-            if (this._selectedFeature._symbolType === 1) {
-                gridSymbolSizeXObj = new Object();
-                gridSymbolSizeXObj.name = this._displayName[6];
-                gridSymbolSizeXObj.value = parseInt(this._selectedFeature.gridSymbolSize.x);
-                gridSymbolSizeXObj.group = this._group[2];
-                gridSymbolSizeXObj.editor = "text";
-
-                // 标号大小
-                gridSymbolSizeYObj = new Object();
-                gridSymbolSizeYObj.name = this._displayName[7];
-                gridSymbolSizeYObj.value = parseInt(this._selectedFeature.gridSymbolSize.y);
-                gridSymbolSizeYObj.group = this._group[2];
-                gridSymbolSizeYObj.editor = "text";
-
-
-
-
-                // 图片大小X
-                pictureSymbolSizeXObj = new Object();
-                pictureSymbolSizeXObj.name = this._displayName[6];
-                pictureSymbolSizeXObj.value = this._selectedFeature.pictureSymbolSize.x;
-                pictureSymbolSizeXObj.group = this._group[10];
-                pictureSymbolSizeXObj.editor = "text";
-
-                // 图片大小Y
-                pictureSymbolSizeYObj = new Object();
-                pictureSymbolSizeYObj.name = this._displayName[7];
-                pictureSymbolSizeYObj.value = this._selectedFeature.pictureSymbolSize.y;
-                pictureSymbolSizeYObj.group = this._group[10];
-                pictureSymbolSizeYObj.editor = "text";
-                if(2 === this._selectedFeature.showMode){
-                    modelScale = new Object();
-                    modelScale.name = this._displayName[12];
-                    modelScale.value = this._selectedFeature.modelScale.x;
-                    modelScale.group = this._group[8];
-                    modelScale.editor = "text";
-                }else if(0 === this._selectedFeature.showMode){
-
-                    // 缩放比例X
-                    scaleX = new Object();
-                    scaleX.name = this._displayName[13];
-                    scaleX.value = this._selectedFeature.vectorScale;
-                    scaleX.group = this._group[8];
-                    scaleX.editor = "text";
-                }
-
-                if(2 === this._selectedFeature.showMode){
-                    modelRotateX = new Object();
-                    modelRotateX.name = this._displayName[8];
-                    modelRotateX.value = this._selectedFeature.modelRotate.x;
-                    modelRotateX.group = this._group[9];
-                    modelRotateX.editor = "text";
-
-                    modelRotateY = new Object();
-                    modelRotateY.name = this._displayName[9];
-                    modelRotateY.value = this._selectedFeature.modelRotate.y;
-                    modelRotateY.group = this._group[9];
-                    modelRotateY.editor = "text";
-
-                    modelRotateZ = new Object();
-                    modelRotateZ.name = this._displayName[10];
-                    modelRotateZ.value = this._selectedFeature.modelRotate.z;
-                    modelRotateZ.group = this._group[9];
-                    modelRotateZ.editor = "text";
-                }else if(0 === this._selectedFeature.showMode){
-                    // 旋转角度X
-                    rotationX = new Object();
-                    rotationX.name = this._displayName[8];
-                    rotationX.value = this._selectedFeature.vectorRotate.x;
-                    rotationX.group = this._group[9];
-                    rotationX.editor = "text";
-
-                    // 旋转角度Y
-                    rotationY = new Object();
-                    rotationY.name = this._displayName[9];
-                    rotationY.value = this._selectedFeature.vectorRotate.y;
-                    rotationY.group = this._group[9];
-                    rotationY.editor = "text";
-
-                    // 旋转角度Z
-                    rotationZ = new Object();
-                    rotationZ.name = this._displayName[10];
-                    rotationZ.value = this._selectedFeature.vectorRotate.z;
-                    rotationZ.group = this._group[9];
-                    rotationZ.editor = "text";
-                }
-
-            }
-
-            var selectedFeature = this._selectedFeature;
-
-            if (34 === selectedFeature.symbolType
-            ||  20 === selectedFeature.symbolType) {
-                if (20 === selectedFeature.symbolType) {
-                    rows.push(picturePathObj);
-                    rows.push(pictureSymbolSizeXObj);
-                    rows.push(pictureSymbolSizeYObj);
-                } else {
-                    rows.push(textContentObj);
-                    rows.push(fontHaloObj);
-                    rows.push(fontBackColor);
-                    rows.push(fontSizeObj);
-                    rows.push(fontFamilyObj);
-                    rows.push(fontColorObj);
-                    rows.push(outlineWidthObj);
-                    rows.push(outlineColorObj);
-                }
-            }
-            // 点标号
-            if (1 === selectedFeature.symbolType) {
-                if (0 === selectedFeature.showMode
-                    || 1 === selectedFeature.showMode) {
-                    rows.push(surroundLineTypeObj);
-                    rows.push(surroundLineWidthObj);
-                    rows.push(surroundLineColorObj);
-                    rows.push(dotSymbolRankObj);
-                }
-                rows.push(dotSymbolShowModeObj);
-                if (1 === selectedFeature.showMode) {
-                    rows.push(dotSymbolNegativeImageObj);
-                }
-                rows.push(modelIdObj);
-                if (0 === selectedFeature.showMode) {
-                    rows.push(scaleX);
-                    rows.push(rotationX);
-                    rows.push(rotationY);
-                    rows.push(rotationZ);
-                }
-                if (2 === selectedFeature.showMode) {
-                	rows.push(modelScale);
-                	rows.push(modelRotateX);
-                	rows.push(modelRotateY);
-                	rows.push(modelRotateZ);
-                }
-                if (3 === selectedFeature.showMode) {
-                    rows.push(pictureSymbolSizeXObj);
-                    rows.push(pictureSymbolSizeYObj);
-                }
-                rows.push(picturePathObj);
-                if (0 === selectedFeature.showMode
-                    || 1 === selectedFeature.showMode) {
-                    rows.push(fillBackColorObj);
-                    rows.push(fillBackOpaqueObj);
-                    rows.push(fillGradientAngleObj);
-                    rows.push(fillGradientModeObj);
-                    rows.push(fillGradientOffsetRatioYObj);
-                    rows.push(fillGradientOffsetRatioXObj);
-                    rows.push(fillForeColorObj);
-                    rows.push(fillSymbolIdObj);
-                    rows.push(fillOpaqueRateObj);
-                }
-                if (0 === selectedFeature.showMode
-                ||  1 === selectedFeature.showMode
-                ||  2 === selectedFeature.showMode) {
-                    rows.push(textContentObj);
-                    rows.push(fontSizeObj);
-                    rows.push(fontColorObj);
-                    rows.push(fontFamilyObj);
-                    rows.push(markPosObj);
-                    rows.push(fontHaloObj);
-                    rows.push(outlineWidthObj);
-                    rows.push(outlineColorObj);
-                }
-                if (0 === selectedFeature.showMode
-                ||  1 === selectedFeature.showMode) {
-                    rows.push(lineWidthObj);
-                    rows.push(lineColorObj);
-                    if (1 === selectedFeature.showMode) {
-                        rows.push(lineStyleObj);
-                        rows.push(gridSymbolSizeXObj);
-                        rows.push(gridSymbolSizeYObj);
-                    }
-                }
-
-                var longitudeObj = new Object();
-                longitudeObj.name = this._displayPositionName[0];
-                longitudeObj.value = selectedFeature.localPoints[0].x;
-                longitudeObj.group = "位置点";
-                longitudeObj.index = 0;
-                longitudeObj.editor = "text";
-
-                var latitudeObj = new Object();
-                latitudeObj.name = this._displayPositionName[1];
-                latitudeObj.value = selectedFeature.localPoints[0].y;
-                latitudeObj.group = "位置点";
-                latitudeObj.index = 0;
-                latitudeObj.editor = "text";
-
-                var altitudeObj = new Object();
-                altitudeObj.name = this._displayPositionName[2];
-                altitudeObj.value = selectedFeature.localPoints[0].z;
-                altitudeObj.group = "位置点";
-                altitudeObj.index = 0;
-                altitudeObj.editor = "text";
-
-                rows.push(longitudeObj);
-                rows.push(latitudeObj);
-                rows.push(altitudeObj);
-            }
-            else {
-                rows.push(surroundLineTypeObj);
-                rows.push(surroundLineWidthObj);
-                rows.push(surroundLineColorObj);
-                rows.push(fillBackColorObj);
-                rows.push(fillBackOpaqueObj);
-                rows.push(fillGradientAngleObj);
-                rows.push(fillGradientModeObj);
-                rows.push(fillGradientOffsetRatioYObj);
-                rows.push(fillGradientOffsetRatioXObj);
-                rows.push(fillForeColorObj);
-                rows.push(fillSymbolIdObj);
-                rows.push(fillOpaqueRateObj);
-                rows.push(lineWidthObj);
-                rows.push(lineColorObj);
-                rows.push(extendWallObj);
-
-                if(selectedFeature.subSymbols){
-                    //子标号
-                    for (var i=0; i<selectedFeature.subSymbols.length; ++i) {
-                        var objectSubCode = new Object();
-                        objectSubCode.name = "Code";
-                        objectSubCode.value = selectedFeature.subSymbols[i].code;
-                        objectSubCode.group = this._group[6];
-                        objectSubCode.editor = {"type":'combobox', "options" : { "valueField": 'value', "textField": 'text', "data" : subSymbolsTypeRows }};
-                        objectSubCode.index = i;
-                        rows.push(objectSubCode);
-                    }
-                    if ((0 === selectedFeature.subSymbols.length && 0 === selectedFeature.libID && 1025 === selectedFeature.code) ||
-                        (0 === selectedFeature.subSymbols.length && 100 === selectedFeature.libID && 25200 === selectedFeature.code) ||
-                        (0 === selectedFeature.subSymbols.length && 100 === selectedFeature.libID && 3020901 === selectedFeature.code)) {
-                        var objectSubCode1 = new Object();
-                        objectSubCode1.name = "Code";
-                        objectSubCode1.value = subSymbolsTypeString(selectedFeature.subSymbols.length, selectedFeature);
-                        objectSubCode1.group = this._group[6];
-                        objectSubCode1.editor = {"type" : 'combobox', "options" : { "valueField" : 'value', "textField" : "text", "data" : subSymbolsTypeRows }};
-                        objectSubCode1.index = i;
-                        rows.push(objectSubCode1);
-                    }
-                }
-
-
-                if (1025 === selectedFeature.symbolType && selectedFeature.subSymbols.length > 0) {
-                    var objectLibID = new Object();
-                    objectLibID.name = "LibID";
-                    objectLibID.value = libIDToString(selectedFeature.subSymbols[0].libID);
-                    objectLibID.group = this._group[6];
-                    objectLibID.editor = "text";
-                    rows.push(objectLibID);
-                }
-
-                for (var i=0; i<selectedFeature.localPoints.length; ++i) {
-                	var longitudeObj = new Object();
-                	longitudeObj.name = this._displayPositionName[0];
-                	longitudeObj.value = selectedFeature.localPoints[i].x;
-                	longitudeObj.group = "位置点"+(i+1);
-                	longitudeObj.index = i;
-                	longitudeObj.editor = "text";
-
-                	var latitudeObj = new Object();
-                	latitudeObj.name = this._displayPositionName[1];
-                	latitudeObj.value = selectedFeature.localPoints[i].y;
-                	latitudeObj.group = "位置点"+(i+1);
-                	latitudeObj.index = i;
-                	latitudeObj.editor = "text";
-
-                	var altitudeObj = new Object();
-                	altitudeObj.name = this._displayPositionName[2];
-                	altitudeObj.value = selectedFeature.localPoints[i].z;
-                    altitudeObj.group = "位置点"+(i+1);
-                    altitudeObj.index = i;
-                    altitudeObj.editor = "text";
-
-                    rows.push(longitudeObj);
-                    rows.push(latitudeObj);
-                    rows.push(altitudeObj);
-                }
-            }
-            return rows;
-        }
-    };
-
-    StylePanel.prototype.updateSelectFeature = function(updated, selectFeature) {
-        var _self = this;
-        if (null != updated && selectFeature) {
-            switch (updated.name) {
-                case this._displayName[0]:
-                    selectFeature.isNegativeImage = this.fromCheckboxValue(updated.value);
-                    break;
-                case this._displayName[1]:
-                    selectFeature.symbolRank = parseInt(updated.value);
-                    break;
-                case this._displayName[2]:
-                    var mode = parseInt(updated.value);
-                    if (2 === mode && 0 === selectFeature.modelPath.length) {
-                        return;
-                    }
-                    if (3 === mode && 0 === selectFeature.picturePath.length) {
-                        return;
-                    }
-                    selectFeature.showMode = parseInt(updated.value);
-                    break;
-                case this._displayName[3]:
-                    selectFeature.modelPath = updated.value;
-                    break;
-                case this._displayName[4]:
-                    selectFeature.picturePath = updated.value;
-                    break;
-                case this._displayName[5]:
-                    selectFeature.symbolStyle.wholeHeight = parseInt(updated.value);
-                    break;
-                case this._displayName[6]:
-                    if (updated.group === this._group[10]) {
-                        selectFeature.pictureSymbolSize = new cesium.Cartesian2(x = parseInt(updated.value),y = selectFeature.pictureSymbolSize.y);
-                    } else {
-                        selectFeature.gridSymbolSize =  new cesium.Cartesian2(x = parseInt(updated.value),y = selectFeature.gridSymbolSize.y);
-                    }
-                    break;
-                case this._displayName[7]:
-                    if (updated.group === this._group[10]) {
-                        selectFeature.pictureSymbolSize = new cesium.Cartesian2(x = selectFeature.pictureSymbolSize.x,y = parseInt(updated.value));
-                    } else {
-                        selectFeature.gridSymbolSize =  new cesium.Cartesian2(x = selectFeature.gridSymbolSize.x,y = parseInt(updated.value));
-                    }
-                    break;
-                case this._displayName[8]:
-                    if (updated.group === this._group[8]) {
-                        selectFeature.scale.x = parseInt(updated.value);
-                    } else if (updated.group === this._group[9]) {
-                        if (2 === selectFeature.showMode) {
-                            var rotate = selectFeature.modelRotate;
-                            selectFeature.setModelRotate(parseInt(updated.value), rotate.y , rotate.z);
-                        } else {
-                            var rotate = selectFeature.vectorRotate;
-                            selectFeature.setVectorRotate(parseInt(updated.value), rotate.y , rotate.z);
-                        }
-                    }
-                    break;
-                case this._displayName[9]:
-                    if (updated.group === this._group[8]) {
-                        selectFeature.scale.y = parseInt(updated.value);
-                    } else if (updated.group === this._group[9]) {
-                        if (2 === selectFeature.showMode) {
-                            var rotate = selectFeature.modelRotate;
-                            selectFeature.setModelRotate(rotate.x,  parseInt(updated.value), rotate.z);
-                        } else {
-                            var rotate = selectFeature.vectorRotate;
-                            selectFeature.setVectorRotate(rotate.x,  parseInt(updated.value), rotate.z);
-                        }
-                    }
-                    break;
-                case this._displayName[10]:
-                    if (updated.group === this._group[8]) {
-                        selectFeature.scale.z = parseInt(updated.value);
-                    } else if (updated.group === this._group[9]) {
-                        if (2 === selectFeature.showMode) {
-                            var rotate = selectFeature.modelRotate;
-                            selectFeature.setModelRotate(rotate.x, rotate.y, parseInt(updated.value));
-                        } else {
-                            var rotate = selectFeature.vectorRotate;
-                            selectFeature.setVectorRotate(rotate.x, rotate.y, parseInt(updated.value));
-                        }
-                    }
-                    break;
-                case this._displayName[12]:
-                    var modelScale = selectFeature.modelScale;
-                    selectFeature.modelScale = new cesium.Cartesian3(parseInt(updated.value),modelScale.y,modelScale.z);
-                    break;
-                case this._displayName[13]:
-                    selectFeature.vectorScale = parseFloat(updated.value);
-                    break;
-                case this._displaySurroundLineName[0]:
-                    selectFeature.symbolStyle.surroundLineType = parseInt(updated.value);
-                    break;
-                case this._displaySurroundLineName[1]:
-                    if (1 === selectFeature.symbolType) {
-                        selectFeature.gridSurroundLineWidth = parseInt(updated.value);
-                    } else {
-                        selectFeature.symbolStyle.surroundLineWidth = parseInt(updated.value);
-                    }
-                    break;
-                case this._displaySurroundLineName[2]:
-                    selectFeature.symbolStyle.surroundLineColor = colorConvert(updated.value);
-                    break;
-                case this._displaySurroundLineName[3]:
-                    break;
-                case this._displayFillStyleName[0]:
-                    selectFeature.symbolStyle.fillBackColor = colorConvert(updated.value);
-                    break;
-                case this._displayFillStyleName[1]:
-                    selectFeature.symbolStyle.fillBackOpaque = this.fromCheckboxValue(updated.value);
-                    break;
-                case this._displayFillStyleName[2]:
-                    selectFeature.symbolStyle.fillGradientAngle = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[3]:
-                    selectFeature.symbolStyle.fillGradientMode = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[4]:
-                    selectFeature.symbolStyle.fillGradientOffsetRatioY = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[5]:
-                    selectFeature.symbolStyle.fillGradientOffsetRatioX = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[6]:
-                    selectFeature.symbolStyle.fillForeColor = colorConvert(updated.value);
-                    break;
-                case this._displayFillStyleName[7]:
-                    selectFeature.symbolStyle.fillSymbolID = parseInt(updated.value);
-                    break;
-                case this._displayFillStyleName[8]:
-                    selectFeature.symbolStyle.fillOpaqueRate = parseInt(updated.value);
-                    break;
-                case this._displayLineStyleName[0]:
-                    if (1===selectFeature.symbolType) {
-                        selectFeature.gridLineWidth = parseFloat(updated.value);
-                    } else {
-                        selectFeature.symbolStyle.lineWidth = parseFloat(updated.value);
-                    }
-                    break;
-                case this._displayLineStyleName[1]:
-                    selectFeature.symbolStyle.lineColor = colorConvert(updated.value);
-                    break;
-                case this._displayLineStyleName[2]:
-                    selectFeature.lineSymbolID = parseInt(updated.value);
-                    break;
-                case this._displayTextContentName[0]:
-                    selectFeature.textContent = updated.value;
-                    break;
-                case this._displayTextContentName[1]:
-                    selectFeature.textPos = parseInt(updated.value);
-                    break;
-                case this._displayTextContentName[2]:
-                    selectFeature.symbolTextStyle.backColor = colorConvert(updated.value);
-                    break;
-                case this._displayTextContentName[3]:
-                    selectFeature.symbolTextStyle.fontSize = parseInt(updated.value);
-                    break;
-                case this._displayTextContentName[4]:
-                    selectFeature.symbolTextStyle.fontName = updated.value;
-                    break;
-                case this._displayTextContentName[5]:
-                    selectFeature.symbolTextStyle.foreColor = colorConvert(updated.value);
-                    break;
-                case this._displayTextContentName[6]:
-                    selectFeature.symbolTextStyle.outline = this.fromCheckboxValue(updated.value);
-                    break;
-                case this._displayTextContentName[7]:
-                    selectFeature.symbolTextStyle.outlineWidth = parseFloat(updated.value);
-                    break;
-                case this._displayTextContentName[8]:
-                    selectFeature.symbolTextStyle.outlineColor = colorConvert(updated.value);
-                    break;
-                case this._displayPositionName[0]:
-                    var pts = [];
-                    for (var i=0; i<selectFeature.localPoints.length; ++i) {
-                        pts.push(selectFeature.localPoints[i].clone());
-                    }
-                    pts[updated.index].x = parseInt(updated.value);
-                    selectFeature.localPoints = pts;
-                    break;
-                case this._displayPositionName[1]:
-                    var pts = [];
-                    for (var i=0; i<selectFeature.localPoints.length; ++i) {
-                        pts.push(selectFeature.localPoints[i].clone());
-                    }
-                    pts[updated.index].y = parseInt(updated.value);
-                    selectFeature.localPoints = pts;
-                    break;
-                case this._displayPositionName[2]:
-                    var pts = [];
-                    for (var i=0; i<selectFeature.localPoints.length; ++i) {
-                        pts.push(selectFeature.localPoints[i].clone());
-                    }
-                    pts[updated.index].z = parseInt(updated.value);
-                    selectFeature.localPoints = pts;
-                    break;
-                case this._displayExtendWallName[0]:
-                    selectFeature.extendWallHeight = updated.value;
-                    break;
-                default:
-                    break;
-            }
-            if (updated.group == this._group[6]) {
-                if (updated.name == "LibID") {
-                    if (null !== updated.value) {
-                        selectFeature.subSymbols[0].libID = parseInt(updated.value);
-                    }
-                }
-                //设置子标号
-                if (updated.name == "Code") {
-                    var code = parseInt(updated.value);
-
-                    if(selectFeature.symbolType === 1025 && code != null) {
-                        var symbolLibManager = this._plotting.getSymbolLibManager();
-                        var subCode = symbolLibManager.findSymbolByCode(code);
-                        if(subCode.length !== 0 && subCode[0].symbolType === "SYMBOL_DOT"){
-                            //selectFeature.subSymbols[updated.index] = {libID : subCode[0].libID, code : code};
-                            var temp = {libID : subCode[0].libID, code : code};
-                            selectFeature.setSubSymbols(temp,updated.index);
-                        }
-
-                    } else {
-                        var temp = {libID:selectFeature.libID,code:code };
-                        selectFeature.setSubSymbols(temp,updated.index);
-                    }
-                }
-            }
-        }
-        var rows = _self.collectionPropertyGridRows(_self._selectedFeature);
-        $('#pg').propertygrid('loadData', rows);
-    };
-
-    function colorConvert(colorString) {
-        var red = parseInt(colorString.slice(1, 3), 16) / 255;
-        var green = parseInt(colorString.slice(3, 5), 16) / 255;
-        var blue = parseInt(colorString.slice(5, 7), 16) / 255;
-        return  new Cesium.Color(red,green,blue);
-    }
-
-    StylePanel.prototype.getAnnotationRows = function(graphicObject) {
-        var annotationRows = [];
-        annotationRows.push({"value" : "0", "text" : "左上"});
-        annotationRows.push({"value" : "1", "text" : "左下"});
-        annotationRows.push({"value" : "2", "text" : "右上"});
-        annotationRows.push({"value" : "3", "text" : "右下"});
-        annotationRows.push({"value" : "4", "text" : "上"});
-        annotationRows.push({"value" : "5", "text" : "下"});
-        annotationRows.push({"value" : "6", "text" : "左"});
-        annotationRows.push({"value" : "7", "text" : "右"});
-        if (graphicObject.middleMarkExist) {
-            annotationRows.push({"value" : "8", "text" : "中间"});
-        }
-        return annotationRows;
-    };
-
-    StylePanel.prototype.getSymbolRankRows = function(graphicObject) {
-        var symbolRanks = [];
-        if (graphicObject && graphicObject.symbolRanks) {
-            symbolRanks = graphicObject.symbolRanks;
-        }
-        var rows = [];
-        rows.push({"value" : "0", "text" : "无级别"});
-        for (var i=0; i<symbolRanks.length; ++i) {
-            if (1 == symbolRanks[i]) {
-                rows.push({"value" : "1", "text" : "军区级"});
-            } else if (2 == symbolRanks[i]) {
-                rows.push({"value" : "2", "text" : "副大军区级"});
-            } else if (3 == symbolRanks[i]) {
-                rows.push({"value" : "3", "text" : "集团军级"});
-            } else if (4 == symbolRanks[i]) {
-                rows.push({"value" : "4", "text" : "师级"});
-            } else if (5 == symbolRanks[i]) {
-                rows.push({"value" : "5", "text" : "旅级"});
-            } else if (6 == symbolRanks[i]) {
-                rows.push({"value" : "6", "text" : "团级"});
-            } else if (7 == symbolRanks[i]) {
-                rows.push({'value' : "7", "text" : "营级"});
-            } else if (8 == symbolRanks[i]) {
-                rows.push({'value' : "8", "text" : "连级"});
-            } else if (9 == symbolRanks[i]) {
-                rows.push({'value' : "9", "text" : "排级"});
-            }
-        }
-        return rows;
-    };
-
-    StylePanel.prototype.getSurroundLineTypeRows = function(graphicObject) {
-        var rows = [];
-        if (null == graphicObject || undefined == graphicObject) {
-            return [];
-        }
-        var symbolType = graphicObject.symbolType;
-        if (1 == symbolType) {
-            rows.push({"value" : "0", "text" : "无衬线"});
-            rows.push({"value" : "1", "text" : "有衬线"});
-        } else {
-            rows.push({"value" : "0", "text" : "无衬线"});
-            rows.push({"value" : "1", "text" : "内侧衬线"});
-            rows.push({"value" : "2", "text" : "外侧衬线"});
-            rows.push({"value" : "3", "text" : "双侧衬线"});
-        }
-        return rows;
-    };
-
-
-    StylePanel.prototype.getDotShowModeRows = function(graphicObject) {
-
-        var rows = [];
-        rows.push({"value" : "0", "text" : "矢量模式"});
-        rows.push({"value" : "1", "text" : "公告板模式"});
-        rows.push({"value" : "2", "text" : "模型模式"});
-        rows.push({"value" : "3", "text" : "图片模式"});
-        return rows;
-
-    };
-
-    StylePanel.prototype.getFillGradientModeRows = function(graphicObject) {
-        var rows = [];
-
-        rows.push({"value" : "0", "text" : "无渐变"});
-        rows.push({"value" : "1", "text" : "线性渐变"});
-        rows.push({"value" : "2", "text" : "辐射渐变"});
-
-        return rows;
-    };
-
-    StylePanel.prototype.getLineStyleRows = function(graphicObject) {
-        var rows = [];
-
-        rows.push({"value" : "0", "text" : "实线"});
-        rows.push({"value" : "1", "text" : "长虚线"});
-        rows.push({"value" : "2", "text" : "由点构成的直线"});
-        rows.push({"value" : "3", "text" : "由线划线段构成的直线"});
-        rows.push({"value" : "4", "text" : "由重复的线划点图案构成的直线"});
-
-        return rows;
-    };
-
-    StylePanel.prototype.getSubSymbolsTypeRows = function(graphicObject) {
-
-        var rows = [];
-        rows.push({"value" : "0", "text" : ""});
-
-        if (100 === graphicObject.libID) {
-            rows.push({"value" : "100", "text" : "陆军"});
-            rows.push({"value" : "200", "text" : "海军"});
-            rows.push({"value" : "300", "text" : "空军"});
-        } else if (123 === graphicObject.libID) {
-            rows.push({"value" : "10101", "text" : "武装警察部队"});
-            rows.push({"value" : "10102", "text" : "防爆装甲"});
-            rows.push({"value" : "10103", "text" : "火炮"});
-        } else if (900 === graphicObject.libID) {
-            rows.push({"value" : "910200", "text" : "人民防空重点城市"});
-            rows.push({"value" : "910300", "text" : "人民防空基本指挥所"});
-            rows.push({"value" : "910402", "text" : "水路抢修专业队"});
-        } else if (0 === graphicObject.libID) {
-            rows.push({"value" : "9", "text" : "刑警"});
-            rows.push({"value" : "80103", "text" : "交警"});
-            rows.push({"value" : "80109", "text" : "专业警"});
-        }
-        return rows;
-    };
-
-    function subSymbolsTypeString(subSymbolsLength, geometry) {
-
-        if (0 === subSymbolsLength) {
-            return "";
-        } else {
-            if (100 === geometry.libID) {
-                if (100 === geometry.subSymbols[0].code) {
-                    return "陆军";
-                }
-                if (123 === geometry.subSymbols[0].code) {
-                    return "海军";
-                }
-                if (300 === geometry.subSymbols[0].code) {
-                    return "空军";
-                }
-            } else if (123 === geometry.libID) {
-                if (10101 === geometry.subSymbols[0].code) {
-                    return "武装警察部队";
-                }
-                if (10102 === geometry.subSymbols[0].code) {
-                    return "防爆装甲";
-                }
-                if (10103 === geometry.subSymbols[0].code) {
-                    return "火炮";
-                }
-            } else if (900 === geometry.libID) {
-                if (910200 === geometry.subSymbols[0].code) {
-                    return "人民防空重点城市";
-                }
-                if (910300 === geometry.subSymbols[0].code) {
-                    return "人民防空基本指挥所";
-                }
-                if (910402 === geometry.subSymbols[0].code) {
-                    return "水路抢修专业队";
-                }
-            } else if (0 === geometry.libID) {
-                if (9 === geometry.subSymbols[0].code) {
-                    return "刑警";
-                }
-                if (80103 === geometry.subSymbols[0].code) {
-                    return "交警";
-                }
-                if (80109 === geometry.subSymbols[0].code) {
-                    return "专业警";
-                }
-            }
-        }
-    }
-
-    function libIDToString(libID) {
-        if (421 == libID) {
-            return "421(警用库)";
-        } else if (100 == libID) {
-            return "100(军队库)";
-        } else if (123 == libID) {
-            return "123(武警库)";
-        } else if (900 == libID) {
-            return "900(人防库)";
-        }
-    }
-
-    StylePanel.prototype.getFillSymbolIDRows = function(graphicObject) {
-
-        var rows = [];
-        rows.push({"value" : "0", "text" : "实填充"});
-        rows.push({"value" : "1", "text" : "无填充"});
-        // rows.push({"value" : "2", "text" : "向上斜填充"});
-        // rows.push({"value" : "3", "text" : "十字填充"});
-        // rows.push({"value" : "4", "text" : "交叉填充"});
-        // rows.push({"value" : "5", "text" : "反斜线填充"});
-        // rows.push({"value" : "6", "text" : "水平填充"});
-        // rows.push({"value" : "7", "text" : "竖直填充"});
-        return rows;
-    };
-
-    StylePanel.prototype.displayToString = function(display) {
-        if (display && display === "none") {
-            return "不显示";
-        }
-        return "显示";
-    };
-
-    StylePanel.prototype.checkboxValueToString = function(checkboxValue) {
-        if (true === checkboxValue) {
-            return "true";
-        } else if (false === checkboxValue) {
-            return "false";
-        }
-    };
-
-    StylePanel.prototype.fromCheckboxValue = function(checkboxStr) {
-        if ("true" === checkboxStr) {
-            return true;
-        } else if ("false" === checkboxStr) {
-            return false;
-        }
-    };
-
-    StylePanel.prototype.symbolRankToString = function(symbolRank) {
-        if (0 == symbolRank) {
-            return "无级别";
-        } else if (1 == symbolRank) {
-            return "军区级";
-        } else if (2 == symbolRank) {
-            return "副大军区级";
-        } else if (3 == symbolRank) {
-            return "集团军级";
-        } else if (4 == symbolRank) {
-            return "师级";
-        } else if (5 == symbolRank) {
-            return "旅级";
-        } else if (6 == symbolRank) {
-            return "团级";
-        } else if (7 == symbolRank) {
-            return "营级";
-        } else if (8 == symbolRank) {
-            return "连级";
-        } else if (9 == symbolRank) {
-            return "排级";
-        }
-    };
-
-    StylePanel.prototype.showModeToString = function(dotShowMode) {
-
-        if (0 === dotShowMode) {
-            return "矢量模式";
-        } else if (1 === dotShowMode) {
-            return "公告板模式";
-        } else if (2 === dotShowMode) {
-            return "模型模式";
-        } else if (3 === dotShowMode) {
-            return "图片模式";
-        } else {
-            return "未定义";
-        }
-
-    };
-
-    StylePanel.prototype.fillGradientModeToString = function(fillGradientMode) {
-
-        if (0 === fillGradientMode) {
-            return "无渐变";
-        } else if (1 === fillGradientMode) {
-            return "线性渐变";
-        } else if (2 === fillGradientMode) {
-            return "辐射渐变";
-        }
-
-    };
-
-    StylePanel.prototype.annotationToString = function(annotation) {
-
-        if (0 === annotation) {
-            return "左上";
-        } else if (1 === annotation) {
-            return "左下";
-        } else if (2 === annotation) {
-            return "右上";
-        } else if (3 === annotation) {
-            return "右下";
-        } else if (4 === annotation) {
-            return "上";
-        } else if (5 === annotation) {
-            return "下";
-        } else if (6 === annotation) {
-            return "左";
-        } else if (7 === annotation) {
-            return "右";
-        } else if (8 === annotation) {
-            return "中间";
-        }
-
-    };
-
-    StylePanel.prototype.surroundLineTypeToString = function(graphicObject) {
-
-        if (1 === graphicObject.symbolType) {
-            if (0 === graphicObject.symbolStyle.surroundLineType) {
-                return "无衬线";
-            } else if (1 === graphicObject.symbolStyle.surroundLineType) {
-                return "有衬线";
-            }
-        } else {
-            if (0 === graphicObject.symbolStyle.surroundLineType) {
-                return "无衬线";
-            } else if (1 === graphicObject.symbolStyle.surroundLineType) {
-                return "内侧衬线";
-            } else if (2 === graphicObject.symbolStyle.surroundLineType) {
-                return "外侧衬线";
-            } else if (3 === graphicObject.symbolStyle.surroundLineType) {
-                return "双侧衬线";
-            }
-        }
-    };
-
-    StylePanel.prototype.colorGeometryToString = function(color) {
-
-        var value = color.value;
-        var red, green, blue;
-
-        if (undefined !== value && null !== value) {
-            red = value[2]>15 ? value[2].toString(16) : "0" + value[2].toString(16);
-            green = value[1]>15 ? value[2].toString(16) : "0" + value[1].toString(16);
-            blue = value[0]>15 ? value[0].toString(16) : "0" + value[0].toString(16);
-        } else {
-            red = color.red * 255;
-            red = red > 15 ? red.toString(16) : "0" + red;
-            green = color.green * 255;
-            green = green > 15 ? green.toString(16) : "0" + green;
-            blue = color.blue * 255;
-            blue = blue > 15 ? blue.toString(16) : "0" + blue;
-        }
-        return "#" + red + green + blue;
-    };
-
-
-
-    StylePanel.prototype.lineStyleToString = function(lineStyle) {
-
-        if (0 === lineStyle) {
-            return "实线";
-        } else if (1 === lineStyle) {
-            return "长虚线";
-        } else if (2 === lineStyle) {
-            return "由点构成的直线";
-        } else if (3 === lineStyle) {
-            return "由线划线段构成的直线";
-        } else if (4 === lineStyle) {
-            return "由重复的线划点图案构成的直线";
-        }
-    };
-
-    StylePanel.prototype.fillSymbolIdToString = function(fillSymbolID) {
-
-        switch (fillSymbolID) {
-            case 0:
-                return "实填充";
-            case 1:
-                return "无填充";
-        }
-    };
-
-
diff --git a/js/plotPanelControl/colorpicker/css/colorpicker.css b/js/plotPanelControl/colorpicker/css/colorpicker.css
deleted file mode 100644
index bf72eca..0000000
--- a/js/plotPanelControl/colorpicker/css/colorpicker.css
+++ /dev/null
@@ -1,162 +0,0 @@
-.colorpicker {
-	width: 356px;
-	height: 176px;
-	overflow: hidden;
-	position: absolute;
-	background: url(../images/colorpicker_background.png);
-	font-family: Arial, Helvetica, sans-serif;
-	display: none;
-	z-index: 99;
-}
-.colorpicker_color {
-	width: 150px;
-	height: 150px;
-	left: 14px;
-	top: 13px;
-	position: absolute;
-	background: #f00;
-	overflow: hidden;
-	cursor: crosshair;
-}
-.colorpicker_color div {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 150px;
-	height: 150px;
-	background: url(../images/colorpicker_overlay.png);
-}
-.colorpicker_color div div {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 11px;
-	height: 11px;
-	overflow: hidden;
-	background: url(../images/colorpicker_select.gif);
-	margin: -5px 0 0 -5px;
-}
-.colorpicker_hue {
-	position: absolute;
-	top: 13px;
-	left: 171px;
-	width: 35px;
-	height: 150px;
-	cursor: n-resize;
-}
-.colorpicker_hue div {
-	position: absolute;
-	width: 35px;
-	height: 9px;
-	overflow: hidden;
-	background: url(../images/colorpicker_indic.gif) left top;
-	margin: -4px 0 0 0;
-	left: 0px;
-}
-.colorpicker_new_color {
-	position: absolute;
-	width: 60px;
-	height: 30px;
-	left: 213px;
-	top: 13px;
-	background: #f00;
-}
-.colorpicker_current_color {
-	position: absolute;
-	width: 60px;
-	height: 30px;
-	left: 283px;
-	top: 13px;
-	background: #f00;
-}
-.colorpicker input {
-	background-color: transparent;
-	border: 1px solid transparent;
-	position: absolute;
-	font-size: 10px;
-	font-family: Arial, Helvetica, sans-serif;
-	color: #898989;
-	top: 4px;
-	right: 11px;
-	text-align: right;
-	margin: 0;
-	padding: 0;
-	height: 11px;
-}
-.colorpicker_hex {
-	position: absolute;
-	width: 72px;
-	height: 22px;
-	background: url(../images/colorpicker_hex.png) top;
-	left: 212px;
-	top: 142px;
-}
-.colorpicker_hex input {
-	right: 6px;
-}
-.colorpicker_field {
-	height: 22px;
-	width: 62px;
-	background-position: top;
-	position: absolute;
-}
-.colorpicker_field span {
-	position: absolute;
-	width: 12px;
-	height: 22px;
-	overflow: hidden;
-	top: 0;
-	right: 0;
-	cursor: n-resize;
-}
-.colorpicker_rgb_r {
-	background-image: url(../images/colorpicker_rgb_r.png);
-	top: 52px;
-	left: 212px;
-}
-.colorpicker_rgb_g {
-	background-image: url(../images/colorpicker_rgb_g.png);
-	top: 82px;
-	left: 212px;
-}
-.colorpicker_rgb_b {
-	background-image: url(../images/colorpicker_rgb_b.png);
-	top: 112px;
-	left: 212px;
-}
-.colorpicker_hsb_h {
-	background-image: url(../images/colorpicker_hsb_h.png);
-	top: 52px;
-	left: 282px;
-}
-.colorpicker_hsb_s {
-	background-image: url(../images/colorpicker_hsb_s.png);
-	top: 82px;
-	left: 282px;
-}
-.colorpicker_hsb_b {
-	background-image: url(../images/colorpicker_hsb_b.png);
-	top: 112px;
-	left: 282px;
-}
-.colorpicker_submit {
-	position: absolute;
-	width: 22px;
-	height: 22px;
-	background: url(../images/colorpicker_submit.png) top;
-	left: 322px;
-	top: 142px;
-	overflow: hidden;
-}
-.colorpicker_focus {
-	background-position: center;
-}
-.colorpicker_hex.colorpicker_focus {
-	background-position: bottom;
-}
-.colorpicker_submit.colorpicker_focus {
-	background-position: bottom;
-}
-.colorpicker_slider {
-	background-position: bottom;
-}
diff --git a/js/plotPanelControl/colorpicker/css/layout.css b/js/plotPanelControl/colorpicker/css/layout.css
deleted file mode 100644
index 5e0ec5f..0000000
--- a/js/plotPanelControl/colorpicker/css/layout.css
+++ /dev/null
@@ -1,217 +0,0 @@
-body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
-	margin:0;
-	padding:0;
-}
-table {
-	border-collapse:collapse;
-	border-spacing:0;
-}
-fieldset,img { 
-	border:0;
-}
-address,caption,cite,code,dfn,em,strong,th,var {
-	font-style:normal;
-	font-weight:normal;
-}
-ol,ul {
-	list-style:none;
-}
-caption,th {
-	text-align:left;
-}
-h1,h2,h3,h4,h5,h6 {
-	font-size:100%;
-	font-weight:normal;
-}
-q:before,q:after {
-	content:'';
-}
-abbr,acronym { border:0;
-}
-html, body {
-	background-color: #fff;
-	font-family: Arial, Helvetica, sans-serif;
-	font-size: 12px;
-	line-height: 18px;
-	color: #52697E;
-}
-body {
-	overflow: auto;
-}
-.wrapper {
-	width: 700px;
-	margin: 0 auto;
-	text-align: left;
-}
-h1 {
-	font-size: 21px;
-	height: 47px;
-	line-height: 47px;
-	text-transform: uppercase;
-}
-.navigationTabs {
-	height: 23px;
-	line-height: 23px;
-	border-bottom: 1px solid #ccc;
-}
-.navigationTabs li {
-	float: left;
-	height: 23px;
-	line-height: 23px;
-	padding-right: 3px;
-}
-.navigationTabs li a{
-	float: left;
-	dispaly: block;
-	height: 23px;
-	line-height: 23px;
-	padding: 0 10px;
-	overflow: hidden;
-	color: #52697E;
-	background-color: #eee;
-	position: relative;
-	text-decoration: none;
-}
-.navigationTabs li a:hover {
-	background-color: #f0f0f0;
-}
-.navigationTabs li a.active {
-	background-color: #fff;
-	border: 1px solid #ccc;
-	border-bottom: 0px solid;
-}
-.tabsContent {
-	border: 1px solid #ccc;
-	border-top: 0px solid;
-	width: 698px;
-	overflow: hidden;
-}
-.tab {
-	padding: 16px;
-	display: none;
-}
-.tab h2 {
-	font-weight: bold;
-	font-size: 16px;
-}
-.tab h3 {
-	font-weight: bold;
-	font-size: 14px;
-	margin-top: 20px;
-}
-.tab p {
-	margin-top: 16px;
-	clear: both;
-}
-.tab ul {
-	margin-top: 16px;
-	list-style: disc;
-}
-.tab li {
-	margin: 10px 0 0 35px;
-}
-.tab a {
-	color: #8FB0CF;
-}
-.tab strong {
-	font-weight: bold;
-}
-.tab pre {
-	font-size: 11px;
-	margin-top: 20px;
-	width: 668px;
-	overflow: auto;
-	clear: both;
-}
-.tab table {
-	width: 100%;
-}
-.tab table td {
-	padding: 6px 10px 6px 0;
-	vertical-align: top;
-}
-.tab dt {
-	margin-top: 16px;
-}
-
-#colorSelector {
-	position: relative;
-	width: 36px;
-	height: 36px;
-	background: url(../images/select.png);
-}
-#colorSelector div {
-	position: absolute;
-	top: 3px;
-	left: 3px;
-	width: 30px;
-	height: 30px;
-	background: url(../images/select.png) center;
-}
-#colorSelector2 {
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 36px;
-	height: 36px;
-	background: url(../images/select2.png);
-}
-#colorSelector2 div {
-	position: absolute;
-	top: 4px;
-	left: 4px;
-	width: 28px;
-	height: 28px;
-	background: url(../images/select2.png) center;
-}
-#colorpickerHolder2 {
-	top: 32px;
-	left: 0;
-	width: 356px;
-	height: 0;
-	overflow: hidden;
-	position: absolute;
-}
-#colorpickerHolder2 .colorpicker {
-	background-image: url(../images/custom_background.png);
-	position: absolute;
-	bottom: 0;
-	left: 0;
-}
-#colorpickerHolder2 .colorpicker_hue div {
-	background-image: url(../images/custom_indic.gif);
-}
-#colorpickerHolder2 .colorpicker_hex {
-	background-image: url(../images/custom_hex.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_r {
-	background-image: url(../images/custom_rgb_r.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_g {
-	background-image: url(../images/custom_rgb_g.png);
-}
-#colorpickerHolder2 .colorpicker_rgb_b {
-	background-image: url(../images/custom_rgb_b.png);
-}
-#colorpickerHolder2 .colorpicker_hsb_s {
-	background-image: url(../images/custom_hsb_s.png);
-	display: none;
-}
-#colorpickerHolder2 .colorpicker_hsb_h {
-	background-image: url(../images/custom_hsb_h.png);
-	display: none;
-}
-#colorpickerHolder2 .colorpicker_hsb_b {
-	background-image: url(../images/custom_hsb_b.png);
-	display: none;
-}
-#colorpickerHolder2 .colorpicker_submit {
-	background-image: url(../images/custom_submit.png);
-}
-#colorpickerHolder2 .colorpicker input {
-	color: #778398;
-}
-#customWidget {
-	position: relative;
-	height: 36px;
-}
diff --git a/js/plotPanelControl/colorpicker/js/colorpicker.js b/js/plotPanelControl/colorpicker/js/colorpicker.js
deleted file mode 100644
index 5adb2e6..0000000
--- a/js/plotPanelControl/colorpicker/js/colorpicker.js
+++ /dev/null
@@ -1,495 +0,0 @@
-/**
- *
- * Color picker
- * Author: Stefan Petre www.eyecon.ro
- * 
- * Dual licensed under the MIT and GPL licenses
- * 
- */
-(function ($) {
-	var ColorPicker = function () {
-		var
-			ids = {},
-			inAction,
-			charMin = 65,
-			visible,
-			tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>',
-			defaults = {
-				eventName: 'click',
-				onShow: function () {},
-				onBeforeShow: function(){},
-				onHide: function () {},
-				onChange: function () {},
-				onSubmit: function () {},
-				color: 'ff0000',
-				livePreview: true,
-				flat: false
-			},
-			fillRGBFields = function  (hsb, cal) {
-				var rgb = HSBToRGB(hsb);
-				$(cal).data('colorpicker').fields
-					.eq(1).val(rgb.r).end()
-					.eq(2).val(rgb.g).end()
-					.eq(3).val(rgb.b).end();
-			},
-			fillHSBFields = function  (hsb, cal) {
-				$(cal).data('colorpicker').fields
-					.eq(4).val(hsb.h).end()
-					.eq(5).val(hsb.s).end()
-					.eq(6).val(hsb.b).end();
-			},
-			fillHexFields = function (hsb, cal) {
-				$(cal).data('colorpicker').fields
-					.eq(0).val(HSBToHex(hsb)).end();
-			},
-			setSelector = function (hsb, cal) {
-				$(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100}));
-				$(cal).data('colorpicker').selectorIndic.css({
-					left: parseInt(150 * hsb.s/100, 10),
-					top: parseInt(150 * (100-hsb.b)/100, 10)
-				});
-			},
-			setHue = function (hsb, cal) {
-				$(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10));
-			},
-			setCurrentColor = function (hsb, cal) {
-				$(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb));
-			},
-			setNewColor = function (hsb, cal) {
-				$(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb));
-			},
-			keyDown = function (ev) {
-				var pressedKey = ev.charCode || ev.keyCode || -1;
-				if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) {
-					return false;
-				}
-				var cal = $(this).parent().parent();
-				if (cal.data('colorpicker').livePreview === true) {
-					change.apply(this);
-				}
-				ev.stopPropagation();
-			},
-			mouseDown = function (ev) {
-				ev.stopPropagation();
-			},
-			change = function (ev) {
-				var cal = $(this).parent().parent(), col;
-				if (this.parentNode.className.indexOf('_hex') > 0) {
-					cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value));
-				} else if (this.parentNode.className.indexOf('_hsb') > 0) {
-					cal.data('colorpicker').color = col = fixHSB({
-						h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10),
-						s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10),
-						b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10)
-					});
-				} else {
-					cal.data('colorpicker').color = col = RGBToHSB(fixRGB({
-						r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10),
-						g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10),
-						b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10)
-					}));
-				}
-				if (ev) {
-					fillRGBFields(col, cal.get(0));
-					fillHexFields(col, cal.get(0));
-					fillHSBFields(col, cal.get(0));
-				}
-				setSelector(col, cal.get(0));
-				setHue(col, cal.get(0));
-				setNewColor(col, cal.get(0));
-				cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]);
-			},
-			blur = function (ev) {
-				var cal = $(this).parent().parent();
-				cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus');
-			},
-			focus = function () {
-				charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65;
-				$(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus');
-				$(this).parent().addClass('colorpicker_focus');
-			},
-			downIncrement = function (ev) {
-				var field = $(this).parent().find('input').focus();
-				var current = {
-					el: $(this).parent().addClass('colorpicker_slider'),
-					max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255),
-					y: ev.pageY,
-					field: field,
-					val: parseInt(field.val(), 10),
-					preview: $(this).parent().parent().data('colorpicker').livePreview					
-				};
-				$(document).bind('mouseup', current, upIncrement);
-				$(document).bind('mousemove', current, moveIncrement);
-				ev.stopPropagation();
-			},
-			moveIncrement = function (ev) {
-				ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10))));
-				if (ev.data.preview) {
-					change.apply(ev.data.field.get(0), [true]);
-				}
-				return false;
-			},
-			upIncrement = function (ev) {
-				change.apply(ev.data.field.get(0), [true]);
-				ev.data.el.removeClass('colorpicker_slider').find('input').focus();
-				$(document).unbind('mouseup', upIncrement);
-				$(document).unbind('mousemove', moveIncrement);
-				return false;
-			},
-			downHue = function (ev) {
-				var current = {
-					cal: $(this).parent(),
-					y: $(this).offset().top
-				};
-				current.preview = current.cal.data('colorpicker').livePreview;
-				$(document).bind('mouseup', current, upHue);
-				$(document).bind('mousemove', current, moveHue);
-				ev.stopPropagation();
-			},
-			moveHue = function (ev) {
-				change.apply(
-					ev.data.cal.data('colorpicker')
-						.fields
-						.eq(4)
-						.val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10))
-						.get(0),
-					[ev.data.preview]
-				);
-				return false;
-			},
-			upHue = function (ev) {
-				fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-				fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-				$(document).unbind('mouseup', upHue);
-				$(document).unbind('mousemove', moveHue);
-				return false;
-			},
-			downSelector = function (ev) {
-				var current = {
-					cal: $(this).parent(),
-					pos: $(this).offset()
-				};
-				current.preview = current.cal.data('colorpicker').livePreview;
-				$(document).bind('mouseup', current, upSelector);
-				$(document).bind('mousemove', current, moveSelector);
-				ev.stopPropagation();
-			},
-			moveSelector = function (ev) {
-				change.apply(
-					ev.data.cal.data('colorpicker')
-						.fields
-						.eq(6)
-						.val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10))
-						.end()
-						.eq(5)
-						.val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10))
-						.get(0),
-					[ev.data.preview]
-				);
-				return false;
-			},
-			upSelector = function (ev) {
-				fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-				fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0));
-				$(document).unbind('mouseup', upSelector);
-				$(document).unbind('mousemove', moveSelector);
-				return false;
-			},
-			enterSubmit = function (ev) {
-				$(this).addClass('colorpicker_focus');
-				ev.stopPropagation();
-			},
-			leaveSubmit = function (ev) {
-				$(this).removeClass('colorpicker_focus');
-			},
-			clickSubmit = function (ev) {
-				var cal = $(this).parent();
-				var col = cal.data('colorpicker').color;
-				cal.data('colorpicker').origColor = col;
-				setCurrentColor(col, cal.get(0));
-				cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el);
-				ev.stopPropagation();
-			},
-			show = function (ev) {
-				var cal = $('#' + $(this).data('colorpickerId'));
-				cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]);
-				var pos = $(this).offset();
-				var viewPort = getViewport();
-				var top = pos.top + this.offsetHeight;
-				var left = pos.left;
-				if (top + 176 > viewPort.t + viewPort.h) {
-					top -= this.offsetHeight + 176;
-				}
-				if (left + 356 > viewPort.l + viewPort.w) {
-					left -= 356;
-				}
-				cal.css({left: left + 'px', top: top + 'px'});
-				if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) {
-					cal.show();
-				}
-				$(document).bind('mousedown', {cal: cal}, hide);
-				return false;
-			},
-			hide = function (ev) {
-				if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
-					if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
-						ev.data.cal.hide();
-					}
-					$(document).unbind('mousedown', hide);
-				}
-			},
-			isChildOf = function(parentEl, el, container) {
-				if (parentEl == el) {
-					return true;
-				}
-				if (parentEl.contains) {
-					return parentEl.contains(el);
-				}
-				if ( parentEl.compareDocumentPosition ) {
-					return !!(parentEl.compareDocumentPosition(el) & 16);
-				}
-				var prEl = el.parentNode;
-				while(prEl && prEl != container) {
-					if (prEl == parentEl)
-						return true;
-					prEl = prEl.parentNode;
-				}
-				return false;
-			},
-			getViewport = function () {
-				var m = document.compatMode == 'CSS1Compat';
-				return {
-					l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
-					t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
-					w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
-					h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
-				};
-			},
-			fixHSB = function (hsb) {
-				return {
-					h: Math.min(360, Math.max(0, hsb.h)),
-					s: Math.min(100, Math.max(0, hsb.s)),
-					b: Math.min(100, Math.max(0, hsb.b))
-				};
-			}, 
-			fixRGB = function (rgb) {
-				return {
-					r: Math.min(255, Math.max(0, rgb.r)),
-					g: Math.min(255, Math.max(0, rgb.g)),
-					b: Math.min(255, Math.max(0, rgb.b))
-				};
-			},
-			fixHex = function (hex) {
-				var len = 6 - hex.length;
-				if (len > 0) {
-					var o = [];
-					for (var i=0; i<len; i++) {
-						o.push('0');
-					}
-					o.push(hex);
-					hex = o.join('');
-				}
-				return hex;
-			}, 
-			HexToRGB = function (hex) {
-				var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16);
-				return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)};
-			},
-			HexToHSB = function (hex) {
-				return RGBToHSB(HexToRGB(hex));
-			},
-			RGBToHSB = function (rgb) {
-				var hsb = {
-					h: 0,
-					s: 0,
-					b: 0
-				};
-				var min = Math.min(rgb.r, rgb.g, rgb.b);
-				var max = Math.max(rgb.r, rgb.g, rgb.b);
-				var delta = max - min;
-				hsb.b = max;
-				if (max != 0) {
-					
-				}
-				hsb.s = max != 0 ? 255 * delta / max : 0;
-				if (hsb.s != 0) {
-					if (rgb.r == max) {
-						hsb.h = (rgb.g - rgb.b) / delta;
-					} else if (rgb.g == max) {
-						hsb.h = 2 + (rgb.b - rgb.r) / delta;
-					} else {
-						hsb.h = 4 + (rgb.r - rgb.g) / delta;
-					}
-				} else {
-					hsb.h = -1;
-				}
-				hsb.h *= 60;
-				if (hsb.h < 0) {
-					hsb.h += 360;
-				}
-				hsb.s *= 100/255;
-				hsb.b *= 100/255;
-				return hsb;
-			},
-			HSBToRGB = function (hsb) {
-				var rgb = {};
-				var h = Math.round(hsb.h);
-				var s = Math.round(hsb.s*255/100);
-				var v = Math.round(hsb.b*255/100);
-				if(s == 0) {
-					rgb.r = rgb.g = rgb.b = v;
-				} else {
-					var t1 = v;
-					var t2 = (255-s)*v/255;
-					var t3 = (t1-t2)*(h%60)/60;
-					if(h==360) h = 0;
-					if(h<60) {rgb.r=t1;	rgb.b=t2; rgb.g=t2+t3}
-					else if(h<120) {rgb.g=t1; rgb.b=t2;	rgb.r=t1-t3}
-					else if(h<180) {rgb.g=t1; rgb.r=t2;	rgb.b=t2+t3}
-					else if(h<240) {rgb.b=t1; rgb.r=t2;	rgb.g=t1-t3}
-					else if(h<300) {rgb.b=t1; rgb.g=t2;	rgb.r=t2+t3}
-					else if(h<360) {rgb.r=t1; rgb.g=t2;	rgb.b=t1-t3}
-					else {rgb.r=0; rgb.g=0;	rgb.b=0}
-				}
-				return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)};
-			},
-			RGBToHex = function (rgb) {
-				var hex = [
-					rgb.r.toString(16),
-					rgb.g.toString(16),
-					rgb.b.toString(16)
-				];
-				$.each(hex, function (nr, val) {
-					if (val.length == 1) {
-						hex[nr] = '0' + val;
-					}
-				});
-				return hex.join('');
-			},
-			HSBToHex = function (hsb) {
-				return RGBToHex(HSBToRGB(hsb));
-			},
-			restoreOriginal = function () {
-				var cal = $(this).parent();
-				var col = cal.data('colorpicker').origColor;
-				cal.data('colorpicker').color = col;
-				fillRGBFields(col, cal.get(0));
-				fillHexFields(col, cal.get(0));
-				fillHSBFields(col, cal.get(0));
-				setSelector(col, cal.get(0));
-				setHue(col, cal.get(0));
-				setNewColor(col, cal.get(0));
-			};
-		return {
-			init: function (opt) {
-				opt = $.extend({}, defaults, opt||{});
-				if (typeof opt.color == 'string') {
-					opt.color = HexToHSB(opt.color);
-				} else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) {
-					opt.color = RGBToHSB(opt.color);
-				} else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) {
-					opt.color = fixHSB(opt.color);
-				} else {
-					return this;
-				}
-				return this.each(function () {
-					if (!$(this).data('colorpickerId')) {
-						var options = $.extend({}, opt);
-						options.origColor = opt.color;
-						var id = 'collorpicker_' + parseInt(Math.random() * 1000);
-						$(this).data('colorpickerId', id);
-						var cal = $(tpl).attr('id', id);
-						if (options.flat) {
-							cal.appendTo(this).show();
-						} else {
-							cal.appendTo(document.body);
-						}
-						options.fields = cal
-											.find('input')
-												.bind('keyup', keyDown)
-												.bind('change', change)
-												.bind('blur', blur)
-												.bind('focus', focus)
-												.bind('mousedown', mouseDown);
-						cal
-							.find('span').bind('mousedown', downIncrement).end()
-							.find('>div.colorpicker_current_color').bind('click', restoreOriginal);
-						options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector);
-						options.selectorIndic = options.selector.find('div div');
-						options.el = this;
-						options.hue = cal.find('div.colorpicker_hue div');
-						cal.find('div.colorpicker_hue').bind('mousedown', downHue);
-						options.newColor = cal.find('div.colorpicker_new_color').bind('mousedown', mouseDown);
-						options.currentColor = cal.find('div.colorpicker_current_color').bind('mousedown', mouseDown);
-						cal.data('colorpicker', options);
-						cal.find('div.colorpicker_submit')
-							.bind('mouseenter', enterSubmit)
-							.bind('mouseleave', leaveSubmit)
-							.bind('click', clickSubmit)
-							.bind('mousedown', mouseDown);
-						fillRGBFields(options.color, cal.get(0));
-						fillHSBFields(options.color, cal.get(0));
-						fillHexFields(options.color, cal.get(0));
-						setHue(options.color, cal.get(0));
-						setSelector(options.color, cal.get(0));
-						setCurrentColor(options.color, cal.get(0));
-						setNewColor(options.color, cal.get(0));
-						if (options.flat) {
-							cal.css({
-								position: 'relative',
-								display: 'block'
-							});
-						} else {
-							$(this).bind(options.eventName, show);
-						}
-					}
-				});
-			},
-			showPicker: function() {
-				return this.each( function () {
-					if ($(this).data('colorpickerId')) {
-						show.apply(this);
-					}
-				});
-			},
-			hidePicker: function() {
-				return this.each( function () {
-					if ($(this).data('colorpickerId')) {
-						$('#' + $(this).data('colorpickerId')).hide();
-					}
-				});
-			},
-			setColor: function(col) {
-				if (typeof col == 'string') {
-					col = HexToHSB(col);
-				} else if (col.r != undefined && col.g != undefined && col.b != undefined) {
-					col = RGBToHSB(col);
-				} else if (col.h != undefined && col.s != undefined && col.b != undefined) {
-					col = fixHSB(col);
-				} else {
-					return this;
-				}
-				return this.each(function(){
-					if ($(this).data('colorpickerId')) {
-						var cal = $('#' + $(this).data('colorpickerId'));
-						cal.data('colorpicker').color = col;
-						cal.data('colorpicker').origColor = col;
-						fillRGBFields(col, cal.get(0));
-						fillHSBFields(col, cal.get(0));
-						fillHexFields(col, cal.get(0));
-						setHue(col, cal.get(0));
-						setSelector(col, cal.get(0));
-						setCurrentColor(col, cal.get(0));
-						setNewColor(col, cal.get(0));
-					}
-				});
-			}
-		};
-	}();
-	$.fn.extend({
-		ColorPicker: ColorPicker.init,
-		ColorPickerHide: ColorPicker.hidePicker,
-		ColorPickerShow: ColorPicker.showPicker,
-		ColorPickerSetColor: ColorPicker.setColor
-	});
-})(jQuery)
\ No newline at end of file
diff --git a/js/plotPanelControl/colorpicker/js/colorpickerEditor.js b/js/plotPanelControl/colorpicker/js/colorpickerEditor.js
deleted file mode 100644
index b13dc51..0000000
--- a/js/plotPanelControl/colorpicker/js/colorpickerEditor.js
+++ /dev/null
@@ -1,60 +0,0 @@
-$.extend($.fn.datagrid.defaults.editors, {
-    colorpicker: {//colorpicker就是你要自定义editor的名称
-        init: function (container, options) {
-            //var colorSector = $('<div id="colorSelector" class="colorSelector">').appendTo(container);
-            //$('#colorSelector').ColorPicker({
-            //    color: '#0000ff',
-            //    onShow: function (colpkr) {
-            //        $(colpkr).fadeIn(500);
-            //        return false;
-            //    },
-            //    onHide: function (colpkr) {
-            //        $(colpkr).fadeOut(500);
-            //        return false;
-            //    },
-            //    onChange: function (hsb, hex, rgb) {
-            //        $('#colorSelector div').css('backgroundColor', '#' + hex);
-            //    }
-            //});
-            //
-            //return $('#colorSelector div');
-            var input = $('<input>').appendTo(container);
-            input.ColorPicker({
-                color: '#0000ff',
-                onShow: function (colpkr) {
-                    $(colpkr).fadeIn(500);
-                    return false;
-                },
-                onHide: function (colpkr) {
-                    $(colpkr).fadeOut(500);
-                    return false;
-                },
-                onChange: function (hsb, hex, rgb) {
-                    input.css('backgroundColor', '#' + hex);
-                    input.val('0x' + hex);
-                }
-            });
-            return input;
-        },
-        getValue: function (target) {
-            return $(target).val().replace(/0x/, "#");
-        },
-        setValue: function (target, value) {
-            // 特殊处理, 因为在flash里使用的是0x16进制格式
-            value = value.replace(/0x/, "#");
-            $(target).val(value);
-            $(target).css('backgroundColor', value);
-            $(target).ColorPickerSetColor(value);
-        },
-        resize: function (target, width) {
-            var input = $(target);
-            if ($.boxModel == true) {
-                input.width(width - (input.outerWidth() - input.width()));
-            } else {
-                input.width(width);
-            }
-        }
-    }
-});
-
-
diff --git a/js/plotPanelControl/colorpicker/js/eye.js b/js/plotPanelControl/colorpicker/js/eye.js
deleted file mode 100644
index 8a281dc..0000000
--- a/js/plotPanelControl/colorpicker/js/eye.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- *
- * Zoomimage
- * Author: Stefan Petre www.eyecon.ro
- * 
- */
-(function($){
-	var EYE = window.EYE = function() {
-		var _registered = {
-			init: []
-		};
-		return {
-			init: function() {
-				$.each(_registered.init, function(nr, fn){
-					fn.call();
-				});
-			},
-			extend: function(prop) {
-				for (var i in prop) {
-					if (prop[i] != undefined) {
-						this[i] = prop[i];
-					}
-				}
-			},
-			register: function(fn, type) {
-				if (!_registered[type]) {
-					_registered[type] = [];
-				}
-				_registered[type].push(fn);
-			}
-		};
-	}();
-	$(EYE.init);
-})(jQuery);
diff --git a/js/plotPanelControl/colorpicker/js/layout.js b/js/plotPanelControl/colorpicker/js/layout.js
deleted file mode 100644
index 6aa7d36..0000000
--- a/js/plotPanelControl/colorpicker/js/layout.js
+++ /dev/null
@@ -1,67 +0,0 @@
-(function($){
-	var initLayout = function() {
-		var hash = window.location.hash.replace('#', '');
-		var currentTab = $('ul.navigationTabs a')
-							.bind('click', showTab);
-							//.filter('a[rel=' + hash + ']');
-		if (currentTab.size() == 0) {
-			currentTab = $('ul.navigationTabs a:first');
-		}
-		showTab.apply(currentTab.get(0));
-		$('#colorpickerHolder').ColorPicker({flat: true});
-		$('#colorpickerHolder2').ColorPicker({
-			flat: true,
-			color: '#00ff00',
-			onSubmit: function(hsb, hex, rgb) {
-				$('#colorSelector2 div').css('backgroundColor', '#' + hex);
-			}
-		});
-		$('#colorpickerHolder2>div').css('position', 'absolute');
-		var widt = false;
-		$('#colorSelector2').bind('click', function() {
-			$('#colorpickerHolder2').stop().animate({height: widt ? 0 : 173}, 500);
-			widt = !widt;
-		});
-		$('#colorpickerField1, #colorpickerField2, #colorpickerField3').ColorPicker({
-			onSubmit: function(hsb, hex, rgb, el) {
-				$(el).val(hex);
-				$(el).ColorPickerHide();
-			},
-			onBeforeShow: function () {
-				$(this).ColorPickerSetColor(this.value);
-			}
-		})
-		.bind('keyup', function(){
-			$(this).ColorPickerSetColor(this.value);
-		});
-		$('#colorSelector').ColorPicker({
-			color: '#0000ff',
-			onShow: function (colpkr) {
-				$(colpkr).fadeIn(500);
-				return false;
-			},
-			onHide: function (colpkr) {
-				$(colpkr).fadeOut(500);
-				return false;
-			},
-			onChange: function (hsb, hex, rgb) {
-				$('#colorSelector div').css('backgroundColor', '#' + hex);
-			}
-		});
-	};
-	
-	var showTab = function(e) {
-		var tabIndex = $('ul.navigationTabs a')
-							.removeClass('active')
-							.index(this);
-		$(this)
-			.addClass('active')
-			.blur();
-		$('div.tab')
-			.hide()
-				.eq(tabIndex)
-				.show();
-	};
-	
-	EYE.register(initLayout, 'init');
-})(jQuery)
\ No newline at end of file
diff --git a/js/plotPanelControl/colorpicker/js/utils.js b/js/plotPanelControl/colorpicker/js/utils.js
deleted file mode 100644
index d9be853..0000000
--- a/js/plotPanelControl/colorpicker/js/utils.js
+++ /dev/null
@@ -1,252 +0,0 @@
-/**
- *
- * Utilities
- * Author: Stefan Petre www.eyecon.ro
- * 
- */
-(function($) {
-EYE.extend({
-	getPosition : function(e, forceIt)
-	{
-		var x = 0;
-		var y = 0;
-		var es = e.style;
-		var restoreStyles = false;
-		if (forceIt && jQuery.curCSS(e,'display') == 'none') {
-			var oldVisibility = es.visibility;
-			var oldPosition = es.position;
-			restoreStyles = true;
-			es.visibility = 'hidden';
-			es.display = 'block';
-			es.position = 'absolute';
-		}
-		var el = e;
-		if (el.getBoundingClientRect) { // IE
-			var box = el.getBoundingClientRect();
-			x = box.left + Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) - 2;
-			y = box.top + Math.max(document.documentElement.scrollTop, document.body.scrollTop) - 2;
-		} else {
-			x = el.offsetLeft;
-			y = el.offsetTop;
-			el = el.offsetParent;
-			if (e != el) {
-				while (el) {
-					x += el.offsetLeft;
-					y += el.offsetTop;
-					el = el.offsetParent;
-				}
-			}
-			if (jQuery.browser.safari && jQuery.curCSS(e, 'position') == 'absolute' ) {
-				x -= document.body.offsetLeft;
-				y -= document.body.offsetTop;
-			}
-			el = e.parentNode;
-			while (el && el.tagName.toUpperCase() != 'BODY' && el.tagName.toUpperCase() != 'HTML') 
-			{
-				if (jQuery.curCSS(el, 'display') != 'inline') {
-					x -= el.scrollLeft;
-					y -= el.scrollTop;
-				}
-				el = el.parentNode;
-			}
-		}
-		if (restoreStyles == true) {
-			es.display = 'none';
-			es.position = oldPosition;
-			es.visibility = oldVisibility;
-		}
-		return {x:x, y:y};
-	},
-	getSize : function(e)
-	{
-		var w = parseInt(jQuery.curCSS(e,'width'), 10);
-		var h = parseInt(jQuery.curCSS(e,'height'), 10);
-		var wb = 0;
-		var hb = 0;
-		if (jQuery.curCSS(e, 'display') != 'none') {
-			wb = e.offsetWidth;
-			hb = e.offsetHeight;
-		} else {
-			var es = e.style;
-			var oldVisibility = es.visibility;
-			var oldPosition = es.position;
-			es.visibility = 'hidden';
-			es.display = 'block';
-			es.position = 'absolute';
-			wb = e.offsetWidth;
-			hb = e.offsetHeight;
-			es.display = 'none';
-			es.position = oldPosition;
-			es.visibility = oldVisibility;
-		}
-		return {w:w, h:h, wb:wb, hb:hb};
-	},
-	getClient : function(e)
-	{
-		var h, w;
-		if (e) {
-			w = e.clientWidth;
-			h = e.clientHeight;
-		} else {
-			var de = document.documentElement;
-			w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
-			h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
-		}
-		return {w:w,h:h};
-	},
-	getScroll : function (e)
-	{
-		var t=0, l=0, w=0, h=0, iw=0, ih=0;
-		if (e && e.nodeName.toLowerCase() != 'body') {
-			t = e.scrollTop;
-			l = e.scrollLeft;
-			w = e.scrollWidth;
-			h = e.scrollHeight;
-		} else  {
-			if (document.documentElement) {
-				t = document.documentElement.scrollTop;
-				l = document.documentElement.scrollLeft;
-				w = document.documentElement.scrollWidth;
-				h = document.documentElement.scrollHeight;
-			} else if (document.body) {
-				t = document.body.scrollTop;
-				l = document.body.scrollLeft;
-				w = document.body.scrollWidth;
-				h = document.body.scrollHeight;
-			}
-			if (typeof pageYOffset != 'undefined') {
-				t = pageYOffset;
-				l = pageXOffset;
-			}
-			iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;
-			ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;
-		}
-		return { t: t, l: l, w: w, h: h, iw: iw, ih: ih };
-	},
-	getMargins : function(e, toInteger)
-	{
-		var t = jQuery.curCSS(e,'marginTop') || '';
-		var r = jQuery.curCSS(e,'marginRight') || '';
-		var b = jQuery.curCSS(e,'marginBottom') || '';
-		var l = jQuery.curCSS(e,'marginLeft') || '';
-		if (toInteger)
-			return {
-				t: parseInt(t, 10)||0,
-				r: parseInt(r, 10)||0,
-				b: parseInt(b, 10)||0,
-				l: parseInt(l, 10)
-			};
-		else
-			return {t: t, r: r,	b: b, l: l};
-	},
-	getPadding : function(e, toInteger)
-	{
-		var t = jQuery.curCSS(e,'paddingTop') || '';
-		var r = jQuery.curCSS(e,'paddingRight') || '';
-		var b = jQuery.curCSS(e,'paddingBottom') || '';
-		var l = jQuery.curCSS(e,'paddingLeft') || '';
-		if (toInteger)
-			return {
-				t: parseInt(t, 10)||0,
-				r: parseInt(r, 10)||0,
-				b: parseInt(b, 10)||0,
-				l: parseInt(l, 10)
-			};
-		else
-			return {t: t, r: r,	b: b, l: l};
-	},
-	getBorder : function(e, toInteger)
-	{
-		var t = jQuery.curCSS(e,'borderTopWidth') || '';
-		var r = jQuery.curCSS(e,'borderRightWidth') || '';
-		var b = jQuery.curCSS(e,'borderBottomWidth') || '';
-		var l = jQuery.curCSS(e,'borderLeftWidth') || '';
-		if (toInteger)
-			return {
-				t: parseInt(t, 10)||0,
-				r: parseInt(r, 10)||0,
-				b: parseInt(b, 10)||0,
-				l: parseInt(l, 10)||0
-			};
-		else
-			return {t: t, r: r,	b: b, l: l};
-	},
-	traverseDOM : function(nodeEl, func)
-	{
-		func(nodeEl);
-		nodeEl = nodeEl.firstChild;
-		while(nodeEl){
-			EYE.traverseDOM(nodeEl, func);
-			nodeEl = nodeEl.nextSibling;
-		}
-	},
-	getInnerWidth :  function(el, scroll) {
-		var offsetW = el.offsetWidth;
-		return scroll ? Math.max(el.scrollWidth,offsetW) - offsetW + el.clientWidth:el.clientWidth;
-	},
-	getInnerHeight : function(el, scroll) {
-		var offsetH = el.offsetHeight;
-		return scroll ? Math.max(el.scrollHeight,offsetH) - offsetH + el.clientHeight:el.clientHeight;
-	},
-	getExtraWidth : function(el) {
-		if($.boxModel)
-			return (parseInt($.curCSS(el, 'paddingLeft'))||0)
-				+ (parseInt($.curCSS(el, 'paddingRight'))||0)
-				+ (parseInt($.curCSS(el, 'borderLeftWidth'))||0)
-				+ (parseInt($.curCSS(el, 'borderRightWidth'))||0);
-		return 0;
-	},
-	getExtraHeight : function(el) {
-		if($.boxModel)
-			return (parseInt($.curCSS(el, 'paddingTop'))||0)
-				+ (parseInt($.curCSS(el, 'paddingBottom'))||0)
-				+ (parseInt($.curCSS(el, 'borderTopWidth'))||0)
-				+ (parseInt($.curCSS(el, 'borderBottomWidth'))||0);
-		return 0;
-	},
-	isChildOf: function(parentEl, el, container) {
-		if (parentEl == el) {
-			return true;
-		}
-		if (!el || !el.nodeType || el.nodeType != 1) {
-			return false;
-		}
-		if (parentEl.contains && !$.browser.safari) {
-			return parentEl.contains(el);
-		}
-		if ( parentEl.compareDocumentPosition ) {
-			return !!(parentEl.compareDocumentPosition(el) & 16);
-		}
-		var prEl = el.parentNode;
-		while(prEl && prEl != container) {
-			if (prEl == parentEl)
-				return true;
-			prEl = prEl.parentNode;
-		}
-		return false;
-	},
-	centerEl : function(el, axis)
-	{
-		var clientScroll = EYE.getScroll();
-		var size = EYE.getSize(el);
-		if (!axis || axis == 'vertically')
-			$(el).css(
-				{
-					top: clientScroll.t + ((Math.min(clientScroll.h,clientScroll.ih) - size.hb)/2) + 'px'
-				}
-			);
-		if (!axis || axis == 'horizontally')
-			$(el).css(
-				{
-					left: clientScroll.l + ((Math.min(clientScroll.w,clientScroll.iw) - size.wb)/2) + 'px'
-				}
-			);
-	}
-});
-if (!$.easing.easeout) {
-	$.easing.easeout = function(p, n, firstNum, delta, duration) {
-		return -delta * ((n=n/duration-1)*n*n*n - 1) + firstNum;
-	};
-}
-	
-})(jQuery);
\ No newline at end of file
diff --git a/js/plotPanelControl/jquery-easyui-1.4.4/css/easyui.css b/js/plotPanelControl/jquery-easyui-1.4.4/css/easyui.css
deleted file mode 100644
index 4e21c27..0000000
--- a/js/plotPanelControl/jquery-easyui-1.4.4/css/easyui.css
+++ /dev/null
@@ -1,2869 +0,0 @@
-.panel {
-  overflow: hidden;
-  text-align: left;
-  margin: 0;
-  border: 0;
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.panel-header,
-.panel-body {
-  border-width: 1px;
-  border-style: solid;
-}
-.panel-header {
-  padding: 5px;
-  position: relative;
-}
-.panel-title {
-  background: url('images/blank.gif') no-repeat;
-}
-.panel-header-noborder {
-  border-width: 0 0 1px 0;
-}
-.panel-body {
-  overflow: auto;
-  border-top-width: 0;
-  padding: 0;
-}
-.panel-body-noheader {
-  border-top-width: 1px;
-}
-.panel-body-noborder {
-  border-width: 0px;
-}
-.panel-body-nobottom {
-  border-bottom-width: 0;
-}
-.panel-with-icon {
-  padding-left: 18px;
-}
-.panel-icon,
-.panel-tool {
-  position: absolute;
-  top: 50%;
-  margin-top: -8px;
-  height: 16px;
-  overflow: hidden;
-}
-.panel-icon {
-  left: 5px;
-  width: 16px;
-}
-.panel-tool {
-  right: 5px;
-  width: auto;
-}
-.panel-tool a {
-  display: inline-block;
-  width: 16px;
-  height: 16px;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  margin: 0 0 0 2px;
-  vertical-align: top;
-}
-.panel-tool a:hover {
-  opacity: 1;
-  filter: alpha(opacity=100);
-  background-color: #eaf2ff;
-  -moz-border-radius: 3px 3px 3px 3px;
-  -webkit-border-radius: 3px 3px 3px 3px;
-  border-radius: 3px 3px 3px 3px;
-}
-.panel-loading {
-  padding: 11px 0px 10px 30px;
-}
-.panel-noscroll {
-  overflow: hidden;
-}
-.panel-fit,
-.panel-fit body {
-  height: 100%;
-  margin: 0;
-  padding: 0;
-  border: 0;
-  overflow: hidden;
-}
-.panel-loading {
-  background: url('images/loading.gif') no-repeat 10px 10px;
-}
-.panel-tool-close {
-  background: url('images/panel_tools.png') no-repeat -16px 0px;
-}
-.panel-tool-min {
-  background: url('images/panel_tools.png') no-repeat 0px 0px;
-}
-.panel-tool-max {
-  background: url('images/panel_tools.png') no-repeat 0px -16px;
-}
-.panel-tool-restore {
-  background: url('images/panel_tools.png') no-repeat -16px -16px;
-}
-.panel-tool-collapse {
-  background: url('images/panel_tools.png') no-repeat -32px 0;
-}
-.panel-tool-expand {
-  background: url('images/panel_tools.png') no-repeat -32px -16px;
-}
-.panel-header,
-.panel-body {
-  border-color: #95B8E7;
-}
-.panel-header {
-  background-color: #E0ECFF;
-  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);
-}
-.panel-body {
-  background-color: #ffffff;
-  color: #000000;
-  font-size: 12px;
-}
-.panel-title {
-  font-size: 12px;
-  font-weight: bold;
-  color: #0E2D5F;
-  height: 16px;
-  line-height: 16px;
-}
-.panel-footer {
-  border: 1px solid #95B8E7;
-  overflow: hidden;
-  background: #F4F4F4;
-}
-.panel-footer-noborder {
-  border-width: 1px 0 0 0;
-}
-.accordion {
-  overflow: hidden;
-  border-width: 1px;
-  border-style: solid;
-}
-.accordion .accordion-header {
-  border-width: 0 0 1px;
-  cursor: pointer;
-}
-.accordion .accordion-body {
-  border-width: 0 0 1px;
-}
-.accordion-noborder {
-  border-width: 0;
-}
-.accordion-noborder .accordion-header {
-  border-width: 0 0 1px;
-}
-.accordion-noborder .accordion-body {
-  border-width: 0 0 1px;
-}
-.accordion-collapse {
-  background: url('images/accordion_arrows.png') no-repeat 0 0;
-}
-.accordion-expand {
-  background: url('images/accordion_arrows.png') no-repeat -16px 0;
-}
-.accordion {
-  background: #ffffff;
-  border-color: #95B8E7;
-}
-.accordion .accordion-header {
-  background: #E0ECFF;
-  filter: none;
-}
-.accordion .accordion-header-selected {
-  background: #ffe48d;
-}
-.accordion .accordion-header-selected .panel-title {
-  color: #000000;
-}
-.window {
-  overflow: hidden;
-  padding: 5px;
-  border-width: 1px;
-  border-style: solid;
-}
-.window .window-header {
-  background: transparent;
-  padding: 0px 0px 6px 0px;
-}
-.window .window-body {
-  border-width: 1px;
-  border-style: solid;
-  border-top-width: 0px;
-}
-.window .window-body-noheader {
-  border-top-width: 1px;
-}
-.window .panel-body-nobottom {
-  border-bottom-width: 0;
-}
-.window .window-header .panel-icon,
-.window .window-header .panel-tool {
-  top: 50%;
-  margin-top: -11px;
-}
-.window .window-header .panel-icon {
-  left: 1px;
-}
-.window .window-header .panel-tool {
-  right: 1px;
-}
-.window .window-header .panel-with-icon {
-  padding-left: 18px;
-}
-.window-proxy {
-  position: absolute;
-  overflow: hidden;
-}
-.window-proxy-mask {
-  position: absolute;
-  filter: alpha(opacity=5);
-  opacity: 0.05;
-}
-.window-mask {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  filter: alpha(opacity=40);
-  opacity: 0.40;
-  font-size: 1px;
-  overflow: hidden;
-}
-.window,
-.window-shadow {
-  position: absolute;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.window-shadow {
-  background: #ccc;
-  -moz-box-shadow: 2px 2px 3px #cccccc;
-  -webkit-box-shadow: 2px 2px 3px #cccccc;
-  box-shadow: 2px 2px 3px #cccccc;
-  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);
-}
-.window,
-.window .window-body {
-  border-color: #95B8E7;
-}
-.window {
-  background-color: #E0ECFF;
-  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);
-  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);
-  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 20%);
-  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 20%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);
-}
-.window-proxy {
-  border: 1px dashed #95B8E7;
-}
-.window-proxy-mask,
-.window-mask {
-  background: #ccc;
-}
-.window .panel-footer {
-  border: 1px solid #95B8E7;
-  position: relative;
-  top: -1px;
-}
-.dialog-content {
-  overflow: auto;
-}
-.dialog-toolbar {
-  padding: 2px 5px;
-}
-.dialog-tool-separator {
-  float: left;
-  height: 24px;
-  border-left: 1px solid #ccc;
-  border-right: 1px solid #fff;
-  margin: 2px 1px;
-}
-.dialog-button {
-  padding: 5px;
-  text-align: right;
-}
-.dialog-button .l-btn {
-  margin-left: 5px;
-}
-.dialog-toolbar,
-.dialog-button {
-  background: #F4F4F4;
-  border-width: 1px;
-  border-style: solid;
-}
-.dialog-toolbar {
-  border-color: #95B8E7 #95B8E7 #dddddd #95B8E7;
-}
-.dialog-button {
-  border-color: #dddddd #95B8E7 #95B8E7 #95B8E7;
-}
-.l-btn {
-  text-decoration: none;
-  display: inline-block;
-  overflow: hidden;
-  margin: 0;
-  padding: 0;
-  cursor: pointer;
-  outline: none;
-  text-align: center;
-  vertical-align: middle;
-  line-height: normal;
-}
-.l-btn-plain {
-  border-width: 0;
-  padding: 1px;
-}
-.l-btn-left {
-  display: inline-block;
-  position: relative;
-  overflow: hidden;
-  margin: 0;
-  padding: 0;
-  vertical-align: top;
-}
-.l-btn-text {
-  display: inline-block;
-  vertical-align: top;
-  width: auto;
-  line-height: 24px;
-  font-size: 12px;
-  padding: 0;
-  margin: 0 4px;
-}
-.l-btn-icon {
-  display: inline-block;
-  width: 16px;
-  height: 16px;
-  line-height: 16px;
-  position: absolute;
-  top: 50%;
-  margin-top: -8px;
-  font-size: 1px;
-}
-.l-btn span span .l-btn-empty {
-  display: inline-block;
-  margin: 0;
-  width: 16px;
-  height: 24px;
-  font-size: 1px;
-  vertical-align: top;
-}
-.l-btn span .l-btn-icon-left {
-  padding: 0 0 0 20px;
-  background-position: left center;
-}
-.l-btn span .l-btn-icon-right {
-  padding: 0 20px 0 0;
-  background-position: right center;
-}
-.l-btn-icon-left .l-btn-text {
-  margin: 0 4px 0 24px;
-}
-.l-btn-icon-left .l-btn-icon {
-  left: 4px;
-}
-.l-btn-icon-right .l-btn-text {
-  margin: 0 24px 0 4px;
-}
-.l-btn-icon-right .l-btn-icon {
-  right: 4px;
-}
-.l-btn-icon-top .l-btn-text {
-  margin: 20px 4px 0 4px;
-}
-.l-btn-icon-top .l-btn-icon {
-  top: 4px;
-  left: 50%;
-  margin: 0 0 0 -8px;
-}
-.l-btn-icon-bottom .l-btn-text {
-  margin: 0 4px 20px 4px;
-}
-.l-btn-icon-bottom .l-btn-icon {
-  top: auto;
-  bottom: 4px;
-  left: 50%;
-  margin: 0 0 0 -8px;
-}
-.l-btn-left .l-btn-empty {
-  margin: 0 4px;
-  width: 16px;
-}
-.l-btn-plain:hover {
-  padding: 0;
-}
-.l-btn-focus {
-  outline: #0000FF dotted thin;
-}
-.l-btn-large .l-btn-text {
-  line-height: 40px;
-}
-.l-btn-large .l-btn-icon {
-  width: 32px;
-  height: 32px;
-  line-height: 32px;
-  margin-top: -16px;
-}
-.l-btn-large .l-btn-icon-left .l-btn-text {
-  margin-left: 40px;
-}
-.l-btn-large .l-btn-icon-right .l-btn-text {
-  margin-right: 40px;
-}
-.l-btn-large .l-btn-icon-top .l-btn-text {
-  margin-top: 36px;
-  line-height: 24px;
-  min-width: 32px;
-}
-.l-btn-large .l-btn-icon-top .l-btn-icon {
-  margin: 0 0 0 -16px;
-}
-.l-btn-large .l-btn-icon-bottom .l-btn-text {
-  margin-bottom: 36px;
-  line-height: 24px;
-  min-width: 32px;
-}
-.l-btn-large .l-btn-icon-bottom .l-btn-icon {
-  margin: 0 0 0 -16px;
-}
-.l-btn-large .l-btn-left .l-btn-empty {
-  margin: 0 4px;
-  width: 32px;
-}
-.l-btn {
-  color: #444;
-  background: #fafafa;
-  background-repeat: repeat-x;
-  border: 1px solid #bbb;
-  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.l-btn:hover {
-  background: #eaf2ff;
-  color: #000000;
-  border: 1px solid #b7d2ff;
-  filter: none;
-}
-.l-btn-plain {
-  background: transparent;
-  border-width: 0;
-  filter: none;
-}
-.l-btn-outline {
-  border-width: 1px;
-  border-color: #b7d2ff;
-  padding: 0;
-}
-.l-btn-plain:hover {
-  background: #eaf2ff;
-  color: #000000;
-  border: 1px solid #b7d2ff;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.l-btn-disabled,
-.l-btn-disabled:hover {
-  opacity: 0.5;
-  cursor: default;
-  background: #fafafa;
-  color: #444;
-  background: -webkit-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: -moz-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: -o-linear-gradient(top,#ffffff 0,#eeeeee 100%);
-  background: linear-gradient(to bottom,#ffffff 0,#eeeeee 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#eeeeee,GradientType=0);
-}
-.l-btn-disabled .l-btn-text,
-.l-btn-disabled .l-btn-icon {
-  filter: alpha(opacity=50);
-}
-.l-btn-plain-disabled,
-.l-btn-plain-disabled:hover {
-  background: transparent;
-  filter: alpha(opacity=50);
-}
-.l-btn-selected,
-.l-btn-selected:hover {
-  background: #ddd;
-  filter: none;
-}
-.l-btn-plain-selected,
-.l-btn-plain-selected:hover {
-  background: #ddd;
-}
-.textbox {
-  position: relative;
-  border: 1px solid #95B8E7;
-  background-color: #fff;
-  vertical-align: middle;
-  display: inline-block;
-  overflow: hidden;
-  white-space: nowrap;
-  margin: 0;
-  padding: 0;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.textbox .textbox-text {
-  font-size: 12px;
-  border: 0;
-  margin: 0;
-  padding: 4px;
-  white-space: normal;
-  vertical-align: top;
-  outline-style: none;
-  resize: none;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.textbox textarea.textbox-text {
-  white-space: pre-wrap;
-}
-.textbox .textbox-prompt {
-  font-size: 12px;
-  color: #aaa;
-}
-.textbox .textbox-button,
-.textbox .textbox-button:hover {
-  position: absolute;
-  top: 0;
-  padding: 0;
-  vertical-align: top;
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.textbox-button-right,
-.textbox-button-right:hover {
-  border-width: 0 0 0 1px;
-}
-.textbox-button-left,
-.textbox-button-left:hover {
-  border-width: 0 1px 0 0;
-}
-.textbox-addon {
-  position: absolute;
-  top: 0;
-}
-.textbox-icon {
-  display: inline-block;
-  width: 18px;
-  height: 20px;
-  overflow: hidden;
-  vertical-align: top;
-  background-position: center center;
-  cursor: pointer;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  text-decoration: none;
-  outline-style: none;
-}
-.textbox-icon-disabled,
-.textbox-icon-readonly {
-  cursor: default;
-}
-.textbox-icon:hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.textbox-icon-disabled:hover {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.textbox-focused {
-  -moz-box-shadow: 0 0 3px 0 #95B8E7;
-  -webkit-box-shadow: 0 0 3px 0 #95B8E7;
-  box-shadow: 0 0 3px 0 #95B8E7;
-}
-.textbox-invalid {
-  border-color: #ffa8a8;
-  background-color: #fff3f3;
-}
-.filebox .textbox-value {
-  vertical-align: top;
-  position: absolute;
-  top: 0;
-  left: -5000px;
-}
-.filebox-label {
-  display: inline-block;
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  cursor: pointer;
-  left: 0;
-  top: 0;
-  z-index: 10;
-  background: url('images/blank.gif') no-repeat;
-}
-.l-btn-disabled .filebox-label {
-  cursor: default;
-}
-.combo {
-  display: inline-block;
-  white-space: nowrap;
-  margin: 0;
-  padding: 0;
-  border-width: 1px;
-  border-style: solid;
-  overflow: hidden;
-  vertical-align: middle;
-}
-.combo .combo-text {
-  font-size: 12px;
-  border: 0px;
-  margin: 0;
-  padding: 0px 2px;
-  vertical-align: baseline;
-}
-.combo-arrow {
-  width: 18px;
-  height: 20px;
-  overflow: hidden;
-  display: inline-block;
-  vertical-align: top;
-  cursor: pointer;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.combo-arrow-hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.combo-panel {
-  overflow: auto;
-}
-.combo-arrow {
-  background: url('images/combo_arrow.png') no-repeat center center;
-}
-.combo-panel {
-  background-color: #ffffff;
-}
-.combo {
-  border-color: #95B8E7;
-  background-color: #fff;
-}
-.combo-arrow {
-  background-color: #E0ECFF;
-}
-.combo-arrow-hover {
-  background-color: #eaf2ff;
-}
-.combo-arrow:hover {
-  background-color: #eaf2ff;
-}
-.combo .textbox-icon-disabled:hover {
-  cursor: default;
-}
-.textbox-invalid {
-  border-color: #ffa8a8;
-  background-color: #fff3f3;
-}
-.combobox-item,
-.combobox-group {
-  font-size: 12px;
-  padding: 3px;
-  padding-right: 0px;
-}
-.combobox-item-disabled {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-.combobox-gitem {
-  padding-left: 10px;
-}
-.combobox-group {
-  font-weight: bold;
-}
-.combobox-item-hover {
-  background-color: #eaf2ff;
-  color: #000000;
-}
-.combobox-item-selected {
-  background-color: #ffe48d;
-  color: #000000;
-}
-.layout {
-  position: relative;
-  overflow: hidden;
-  margin: 0;
-  padding: 0;
-  z-index: 0;
-}
-.layout-panel {
-  position: absolute;
-  overflow: hidden;
-}
-.layout-body {
-  min-width: 1px;
-  min-height: 1px;
-}
-.layout-panel-east,
-.layout-panel-west {
-  z-index: 2;
-}
-.layout-panel-north,
-.layout-panel-south {
-  z-index: 3;
-}
-.layout-expand {
-  position: absolute;
-  padding: 0px;
-  font-size: 1px;
-  cursor: pointer;
-  z-index: 1;
-}
-.layout-expand .panel-header,
-.layout-expand .panel-body {
-  background: transparent;
-  filter: none;
-  overflow: hidden;
-}
-.layout-expand .panel-header {
-  border-bottom-width: 0px;
-}
-.layout-expand .panel-body {
-  position: relative;
-}
-.layout-expand .panel-body .panel-icon {
-  margin-top: 0;
-  top: 0;
-  left: 50%;
-  margin-left: -8px;
-}
-.layout-expand-west .panel-header .panel-icon,
-.layout-expand-east .panel-header .panel-icon {
-  display: none;
-}
-.layout-expand-title {
-  position: absolute;
-  top: 0;
-  left: 21px;
-  white-space: nowrap;
-  word-wrap: normal;
-  -webkit-transform: rotate(90deg);
-  -webkit-transform-origin: 0 0;
-  -moz-transform: rotate(90deg);
-  -moz-transform-origin: 0 0;
-  -o-transform: rotate(90deg);
-  -o-transform-origin: 0 0;
-  transform: rotate(90deg);
-  transform-origin: 0 0;
-}
-.layout-expand-with-icon {
-  top: 18px;
-}
-.layout-expand .panel-body-noheader .layout-expand-title,
-.layout-expand .panel-body-noheader .panel-icon {
-  top: 5px;
-}
-.layout-expand .panel-body-noheader .layout-expand-with-icon {
-  top: 23px;
-}
-.layout-split-proxy-h,
-.layout-split-proxy-v {
-  position: absolute;
-  font-size: 1px;
-  display: none;
-  z-index: 5;
-}
-.layout-split-proxy-h {
-  width: 5px;
-  cursor: e-resize;
-}
-.layout-split-proxy-v {
-  height: 5px;
-  cursor: n-resize;
-}
-.layout-mask {
-  position: absolute;
-  background: #fafafa;
-  filter: alpha(opacity=10);
-  opacity: 0.10;
-  z-index: 4;
-}
-.layout-button-up {
-  background: url('images/layout_arrows.png') no-repeat -16px -16px;
-}
-.layout-button-down {
-  background: url('images/layout_arrows.png') no-repeat -16px 0;
-}
-.layout-button-left {
-  background: url('images/layout_arrows.png') no-repeat 0 0;
-}
-.layout-button-right {
-  background: url('images/layout_arrows.png') no-repeat 0 -16px;
-}
-.layout-split-proxy-h,
-.layout-split-proxy-v {
-  background-color: #aac5e7;
-}
-.layout-split-north {
-  border-bottom: 5px solid #E6EEF8;
-}
-.layout-split-south {
-  border-top: 5px solid #E6EEF8;
-}
-.layout-split-east {
-  border-left: 5px solid #E6EEF8;
-}
-.layout-split-west {
-  border-right: 5px solid #E6EEF8;
-}
-.layout-expand {
-  background-color: #E0ECFF;
-}
-.layout-expand-over {
-  background-color: #E0ECFF;
-}
-.tabs-container {
-  overflow: hidden;
-}
-.tabs-header {
-  border-width: 1px;
-  border-style: solid;
-  border-bottom-width: 0;
-  position: relative;
-  padding: 0;
-  padding-top: 2px;
-  overflow: hidden;
-}
-.tabs-scroller-left,
-.tabs-scroller-right {
-  position: absolute;
-  top: auto;
-  bottom: 0;
-  width: 18px;
-  font-size: 1px;
-  display: none;
-  cursor: pointer;
-  border-width: 1px;
-  border-style: solid;
-}
-.tabs-scroller-left {
-  left: 0;
-}
-.tabs-scroller-right {
-  right: 0;
-}
-.tabs-tool {
-  position: absolute;
-  bottom: 0;
-  padding: 1px;
-  overflow: hidden;
-  border-width: 1px;
-  border-style: solid;
-}
-.tabs-header-plain .tabs-tool {
-  padding: 0 1px;
-}
-.tabs-wrap {
-  position: relative;
-  left: 0;
-  overflow: hidden;
-  width: 100%;
-  margin: 0;
-  padding: 0;
-}
-.tabs-scrolling {
-  margin-left: 18px;
-  margin-right: 18px;
-}
-.tabs-disabled {
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-}
-.tabs {
-  list-style-type: none;
-  height: 26px;
-  margin: 0px;
-  padding: 0px;
-  padding-left: 4px;
-  width: 50000px;
-  border-style: solid;
-  border-width: 0 0 1px 0;
-}
-.tabs li {
-  float: left;
-  display: inline-block;
-  margin: 0 4px -1px 0;
-  padding: 0;
-  position: relative;
-  border: 0;
-}
-.tabs li a.tabs-inner {
-  display: inline-block;
-  text-decoration: none;
-  margin: 0;
-  padding: 0 10px;
-  height: 25px;
-  line-height: 25px;
-  text-align: center;
-  white-space: nowrap;
-  border-width: 1px;
-  border-style: solid;
-  -moz-border-radius: 5px 5px 0 0;
-  -webkit-border-radius: 5px 5px 0 0;
-  border-radius: 5px 5px 0 0;
-}
-.tabs li.tabs-selected a.tabs-inner {
-  font-weight: bold;
-  outline: none;
-}
-.tabs li.tabs-selected a:hover.tabs-inner {
-  cursor: default;
-  pointer: default;
-}
-.tabs li a.tabs-close,
-.tabs-p-tool {
-  position: absolute;
-  font-size: 1px;
-  display: block;
-  height: 12px;
-  padding: 0;
-  top: 50%;
-  margin-top: -6px;
-  overflow: hidden;
-}
-.tabs li a.tabs-close {
-  width: 12px;
-  right: 5px;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.tabs-p-tool {
-  right: 16px;
-}
-.tabs-p-tool a {
-  display: inline-block;
-  font-size: 1px;
-  width: 12px;
-  height: 12px;
-  margin: 0;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.tabs li a:hover.tabs-close,
-.tabs-p-tool a:hover {
-  opacity: 1;
-  filter: alpha(opacity=100);
-  cursor: hand;
-  cursor: pointer;
-}
-.tabs-with-icon {
-  padding-left: 18px;
-}
-.tabs-icon {
-  position: absolute;
-  width: 16px;
-  height: 16px;
-  left: 10px;
-  top: 50%;
-  margin-top: -8px;
-}
-.tabs-title {
-  font-size: 12px;
-}
-.tabs-closable {
-  padding-right: 8px;
-}
-.tabs-panels {
-  margin: 0px;
-  padding: 0px;
-  border-width: 1px;
-  border-style: solid;
-  border-top-width: 0;
-  overflow: hidden;
-}
-.tabs-header-bottom {
-  border-width: 0 1px 1px 1px;
-  padding: 0 0 2px 0;
-}
-.tabs-header-bottom .tabs {
-  border-width: 1px 0 0 0;
-}
-.tabs-header-bottom .tabs li {
-  margin: -1px 4px 0 0;
-}
-.tabs-header-bottom .tabs li a.tabs-inner {
-  -moz-border-radius: 0 0 5px 5px;
-  -webkit-border-radius: 0 0 5px 5px;
-  border-radius: 0 0 5px 5px;
-}
-.tabs-header-bottom .tabs-tool {
-  top: 0;
-}
-.tabs-header-bottom .tabs-scroller-left,
-.tabs-header-bottom .tabs-scroller-right {
-  top: 0;
-  bottom: auto;
-}
-.tabs-panels-top {
-  border-width: 1px 1px 0 1px;
-}
-.tabs-header-left {
-  float: left;
-  border-width: 1px 0 1px 1px;
-  padding: 0;
-}
-.tabs-header-right {
-  float: right;
-  border-width: 1px 1px 1px 0;
-  padding: 0;
-}
-.tabs-header-left .tabs-wrap,
-.tabs-header-right .tabs-wrap {
-  height: 100%;
-}
-.tabs-header-left .tabs {
-  height: 100%;
-  padding: 4px 0 0 2px;
-  border-width: 0 1px 0 0;
-}
-.tabs-header-right .tabs {
-  height: 100%;
-  padding: 4px 2px 0 0;
-  border-width: 0 0 0 1px;
-}
-.tabs-header-left .tabs li,
-.tabs-header-right .tabs li {
-  display: block;
-  width: 100%;
-  position: relative;
-}
-.tabs-header-left .tabs li {
-  left: auto;
-  right: 0;
-  margin: 0 -1px 4px 0;
-  float: right;
-}
-.tabs-header-right .tabs li {
-  left: 0;
-  right: auto;
-  margin: 0 0 4px -1px;
-  float: left;
-}
-.tabs-justified li a.tabs-inner {
-  padding-left: 0;
-  padding-right: 0;
-}
-.tabs-header-left .tabs li a.tabs-inner {
-  display: block;
-  text-align: left;
-  padding-left: 10px;
-  padding-right: 10px;
-  -moz-border-radius: 5px 0 0 5px;
-  -webkit-border-radius: 5px 0 0 5px;
-  border-radius: 5px 0 0 5px;
-}
-.tabs-header-right .tabs li a.tabs-inner {
-  display: block;
-  text-align: left;
-  padding-left: 10px;
-  padding-right: 10px;
-  -moz-border-radius: 0 5px 5px 0;
-  -webkit-border-radius: 0 5px 5px 0;
-  border-radius: 0 5px 5px 0;
-}
-.tabs-panels-right {
-  float: right;
-  border-width: 1px 1px 1px 0;
-}
-.tabs-panels-left {
-  float: left;
-  border-width: 1px 0 1px 1px;
-}
-.tabs-header-noborder,
-.tabs-panels-noborder {
-  border: 0px;
-}
-.tabs-header-plain {
-  border: 0px;
-  background: transparent;
-}
-.tabs-pill {
-  padding-bottom: 3px;
-}
-.tabs-header-bottom .tabs-pill {
-  padding-top: 3px;
-  padding-bottom: 0;
-}
-.tabs-header-left .tabs-pill {
-  padding-right: 3px;
-}
-.tabs-header-right .tabs-pill {
-  padding-left: 3px;
-}
-.tabs-header .tabs-pill li a.tabs-inner {
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.tabs-header-narrow,
-.tabs-header-narrow .tabs-narrow {
-  padding: 0;
-}
-.tabs-narrow li,
-.tabs-header-bottom .tabs-narrow li {
-  margin-left: 0;
-  margin-right: -1px;
-}
-.tabs-narrow li.tabs-last,
-.tabs-header-bottom .tabs-narrow li.tabs-last {
-  margin-right: 0;
-}
-.tabs-header-left .tabs-narrow,
-.tabs-header-right .tabs-narrow {
-  padding-top: 0;
-}
-.tabs-header-left .tabs-narrow li {
-  margin-bottom: -1px;
-  margin-right: -1px;
-}
-.tabs-header-left .tabs-narrow li.tabs-last,
-.tabs-header-right .tabs-narrow li.tabs-last {
-  margin-bottom: 0;
-}
-.tabs-header-right .tabs-narrow li {
-  margin-bottom: -1px;
-  margin-left: -1px;
-}
-.tabs-scroller-left {
-  background: #E0ECFF url('images/tabs_icons.png') no-repeat 1px center;
-}
-.tabs-scroller-right {
-  background: #E0ECFF url('images/tabs_icons.png') no-repeat -15px center;
-}
-.tabs li a.tabs-close {
-  background: url('images/tabs_icons.png') no-repeat -34px center;
-}
-.tabs li a.tabs-inner:hover {
-  background: #eaf2ff;
-  color: #000000;
-  filter: none;
-}
-.tabs li.tabs-selected a.tabs-inner {
-  background-color: #ffffff;
-  color: #0E2D5F;
-  background: -webkit-linear-gradient(top,#EFF5FF 0,#ffffff 100%);
-  background: -moz-linear-gradient(top,#EFF5FF 0,#ffffff 100%);
-  background: -o-linear-gradient(top,#EFF5FF 0,#ffffff 100%);
-  background: linear-gradient(to bottom,#EFF5FF 0,#ffffff 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=0);
-}
-.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {
-  background: -webkit-linear-gradient(top,#ffffff 0,#EFF5FF 100%);
-  background: -moz-linear-gradient(top,#ffffff 0,#EFF5FF 100%);
-  background: -o-linear-gradient(top,#ffffff 0,#EFF5FF 100%);
-  background: linear-gradient(to bottom,#ffffff 0,#EFF5FF 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=0);
-}
-.tabs-header-left .tabs li.tabs-selected a.tabs-inner {
-  background: -webkit-linear-gradient(left,#EFF5FF 0,#ffffff 100%);
-  background: -moz-linear-gradient(left,#EFF5FF 0,#ffffff 100%);
-  background: -o-linear-gradient(left,#EFF5FF 0,#ffffff 100%);
-  background: linear-gradient(to right,#EFF5FF 0,#ffffff 100%);
-  background-repeat: repeat-y;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#ffffff,GradientType=1);
-}
-.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
-  background: -webkit-linear-gradient(left,#ffffff 0,#EFF5FF 100%);
-  background: -moz-linear-gradient(left,#ffffff 0,#EFF5FF 100%);
-  background: -o-linear-gradient(left,#ffffff 0,#EFF5FF 100%);
-  background: linear-gradient(to right,#ffffff 0,#EFF5FF 100%);
-  background-repeat: repeat-y;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff,endColorstr=#EFF5FF,GradientType=1);
-}
-.tabs li a.tabs-inner {
-  color: #0E2D5F;
-  background-color: #E0ECFF;
-  background: -webkit-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: -moz-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: -o-linear-gradient(top,#EFF5FF 0,#E0ECFF 100%);
-  background: linear-gradient(to bottom,#EFF5FF 0,#E0ECFF 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EFF5FF,endColorstr=#E0ECFF,GradientType=0);
-}
-.tabs-header,
-.tabs-tool {
-  background-color: #E0ECFF;
-}
-.tabs-header-plain {
-  background: transparent;
-}
-.tabs-header,
-.tabs-scroller-left,
-.tabs-scroller-right,
-.tabs-tool,
-.tabs,
-.tabs-panels,
-.tabs li a.tabs-inner,
-.tabs li.tabs-selected a.tabs-inner,
-.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,
-.tabs-header-left .tabs li.tabs-selected a.tabs-inner,
-.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
-  border-color: #95B8E7;
-}
-.tabs-p-tool a:hover,
-.tabs li a:hover.tabs-close,
-.tabs-scroller-over {
-  background-color: #eaf2ff;
-}
-.tabs li.tabs-selected a.tabs-inner {
-  border-bottom: 1px solid #ffffff;
-}
-.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {
-  border-top: 1px solid #ffffff;
-}
-.tabs-header-left .tabs li.tabs-selected a.tabs-inner {
-  border-right: 1px solid #ffffff;
-}
-.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
-  border-left: 1px solid #ffffff;
-}
-.tabs-header .tabs-pill li.tabs-selected a.tabs-inner {
-  background: #ffe48d;
-  color: #000000;
-  filter: none;
-  border-color: #95B8E7;
-}
-.datagrid .panel-body {
-  overflow: hidden;
-  position: relative;
-}
-.datagrid-view {
-  position: relative;
-  overflow: hidden;
-}
-.datagrid-view1,
-.datagrid-view2 {
-  position: absolute;
-  overflow: hidden;
-  top: 0;
-}
-.datagrid-view1 {
-  left: 0;
-}
-.datagrid-view2 {
-  right: 0;
-}
-.datagrid-mask {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-  display: none;
-}
-.datagrid-mask-msg {
-  position: absolute;
-  top: 50%;
-  margin-top: -20px;
-  padding: 10px 5px 10px 30px;
-  width: auto;
-  height: 16px;
-  border-width: 2px;
-  border-style: solid;
-  display: none;
-}
-.datagrid-sort-icon {
-  padding: 0;
-  display: none;
-}
-.datagrid-toolbar {
-  height: auto;
-  padding: 1px 2px;
-  border-width: 0 0 1px 0;
-  border-style: solid;
-}
-.datagrid-btn-separator {
-  float: left;
-  height: 24px;
-  border-left: 1px solid #ccc;
-  border-right: 1px solid #fff;
-  margin: 2px 1px;
-}
-.datagrid .datagrid-pager {
-  display: block;
-  margin: 0;
-  border-width: 1px 0 0 0;
-  border-style: solid;
-}
-.datagrid .datagrid-pager-top {
-  border-width: 0 0 1px 0;
-}
-.datagrid-header {
-  overflow: hidden;
-  cursor: default;
-  border-width: 0 0 1px 0;
-  border-style: solid;
-}
-.datagrid-header-inner {
-  float: left;
-  width: 10000px;
-}
-.datagrid-header-row,
-.datagrid-row {
-  height: 25px;
-}
-.datagrid-header td,
-.datagrid-body td,
-.datagrid-footer td {
-  border-width: 0 1px 1px 0;
-  border-style: dotted;
-  margin: 0;
-  padding: 0;
-}
-.datagrid-cell,
-.datagrid-cell-group,
-.datagrid-header-rownumber,
-.datagrid-cell-rownumber {
-  margin: 0;
-  padding: 0 4px;
-  white-space: nowrap;
-  word-wrap: normal;
-  overflow: hidden;
-  height: 18px;
-  line-height: 18px;
-  font-size: 12px;
-}
-.datagrid-header .datagrid-cell {
-  height: auto;
-}
-.datagrid-header .datagrid-cell span {
-  font-size: 12px;
-}
-.datagrid-cell-group {
-  text-align: center;
-  text-overflow: ellipsis;
-}
-.datagrid-header-rownumber,
-.datagrid-cell-rownumber {
-  width: 30px;
-  text-align: center;
-  margin: 0;
-  padding: 0;
-}
-.datagrid-body {
-  margin: 0;
-  padding: 0;
-  overflow: auto;
-  zoom: 1;
-}
-.datagrid-view1 .datagrid-body-inner {
-  padding-bottom: 20px;
-}
-.datagrid-view1 .datagrid-body {
-  overflow: hidden;
-}
-.datagrid-footer {
-  overflow: hidden;
-}
-.datagrid-footer-inner {
-  border-width: 1px 0 0 0;
-  border-style: solid;
-  width: 10000px;
-  float: left;
-}
-.datagrid-row-editing .datagrid-cell {
-  height: auto;
-}
-.datagrid-header-check,
-.datagrid-cell-check {
-  padding: 0;
-  width: 27px;
-  height: 18px;
-  font-size: 1px;
-  text-align: center;
-  overflow: hidden;
-}
-.datagrid-header-check input,
-.datagrid-cell-check input {
-  margin: 0;
-  padding: 0;
-  width: 15px;
-  height: 18px;
-}
-.datagrid-resize-proxy {
-  position: absolute;
-  width: 1px;
-  height: 10000px;
-  top: 0;
-  cursor: e-resize;
-  display: none;
-}
-.datagrid-body .datagrid-editable {
-  margin: 0;
-  padding: 0;
-}
-.datagrid-body .datagrid-editable table {
-  width: 100%;
-  height: 100%;
-}
-.datagrid-body .datagrid-editable td {
-  border: 0;
-  margin: 0;
-  padding: 0;
-}
-.datagrid-view .datagrid-editable-input {
-  margin: 0;
-  padding: 2px 4px;
-  border: 1px solid #95B8E7;
-  font-size: 12px;
-  outline-style: none;
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.datagrid-sort .datagrid-sort-icon {
-  display: inline;
-  padding: 0 13px 0 0;
-  background: url('images/datagrid_icons.png') no-repeat -64px center;
-}
-.datagrid-sort-desc .datagrid-sort-icon {
-  display: inline;
-  padding: 0 13px 0 0;
-  background: url('images/datagrid_icons.png') no-repeat -16px center;
-}
-.datagrid-sort-asc .datagrid-sort-icon {
-  display: inline;
-  padding: 0 13px 0 0;
-  background: url('images/datagrid_icons.png') no-repeat 0px center;
-}
-.datagrid-row-collapse {
-  background: url('images/datagrid_icons.png') no-repeat -48px center;
-}
-.datagrid-row-expand {
-  background: url('images/datagrid_icons.png') no-repeat -32px center;
-}
-.datagrid-mask-msg {
-  background: #ffffff url('images/loading.gif') no-repeat scroll 5px center;
-}
-.datagrid-header,
-.datagrid-td-rownumber {
-  background-color: #efefef;
-  background: -webkit-linear-gradient(top,#F9F9F9 0,#efefef 100%);
-  background: -moz-linear-gradient(top,#F9F9F9 0,#efefef 100%);
-  background: -o-linear-gradient(top,#F9F9F9 0,#efefef 100%);
-  background: linear-gradient(to bottom,#F9F9F9 0,#efefef 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F9F9F9,endColorstr=#efefef,GradientType=0);
-}
-.datagrid-cell-rownumber {
-  color: #000000;
-}
-.datagrid-resize-proxy {
-  background: #aac5e7;
-}
-.datagrid-mask {
-  background: #ccc;
-}
-.datagrid-mask-msg {
-  border-color: #95B8E7;
-}
-.datagrid-toolbar,
-.datagrid-pager {
-  background: #F4F4F4;
-}
-.datagrid-header,
-.datagrid-toolbar,
-.datagrid-pager,
-.datagrid-footer-inner {
-  border-color: #dddddd;
-}
-.datagrid-header td,
-.datagrid-body td,
-.datagrid-footer td {
-  border-color: #ccc;
-}
-.datagrid-htable,
-.datagrid-btable,
-.datagrid-ftable {
-  color: #000000;
-  border-collapse: separate;
-}
-.datagrid-row-alt {
-  background: #fafafa;
-}
-.datagrid-row-over,
-.datagrid-header td.datagrid-header-over {
-  background: #eaf2ff;
-  color: #000000;
-  cursor: default;
-}
-.datagrid-row-selected {
-  background: #ffe48d;
-  color: #000000;
-}
-.datagrid-row-editing .textbox,
-.datagrid-row-editing .textbox-text {
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.propertygrid .datagrid-view1 .datagrid-body td {
-  padding-bottom: 1px;
-  border-width: 0 1px 0 0;
-}
-.propertygrid .datagrid-group {
-  height: 21px;
-  overflow: hidden;
-  border-width: 0 0 1px 0;
-  border-style: solid;
-}
-.propertygrid .datagrid-group span {
-  font-weight: bold;
-}
-.propertygrid .datagrid-view1 .datagrid-body td {
-  border-color: #dddddd;
-}
-.propertygrid .datagrid-view1 .datagrid-group {
-  border-color: #E0ECFF;
-}
-.propertygrid .datagrid-view2 .datagrid-group {
-  border-color: #dddddd;
-}
-.propertygrid .datagrid-group,
-.propertygrid .datagrid-view1 .datagrid-body,
-.propertygrid .datagrid-view1 .datagrid-row-over,
-.propertygrid .datagrid-view1 .datagrid-row-selected {
-  background: #E0ECFF;
-}
-.datalist .datagrid-header {
-  border-width: 0;
-}
-.datalist .datagrid-group,
-.m-list .m-list-group {
-  height: 25px;
-  line-height: 25px;
-  font-weight: bold;
-  overflow: hidden;
-  background-color: #efefef;
-  border-style: solid;
-  border-width: 0 0 1px 0;
-  border-color: #ccc;
-}
-.datalist .datagrid-group-expander {
-  display: none;
-}
-.datalist .datagrid-group-title {
-  padding: 0 4px;
-}
-.datalist .datagrid-btable {
-  width: 100%;
-  table-layout: fixed;
-}
-.datalist .datagrid-row td {
-  border-style: solid;
-  border-left-color: transparent;
-  border-right-color: transparent;
-  border-bottom-width: 0;
-}
-.datalist-lines .datagrid-row td {
-  border-bottom-width: 1px;
-}
-.datalist .datagrid-cell,
-.m-list li {
-  width: auto;
-  height: auto;
-  padding: 2px 4px;
-  line-height: 18px;
-  position: relative;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-}
-.datalist-link,
-.m-list li>a {
-  display: block;
-  position: relative;
-  cursor: pointer;
-  color: #000000;
-  text-decoration: none;
-  overflow: hidden;
-  margin: -2px -4px;
-  padding: 2px 4px;
-  padding-right: 16px;
-  line-height: 18px;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-}
-.datalist-link::after,
-.m-list li>a::after {
-  position: absolute;
-  display: block;
-  width: 8px;
-  height: 8px;
-  content: '';
-  right: 6px;
-  top: 50%;
-  margin-top: -4px;
-  border-style: solid;
-  border-width: 1px 1px 0 0;
-  -ms-transform: rotate(45deg);
-  -moz-transform: rotate(45deg);
-  -webkit-transform: rotate(45deg);
-  -o-transform: rotate(45deg);
-  transform: rotate(45deg);
-}
-.m-list {
-  margin: 0;
-  padding: 0;
-  list-style: none;
-}
-.m-list li {
-  border-style: solid;
-  border-width: 0 0 1px 0;
-  border-color: #ccc;
-}
-.m-list li>a:hover {
-  background: #eaf2ff;
-  color: #000000;
-}
-.m-list .m-list-group {
-  padding: 0 4px;
-}
-.pagination {
-  zoom: 1;
-}
-.pagination table {
-  float: left;
-  height: 30px;
-}
-.pagination td {
-  border: 0;
-}
-.pagination-btn-separator {
-  float: left;
-  height: 24px;
-  border-left: 1px solid #ccc;
-  border-right: 1px solid #fff;
-  margin: 3px 1px;
-}
-.pagination .pagination-num {
-  border-width: 1px;
-  border-style: solid;
-  margin: 0 2px;
-  padding: 2px;
-  width: 2em;
-  height: auto;
-}
-.pagination-page-list {
-  margin: 0px 6px;
-  padding: 1px 2px;
-  width: auto;
-  height: auto;
-  border-width: 1px;
-  border-style: solid;
-}
-.pagination-info {
-  float: right;
-  margin: 0 6px 0 0;
-  padding: 0;
-  height: 30px;
-  line-height: 30px;
-  font-size: 12px;
-}
-.pagination span {
-  font-size: 12px;
-}
-.pagination-link .l-btn-text {
-  width: 24px;
-  text-align: center;
-  margin: 0;
-}
-.pagination-first {
-  background: url('images/pagination_icons.png') no-repeat 0 center;
-}
-.pagination-prev {
-  background: url('images/pagination_icons.png') no-repeat -16px center;
-}
-.pagination-next {
-  background: url('images/pagination_icons.png') no-repeat -32px center;
-}
-.pagination-last {
-  background: url('images/pagination_icons.png') no-repeat -48px center;
-}
-.pagination-load {
-  background: url('images/pagination_icons.png') no-repeat -64px center;
-}
-.pagination-loading {
-  background: url('images/loading.gif') no-repeat center center;
-}
-.pagination-page-list,
-.pagination .pagination-num {
-  border-color: #95B8E7;
-}
-.calendar {
-  border-width: 1px;
-  border-style: solid;
-  padding: 1px;
-  overflow: hidden;
-}
-.calendar table {
-  table-layout: fixed;
-  border-collapse: separate;
-  font-size: 12px;
-  width: 100%;
-  height: 100%;
-}
-.calendar table td,
-.calendar table th {
-  font-size: 12px;
-}
-.calendar-noborder {
-  border: 0;
-}
-.calendar-header {
-  position: relative;
-  height: 22px;
-}
-.calendar-title {
-  text-align: center;
-  height: 22px;
-}
-.calendar-title span {
-  position: relative;
-  display: inline-block;
-  top: 2px;
-  padding: 0 3px;
-  height: 18px;
-  line-height: 18px;
-  font-size: 12px;
-  cursor: pointer;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-prevmonth,
-.calendar-nextmonth,
-.calendar-prevyear,
-.calendar-nextyear {
-  position: absolute;
-  top: 50%;
-  margin-top: -7px;
-  width: 14px;
-  height: 14px;
-  cursor: pointer;
-  font-size: 1px;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-prevmonth {
-  left: 20px;
-  background: url('images/calendar_arrows.png') no-repeat -18px -2px;
-}
-.calendar-nextmonth {
-  right: 20px;
-  background: url('images/calendar_arrows.png') no-repeat -34px -2px;
-}
-.calendar-prevyear {
-  left: 3px;
-  background: url('images/calendar_arrows.png') no-repeat -1px -2px;
-}
-.calendar-nextyear {
-  right: 3px;
-  background: url('images/calendar_arrows.png') no-repeat -49px -2px;
-}
-.calendar-body {
-  position: relative;
-}
-.calendar-body th,
-.calendar-body td {
-  text-align: center;
-}
-.calendar-day {
-  border: 0;
-  padding: 1px;
-  cursor: pointer;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-other-month {
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-}
-.calendar-disabled {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  cursor: default;
-}
-.calendar-menu {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 180px;
-  height: 150px;
-  padding: 5px;
-  font-size: 12px;
-  display: none;
-  overflow: hidden;
-}
-.calendar-menu-year-inner {
-  text-align: center;
-  padding-bottom: 5px;
-}
-.calendar-menu-year {
-  width: 40px;
-  text-align: center;
-  border-width: 1px;
-  border-style: solid;
-  margin: 0;
-  padding: 2px;
-  font-weight: bold;
-  font-size: 12px;
-}
-.calendar-menu-prev,
-.calendar-menu-next {
-  display: inline-block;
-  width: 21px;
-  height: 21px;
-  vertical-align: top;
-  cursor: pointer;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-menu-prev {
-  margin-right: 10px;
-  background: url('images/calendar_arrows.png') no-repeat 2px 2px;
-}
-.calendar-menu-next {
-  margin-left: 10px;
-  background: url('images/calendar_arrows.png') no-repeat -45px 2px;
-}
-.calendar-menu-month {
-  text-align: center;
-  cursor: pointer;
-  font-weight: bold;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.calendar-body th,
-.calendar-menu-month {
-  color: #4d4d4d;
-}
-.calendar-day {
-  color: #000000;
-}
-.calendar-sunday {
-  color: #CC2222;
-}
-.calendar-saturday {
-  color: #00ee00;
-}
-.calendar-today {
-  color: #0000ff;
-}
-.calendar-menu-year {
-  border-color: #95B8E7;
-}
-.calendar {
-  border-color: #95B8E7;
-}
-.calendar-header {
-  background: #E0ECFF;
-}
-.calendar-body,
-.calendar-menu {
-  background: #ffffff;
-}
-.calendar-body th {
-  background: #F4F4F4;
-  padding: 2px 0;
-}
-.calendar-hover,
-.calendar-nav-hover,
-.calendar-menu-hover {
-  background-color: #eaf2ff;
-  color: #000000;
-}
-.calendar-hover {
-  border: 1px solid #b7d2ff;
-  padding: 0;
-}
-.calendar-selected {
-  background-color: #ffe48d;
-  color: #000000;
-  border: 1px solid #ffab3f;
-  padding: 0;
-}
-.datebox-calendar-inner {
-  height: 180px;
-}
-.datebox-button {
-  height: 18px;
-  padding: 2px 5px;
-  text-align: center;
-}
-.datebox-button a {
-  font-size: 12px;
-  font-weight: bold;
-  text-decoration: none;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.datebox-button a:hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.datebox-current,
-.datebox-close {
-  float: left;
-}
-.datebox-close {
-  float: right;
-}
-.datebox .combo-arrow {
-  background-image: url('images/datebox_arrow.png');
-  background-position: center center;
-}
-.datebox-button {
-  background-color: #F4F4F4;
-}
-.datebox-button a {
-  color: #444;
-}
-.numberbox {
-  border: 1px solid #95B8E7;
-  margin: 0;
-  padding: 0 2px;
-  vertical-align: middle;
-}
-.textbox {
-  padding: 0;
-}
-.spinner {
-  display: inline-block;
-  white-space: nowrap;
-  margin: 0;
-  padding: 0;
-  border-width: 1px;
-  border-style: solid;
-  overflow: hidden;
-  vertical-align: middle;
-}
-.spinner .spinner-text {
-  font-size: 12px;
-  border: 0px;
-  margin: 0;
-  padding: 0 2px;
-  vertical-align: baseline;
-}
-.spinner-arrow {
-  background-color: #E0ECFF;
-  display: inline-block;
-  overflow: hidden;
-  vertical-align: top;
-  margin: 0;
-  padding: 0;
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-  width: 18px;
-}
-.spinner-arrow-up,
-.spinner-arrow-down {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  display: block;
-  font-size: 1px;
-  width: 18px;
-  height: 10px;
-  width: 100%;
-  height: 50%;
-  color: #444;
-  outline-style: none;
-}
-.spinner-arrow-hover {
-  background-color: #eaf2ff;
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.spinner-arrow-up:hover,
-.spinner-arrow-down:hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-  background-color: #eaf2ff;
-}
-.textbox-icon-disabled .spinner-arrow-up:hover,
-.textbox-icon-disabled .spinner-arrow-down:hover {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  background-color: #E0ECFF;
-  cursor: default;
-}
-.spinner .textbox-icon-disabled {
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.spinner-arrow-up {
-  background: url('images/spinner_arrows.png') no-repeat 1px center;
-}
-.spinner-arrow-down {
-  background: url('images/spinner_arrows.png') no-repeat -15px center;
-}
-.spinner {
-  border-color: #95B8E7;
-}
-.progressbar {
-  border-width: 1px;
-  border-style: solid;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-  overflow: hidden;
-  position: relative;
-}
-.progressbar-text {
-  text-align: center;
-  position: absolute;
-}
-.progressbar-value {
-  position: relative;
-  overflow: hidden;
-  width: 0;
-  -moz-border-radius: 5px 0 0 5px;
-  -webkit-border-radius: 5px 0 0 5px;
-  border-radius: 5px 0 0 5px;
-}
-.progressbar {
-  border-color: #95B8E7;
-}
-.progressbar-text {
-  color: #000000;
-  font-size: 12px;
-}
-.progressbar-value .progressbar-text {
-  background-color: #ffe48d;
-  color: #000000;
-}
-.searchbox {
-  display: inline-block;
-  white-space: nowrap;
-  margin: 0;
-  padding: 0;
-  border-width: 1px;
-  border-style: solid;
-  overflow: hidden;
-  vertical-align: middle;
-}
-.searchbox .searchbox-text {
-  font-size: 12px;
-  border: 0;
-  margin: 0;
-  padding: 0 2px;
-  vertical-align: top;
-}
-.searchbox .searchbox-prompt {
-  font-size: 12px;
-  color: #ccc;
-}
-.searchbox-button {
-  width: 18px;
-  height: 20px;
-  overflow: hidden;
-  display: inline-block;
-  vertical-align: top;
-  cursor: pointer;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-}
-.searchbox-button-hover {
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-}
-.searchbox .l-btn-plain {
-  border: 0;
-  padding: 0;
-  vertical-align: top;
-  opacity: 0.6;
-  filter: alpha(opacity=60);
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.searchbox .l-btn-plain:hover {
-  border: 0;
-  padding: 0;
-  opacity: 1.0;
-  filter: alpha(opacity=100);
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.searchbox a.m-btn-plain-active {
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.searchbox .m-btn-active {
-  border-width: 0 1px 0 0;
-  -moz-border-radius: 0 0 0 0;
-  -webkit-border-radius: 0 0 0 0;
-  border-radius: 0 0 0 0;
-}
-.searchbox .textbox-button-right {
-  border-width: 0 0 0 1px;
-}
-.searchbox .textbox-button-left {
-  border-width: 0 1px 0 0;
-}
-.searchbox-button {
-  background: url('images/searchbox_button.png') no-repeat center center;
-}
-.searchbox {
-  border-color: #95B8E7;
-  background-color: #fff;
-}
-.searchbox .l-btn-plain {
-  background: #E0ECFF;
-}
-.searchbox .l-btn-plain-disabled,
-.searchbox .l-btn-plain-disabled:hover {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-.textbox-invalid {
-  border-color: #ffa8a8;
-  background-color: #fff3f3;
-}
-.slider-disabled {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-.slider-h {
-  height: 22px;
-}
-.slider-v {
-  width: 22px;
-}
-.slider-inner {
-  position: relative;
-  height: 6px;
-  top: 7px;
-  border-width: 1px;
-  border-style: solid;
-  border-radius: 5px;
-}
-.slider-handle {
-  position: absolute;
-  display: block;
-  outline: none;
-  width: 20px;
-  height: 20px;
-  top: 50%;
-  margin-top: -10px;
-  margin-left: -10px;
-}
-.slider-tip {
-  position: absolute;
-  display: inline-block;
-  line-height: 12px;
-  font-size: 12px;
-  white-space: nowrap;
-  top: -22px;
-}
-.slider-rule {
-  position: relative;
-  top: 15px;
-}
-.slider-rule span {
-  position: absolute;
-  display: inline-block;
-  font-size: 0;
-  height: 5px;
-  border-width: 0 0 0 1px;
-  border-style: solid;
-}
-.slider-rulelabel {
-  position: relative;
-  top: 20px;
-}
-.slider-rulelabel span {
-  position: absolute;
-  display: inline-block;
-  font-size: 12px;
-}
-.slider-v .slider-inner {
-  width: 6px;
-  left: 7px;
-  top: 0;
-  float: left;
-}
-.slider-v .slider-handle {
-  left: 50%;
-  margin-top: -10px;
-}
-.slider-v .slider-tip {
-  left: -10px;
-  margin-top: -6px;
-}
-.slider-v .slider-rule {
-  float: left;
-  top: 0;
-  left: 16px;
-}
-.slider-v .slider-rule span {
-  width: 5px;
-  height: 'auto';
-  border-left: 0;
-  border-width: 1px 0 0 0;
-  border-style: solid;
-}
-.slider-v .slider-rulelabel {
-  float: left;
-  top: 0;
-  left: 23px;
-}
-.slider-handle {
-  background: url('images/slider_handle.png') no-repeat;
-}
-.slider-inner {
-  border-color: #95B8E7;
-  background: #E0ECFF;
-}
-.slider-rule span {
-  border-color: #95B8E7;
-}
-.slider-rulelabel span {
-  color: #000000;
-}
-.menu {
-  position: absolute;
-  margin: 0;
-  padding: 2px;
-  border-width: 1px;
-  border-style: solid;
-  overflow: hidden;
-}
-.menu-inline {
-  position: relative;
-}
-.menu-item {
-  position: relative;
-  margin: 0;
-  padding: 0;
-  overflow: hidden;
-  white-space: nowrap;
-  cursor: pointer;
-  border-width: 1px;
-  border-style: solid;
-}
-.menu-text {
-  height: 20px;
-  line-height: 20px;
-  float: left;
-  padding-left: 28px;
-}
-.menu-icon {
-  position: absolute;
-  width: 16px;
-  height: 16px;
-  left: 2px;
-  top: 50%;
-  margin-top: -8px;
-}
-.menu-rightarrow {
-  position: absolute;
-  width: 16px;
-  height: 16px;
-  right: 0;
-  top: 50%;
-  margin-top: -8px;
-}
-.menu-line {
-  position: absolute;
-  left: 26px;
-  top: 0;
-  height: 2000px;
-  font-size: 1px;
-}
-.menu-sep {
-  margin: 3px 0px 3px 25px;
-  font-size: 1px;
-}
-.menu-noline .menu-line {
-  display: none;
-}
-.menu-noline .menu-sep {
-  margin-left: 0;
-  margin-right: 0;
-}
-.menu-active {
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.menu-item-disabled {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-  cursor: default;
-}
-.menu-text,
-.menu-text span {
-  font-size: 12px;
-}
-.menu-shadow {
-  position: absolute;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-  background: #ccc;
-  -moz-box-shadow: 2px 2px 3px #cccccc;
-  -webkit-box-shadow: 2px 2px 3px #cccccc;
-  box-shadow: 2px 2px 3px #cccccc;
-  filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);
-}
-.menu-rightarrow {
-  background: url('images/menu_arrows.png') no-repeat -32px center;
-}
-.menu-line {
-  border-left: 1px solid #ccc;
-  border-right: 1px solid #fff;
-}
-.menu-sep {
-  border-top: 1px solid #ccc;
-  border-bottom: 1px solid #fff;
-}
-.menu {
-  background-color: #fafafa;
-  border-color: #ddd;
-  color: #444;
-}
-.menu-content {
-  background: #ffffff;
-}
-.menu-item {
-  border-color: transparent;
-  _border-color: #fafafa;
-}
-.menu-active {
-  border-color: #b7d2ff;
-  color: #000000;
-  background: #eaf2ff;
-}
-.menu-active-disabled {
-  border-color: transparent;
-  background: transparent;
-  color: #444;
-}
-.m-btn-downarrow,
-.s-btn-downarrow {
-  display: inline-block;
-  position: absolute;
-  width: 16px;
-  height: 16px;
-  font-size: 1px;
-  right: 0;
-  top: 50%;
-  margin-top: -8px;
-}
-.m-btn-active,
-.s-btn-active {
-  background: #eaf2ff;
-  color: #000000;
-  border: 1px solid #b7d2ff;
-  filter: none;
-}
-.m-btn-plain-active,
-.s-btn-plain-active {
-  background: transparent;
-  padding: 0;
-  border-width: 1px;
-  border-style: solid;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.m-btn .l-btn-left .l-btn-text {
-  margin-right: 20px;
-}
-.m-btn .l-btn-icon-right .l-btn-text {
-  margin-right: 40px;
-}
-.m-btn .l-btn-icon-right .l-btn-icon {
-  right: 20px;
-}
-.m-btn .l-btn-icon-top .l-btn-text {
-  margin-right: 4px;
-  margin-bottom: 14px;
-}
-.m-btn .l-btn-icon-bottom .l-btn-text {
-  margin-right: 4px;
-  margin-bottom: 34px;
-}
-.m-btn .l-btn-icon-bottom .l-btn-icon {
-  top: auto;
-  bottom: 20px;
-}
-.m-btn .l-btn-icon-top .m-btn-downarrow,
-.m-btn .l-btn-icon-bottom .m-btn-downarrow {
-  top: auto;
-  bottom: 0px;
-  left: 50%;
-  margin-left: -8px;
-}
-.m-btn-line {
-  display: inline-block;
-  position: absolute;
-  font-size: 1px;
-  display: none;
-}
-.m-btn .l-btn-left .m-btn-line {
-  right: 0;
-  width: 16px;
-  height: 500px;
-  border-style: solid;
-  border-color: #aac5e7;
-  border-width: 0 0 0 1px;
-}
-.m-btn .l-btn-icon-top .m-btn-line,
-.m-btn .l-btn-icon-bottom .m-btn-line {
-  left: 0;
-  bottom: 0;
-  width: 500px;
-  height: 16px;
-  border-width: 1px 0 0 0;
-}
-.m-btn-large .l-btn-icon-right .l-btn-text {
-  margin-right: 56px;
-}
-.m-btn-large .l-btn-icon-bottom .l-btn-text {
-  margin-bottom: 50px;
-}
-.m-btn-downarrow,
-.s-btn-downarrow {
-  background: url('images/menu_arrows.png') no-repeat 0 center;
-}
-.m-btn-plain-active,
-.s-btn-plain-active {
-  border-color: #b7d2ff;
-  background-color: #eaf2ff;
-  color: #000000;
-}
-.s-btn:hover .m-btn-line,
-.s-btn-active .m-btn-line,
-.s-btn-plain-active .m-btn-line {
-  display: inline-block;
-}
-.l-btn:hover .s-btn-downarrow,
-.s-btn-active .s-btn-downarrow,
-.s-btn-plain-active .s-btn-downarrow {
-  border-style: solid;
-  border-color: #aac5e7;
-  border-width: 0 0 0 1px;
-}
-.messager-body {
-  padding: 10px;
-  overflow: auto;
-}
-.messager-button {
-  text-align: center;
-  padding: 5px;
-}
-.messager-button .l-btn {
-  width: 70px;
-}
-.messager-icon {
-  float: left;
-  width: 32px;
-  height: 32px;
-  margin: 0 10px 10px 0;
-}
-.messager-error {
-  background: url('images/messager_icons.png') no-repeat scroll -64px 0;
-}
-.messager-info {
-  background: url('images/messager_icons.png') no-repeat scroll 0 0;
-}
-.messager-question {
-  background: url('images/messager_icons.png') no-repeat scroll -32px 0;
-}
-.messager-warning {
-  background: url('images/messager_icons.png') no-repeat scroll -96px 0;
-}
-.messager-progress {
-  padding: 10px;
-}
-.messager-p-msg {
-  margin-bottom: 5px;
-}
-.messager-body .messager-input {
-  width: 100%;
-  padding: 1px 0;
-  border: 1px solid #95B8E7;
-}
-.tree {
-  margin: 0;
-  padding: 0;
-  list-style-type: none;
-}
-.tree li {
-  white-space: nowrap;
-}
-.tree li ul {
-  list-style-type: none;
-  margin: 0;
-  padding: 0;
-}
-.tree-node {
-  height: 18px;
-  white-space: nowrap;
-  cursor: pointer;
-}
-.tree-hit {
-  cursor: pointer;
-}
-.tree-expanded,
-.tree-collapsed,
-.tree-folder,
-.tree-file,
-.tree-checkbox,
-.tree-indent {
-  display: inline-block;
-  width: 16px;
-  height: 18px;
-  vertical-align: top;
-  overflow: hidden;
-}
-.tree-expanded {
-  background: url('images/tree_icons.png') no-repeat -18px 0px;
-}
-.tree-expanded-hover {
-  background: url('images/tree_icons.png') no-repeat -50px 0px;
-}
-.tree-collapsed {
-  background: url('images/tree_icons.png') no-repeat 0px 0px;
-}
-.tree-collapsed-hover {
-  background: url('images/tree_icons.png') no-repeat -32px 0px;
-}
-.tree-lines .tree-expanded,
-.tree-lines .tree-root-first .tree-expanded {
-  background: url('images/tree_icons.png') no-repeat -144px 0;
-}
-.tree-lines .tree-collapsed,
-.tree-lines .tree-root-first .tree-collapsed {
-  background: url('images/tree_icons.png') no-repeat -128px 0;
-}
-.tree-lines .tree-node-last .tree-expanded,
-.tree-lines .tree-root-one .tree-expanded {
-  background: url('images/tree_icons.png') no-repeat -80px 0;
-}
-.tree-lines .tree-node-last .tree-collapsed,
-.tree-lines .tree-root-one .tree-collapsed {
-  background: url('images/tree_icons.png') no-repeat -64px 0;
-}
-.tree-line {
-  background: url('images/tree_icons.png') no-repeat -176px 0;
-}
-.tree-join {
-  background: url('images/tree_icons.png') no-repeat -192px 0;
-}
-.tree-joinbottom {
-  background: url('images/tree_icons.png') no-repeat -160px 0;
-}
-.tree-folder {
-  background: url('images/tree_icons.png') no-repeat -208px 0;
-}
-.tree-folder-open {
-  background: url('images/tree_icons.png') no-repeat -224px 0;
-}
-.tree-file {
-  background: url('images/tree_icons.png') no-repeat -240px 0;
-}
-.tree-loading {
-  background: url('images/loading.gif') no-repeat center center;
-}
-.tree-checkbox0 {
-  background: url('images/tree_icons.png') no-repeat -208px -18px;
-}
-.tree-checkbox1 {
-  background: url('images/tree_icons.png') no-repeat -224px -18px;
-}
-.tree-checkbox2 {
-  background: url('images/tree_icons.png') no-repeat -240px -18px;
-}
-.tree-title {
-  font-size: 12px;
-  display: inline-block;
-  text-decoration: none;
-  vertical-align: top;
-  white-space: nowrap;
-  padding: 0 2px;
-  height: 18px;
-  line-height: 18px;
-}
-.tree-node-proxy {
-  font-size: 12px;
-  line-height: 20px;
-  padding: 0 2px 0 20px;
-  border-width: 1px;
-  border-style: solid;
-  z-index: 9900000;
-}
-.tree-dnd-icon {
-  display: inline-block;
-  position: absolute;
-  width: 16px;
-  height: 18px;
-  left: 2px;
-  top: 50%;
-  margin-top: -9px;
-}
-.tree-dnd-yes {
-  background: url('images/tree_icons.png') no-repeat -256px 0;
-}
-.tree-dnd-no {
-  background: url('images/tree_icons.png') no-repeat -256px -18px;
-}
-.tree-node-top {
-  border-top: 1px dotted red;
-}
-.tree-node-bottom {
-  border-bottom: 1px dotted red;
-}
-.tree-node-append .tree-title {
-  border: 1px dotted red;
-}
-.tree-editor {
-  border: 1px solid #ccc;
-  font-size: 12px;
-  height: 14px !important;
-  height: 18px;
-  line-height: 14px;
-  padding: 1px 2px;
-  width: 80px;
-  position: absolute;
-  top: 0;
-}
-.tree-node-proxy {
-  background-color: #ffffff;
-  color: #000000;
-  border-color: #95B8E7;
-}
-.tree-node-hover {
-  background: #eaf2ff;
-  color: #000000;
-}
-.tree-node-selected {
-  background: #ffe48d;
-  color: #000000;
-}
-.tree-node-hidden {
-  display: none;
-}
-.validatebox-invalid {
-  border-color: #ffa8a8;
-  background-color: #fff3f3;
-  color: #000;
-}
-.tooltip {
-  position: absolute;
-  display: none;
-  z-index: 9900000;
-  outline: none;
-  opacity: 1;
-  filter: alpha(opacity=100);
-  padding: 5px;
-  border-width: 1px;
-  border-style: solid;
-  border-radius: 5px;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.tooltip-content {
-  font-size: 12px;
-}
-.tooltip-arrow-outer,
-.tooltip-arrow {
-  position: absolute;
-  width: 0;
-  height: 0;
-  line-height: 0;
-  font-size: 0;
-  border-style: solid;
-  border-width: 6px;
-  border-color: transparent;
-  _border-color: tomato;
-  _filter: chroma(color=tomato);
-}
-.tooltip-arrow {
-  display: none \9;
-}
-.tooltip-right .tooltip-arrow-outer {
-  left: 0;
-  top: 50%;
-  margin: -6px 0 0 -13px;
-}
-.tooltip-right .tooltip-arrow {
-  left: 0;
-  top: 50%;
-  margin: -6px 0 0 -12px;
-}
-.tooltip-left .tooltip-arrow-outer {
-  right: 0;
-  top: 50%;
-  margin: -6px -13px 0 0;
-}
-.tooltip-left .tooltip-arrow {
-  right: 0;
-  top: 50%;
-  margin: -6px -12px 0 0;
-}
-.tooltip-top .tooltip-arrow-outer {
-  bottom: 0;
-  left: 50%;
-  margin: 0 0 -13px -6px;
-}
-.tooltip-top .tooltip-arrow {
-  bottom: 0;
-  left: 50%;
-  margin: 0 0 -12px -6px;
-}
-.tooltip-bottom .tooltip-arrow-outer {
-  top: 0;
-  left: 50%;
-  margin: -13px 0 0 -6px;
-}
-.tooltip-bottom .tooltip-arrow {
-  top: 0;
-  left: 50%;
-  margin: -12px 0 0 -6px;
-}
-.tooltip {
-  background-color: #ffffff;
-  border-color: #95B8E7;
-  color: #000000;
-}
-.tooltip-right .tooltip-arrow-outer {
-  border-right-color: #95B8E7;
-}
-.tooltip-right .tooltip-arrow {
-  border-right-color: #ffffff;
-}
-.tooltip-left .tooltip-arrow-outer {
-  border-left-color: #95B8E7;
-}
-.tooltip-left .tooltip-arrow {
-  border-left-color: #ffffff;
-}
-.tooltip-top .tooltip-arrow-outer {
-  border-top-color: #95B8E7;
-}
-.tooltip-top .tooltip-arrow {
-  border-top-color: #ffffff;
-}
-.tooltip-bottom .tooltip-arrow-outer {
-  border-bottom-color: #95B8E7;
-}
-.tooltip-bottom .tooltip-arrow {
-  border-bottom-color: #ffffff;
-}
-.switchbutton {
-  text-decoration: none;
-  display: inline-block;
-  overflow: hidden;
-  vertical-align: middle;
-  margin: 0;
-  padding: 0;
-  cursor: pointer;
-  background: #bbb;
-  border: 1px solid #bbb;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.switchbutton-inner {
-  display: inline-block;
-  overflow: hidden;
-  position: relative;
-  top: -1px;
-  left: -1px;
-}
-.switchbutton-on,
-.switchbutton-off,
-.switchbutton-handle {
-  display: inline-block;
-  text-align: center;
-  height: 100%;
-  float: left;
-  font-size: 12px;
-  -moz-border-radius: 5px 5px 5px 5px;
-  -webkit-border-radius: 5px 5px 5px 5px;
-  border-radius: 5px 5px 5px 5px;
-}
-.switchbutton-on {
-  background: #ffe48d;
-  color: #000000;
-}
-.switchbutton-off {
-  background-color: #ffffff;
-  color: #000000;
-}
-.switchbutton-on,
-.switchbutton-reversed .switchbutton-off {
-  -moz-border-radius: 5px 0 0 5px;
-  -webkit-border-radius: 5px 0 0 5px;
-  border-radius: 5px 0 0 5px;
-}
-.switchbutton-off,
-.switchbutton-reversed .switchbutton-on {
-  -moz-border-radius: 0 5px 5px 0;
-  -webkit-border-radius: 0 5px 5px 0;
-  border-radius: 0 5px 5px 0;
-}
-.switchbutton-handle {
-  position: absolute;
-  top: 0;
-  left: 50%;
-  background-color: #ffffff;
-  color: #000000;
-  border: 1px solid #bbb;
-  -moz-box-shadow: 0 0 3px 0 #bbb;
-  -webkit-box-shadow: 0 0 3px 0 #bbb;
-  box-shadow: 0 0 3px 0 #bbb;
-}
-.switchbutton-value {
-  position: absolute;
-  top: 0;
-  left: -5000px;
-}
-.switchbutton-disabled {
-  opacity: 0.5;
-  filter: alpha(opacity=50);
-}
-.switchbutton-disabled,
-.switchbutton-readonly {
-  cursor: default;
-}
diff --git a/js/plotPanelControl/jquery-easyui-1.4.4/jquery-ui.js b/js/plotPanelControl/jquery-easyui-1.4.4/jquery-ui.js
deleted file mode 100644
index e1779c3..0000000
--- a/js/plotPanelControl/jquery-easyui-1.4.4/jquery-ui.js
+++ /dev/null
@@ -1,16617 +0,0 @@
-/*! jQuery UI - v1.11.4 - 2016-01-10
-* http://jqueryui.com
-* Includes: core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, resizable.js, selectable.js, sortable.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, menu.js, progressbar.js, selectmenu.js, slider.js, spinner.js, tabs.js, tooltip.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-(function( factory ) {
-	if ( typeof define === "function" && define.amd ) {
-
-		// AMD. Register as an anonymous module.
-		define([ "jquery" ], factory );
-	} else {
-
-		// Browser globals
-		factory( jQuery );
-	}
-}(function( $ ) {
-/*!
- * jQuery UI Core 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/ui-core/
- */
-
-
-// $.ui might exist from components with no dependencies, e.g., $.ui.position
-$.ui = $.ui || {};
-
-$.extend( $.ui, {
-	version: "1.11.4",
-
-	keyCode: {
-		BACKSPACE: 8,
-		COMMA: 188,
-		DELETE: 46,
-		DOWN: 40,
-		END: 35,
-		ENTER: 13,
-		ESCAPE: 27,
-		HOME: 36,
-		LEFT: 37,
-		PAGE_DOWN: 34,
-		PAGE_UP: 33,
-		PERIOD: 190,
-		RIGHT: 39,
-		SPACE: 32,
-		TAB: 9,
-		UP: 38
-	}
-});
-
-// plugins
-$.fn.extend({
-	scrollParent: function( includeHidden ) {
-		var position = this.css( "position" ),
-			excludeStaticParent = position === "absolute",
-			overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
-			scrollParent = this.parents().filter( function() {
-				var parent = $( this );
-				if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
-					return false;
-				}
-				return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) );
-			}).eq( 0 );
-
-		return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;
-	},
-
-	uniqueId: (function() {
-		var uuid = 0;
-
-		return function() {
-			return this.each(function() {
-				if ( !this.id ) {
-					this.id = "ui-id-" + ( ++uuid );
-				}
-			});
-		};
-	})(),
-
-	removeUniqueId: function() {
-		return this.each(function() {
-			if ( /^ui-id-\d+$/.test( this.id ) ) {
-				$( this ).removeAttr( "id" );
-			}
-		});
-	}
-});
-
-// selectors
-function focusable( element, isTabIndexNotNaN ) {
-	var map, mapName, img,
-		nodeName = element.nodeName.toLowerCase();
-	if ( "area" === nodeName ) {
-		map = element.parentNode;
-		mapName = map.name;
-		if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
-			return false;
-		}
-		img = $( "img[usemap='#" + mapName + "']" )[ 0 ];
-		return !!img && visible( img );
-	}
-	return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ?
-		!element.disabled :
-		"a" === nodeName ?
-			element.href || isTabIndexNotNaN :
-			isTabIndexNotNaN) &&
-		// the element and all of its ancestors must be visible
-		visible( element );
-}
-
-function visible( element ) {
-	return $.expr.filters.visible( element ) &&
-		!$( element ).parents().addBack().filter(function() {
-			return $.css( this, "visibility" ) === "hidden";
-		}).length;
-}
-
-$.extend( $.expr[ ":" ], {
-	data: $.expr.createPseudo ?
-		$.expr.createPseudo(function( dataName ) {
-			return function( elem ) {
-				return !!$.data( elem, dataName );
-			};
-		}) :
-		// support: jQuery <1.8
-		function( elem, i, match ) {
-			return !!$.data( elem, match[ 3 ] );
-		},
-
-	focusable: function( element ) {
-		return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
-	},
-
-	tabbable: function( element ) {
-		var tabIndex = $.attr( element, "tabindex" ),
-			isTabIndexNaN = isNaN( tabIndex );
-		return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
-	}
-});
-
-// support: jQuery <1.8
-if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
-	$.each( [ "Width", "Height" ], function( i, name ) {
-		var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
-			type = name.toLowerCase(),
-			orig = {
-				innerWidth: $.fn.innerWidth,
-				innerHeight: $.fn.innerHeight,
-				outerWidth: $.fn.outerWidth,
-				outerHeight: $.fn.outerHeight
-			};
-
-		function reduce( elem, size, border, margin ) {
-			$.each( side, function() {
-				size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
-				if ( border ) {
-					size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
-				}
-				if ( margin ) {
-					size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
-				}
-			});
-			return size;
-		}
-
-		$.fn[ "inner" + name ] = function( size ) {
-			if ( size === undefined ) {
-				return orig[ "inner" + name ].call( this );
-			}
-
-			return this.each(function() {
-				$( this ).css( type, reduce( this, size ) + "px" );
-			});
-		};
-
-		$.fn[ "outer" + name] = function( size, margin ) {
-			if ( typeof size !== "number" ) {
-				return orig[ "outer" + name ].call( this, size );
-			}
-
-			return this.each(function() {
-				$( this).css( type, reduce( this, size, true, margin ) + "px" );
-			});
-		};
-	});
-}
-
-// support: jQuery <1.8
-if ( !$.fn.addBack ) {
-	$.fn.addBack = function( selector ) {
-		return this.add( selector == null ?
-			this.prevObject : this.prevObject.filter( selector )
-		);
-	};
-}
-
-// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)
-if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
-	$.fn.removeData = (function( removeData ) {
-		return function( key ) {
-			if ( arguments.length ) {
-				return removeData.call( this, $.camelCase( key ) );
-			} else {
-				return removeData.call( this );
-			}
-		};
-	})( $.fn.removeData );
-}
-
-// deprecated
-$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
-
-$.fn.extend({
-	focus: (function( orig ) {
-		return function( delay, fn ) {
-			return typeof delay === "number" ?
-				this.each(function() {
-					var elem = this;
-					setTimeout(function() {
-						$( elem ).focus();
-						if ( fn ) {
-							fn.call( elem );
-						}
-					}, delay );
-				}) :
-				orig.apply( this, arguments );
-		};
-	})( $.fn.focus ),
-
-	disableSelection: (function() {
-		var eventType = "onselectstart" in document.createElement( "div" ) ?
-			"selectstart" :
-			"mousedown";
-
-		return function() {
-			return this.bind( eventType + ".ui-disableSelection", function( event ) {
-				event.preventDefault();
-			});
-		};
-	})(),
-
-	enableSelection: function() {
-		return this.unbind( ".ui-disableSelection" );
-	},
-
-	zIndex: function( zIndex ) {
-		if ( zIndex !== undefined ) {
-			return this.css( "zIndex", zIndex );
-		}
-
-		if ( this.length ) {
-			var elem = $( this[ 0 ] ), position, value;
-			while ( elem.length && elem[ 0 ] !== document ) {
-				// Ignore z-index if position is set to a value where z-index is ignored by the browser
-				// This makes behavior of this function consistent across browsers
-				// WebKit always returns auto if the element is positioned
-				position = elem.css( "position" );
-				if ( position === "absolute" || position === "relative" || position === "fixed" ) {
-					// IE returns 0 when zIndex is not specified
-					// other browsers return a string
-					// we ignore the case of nested elements with an explicit value of 0
-					// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
-					value = parseInt( elem.css( "zIndex" ), 10 );
-					if ( !isNaN( value ) && value !== 0 ) {
-						return value;
-					}
-				}
-				elem = elem.parent();
-			}
-		}
-
-		return 0;
-	}
-});
-
-// $.ui.plugin is deprecated. Use $.widget() extensions instead.
-$.ui.plugin = {
-	add: function( module, option, set ) {
-		var i,
-			proto = $.ui[ module ].prototype;
-		for ( i in set ) {
-			proto.plugins[ i ] = proto.plugins[ i ] || [];
-			proto.plugins[ i ].push( [ option, set[ i ] ] );
-		}
-	},
-	call: function( instance, name, args, allowDisconnected ) {
-		var i,
-			set = instance.plugins[ name ];
-
-		if ( !set ) {
-			return;
-		}
-
-		if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) {
-			return;
-		}
-
-		for ( i = 0; i < set.length; i++ ) {
-			if ( instance.options[ set[ i ][ 0 ] ] ) {
-				set[ i ][ 1 ].apply( instance.element, args );
-			}
-		}
-	}
-};
-
-
-/*!
- * jQuery UI Widget 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/jQuery.widget/
- */
-
-
-var widget_uuid = 0,
-	widget_slice = Array.prototype.slice;
-
-$.cleanData = (function( orig ) {
-	return function( elems ) {
-		var events, elem, i;
-		for ( i = 0; (elem = elems[i]) != null; i++ ) {
-			try {
-
-				// Only trigger remove when necessary to save time
-				events = $._data( elem, "events" );
-				if ( events && events.remove ) {
-					$( elem ).triggerHandler( "remove" );
-				}
-
-			// http://bugs.jquery.com/ticket/8235
-			} catch ( e ) {}
-		}
-		orig( elems );
-	};
-})( $.cleanData );
-
-$.widget = function( name, base, prototype ) {
-	var fullName, existingConstructor, constructor, basePrototype,
-		// proxiedPrototype allows the provided prototype to remain unmodified
-		// so that it can be used as a mixin for multiple widgets (#8876)
-		proxiedPrototype = {},
-		namespace = name.split( "." )[ 0 ];
-
-	name = name.split( "." )[ 1 ];
-	fullName = namespace + "-" + name;
-
-	if ( !prototype ) {
-		prototype = base;
-		base = $.Widget;
-	}
-
-	// create selector for plugin
-	$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
-		return !!$.data( elem, fullName );
-	};
-
-	$[ namespace ] = $[ namespace ] || {};
-	existingConstructor = $[ namespace ][ name ];
-	constructor = $[ namespace ][ name ] = function( options, element ) {
-		// allow instantiation without "new" keyword
-		if ( !this._createWidget ) {
-			return new constructor( options, element );
-		}
-
-		// allow instantiation without initializing for simple inheritance
-		// must use "new" keyword (the code above always passes args)
-		if ( arguments.length ) {
-			this._createWidget( options, element );
-		}
-	};
-	// extend with the existing constructor to carry over any static properties
-	$.extend( constructor, existingConstructor, {
-		version: prototype.version,
-		// copy the object used to create the prototype in case we need to
-		// redefine the widget later
-		_proto: $.extend( {}, prototype ),
-		// track widgets that inherit from this widget in case this widget is
-		// redefined after a widget inherits from it
-		_childConstructors: []
-	});
-
-	basePrototype = new base();
-	// we need to make the options hash a property directly on the new instance
-	// otherwise we'll modify the options hash on the prototype that we're
-	// inheriting from
-	basePrototype.options = $.widget.extend( {}, basePrototype.options );
-	$.each( prototype, function( prop, value ) {
-		if ( !$.isFunction( value ) ) {
-			proxiedPrototype[ prop ] = value;
-			return;
-		}
-		proxiedPrototype[ prop ] = (function() {
-			var _super = function() {
-					return base.prototype[ prop ].apply( this, arguments );
-				},
-				_superApply = function( args ) {
-					return base.prototype[ prop ].apply( this, args );
-				};
-			return function() {
-				var __super = this._super,
-					__superApply = this._superApply,
-					returnValue;
-
-				this._super = _super;
-				this._superApply = _superApply;
-
-				returnValue = value.apply( this, arguments );
-
-				this._super = __super;
-				this._superApply = __superApply;
-
-				return returnValue;
-			};
-		})();
-	});
-	constructor.prototype = $.widget.extend( basePrototype, {
-		// TODO: remove support for widgetEventPrefix
-		// always use the name + a colon as the prefix, e.g., draggable:start
-		// don't prefix for widgets that aren't DOM-based
-		widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name
-	}, proxiedPrototype, {
-		constructor: constructor,
-		namespace: namespace,
-		widgetName: name,
-		widgetFullName: fullName
-	});
-
-	// If this widget is being redefined then we need to find all widgets that
-	// are inheriting from it and redefine all of them so that they inherit from
-	// the new version of this widget. We're essentially trying to replace one
-	// level in the prototype chain.
-	if ( existingConstructor ) {
-		$.each( existingConstructor._childConstructors, function( i, child ) {
-			var childPrototype = child.prototype;
-
-			// redefine the child widget using the same prototype that was
-			// originally used, but inherit from the new version of the base
-			$.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
-		});
-		// remove the list of existing child constructors from the old constructor
-		// so the old child constructors can be garbage collected
-		delete existingConstructor._childConstructors;
-	} else {
-		base._childConstructors.push( constructor );
-	}
-
-	$.widget.bridge( name, constructor );
-
-	return constructor;
-};
-
-$.widget.extend = function( target ) {
-	var input = widget_slice.call( arguments, 1 ),
-		inputIndex = 0,
-		inputLength = input.length,
-		key,
-		value;
-	for ( ; inputIndex < inputLength; inputIndex++ ) {
-		for ( key in input[ inputIndex ] ) {
-			value = input[ inputIndex ][ key ];
-			if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
-				// Clone objects
-				if ( $.isPlainObject( value ) ) {
-					target[ key ] = $.isPlainObject( target[ key ] ) ?
-						$.widget.extend( {}, target[ key ], value ) :
-						// Don't extend strings, arrays, etc. with objects
-						$.widget.extend( {}, value );
-				// Copy everything else by reference
-				} else {
-					target[ key ] = value;
-				}
-			}
-		}
-	}
-	return target;
-};
-
-$.widget.bridge = function( name, object ) {
-	var fullName = object.prototype.widgetFullName || name;
-	$.fn[ name ] = function( options ) {
-		var isMethodCall = typeof options === "string",
-			args = widget_slice.call( arguments, 1 ),
-			returnValue = this;
-
-		if ( isMethodCall ) {
-			this.each(function() {
-				var methodValue,
-					instance = $.data( this, fullName );
-				if ( options === "instance" ) {
-					returnValue = instance;
-					return false;
-				}
-				if ( !instance ) {
-					return $.error( "cannot call methods on " + name + " prior to initialization; " +
-						"attempted to call method '" + options + "'" );
-				}
-				if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
-					return $.error( "no such method '" + options + "' for " + name + " widget instance" );
-				}
-				methodValue = instance[ options ].apply( instance, args );
-				if ( methodValue !== instance && methodValue !== undefined ) {
-					returnValue = methodValue && methodValue.jquery ?
-						returnValue.pushStack( methodValue.get() ) :
-						methodValue;
-					return false;
-				}
-			});
-		} else {
-
-			// Allow multiple hashes to be passed on init
-			if ( args.length ) {
-				options = $.widget.extend.apply( null, [ options ].concat(args) );
-			}
-
-			this.each(function() {
-				var instance = $.data( this, fullName );
-				if ( instance ) {
-					instance.option( options || {} );
-					if ( instance._init ) {
-						instance._init();
-					}
-				} else {
-					$.data( this, fullName, new object( options, this ) );
-				}
-			});
-		}
-
-		return returnValue;
-	};
-};
-
-$.Widget = function( /* options, element */ ) {};
-$.Widget._childConstructors = [];
-
-$.Widget.prototype = {
-	widgetName: "widget",
-	widgetEventPrefix: "",
-	defaultElement: "<div>",
-	options: {
-		disabled: false,
-
-		// callbacks
-		create: null
-	},
-	_createWidget: function( options, element ) {
-		element = $( element || this.defaultElement || this )[ 0 ];
-		this.element = $( element );
-		this.uuid = widget_uuid++;
-		this.eventNamespace = "." + this.widgetName + this.uuid;
-
-		this.bindings = $();
-		this.hoverable = $();
-		this.focusable = $();
-
-		if ( element !== this ) {
-			$.data( element, this.widgetFullName, this );
-			this._on( true, this.element, {
-				remove: function( event ) {
-					if ( event.target === element ) {
-						this.destroy();
-					}
-				}
-			});
-			this.document = $( element.style ?
-				// element within the document
-				element.ownerDocument :
-				// element is window or document
-				element.document || element );
-			this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
-		}
-
-		this.options = $.widget.extend( {},
-			this.options,
-			this._getCreateOptions(),
-			options );
-
-		this._create();
-		this._trigger( "create", null, this._getCreateEventData() );
-		this._init();
-	},
-	_getCreateOptions: $.noop,
-	_getCreateEventData: $.noop,
-	_create: $.noop,
-	_init: $.noop,
-
-	destroy: function() {
-		this._destroy();
-		// we can probably remove the unbind calls in 2.0
-		// all event bindings should go through this._on()
-		this.element
-			.unbind( this.eventNamespace )
-			.removeData( this.widgetFullName )
-			// support: jquery <1.6.3
-			// http://bugs.jquery.com/ticket/9413
-			.removeData( $.camelCase( this.widgetFullName ) );
-		this.widget()
-			.unbind( this.eventNamespace )
-			.removeAttr( "aria-disabled" )
-			.removeClass(
-				this.widgetFullName + "-disabled " +
-				"ui-state-disabled" );
-
-		// clean up events and states
-		this.bindings.unbind( this.eventNamespace );
-		this.hoverable.removeClass( "ui-state-hover" );
-		this.focusable.removeClass( "ui-state-focus" );
-	},
-	_destroy: $.noop,
-
-	widget: function() {
-		return this.element;
-	},
-
-	option: function( key, value ) {
-		var options = key,
-			parts,
-			curOption,
-			i;
-
-		if ( arguments.length === 0 ) {
-			// don't return a reference to the internal hash
-			return $.widget.extend( {}, this.options );
-		}
-
-		if ( typeof key === "string" ) {
-			// handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
-			options = {};
-			parts = key.split( "." );
-			key = parts.shift();
-			if ( parts.length ) {
-				curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
-				for ( i = 0; i < parts.length - 1; i++ ) {
-					curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
-					curOption = curOption[ parts[ i ] ];
-				}
-				key = parts.pop();
-				if ( arguments.length === 1 ) {
-					return curOption[ key ] === undefined ? null : curOption[ key ];
-				}
-				curOption[ key ] = value;
-			} else {
-				if ( arguments.length === 1 ) {
-					return this.options[ key ] === undefined ? null : this.options[ key ];
-				}
-				options[ key ] = value;
-			}
-		}
-
-		this._setOptions( options );
-
-		return this;
-	},
-	_setOptions: function( options ) {
-		var key;
-
-		for ( key in options ) {
-			this._setOption( key, options[ key ] );
-		}
-
-		return this;
-	},
-	_setOption: function( key, value ) {
-		this.options[ key ] = value;
-
-		if ( key === "disabled" ) {
-			this.widget()
-				.toggleClass( this.widgetFullName + "-disabled", !!value );
-
-			// If the widget is becoming disabled, then nothing is interactive
-			if ( value ) {
-				this.hoverable.removeClass( "ui-state-hover" );
-				this.focusable.removeClass( "ui-state-focus" );
-			}
-		}
-
-		return this;
-	},
-
-	enable: function() {
-		return this._setOptions({ disabled: false });
-	},
-	disable: function() {
-		return this._setOptions({ disabled: true });
-	},
-
-	_on: function( suppressDisabledCheck, element, handlers ) {
-		var delegateElement,
-			instance = this;
-
-		// no suppressDisabledCheck flag, shuffle arguments
-		if ( typeof suppressDisabledCheck !== "boolean" ) {
-			handlers = element;
-			element = suppressDisabledCheck;
-			suppressDisabledCheck = false;
-		}
-
-		// no element argument, shuffle and use this.element
-		if ( !handlers ) {
-			handlers = element;
-			element = this.element;
-			delegateElement = this.widget();
-		} else {
-			element = delegateElement = $( element );
-			this.bindings = this.bindings.add( element );
-		}
-
-		$.each( handlers, function( event, handler ) {
-			function handlerProxy() {
-				// allow widgets to customize the disabled handling
-				// - disabled as an array instead of boolean
-				// - disabled class as method for disabling individual parts
-				if ( !suppressDisabledCheck &&
-						( instance.options.disabled === true ||
-							$( this ).hasClass( "ui-state-disabled" ) ) ) {
-					return;
-				}
-				return ( typeof handler === "string" ? instance[ handler ] : handler )
-					.apply( instance, arguments );
-			}
-
-			// copy the guid so direct unbinding works
-			if ( typeof handler !== "string" ) {
-				handlerProxy.guid = handler.guid =
-					handler.guid || handlerProxy.guid || $.guid++;
-			}
-
-			var match = event.match( /^([\w:-]*)\s*(.*)$/ ),
-				eventName = match[1] + instance.eventNamespace,
-				selector = match[2];
-			if ( selector ) {
-				delegateElement.delegate( selector, eventName, handlerProxy );
-			} else {
-				element.bind( eventName, handlerProxy );
-			}
-		});
-	},
-
-	_off: function( element, eventName ) {
-		eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) +
-			this.eventNamespace;
-		element.unbind( eventName ).undelegate( eventName );
-
-		// Clear the stack to avoid memory leaks (#10056)
-		this.bindings = $( this.bindings.not( element ).get() );
-		this.focusable = $( this.focusable.not( element ).get() );
-		this.hoverable = $( this.hoverable.not( element ).get() );
-	},
-
-	_delay: function( handler, delay ) {
-		function handlerProxy() {
-			return ( typeof handler === "string" ? instance[ handler ] : handler )
-				.apply( instance, arguments );
-		}
-		var instance = this;
-		return setTimeout( handlerProxy, delay || 0 );
-	},
-
-	_hoverable: function( element ) {
-		this.hoverable = this.hoverable.add( element );
-		this._on( element, {
-			mouseenter: function( event ) {
-				$( event.currentTarget ).addClass( "ui-state-hover" );
-			},
-			mouseleave: function( event ) {
-				$( event.currentTarget ).removeClass( "ui-state-hover" );
-			}
-		});
-	},
-
-	_focusable: function( element ) {
-		this.focusable = this.focusable.add( element );
-		this._on( element, {
-			focusin: function( event ) {
-				$( event.currentTarget ).addClass( "ui-state-focus" );
-			},
-			focusout: function( event ) {
-				$( event.currentTarget ).removeClass( "ui-state-focus" );
-			}
-		});
-	},
-
-	_trigger: function( type, event, data ) {
-		var prop, orig,
-			callback = this.options[ type ];
-
-		data = data || {};
-		event = $.Event( event );
-		event.type = ( type === this.widgetEventPrefix ?
-			type :
-			this.widgetEventPrefix + type ).toLowerCase();
-		// the original event may come from any element
-		// so we need to reset the target on the new event
-		event.target = this.element[ 0 ];
-
-		// copy original event properties over to the new event
-		orig = event.originalEvent;
-		if ( orig ) {
-			for ( prop in orig ) {
-				if ( !( prop in event ) ) {
-					event[ prop ] = orig[ prop ];
-				}
-			}
-		}
-
-		this.element.trigger( event, data );
-		return !( $.isFunction( callback ) &&
-			callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
-			event.isDefaultPrevented() );
-	}
-};
-
-$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
-	$.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
-		if ( typeof options === "string" ) {
-			options = { effect: options };
-		}
-		var hasOptions,
-			effectName = !options ?
-				method :
-				options === true || typeof options === "number" ?
-					defaultEffect :
-					options.effect || defaultEffect;
-		options = options || {};
-		if ( typeof options === "number" ) {
-			options = { duration: options };
-		}
-		hasOptions = !$.isEmptyObject( options );
-		options.complete = callback;
-		if ( options.delay ) {
-			element.delay( options.delay );
-		}
-		if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
-			element[ method ]( options );
-		} else if ( effectName !== method && element[ effectName ] ) {
-			element[ effectName ]( options.duration, options.easing, callback );
-		} else {
-			element.queue(function( next ) {
-				$( this )[ method ]();
-				if ( callback ) {
-					callback.call( element[ 0 ] );
-				}
-				next();
-			});
-		}
-	};
-});
-
-var widget = $.widget;
-
-
-/*!
- * jQuery UI Mouse 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/mouse/
- */
-
-
-var mouseHandled = false;
-$( document ).mouseup( function() {
-	mouseHandled = false;
-});
-
-var mouse = $.widget("ui.mouse", {
-	version: "1.11.4",
-	options: {
-		cancel: "input,textarea,button,select,option",
-		distance: 1,
-		delay: 0
-	},
-	_mouseInit: function() {
-		var that = this;
-
-		this.element
-			.bind("mousedown." + this.widgetName, function(event) {
-				return that._mouseDown(event);
-			})
-			.bind("click." + this.widgetName, function(event) {
-				if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
-					$.removeData(event.target, that.widgetName + ".preventClickEvent");
-					event.stopImmediatePropagation();
-					return false;
-				}
-			});
-
-		this.started = false;
-	},
-
-	// TODO: make sure destroying one instance of mouse doesn't mess with
-	// other instances of mouse
-	_mouseDestroy: function() {
-		this.element.unbind("." + this.widgetName);
-		if ( this._mouseMoveDelegate ) {
-			this.document
-				.unbind("mousemove." + this.widgetName, this._mouseMoveDelegate)
-				.unbind("mouseup." + this.widgetName, this._mouseUpDelegate);
-		}
-	},
-
-	_mouseDown: function(event) {
-		// don't let more than one widget handle mouseStart
-		if ( mouseHandled ) {
-			return;
-		}
-
-		this._mouseMoved = false;
-
-		// we may have missed mouseup (out of window)
-		(this._mouseStarted && this._mouseUp(event));
-
-		this._mouseDownEvent = event;
-
-		var that = this,
-			btnIsLeft = (event.which === 1),
-			// event.target.nodeName works around a bug in IE 8 with
-			// disabled inputs (#7620)
-			elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);
-		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
-			return true;
-		}
-
-		this.mouseDelayMet = !this.options.delay;
-		if (!this.mouseDelayMet) {
-			this._mouseDelayTimer = setTimeout(function() {
-				that.mouseDelayMet = true;
-			}, this.options.delay);
-		}
-
-		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
-			this._mouseStarted = (this._mouseStart(event) !== false);
-			if (!this._mouseStarted) {
-				event.preventDefault();
-				return true;
-			}
-		}
-
-		// Click event may never have fired (Gecko & Opera)
-		if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
-			$.removeData(event.target, this.widgetName + ".preventClickEvent");
-		}
-
-		// these delegates are required to keep context
-		this._mouseMoveDelegate = function(event) {
-			return that._mouseMove(event);
-		};
-		this._mouseUpDelegate = function(event) {
-			return that._mouseUp(event);
-		};
-
-		this.document
-			.bind( "mousemove." + this.widgetName, this._mouseMoveDelegate )
-			.bind( "mouseup." + this.widgetName, this._mouseUpDelegate );
-
-		event.preventDefault();
-
-		mouseHandled = true;
-		return true;
-	},
-
-	_mouseMove: function(event) {
-		// Only check for mouseups outside the document if you've moved inside the document
-		// at least once. This prevents the firing of mouseup in the case of IE<9, which will
-		// fire a mousemove event if content is placed under the cursor. See #7778
-		// Support: IE <9
-		if ( this._mouseMoved ) {
-			// IE mouseup check - mouseup happened when mouse was out of window
-			if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
-				return this._mouseUp(event);
-
-			// Iframe mouseup check - mouseup occurred in another document
-			} else if ( !event.which ) {
-				return this._mouseUp( event );
-			}
-		}
-
-		if ( event.which || event.button ) {
-			this._mouseMoved = true;
-		}
-
-		if (this._mouseStarted) {
-			this._mouseDrag(event);
-			return event.preventDefault();
-		}
-
-		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
-			this._mouseStarted =
-				(this._mouseStart(this._mouseDownEvent, event) !== false);
-			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
-		}
-
-		return !this._mouseStarted;
-	},
-
-	_mouseUp: function(event) {
-		this.document
-			.unbind( "mousemove." + this.widgetName, this._mouseMoveDelegate )
-			.unbind( "mouseup." + this.widgetName, this._mouseUpDelegate );
-
-		if (this._mouseStarted) {
-			this._mouseStarted = false;
-
-			if (event.target === this._mouseDownEvent.target) {
-				$.data(event.target, this.widgetName + ".preventClickEvent", true);
-			}
-
-			this._mouseStop(event);
-		}
-
-		mouseHandled = false;
-		return false;
-	},
-
-	_mouseDistanceMet: function(event) {
-		return (Math.max(
-				Math.abs(this._mouseDownEvent.pageX - event.pageX),
-				Math.abs(this._mouseDownEvent.pageY - event.pageY)
-			) >= this.options.distance
-		);
-	},
-
-	_mouseDelayMet: function(/* event */) {
-		return this.mouseDelayMet;
-	},
-
-	// These are placeholder methods, to be overriden by extending plugin
-	_mouseStart: function(/* event */) {},
-	_mouseDrag: function(/* event */) {},
-	_mouseStop: function(/* event */) {},
-	_mouseCapture: function(/* event */) { return true; }
-});
-
-
-/*!
- * jQuery UI Position 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/position/
- */
-
-(function() {
-
-$.ui = $.ui || {};
-
-var cachedScrollbarWidth, supportsOffsetFractions,
-	max = Math.max,
-	abs = Math.abs,
-	round = Math.round,
-	rhorizontal = /left|center|right/,
-	rvertical = /top|center|bottom/,
-	roffset = /[\+\-]\d+(\.[\d]+)?%?/,
-	rposition = /^\w+/,
-	rpercent = /%$/,
-	_position = $.fn.position;
-
-function getOffsets( offsets, width, height ) {
-	return [
-		parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),
-		parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )
-	];
-}
-
-function parseCss( element, property ) {
-	return parseInt( $.css( element, property ), 10 ) || 0;
-}
-
-function getDimensions( elem ) {
-	var raw = elem[0];
-	if ( raw.nodeType === 9 ) {
-		return {
-			width: elem.width(),
-			height: elem.height(),
-			offset: { top: 0, left: 0 }
-		};
-	}
-	if ( $.isWindow( raw ) ) {
-		return {
-			width: elem.width(),
-			height: elem.height(),
-			offset: { top: elem.scrollTop(), left: elem.scrollLeft() }
-		};
-	}
-	if ( raw.preventDefault ) {
-		return {
-			width: 0,
-			height: 0,
-			offset: { top: raw.pageY, left: raw.pageX }
-		};
-	}
-	return {
-		width: elem.outerWidth(),
-		height: elem.outerHeight(),
-		offset: elem.offset()
-	};
-}
-
-$.position = {
-	scrollbarWidth: function() {
-		if ( cachedScrollbarWidth !== undefined ) {
-			return cachedScrollbarWidth;
-		}
-		var w1, w2,
-			div = $( "<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
-			innerDiv = div.children()[0];
-
-		$( "body" ).append( div );
-		w1 = innerDiv.offsetWidth;
-		div.css( "overflow", "scroll" );
-
-		w2 = innerDiv.offsetWidth;
-
-		if ( w1 === w2 ) {
-			w2 = div[0].clientWidth;
-		}
-
-		div.remove();
-
-		return (cachedScrollbarWidth = w1 - w2);
-	},
-	getScrollInfo: function( within ) {
-		var overflowX = within.isWindow || within.isDocument ? "" :
-				within.element.css( "overflow-x" ),
-			overflowY = within.isWindow || within.isDocument ? "" :
-				within.element.css( "overflow-y" ),
-			hasOverflowX = overflowX === "scroll" ||
-				( overflowX === "auto" && within.width < within.element[0].scrollWidth ),
-			hasOverflowY = overflowY === "scroll" ||
-				( overflowY === "auto" && within.height < within.element[0].scrollHeight );
-		return {
-			width: hasOverflowY ? $.position.scrollbarWidth() : 0,
-			height: hasOverflowX ? $.position.scrollbarWidth() : 0
-		};
-	},
-	getWithinInfo: function( element ) {
-		var withinElement = $( element || window ),
-			isWindow = $.isWindow( withinElement[0] ),
-			isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9;
-		return {
-			element: withinElement,
-			isWindow: isWindow,
-			isDocument: isDocument,
-			offset: withinElement.offset() || { left: 0, top: 0 },
-			scrollLeft: withinElement.scrollLeft(),
-			scrollTop: withinElement.scrollTop(),
-
-			// support: jQuery 1.6.x
-			// jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows
-			width: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(),
-			height: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight()
-		};
-	}
-};
-
-$.fn.position = function( options ) {
-	if ( !options || !options.of ) {
-		return _position.apply( this, arguments );
-	}
-
-	// make a copy, we don't want to modify arguments
-	options = $.extend( {}, options );
-
-	var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
-		target = $( options.of ),
-		within = $.position.getWithinInfo( options.within ),
-		scrollInfo = $.position.getScrollInfo( within ),
-		collision = ( options.collision || "flip" ).split( " " ),
-		offsets = {};
-
-	dimensions = getDimensions( target );
-	if ( target[0].preventDefault ) {
-		// force left top to allow flipping
-		options.at = "left top";
-	}
-	targetWidth = dimensions.width;
-	targetHeight = dimensions.height;
-	targetOffset = dimensions.offset;
-	// clone to reuse original targetOffset later
-	basePosition = $.extend( {}, targetOffset );
-
-	// force my and at to have valid horizontal and vertical positions
-	// if a value is missing or invalid, it will be converted to center
-	$.each( [ "my", "at" ], function() {
-		var pos = ( options[ this ] || "" ).split( " " ),
-			horizontalOffset,
-			verticalOffset;
-
-		if ( pos.length === 1) {
-			pos = rhorizontal.test( pos[ 0 ] ) ?
-				pos.concat( [ "center" ] ) :
-				rvertical.test( pos[ 0 ] ) ?
-					[ "center" ].concat( pos ) :
-					[ "center", "center" ];
-		}
-		pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center";
-		pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center";
-
-		// calculate offsets
-		horizontalOffset = roffset.exec( pos[ 0 ] );
-		verticalOffset = roffset.exec( pos[ 1 ] );
-		offsets[ this ] = [
-			horizontalOffset ? horizontalOffset[ 0 ] : 0,
-			verticalOffset ? verticalOffset[ 0 ] : 0
-		];
-
-		// reduce to just the positions without the offsets
-		options[ this ] = [
-			rposition.exec( pos[ 0 ] )[ 0 ],
-			rposition.exec( pos[ 1 ] )[ 0 ]
-		];
-	});
-
-	// normalize collision option
-	if ( collision.length === 1 ) {
-		collision[ 1 ] = collision[ 0 ];
-	}
-
-	if ( options.at[ 0 ] === "right" ) {
-		basePosition.left += targetWidth;
-	} else if ( options.at[ 0 ] === "center" ) {
-		basePosition.left += targetWidth / 2;
-	}
-
-	if ( options.at[ 1 ] === "bottom" ) {
-		basePosition.top += targetHeight;
-	} else if ( options.at[ 1 ] === "center" ) {
-		basePosition.top += targetHeight / 2;
-	}
-
-	atOffset = getOffsets( offsets.at, targetWidth, targetHeight );
-	basePosition.left += atOffset[ 0 ];
-	basePosition.top += atOffset[ 1 ];
-
-	return this.each(function() {
-		var collisionPosition, using,
-			elem = $( this ),
-			elemWidth = elem.outerWidth(),
-			elemHeight = elem.outerHeight(),
-			marginLeft = parseCss( this, "marginLeft" ),
-			marginTop = parseCss( this, "marginTop" ),
-			collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width,
-			collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height,
-			position = $.extend( {}, basePosition ),
-			myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );
-
-		if ( options.my[ 0 ] === "right" ) {
-			position.left -= elemWidth;
-		} else if ( options.my[ 0 ] === "center" ) {
-			position.left -= elemWidth / 2;
-		}
-
-		if ( options.my[ 1 ] === "bottom" ) {
-			position.top -= elemHeight;
-		} else if ( options.my[ 1 ] === "center" ) {
-			position.top -= elemHeight / 2;
-		}
-
-		position.left += myOffset[ 0 ];
-		position.top += myOffset[ 1 ];
-
-		// if the browser doesn't support fractions, then round for consistent results
-		if ( !supportsOffsetFractions ) {
-			position.left = round( position.left );
-			position.top = round( position.top );
-		}
-
-		collisionPosition = {
-			marginLeft: marginLeft,
-			marginTop: marginTop
-		};
-
-		$.each( [ "left", "top" ], function( i, dir ) {
-			if ( $.ui.position[ collision[ i ] ] ) {
-				$.ui.position[ collision[ i ] ][ dir ]( position, {
-					targetWidth: targetWidth,
-					targetHeight: targetHeight,
-					elemWidth: elemWidth,
-					elemHeight: elemHeight,
-					collisionPosition: collisionPosition,
-					collisionWidth: collisionWidth,
-					collisionHeight: collisionHeight,
-					offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],
-					my: options.my,
-					at: options.at,
-					within: within,
-					elem: elem
-				});
-			}
-		});
-
-		if ( options.using ) {
-			// adds feedback as second argument to using callback, if present
-			using = function( props ) {
-				var left = targetOffset.left - position.left,
-					right = left + targetWidth - elemWidth,
-					top = targetOffset.top - position.top,
-					bottom = top + targetHeight - elemHeight,
-					feedback = {
-						target: {
-							element: target,
-							left: targetOffset.left,
-							top: targetOffset.top,
-							width: targetWidth,
-							height: targetHeight
-						},
-						element: {
-							element: elem,
-							left: position.left,
-							top: position.top,
-							width: elemWidth,
-							height: elemHeight
-						},
-						horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
-						vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
-					};
-				if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {
-					feedback.horizontal = "center";
-				}
-				if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {
-					feedback.vertical = "middle";
-				}
-				if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {
-					feedback.important = "horizontal";
-				} else {
-					feedback.important = "vertical";
-				}
-				options.using.call( this, props, feedback );
-			};
-		}
-
-		elem.offset( $.extend( position, { using: using } ) );
-	});
-};
-
-$.ui.position = {
-	fit: {
-		left: function( position, data ) {
-			var within = data.within,
-				withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
-				outerWidth = within.width,
-				collisionPosLeft = position.left - data.collisionPosition.marginLeft,
-				overLeft = withinOffset - collisionPosLeft,
-				overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
-				newOverRight;
-
-			// element is wider than within
-			if ( data.collisionWidth > outerWidth ) {
-				// element is initially over the left side of within
-				if ( overLeft > 0 && overRight <= 0 ) {
-					newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
-					position.left += overLeft - newOverRight;
-				// element is initially over right side of within
-				} else if ( overRight > 0 && overLeft <= 0 ) {
-					position.left = withinOffset;
-				// element is initially over both left and right sides of within
-				} else {
-					if ( overLeft > overRight ) {
-						position.left = withinOffset + outerWidth - data.collisionWidth;
-					} else {
-						position.left = withinOffset;
-					}
-				}
-			// too far left -> align with left edge
-			} else if ( overLeft > 0 ) {
-				position.left += overLeft;
-			// too far right -> align with right edge
-			} else if ( overRight > 0 ) {
-				position.left -= overRight;
-			// adjust based on position and margin
-			} else {
-				position.left = max( position.left - collisionPosLeft, position.left );
-			}
-		},
-		top: function( position, data ) {
-			var within = data.within,
-				withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
-				outerHeight = data.within.height,
-				collisionPosTop = position.top - data.collisionPosition.marginTop,
-				overTop = withinOffset - collisionPosTop,
-				overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
-				newOverBottom;
-
-			// element is taller than within
-			if ( data.collisionHeight > outerHeight ) {
-				// element is initially over the top of within
-				if ( overTop > 0 && overBottom <= 0 ) {
-					newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
-					position.top += overTop - newOverBottom;
-				// element is initially over bottom of within
-				} else if ( overBottom > 0 && overTop <= 0 ) {
-					position.top = withinOffset;
-				// element is initially over both top and bottom of within
-				} else {
-					if ( overTop > overBottom ) {
-						position.top = withinOffset + outerHeight - data.collisionHeight;
-					} else {
-						position.top = withinOffset;
-					}
-				}
-			// too far up -> align with top
-			} else if ( overTop > 0 ) {
-				position.top += overTop;
-			// too far down -> align with bottom edge
-			} else if ( overBottom > 0 ) {
-				position.top -= overBottom;
-			// adjust based on position and margin
-			} else {
-				position.top = max( position.top - collisionPosTop, position.top );
-			}
-		}
-	},
-	flip: {
-		left: function( position, data ) {
-			var within = data.within,
-				withinOffset = within.offset.left + within.scrollLeft,
-				outerWidth = within.width,
-				offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
-				collisionPosLeft = position.left - data.collisionPosition.marginLeft,
-				overLeft = collisionPosLeft - offsetLeft,
-				overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
-				myOffset = data.my[ 0 ] === "left" ?
-					-data.elemWidth :
-					data.my[ 0 ] === "right" ?
-						data.elemWidth :
-						0,
-				atOffset = data.at[ 0 ] === "left" ?
-					data.targetWidth :
-					data.at[ 0 ] === "right" ?
-						-data.targetWidth :
-						0,
-				offset = -2 * data.offset[ 0 ],
-				newOverRight,
-				newOverLeft;
-
-			if ( overLeft < 0 ) {
-				newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
-				if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {
-					position.left += myOffset + atOffset + offset;
-				}
-			} else if ( overRight > 0 ) {
-				newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
-				if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {
-					position.left += myOffset + atOffset + offset;
-				}
-			}
-		},
-		top: function( position, data ) {
-			var within = data.within,
-				withinOffset = within.offset.top + within.scrollTop,
-				outerHeight = within.height,
-				offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
-				collisionPosTop = position.top - data.collisionPosition.marginTop,
-				overTop = collisionPosTop - offsetTop,
-				overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
-				top = data.my[ 1 ] === "top",
-				myOffset = top ?
-					-data.elemHeight :
-					data.my[ 1 ] === "bottom" ?
-						data.elemHeight :
-						0,
-				atOffset = data.at[ 1 ] === "top" ?
-					data.targetHeight :
-					data.at[ 1 ] === "bottom" ?
-						-data.targetHeight :
-						0,
-				offset = -2 * data.offset[ 1 ],
-				newOverTop,
-				newOverBottom;
-			if ( overTop < 0 ) {
-				newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
-				if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {
-					position.top += myOffset + atOffset + offset;
-				}
-			} else if ( overBottom > 0 ) {
-				newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
-				if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {
-					position.top += myOffset + atOffset + offset;
-				}
-			}
-		}
-	},
-	flipfit: {
-		left: function() {
-			$.ui.position.flip.left.apply( this, arguments );
-			$.ui.position.fit.left.apply( this, arguments );
-		},
-		top: function() {
-			$.ui.position.flip.top.apply( this, arguments );
-			$.ui.position.fit.top.apply( this, arguments );
-		}
-	}
-};
-
-// fraction support test
-(function() {
-	var testElement, testElementParent, testElementStyle, offsetLeft, i,
-		body = document.getElementsByTagName( "body" )[ 0 ],
-		div = document.createElement( "div" );
-
-	//Create a "fake body" for testing based on method used in jQuery.support
-	testElement = document.createElement( body ? "div" : "body" );
-	testElementStyle = {
-		visibility: "hidden",
-		width: 0,
-		height: 0,
-		border: 0,
-		margin: 0,
-		background: "none"
-	};
-	if ( body ) {
-		$.extend( testElementStyle, {
-			position: "absolute",
-			left: "-1000px",
-			top: "-1000px"
-		});
-	}
-	for ( i in testElementStyle ) {
-		testElement.style[ i ] = testElementStyle[ i ];
-	}
-	testElement.appendChild( div );
-	testElementParent = body || document.documentElement;
-	testElementParent.insertBefore( testElement, testElementParent.firstChild );
-
-	div.style.cssText = "position: absolute; left: 10.7432222px;";
-
-	offsetLeft = $( div ).offset().left;
-	supportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11;
-
-	testElement.innerHTML = "";
-	testElementParent.removeChild( testElement );
-})();
-
-})();
-
-var position = $.ui.position;
-
-
-/*!
- * jQuery UI Draggable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/draggable/
- */
-
-
-$.widget("ui.draggable", $.ui.mouse, {
-	version: "1.11.4",
-	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,
-
-		// callbacks
-		drag: null,
-		start: null,
-		stop: null
-	},
-	_create: function() {
-
-		if ( this.options.helper === "original" ) {
-			this._setPositionRelative();
-		}
-		if (this.options.addClasses){
-			this.element.addClass("ui-draggable");
-		}
-		if (this.options.disabled){
-			this.element.addClass("ui-draggable-disabled");
-		}
-		this._setHandleClassName();
-
-		this._mouseInit();
-	},
-
-	_setOption: function( key, value ) {
-		this._super( key, value );
-		if ( key === "handle" ) {
-			this._removeHandleClassName();
-			this._setHandleClassName();
-		}
-	},
-
-	_destroy: function() {
-		if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) {
-			this.destroyOnClear = true;
-			return;
-		}
-		this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
-		this._removeHandleClassName();
-		this._mouseDestroy();
-	},
-
-	_mouseCapture: function(event) {
-		var o = this.options;
-
-		this._blurActiveElement( event );
-
-		// among others, prevent a drag on a resizable-handle
-		if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
-			return false;
-		}
-
-		//Quit if we're not on a valid handle
-		this.handle = this._getHandle(event);
-		if (!this.handle) {
-			return false;
-		}
-
-		this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix );
-
-		return true;
-
-	},
-
-	_blockFrames: function( selector ) {
-		this.iframeBlocks = this.document.find( selector ).map(function() {
-			var iframe = $( this );
-
-			return $( "<div>" )
-				.css( "position", "absolute" )
-				.appendTo( iframe.parent() )
-				.outerWidth( iframe.outerWidth() )
-				.outerHeight( iframe.outerHeight() )
-				.offset( iframe.offset() )[ 0 ];
-		});
-	},
-
-	_unblockFrames: function() {
-		if ( this.iframeBlocks ) {
-			this.iframeBlocks.remove();
-			delete this.iframeBlocks;
-		}
-	},
-
-	_blurActiveElement: function( event ) {
-		var document = this.document[ 0 ];
-
-		// Only need to blur if the event occurred on the draggable itself, see #10527
-		if ( !this.handleElement.is( event.target ) ) {
-			return;
-		}
-
-		// support: IE9
-		// IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
-		try {
-
-			// Support: IE9, IE10
-			// If the <body> is blurred, IE will switch windows, see #9520
-			if ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== "body" ) {
-
-				// Blur any element that currently has focus, see #4261
-				$( document.activeElement ).blur();
-			}
-		} catch ( error ) {}
-	},
-
-	_mouseStart: function(event) {
-
-		var o = this.options;
-
-		//Create and append the visible helper
-		this.helper = this._createHelper(event);
-
-		this.helper.addClass("ui-draggable-dragging");
-
-		//Cache the helper size
-		this._cacheHelperProportions();
-
-		//If ddmanager is used for droppables, set the global draggable
-		if ($.ui.ddmanager) {
-			$.ui.ddmanager.current = this;
-		}
-
-		/*
-		 * - Position generation -
-		 * This block generates everything position related - it's the core of draggables.
-		 */
-
-		//Cache the margins of the original element
-		this._cacheMargins();
-
-		//Store the helper's css position
-		this.cssPosition = this.helper.css( "position" );
-		this.scrollParent = this.helper.scrollParent( true );
-		this.offsetParent = this.helper.offsetParent();
-		this.hasFixedAncestor = this.helper.parents().filter(function() {
-				return $( this ).css( "position" ) === "fixed";
-			}).length > 0;
-
-		//The element's absolute position on the page minus margins
-		this.positionAbs = this.element.offset();
-		this._refreshOffsets( event );
-
-		//Generate the original position
-		this.originalPosition = this.position = this._generatePosition( event, false );
-		this.originalPageX = event.pageX;
-		this.originalPageY = event.pageY;
-
-		//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
-		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
-
-		//Set a containment if given in the options
-		this._setContainment();
-
-		//Trigger event + callbacks
-		if (this._trigger("start", event) === false) {
-			this._clear();
-			return false;
-		}
-
-		//Recache the helper size
-		this._cacheHelperProportions();
-
-		//Prepare the droppable offsets
-		if ($.ui.ddmanager && !o.dropBehaviour) {
-			$.ui.ddmanager.prepareOffsets(this, event);
-		}
-
-		// Reset helper's right/bottom css if they're set and set explicit width/height instead
-		// as this prevents resizing of elements with right/bottom set (see #7772)
-		this._normalizeRightBottom();
-
-		this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
-
-		//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
-		if ( $.ui.ddmanager ) {
-			$.ui.ddmanager.dragStart(this, event);
-		}
-
-		return true;
-	},
-
-	_refreshOffsets: function( event ) {
-		this.offset = {
-			top: this.positionAbs.top - this.margins.top,
-			left: this.positionAbs.left - this.margins.left,
-			scroll: false,
-			parent: this._getParentOffset(),
-			relative: this._getRelativeOffset()
-		};
-
-		this.offset.click = {
-			left: event.pageX - this.offset.left,
-			top: event.pageY - this.offset.top
-		};
-	},
-
-	_mouseDrag: function(event, noPropagation) {
-		// reset any necessary cached properties (see #5009)
-		if ( this.hasFixedAncestor ) {
-			this.offset.parent = this._getParentOffset();
-		}
-
-		//Compute the helpers position
-		this.position = this._generatePosition( event, true );
-		this.positionAbs = this._convertPositionTo("absolute");
-
-		//Call plugins and callbacks and use the resulting position if something is returned
-		if (!noPropagation) {
-			var ui = this._uiHash();
-			if (this._trigger("drag", event, ui) === false) {
-				this._mouseUp({});
-				return false;
-			}
-			this.position = ui.position;
-		}
-
-		this.helper[ 0 ].style.left = this.position.left + "px";
-		this.helper[ 0 ].style.top = this.position.top + "px";
-
-		if ($.ui.ddmanager) {
-			$.ui.ddmanager.drag(this, event);
-		}
-
-		return false;
-	},
-
-	_mouseStop: function(event) {
-
-		//If we are using droppables, inform the manager about the drop
-		var that = this,
-			dropped = false;
-		if ($.ui.ddmanager && !this.options.dropBehaviour) {
-			dropped = $.ui.ddmanager.drop(this, event);
-		}
-
-		//if a drop comes from outside (a sortable)
-		if (this.dropped) {
-			dropped = this.dropped;
-			this.dropped = false;
-		}
-
-		if ((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
-			$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
-				if (that._trigger("stop", event) !== false) {
-					that._clear();
-				}
-			});
-		} else {
-			if (this._trigger("stop", event) !== false) {
-				this._clear();
-			}
-		}
-
-		return false;
-	},
-
-	_mouseUp: function( event ) {
-		this._unblockFrames();
-
-		//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
-		if ( $.ui.ddmanager ) {
-			$.ui.ddmanager.dragStop(this, event);
-		}
-
-		// Only need to focus if the event occurred on the draggable itself, see #10527
-		if ( this.handleElement.is( event.target ) ) {
-			// The interaction is over; whether or not the click resulted in a drag, focus the element
-			this.element.focus();
-		}
-
-		return $.ui.mouse.prototype._mouseUp.call(this, event);
-	},
-
-	cancel: function() {
-
-		if (this.helper.is(".ui-draggable-dragging")) {
-			this._mouseUp({});
-		} else {
-			this._clear();
-		}
-
-		return this;
-
-	},
-
-	_getHandle: function(event) {
-		return this.options.handle ?
-			!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
-			true;
-	},
-
-	_setHandleClassName: function() {
-		this.handleElement = this.options.handle ?
-			this.element.find( this.options.handle ) : this.element;
-		this.handleElement.addClass( "ui-draggable-handle" );
-	},
-
-	_removeHandleClassName: function() {
-		this.handleElement.removeClass( "ui-draggable-handle" );
-	},
-
-	_createHelper: function(event) {
-
-		var o = this.options,
-			helperIsFunction = $.isFunction( o.helper ),
-			helper = helperIsFunction ?
-				$( o.helper.apply( this.element[ 0 ], [ event ] ) ) :
-				( o.helper === "clone" ?
-					this.element.clone().removeAttr( "id" ) :
-					this.element );
-
-		if (!helper.parents("body").length) {
-			helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
-		}
-
-		// http://bugs.jqueryui.com/ticket/9446
-		// a helper function can return the original element
-		// which wouldn't have been set to relative in _create
-		if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {
-			this._setPositionRelative();
-		}
-
-		if (helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
-			helper.css("position", "absolute");
-		}
-
-		return helper;
-
-	},
-
-	_setPositionRelative: function() {
-		if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) {
-			this.element[ 0 ].style.position = "relative";
-		}
-	},
-
-	_adjustOffsetFromHelper: function(obj) {
-		if (typeof obj === "string") {
-			obj = obj.split(" ");
-		}
-		if ($.isArray(obj)) {
-			obj = { left: +obj[0], top: +obj[1] || 0 };
-		}
-		if ("left" in obj) {
-			this.offset.click.left = obj.left + this.margins.left;
-		}
-		if ("right" in obj) {
-			this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
-		}
-		if ("top" in obj) {
-			this.offset.click.top = obj.top + this.margins.top;
-		}
-		if ("bottom" in obj) {
-			this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
-		}
-	},
-
-	_isRootNode: function( element ) {
-		return ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ];
-	},
-
-	_getParentOffset: function() {
-
-		//Get the offsetParent and cache its position
-		var po = this.offsetParent.offset(),
-			document = this.document[ 0 ];
-
-		// This is a special case where we need to modify a offset calculated on start, since the following happened:
-		// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
-		// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
-		//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
-		if (this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
-			po.left += this.scrollParent.scrollLeft();
-			po.top += this.scrollParent.scrollTop();
-		}
-
-		if ( this._isRootNode( this.offsetParent[ 0 ] ) ) {
-			po = { top: 0, left: 0 };
-		}
-
-		return {
-			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0),
-			left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0)
-		};
-
-	},
-
-	_getRelativeOffset: function() {
-		if ( this.cssPosition !== "relative" ) {
-			return { top: 0, left: 0 };
-		}
-
-		var p = this.element.position(),
-			scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );
-
-		return {
-			top: p.top - ( parseInt(this.helper.css( "top" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ),
-			left: p.left - ( parseInt(this.helper.css( "left" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 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 isUserScrollable, c, ce,
-			o = this.options,
-			document = this.document[ 0 ];
-
-		this.relativeContainer = null;
-
-		if ( !o.containment ) {
-			this.containment = null;
-			return;
-		}
-
-		if ( o.containment === "window" ) {
-			this.containment = [
-				$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
-				$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,
-				$( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left,
-				$( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
-			];
-			return;
-		}
-
-		if ( o.containment === "document") {
-			this.containment = [
-				0,
-				0,
-				$( document ).width() - this.helperProportions.width - this.margins.left,
-				( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top
-			];
-			return;
-		}
-
-		if ( o.containment.constructor === Array ) {
-			this.containment = o.containment;
-			return;
-		}
-
-		if ( o.containment === "parent" ) {
-			o.containment = this.helper[ 0 ].parentNode;
-		}
-
-		c = $( o.containment );
-		ce = c[ 0 ];
-
-		if ( !ce ) {
-			return;
-		}
-
-		isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) );
-
-		this.containment = [
-			( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
-			( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ),
-			( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -
-				( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) -
-				( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) -
-				this.helperProportions.width -
-				this.margins.left -
-				this.margins.right,
-			( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -
-				( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) -
-				( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) -
-				this.helperProportions.height -
-				this.margins.top -
-				this.margins.bottom
-		];
-		this.relativeContainer = c;
-	},
-
-	_convertPositionTo: function(d, pos) {
-
-		if (!pos) {
-			pos = this.position;
-		}
-
-		var mod = d === "absolute" ? 1 : -1,
-			scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );
-
-		return {
-			top: (
-				pos.top	+																// The absolute mouse position
-				this.offset.relative.top * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.top * mod -										// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod)
-			),
-			left: (
-				pos.left +																// The absolute mouse position
-				this.offset.relative.left * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.left * mod	-										// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod)
-			)
-		};
-
-	},
-
-	_generatePosition: function( event, constrainPosition ) {
-
-		var containment, co, top, left,
-			o = this.options,
-			scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ),
-			pageX = event.pageX,
-			pageY = event.pageY;
-
-		// Cache the scroll
-		if ( !scrollIsRootNode || !this.offset.scroll ) {
-			this.offset.scroll = {
-				top: this.scrollParent.scrollTop(),
-				left: this.scrollParent.scrollLeft()
-			};
-		}
-
-		/*
-		 * - Position constraining -
-		 * Constrain the position to a mix of grid, containment.
-		 */
-
-		// If we are not dragging yet, we won't check for options
-		if ( constrainPosition ) {
-			if ( this.containment ) {
-				if ( this.relativeContainer ){
-					co = this.relativeContainer.offset();
-					containment = [
-						this.containment[ 0 ] + co.left,
-						this.containment[ 1 ] + co.top,
-						this.containment[ 2 ] + co.left,
-						this.containment[ 3 ] + co.top
-					];
-				} else {
-					containment = this.containment;
-				}
-
-				if (event.pageX - this.offset.click.left < containment[0]) {
-					pageX = containment[0] + this.offset.click.left;
-				}
-				if (event.pageY - this.offset.click.top < containment[1]) {
-					pageY = containment[1] + this.offset.click.top;
-				}
-				if (event.pageX - this.offset.click.left > containment[2]) {
-					pageX = containment[2] + this.offset.click.left;
-				}
-				if (event.pageY - this.offset.click.top > containment[3]) {
-					pageY = containment[3] + this.offset.click.top;
-				}
-			}
-
-			if (o.grid) {
-				//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
-				top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
-				pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
-
-				left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
-				pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
-			}
-
-			if ( o.axis === "y" ) {
-				pageX = this.originalPageX;
-			}
-
-			if ( o.axis === "x" ) {
-				pageY = this.originalPageY;
-			}
-		}
-
-		return {
-			top: (
-				pageY -																	// The absolute mouse position
-				this.offset.click.top	-												// Click offset (relative to the element)
-				this.offset.relative.top -												// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.top +												// The offsetParent's offset without borders (offset + border)
-				( this.cssPosition === "fixed" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) )
-			),
-			left: (
-				pageX -																	// The absolute mouse position
-				this.offset.click.left -												// Click offset (relative to the element)
-				this.offset.relative.left -												// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.left +												// The offsetParent's offset without borders (offset + border)
-				( this.cssPosition === "fixed" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) )
-			)
-		};
-
-	},
-
-	_clear: function() {
-		this.helper.removeClass("ui-draggable-dragging");
-		if (this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {
-			this.helper.remove();
-		}
-		this.helper = null;
-		this.cancelHelperRemoval = false;
-		if ( this.destroyOnClear ) {
-			this.destroy();
-		}
-	},
-
-	_normalizeRightBottom: function() {
-		if ( this.options.axis !== "y" && this.helper.css( "right" ) !== "auto" ) {
-			this.helper.width( this.helper.width() );
-			this.helper.css( "right", "auto" );
-		}
-		if ( this.options.axis !== "x" && this.helper.css( "bottom" ) !== "auto" ) {
-			this.helper.height( this.helper.height() );
-			this.helper.css( "bottom", "auto" );
-		}
-	},
-
-	// From now on bulk stuff - mainly helpers
-
-	_trigger: function( type, event, ui ) {
-		ui = ui || this._uiHash();
-		$.ui.plugin.call( this, type, [ event, ui, this ], true );
-
-		// Absolute position and offset (see #6884 ) have to be recalculated after plugins
-		if ( /^(drag|start|stop)/.test( type ) ) {
-			this.positionAbs = this._convertPositionTo( "absolute" );
-			ui.offset = this.positionAbs;
-		}
-		return $.Widget.prototype._trigger.call( this, type, event, ui );
-	},
-
-	plugins: {},
-
-	_uiHash: function() {
-		return {
-			helper: this.helper,
-			position: this.position,
-			originalPosition: this.originalPosition,
-			offset: this.positionAbs
-		};
-	}
-
-});
-
-$.ui.plugin.add( "draggable", "connectToSortable", {
-	start: function( event, ui, draggable ) {
-		var uiSortable = $.extend( {}, ui, {
-			item: draggable.element
-		});
-
-		draggable.sortables = [];
-		$( draggable.options.connectToSortable ).each(function() {
-			var sortable = $( this ).sortable( "instance" );
-
-			if ( sortable && !sortable.options.disabled ) {
-				draggable.sortables.push( sortable );
-
-				// refreshPositions is called at drag start to refresh the containerCache
-				// which is used in drag. This ensures it's initialized and synchronized
-				// with any changes that might have happened on the page since initialization.
-				sortable.refreshPositions();
-				sortable._trigger("activate", event, uiSortable);
-			}
-		});
-	},
-	stop: function( event, ui, draggable ) {
-		var uiSortable = $.extend( {}, ui, {
-			item: draggable.element
-		});
-
-		draggable.cancelHelperRemoval = false;
-
-		$.each( draggable.sortables, function() {
-			var sortable = this;
-
-			if ( sortable.isOver ) {
-				sortable.isOver = 0;
-
-				// Allow this sortable to handle removing the helper
-				draggable.cancelHelperRemoval = true;
-				sortable.cancelHelperRemoval = false;
-
-				// Use _storedCSS To restore properties in the sortable,
-				// as this also handles revert (#9675) since the draggable
-				// may have modified them in unexpected ways (#8809)
-				sortable._storedCSS = {
-					position: sortable.placeholder.css( "position" ),
-					top: sortable.placeholder.css( "top" ),
-					left: sortable.placeholder.css( "left" )
-				};
-
-				sortable._mouseStop(event);
-
-				// Once drag has ended, the sortable should return to using
-				// its original helper, not the shared helper from draggable
-				sortable.options.helper = sortable.options._helper;
-			} else {
-				// Prevent this Sortable from removing the helper.
-				// However, don't set the draggable to remove the helper
-				// either as another connected Sortable may yet handle the removal.
-				sortable.cancelHelperRemoval = true;
-
-				sortable._trigger( "deactivate", event, uiSortable );
-			}
-		});
-	},
-	drag: function( event, ui, draggable ) {
-		$.each( draggable.sortables, function() {
-			var innermostIntersecting = false,
-				sortable = this;
-
-			// Copy over variables that sortable's _intersectsWith uses
-			sortable.positionAbs = draggable.positionAbs;
-			sortable.helperProportions = draggable.helperProportions;
-			sortable.offset.click = draggable.offset.click;
-
-			if ( sortable._intersectsWith( sortable.containerCache ) ) {
-				innermostIntersecting = true;
-
-				$.each( draggable.sortables, function() {
-					// Copy over variables that sortable's _intersectsWith uses
-					this.positionAbs = draggable.positionAbs;
-					this.helperProportions = draggable.helperProportions;
-					this.offset.click = draggable.offset.click;
-
-					if ( this !== sortable &&
-							this._intersectsWith( this.containerCache ) &&
-							$.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {
-						innermostIntersecting = false;
-					}
-
-					return innermostIntersecting;
-				});
-			}
-
-			if ( innermostIntersecting ) {
-				// If it intersects, we use a little isOver variable and set it once,
-				// so that the move-in stuff gets fired only once.
-				if ( !sortable.isOver ) {
-					sortable.isOver = 1;
-
-					// Store draggable's parent in case we need to reappend to it later.
-					draggable._parent = ui.helper.parent();
-
-					sortable.currentItem = ui.helper
-						.appendTo( sortable.element )
-						.data( "ui-sortable-item", true );
-
-					// Store helper option to later restore it
-					sortable.options._helper = sortable.options.helper;
-
-					sortable.options.helper = function() {
-						return ui.helper[ 0 ];
-					};
-
-					// Fire the start events of the sortable with our passed browser event,
-					// and our own helper (so it doesn't create a new one)
-					event.target = sortable.currentItem[ 0 ];
-					sortable._mouseCapture( event, true );
-					sortable._mouseStart( event, true, true );
-
-					// Because the browser event is way off the new appended portlet,
-					// modify necessary variables to reflect the changes
-					sortable.offset.click.top = draggable.offset.click.top;
-					sortable.offset.click.left = draggable.offset.click.left;
-					sortable.offset.parent.left -= draggable.offset.parent.left -
-						sortable.offset.parent.left;
-					sortable.offset.parent.top -= draggable.offset.parent.top -
-						sortable.offset.parent.top;
-
-					draggable._trigger( "toSortable", event );
-
-					// Inform draggable that the helper is in a valid drop zone,
-					// used solely in the revert option to handle "valid/invalid".
-					draggable.dropped = sortable.element;
-
-					// Need to refreshPositions of all sortables in the case that
-					// adding to one sortable changes the location of the other sortables (#9675)
-					$.each( draggable.sortables, function() {
-						this.refreshPositions();
-					});
-
-					// hack so receive/update callbacks work (mostly)
-					draggable.currentItem = draggable.element;
-					sortable.fromOutside = draggable;
-				}
-
-				if ( sortable.currentItem ) {
-					sortable._mouseDrag( event );
-					// Copy the sortable's position because the draggable's can potentially reflect
-					// a relative position, while sortable is always absolute, which the dragged
-					// element has now become. (#8809)
-					ui.position = sortable.position;
-				}
-			} else {
-				// If it doesn't intersect with the sortable, and it intersected before,
-				// we fake the drag stop of the sortable, but make sure it doesn't remove
-				// the helper by using cancelHelperRemoval.
-				if ( sortable.isOver ) {
-
-					sortable.isOver = 0;
-					sortable.cancelHelperRemoval = true;
-
-					// Calling sortable's mouseStop would trigger a revert,
-					// so revert must be temporarily false until after mouseStop is called.
-					sortable.options._revert = sortable.options.revert;
-					sortable.options.revert = false;
-
-					sortable._trigger( "out", event, sortable._uiHash( sortable ) );
-					sortable._mouseStop( event, true );
-
-					// restore sortable behaviors that were modfied
-					// when the draggable entered the sortable area (#9481)
-					sortable.options.revert = sortable.options._revert;
-					sortable.options.helper = sortable.options._helper;
-
-					if ( sortable.placeholder ) {
-						sortable.placeholder.remove();
-					}
-
-					// Restore and recalculate the draggable's offset considering the sortable
-					// may have modified them in unexpected ways. (#8809, #10669)
-					ui.helper.appendTo( draggable._parent );
-					draggable._refreshOffsets( event );
-					ui.position = draggable._generatePosition( event, true );
-
-					draggable._trigger( "fromSortable", event );
-
-					// Inform draggable that the helper is no longer in a valid drop zone
-					draggable.dropped = false;
-
-					// Need to refreshPositions of all sortables just in case removing
-					// from one sortable changes the location of other sortables (#9675)
-					$.each( draggable.sortables, function() {
-						this.refreshPositions();
-					});
-				}
-			}
-		});
-	}
-});
-
-$.ui.plugin.add("draggable", "cursor", {
-	start: function( event, ui, instance ) {
-		var t = $( "body" ),
-			o = instance.options;
-
-		if (t.css("cursor")) {
-			o._cursor = t.css("cursor");
-		}
-		t.css("cursor", o.cursor);
-	},
-	stop: function( event, ui, instance ) {
-		var o = instance.options;
-		if (o._cursor) {
-			$("body").css("cursor", o._cursor);
-		}
-	}
-});
-
-$.ui.plugin.add("draggable", "opacity", {
-	start: function( event, ui, instance ) {
-		var t = $( ui.helper ),
-			o = instance.options;
-		if (t.css("opacity")) {
-			o._opacity = t.css("opacity");
-		}
-		t.css("opacity", o.opacity);
-	},
-	stop: function( event, ui, instance ) {
-		var o = instance.options;
-		if (o._opacity) {
-			$(ui.helper).css("opacity", o._opacity);
-		}
-	}
-});
-
-$.ui.plugin.add("draggable", "scroll", {
-	start: function( event, ui, i ) {
-		if ( !i.scrollParentNotHidden ) {
-			i.scrollParentNotHidden = i.helper.scrollParent( false );
-		}
-
-		if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) {
-			i.overflowOffset = i.scrollParentNotHidden.offset();
-		}
-	},
-	drag: function( event, ui, i  ) {
-
-		var o = i.options,
-			scrolled = false,
-			scrollParent = i.scrollParentNotHidden[ 0 ],
-			document = i.document[ 0 ];
-
-		if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) {
-			if ( !o.axis || o.axis !== "x" ) {
-				if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < o.scrollSensitivity ) {
-					scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;
-				} else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {
-					scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;
-				}
-			}
-
-			if ( !o.axis || o.axis !== "y" ) {
-				if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < o.scrollSensitivity ) {
-					scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;
-				} else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {
-					scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;
-				}
-			}
-
-		} else {
-
-			if (!o.axis || o.axis !== "x") {
-				if (event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
-					scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
-				} else if ($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
-					scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
-				}
-			}
-
-			if (!o.axis || o.axis !== "y") {
-				if (event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
-					scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
-				} else if ($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
-					scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
-				}
-			}
-
-		}
-
-		if (scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
-			$.ui.ddmanager.prepareOffsets(i, event);
-		}
-
-	}
-});
-
-$.ui.plugin.add("draggable", "snap", {
-	start: function( event, ui, i ) {
-
-		var o = i.options;
-
-		i.snapElements = [];
-
-		$(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() {
-			var $t = $(this),
-				$o = $t.offset();
-			if (this !== i.element[0]) {
-				i.snapElements.push({
-					item: this,
-					width: $t.outerWidth(), height: $t.outerHeight(),
-					top: $o.top, left: $o.left
-				});
-			}
-		});
-
-	},
-	drag: function( event, ui, inst ) {
-
-		var ts, bs, ls, rs, l, r, t, b, i, first,
-			o = inst.options,
-			d = o.snapTolerance,
-			x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
-			y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
-
-		for (i = inst.snapElements.length - 1; i >= 0; i--){
-
-			l = inst.snapElements[i].left - inst.margins.left;
-			r = l + inst.snapElements[i].width;
-			t = inst.snapElements[i].top - inst.margins.top;
-			b = t + inst.snapElements[i].height;
-
-			if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {
-				if (inst.snapElements[i].snapping) {
-					(inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
-				}
-				inst.snapElements[i].snapping = false;
-				continue;
-			}
-
-			if (o.snapMode !== "inner") {
-				ts = Math.abs(t - y2) <= d;
-				bs = Math.abs(b - y1) <= d;
-				ls = Math.abs(l - x2) <= d;
-				rs = Math.abs(r - x1) <= d;
-				if (ts) {
-					ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top;
-				}
-				if (bs) {
-					ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top;
-				}
-				if (ls) {
-					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left;
-				}
-				if (rs) {
-					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left;
-				}
-			}
-
-			first = (ts || bs || ls || rs);
-
-			if (o.snapMode !== "outer") {
-				ts = Math.abs(t - y1) <= d;
-				bs = Math.abs(b - y2) <= d;
-				ls = Math.abs(l - x1) <= d;
-				rs = Math.abs(r - x2) <= d;
-				if (ts) {
-					ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top;
-				}
-				if (bs) {
-					ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top;
-				}
-				if (ls) {
-					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left;
-				}
-				if (rs) {
-					ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left;
-				}
-			}
-
-			if (!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {
-				(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
-			}
-			inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
-
-		}
-
-	}
-});
-
-$.ui.plugin.add("draggable", "stack", {
-	start: function( event, ui, instance ) {
-		var min,
-			o = instance.options,
-			group = $.makeArray($(o.stack)).sort(function(a, b) {
-				return (parseInt($(a).css("zIndex"), 10) || 0) - (parseInt($(b).css("zIndex"), 10) || 0);
-			});
-
-		if (!group.length) { return; }
-
-		min = parseInt($(group[0]).css("zIndex"), 10) || 0;
-		$(group).each(function(i) {
-			$(this).css("zIndex", min + i);
-		});
-		this.css("zIndex", (min + group.length));
-	}
-});
-
-$.ui.plugin.add("draggable", "zIndex", {
-	start: function( event, ui, instance ) {
-		var t = $( ui.helper ),
-			o = instance.options;
-
-		if (t.css("zIndex")) {
-			o._zIndex = t.css("zIndex");
-		}
-		t.css("zIndex", o.zIndex);
-	},
-	stop: function( event, ui, instance ) {
-		var o = instance.options;
-
-		if (o._zIndex) {
-			$(ui.helper).css("zIndex", o._zIndex);
-		}
-	}
-});
-
-var draggable = $.ui.draggable;
-
-
-/*!
- * jQuery UI Droppable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/droppable/
- */
-
-
-$.widget( "ui.droppable", {
-	version: "1.11.4",
-	widgetEventPrefix: "drop",
-	options: {
-		accept: "*",
-		activeClass: false,
-		addClasses: true,
-		greedy: false,
-		hoverClass: false,
-		scope: "default",
-		tolerance: "intersect",
-
-		// callbacks
-		activate: null,
-		deactivate: null,
-		drop: null,
-		out: null,
-		over: null
-	},
-	_create: function() {
-
-		var proportions,
-			o = this.options,
-			accept = o.accept;
-
-		this.isover = false;
-		this.isout = true;
-
-		this.accept = $.isFunction( accept ) ? accept : function( d ) {
-			return d.is( accept );
-		};
-
-		this.proportions = function( /* valueToWrite */ ) {
-			if ( arguments.length ) {
-				// Store the droppable's proportions
-				proportions = arguments[ 0 ];
-			} else {
-				// Retrieve or derive the droppable's proportions
-				return proportions ?
-					proportions :
-					proportions = {
-						width: this.element[ 0 ].offsetWidth,
-						height: this.element[ 0 ].offsetHeight
-					};
-			}
-		};
-
-		this._addToManager( o.scope );
-
-		o.addClasses && this.element.addClass( "ui-droppable" );
-
-	},
-
-	_addToManager: function( scope ) {
-		// Add the reference and positions to the manager
-		$.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || [];
-		$.ui.ddmanager.droppables[ scope ].push( this );
-	},
-
-	_splice: function( drop ) {
-		var i = 0;
-		for ( ; i < drop.length; i++ ) {
-			if ( drop[ i ] === this ) {
-				drop.splice( i, 1 );
-			}
-		}
-	},
-
-	_destroy: function() {
-		var drop = $.ui.ddmanager.droppables[ this.options.scope ];
-
-		this._splice( drop );
-
-		this.element.removeClass( "ui-droppable ui-droppable-disabled" );
-	},
-
-	_setOption: function( key, value ) {
-
-		if ( key === "accept" ) {
-			this.accept = $.isFunction( value ) ? value : function( d ) {
-				return d.is( value );
-			};
-		} else if ( key === "scope" ) {
-			var drop = $.ui.ddmanager.droppables[ this.options.scope ];
-
-			this._splice( drop );
-			this._addToManager( value );
-		}
-
-		this._super( key, value );
-	},
-
-	_activate: function( event ) {
-		var draggable = $.ui.ddmanager.current;
-		if ( this.options.activeClass ) {
-			this.element.addClass( this.options.activeClass );
-		}
-		if ( draggable ){
-			this._trigger( "activate", event, this.ui( draggable ) );
-		}
-	},
-
-	_deactivate: function( event ) {
-		var draggable = $.ui.ddmanager.current;
-		if ( this.options.activeClass ) {
-			this.element.removeClass( this.options.activeClass );
-		}
-		if ( draggable ){
-			this._trigger( "deactivate", event, this.ui( draggable ) );
-		}
-	},
-
-	_over: function( event ) {
-
-		var draggable = $.ui.ddmanager.current;
-
-		// Bail if draggable and droppable are same element
-		if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {
-			return;
-		}
-
-		if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {
-			if ( this.options.hoverClass ) {
-				this.element.addClass( this.options.hoverClass );
-			}
-			this._trigger( "over", event, this.ui( draggable ) );
-		}
-
-	},
-
-	_out: function( event ) {
-
-		var draggable = $.ui.ddmanager.current;
-
-		// Bail if draggable and droppable are same element
-		if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {
-			return;
-		}
-
-		if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {
-			if ( this.options.hoverClass ) {
-				this.element.removeClass( this.options.hoverClass );
-			}
-			this._trigger( "out", event, this.ui( draggable ) );
-		}
-
-	},
-
-	_drop: function( event, custom ) {
-
-		var draggable = custom || $.ui.ddmanager.current,
-			childrenIntersection = false;
-
-		// Bail if draggable and droppable are same element
-		if ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {
-			return false;
-		}
-
-		this.element.find( ":data(ui-droppable)" ).not( ".ui-draggable-dragging" ).each(function() {
-			var inst = $( this ).droppable( "instance" );
-			if (
-				inst.options.greedy &&
-				!inst.options.disabled &&
-				inst.options.scope === draggable.options.scope &&
-				inst.accept.call( inst.element[ 0 ], ( draggable.currentItem || draggable.element ) ) &&
-				$.ui.intersect( draggable, $.extend( inst, { offset: inst.element.offset() } ), inst.options.tolerance, event )
-			) { childrenIntersection = true; return false; }
-		});
-		if ( childrenIntersection ) {
-			return false;
-		}
-
-		if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {
-			if ( this.options.activeClass ) {
-				this.element.removeClass( this.options.activeClass );
-			}
-			if ( this.options.hoverClass ) {
-				this.element.removeClass( this.options.hoverClass );
-			}
-			this._trigger( "drop", event, this.ui( draggable ) );
-			return this.element;
-		}
-
-		return false;
-
-	},
-
-	ui: function( c ) {
-		return {
-			draggable: ( c.currentItem || c.element ),
-			helper: c.helper,
-			position: c.position,
-			offset: c.positionAbs
-		};
-	}
-
-});
-
-$.ui.intersect = (function() {
-	function isOverAxis( x, reference, size ) {
-		return ( x >= reference ) && ( x < ( reference + size ) );
-	}
-
-	return function( draggable, droppable, toleranceMode, event ) {
-
-		if ( !droppable.offset ) {
-			return false;
-		}
-
-		var x1 = ( draggable.positionAbs || draggable.position.absolute ).left + draggable.margins.left,
-			y1 = ( draggable.positionAbs || draggable.position.absolute ).top + draggable.margins.top,
-			x2 = x1 + draggable.helperProportions.width,
-			y2 = y1 + draggable.helperProportions.height,
-			l = droppable.offset.left,
-			t = droppable.offset.top,
-			r = l + droppable.proportions().width,
-			b = t + droppable.proportions().height;
-
-		switch ( toleranceMode ) {
-		case "fit":
-			return ( l <= x1 && x2 <= r && t <= y1 && y2 <= b );
-		case "intersect":
-			return ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half
-				x2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half
-				t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half
-				y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half
-		case "pointer":
-			return isOverAxis( event.pageY, t, droppable.proportions().height ) && isOverAxis( event.pageX, l, droppable.proportions().width );
-		case "touch":
-			return (
-				( y1 >= t && y1 <= b ) || // Top edge touching
-				( y2 >= t && y2 <= b ) || // Bottom edge touching
-				( y1 < t && y2 > b ) // Surrounded vertically
-			) && (
-				( x1 >= l && x1 <= r ) || // Left edge touching
-				( x2 >= l && x2 <= r ) || // Right edge touching
-				( x1 < l && x2 > r ) // Surrounded horizontally
-			);
-		default:
-			return false;
-		}
-	};
-})();
-
-/*
-	This manager tracks offsets of draggables and droppables
-*/
-$.ui.ddmanager = {
-	current: null,
-	droppables: { "default": [] },
-	prepareOffsets: function( t, event ) {
-
-		var i, j,
-			m = $.ui.ddmanager.droppables[ t.options.scope ] || [],
-			type = event ? event.type : null, // workaround for #2317
-			list = ( t.currentItem || t.element ).find( ":data(ui-droppable)" ).addBack();
-
-		droppablesLoop: for ( i = 0; i < m.length; i++ ) {
-
-			// No disabled and non-accepted
-			if ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], ( t.currentItem || t.element ) ) ) ) {
-				continue;
-			}
-
-			// Filter out elements in the current dragged item
-			for ( j = 0; j < list.length; j++ ) {
-				if ( list[ j ] === m[ i ].element[ 0 ] ) {
-					m[ i ].proportions().height = 0;
-					continue droppablesLoop;
-				}
-			}
-
-			m[ i ].visible = m[ i ].element.css( "display" ) !== "none";
-			if ( !m[ i ].visible ) {
-				continue;
-			}
-
-			// Activate the droppable if used directly from draggables
-			if ( type === "mousedown" ) {
-				m[ i ]._activate.call( m[ i ], event );
-			}
-
-			m[ i ].offset = m[ i ].element.offset();
-			m[ i ].proportions({ width: m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[ 0 ].offsetHeight });
-
-		}
-
-	},
-	drop: function( draggable, event ) {
-
-		var dropped = false;
-		// Create a copy of the droppables in case the list changes during the drop (#9116)
-		$.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() {
-
-			if ( !this.options ) {
-				return;
-			}
-			if ( !this.options.disabled && this.visible && $.ui.intersect( draggable, this, this.options.tolerance, event ) ) {
-				dropped = this._drop.call( this, event ) || dropped;
-			}
-
-			if ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {
-				this.isout = true;
-				this.isover = false;
-				this._deactivate.call( this, event );
-			}
-
-		});
-		return dropped;
-
-	},
-	dragStart: function( draggable, event ) {
-		// Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
-		draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
-			if ( !draggable.options.refreshPositions ) {
-				$.ui.ddmanager.prepareOffsets( draggable, event );
-			}
-		});
-	},
-	drag: function( draggable, event ) {
-
-		// If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
-		if ( draggable.options.refreshPositions ) {
-			$.ui.ddmanager.prepareOffsets( draggable, event );
-		}
-
-		// Run through all droppables and check their positions based on specific tolerance options
-		$.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() {
-
-			if ( this.options.disabled || this.greedyChild || !this.visible ) {
-				return;
-			}
-
-			var parentInstance, scope, parent,
-				intersects = $.ui.intersect( draggable, this, this.options.tolerance, event ),
-				c = !intersects && this.isover ? "isout" : ( intersects && !this.isover ? "isover" : null );
-			if ( !c ) {
-				return;
-			}
-
-			if ( this.options.greedy ) {
-				// find droppable parents with same scope
-				scope = this.options.scope;
-				parent = this.element.parents( ":data(ui-droppable)" ).filter(function() {
-					return $( this ).droppable( "instance" ).options.scope === scope;
-				});
-
-				if ( parent.length ) {
-					parentInstance = $( parent[ 0 ] ).droppable( "instance" );
-					parentInstance.greedyChild = ( c === "isover" );
-				}
-			}
-
-			// we just moved into a greedy child
-			if ( parentInstance && c === "isover" ) {
-				parentInstance.isover = false;
-				parentInstance.isout = true;
-				parentInstance._out.call( parentInstance, event );
-			}
-
-			this[ c ] = true;
-			this[c === "isout" ? "isover" : "isout"] = false;
-			this[c === "isover" ? "_over" : "_out"].call( this, event );
-
-			// we just moved out of a greedy child
-			if ( parentInstance && c === "isout" ) {
-				parentInstance.isout = false;
-				parentInstance.isover = true;
-				parentInstance._over.call( parentInstance, event );
-			}
-		});
-
-	},
-	dragStop: function( draggable, event ) {
-		draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
-		// Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
-		if ( !draggable.options.refreshPositions ) {
-			$.ui.ddmanager.prepareOffsets( draggable, event );
-		}
-	}
-};
-
-var droppable = $.ui.droppable;
-
-
-/*!
- * jQuery UI Resizable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/resizable/
- */
-
-
-$.widget("ui.resizable", $.ui.mouse, {
-	version: "1.11.4",
-	widgetEventPrefix: "resize",
-	options: {
-		alsoResize: false,
-		animate: false,
-		animateDuration: "slow",
-		animateEasing: "swing",
-		aspectRatio: false,
-		autoHide: false,
-		containment: false,
-		ghost: false,
-		grid: false,
-		handles: "e,s,se",
-		helper: false,
-		maxHeight: null,
-		maxWidth: null,
-		minHeight: 10,
-		minWidth: 10,
-		// See #7960
-		zIndex: 90,
-
-		// callbacks
-		resize: null,
-		start: null,
-		stop: null
-	},
-
-	_num: function( value ) {
-		return parseInt( value, 10 ) || 0;
-	},
-
-	_isNumber: function( value ) {
-		return !isNaN( parseInt( value, 10 ) );
-	},
-
-	_hasScroll: function( el, a ) {
-
-		if ( $( el ).css( "overflow" ) === "hidden") {
-			return false;
-		}
-
-		var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
-			has = false;
-
-		if ( el[ scroll ] > 0 ) {
-			return true;
-		}
-
-		// TODO: determine which cases actually cause this to happen
-		// if the element doesn't have the scroll set, see if it's possible to
-		// set the scroll
-		el[ scroll ] = 1;
-		has = ( el[ scroll ] > 0 );
-		el[ scroll ] = 0;
-		return has;
-	},
-
-	_create: function() {
-
-		var n, i, handle, axis, hname,
-			that = this,
-			o = this.options;
-		this.element.addClass("ui-resizable");
-
-		$.extend(this, {
-			_aspectRatio: !!(o.aspectRatio),
-			aspectRatio: o.aspectRatio,
-			originalElement: this.element,
-			_proportionallyResizeElements: [],
-			_helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
-		});
-
-		// Wrap the element if it cannot hold child nodes
-		if (this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)) {
-
-			this.element.wrap(
-				$("<div class='ui-wrapper' style='overflow: hidden;'></div>").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(
-				"ui-resizable", this.element.resizable( "instance" )
-			);
-
-			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
-			});
-			// support: Safari
-			// Prevent Safari textarea resize
-			this.originalResizeStyle = this.originalElement.css("resize");
-			this.originalElement.css("resize", "none");
-
-			this._proportionallyResizeElements.push( this.originalElement.css({
-				position: "static",
-				zoom: 1,
-				display: "block"
-			}) );
-
-			// support: IE9
-			// avoid IE jump (hard set the margin)
-			this.originalElement.css({ margin: this.originalElement.css("margin") });
-
-			this._proportionallyResize();
-		}
-
-		this.handles = o.handles ||
-			( !$(".ui-resizable-handle", this.element).length ?
-				"e,s,se" : {
-					n: ".ui-resizable-n",
-					e: ".ui-resizable-e",
-					s: ".ui-resizable-s",
-					w: ".ui-resizable-w",
-					se: ".ui-resizable-se",
-					sw: ".ui-resizable-sw",
-					ne: ".ui-resizable-ne",
-					nw: ".ui-resizable-nw"
-				} );
-
-		this._handles = $();
-		if ( this.handles.constructor === String ) {
-
-			if ( this.handles === "all") {
-				this.handles = "n,e,s,w,se,sw,ne,nw";
-			}
-
-			n = this.handles.split(",");
-			this.handles = {};
-
-			for (i = 0; i < n.length; i++) {
-
-				handle = $.trim(n[i]);
-				hname = "ui-resizable-" + handle;
-				axis = $("<div class='ui-resizable-handle " + hname + "'></div>");
-
-				axis.css({ zIndex: o.zIndex });
-
-				// TODO : What's going on here?
-				if ("se" === handle) {
-					axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
-				}
-
-				this.handles[handle] = ".ui-resizable-" + handle;
-				this.element.append(axis);
-			}
-
-		}
-
-		this._renderAxis = function(target) {
-
-			var i, axis, padPos, padWrapper;
-
-			target = target || this.element;
-
-			for (i in this.handles) {
-
-				if (this.handles[i].constructor === String) {
-					this.handles[i] = this.element.children( this.handles[ i ] ).first().show();
-				} else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) {
-					this.handles[ i ] = $( this.handles[ i ] );
-					this._on( this.handles[ i ], { "mousedown": that._mouseDown });
-				}
-
-				if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)) {
-
-					axis = $(this.handles[i], this.element);
-
-					padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();
-
-					padPos = [ "padding",
-						/ne|nw|n/.test(i) ? "Top" :
-						/se|sw|s/.test(i) ? "Bottom" :
-						/^e$/.test(i) ? "Right" : "Left" ].join("");
-
-					target.css(padPos, padWrapper);
-
-					this._proportionallyResize();
-				}
-
-				this._handles = this._handles.add( this.handles[ i ] );
-			}
-		};
-
-		// TODO: make renderAxis a prototype function
-		this._renderAxis(this.element);
-
-		this._handles = this._handles.add( this.element.find( ".ui-resizable-handle" ) );
-		this._handles.disableSelection();
-
-		this._handles.mouseover(function() {
-			if (!that.resizing) {
-				if (this.className) {
-					axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
-				}
-				that.axis = axis && axis[1] ? axis[1] : "se";
-			}
-		});
-
-		if (o.autoHide) {
-			this._handles.hide();
-			$(this.element)
-				.addClass("ui-resizable-autohide")
-				.mouseenter(function() {
-					if (o.disabled) {
-						return;
-					}
-					$(this).removeClass("ui-resizable-autohide");
-					that._handles.show();
-				})
-				.mouseleave(function() {
-					if (o.disabled) {
-						return;
-					}
-					if (!that.resizing) {
-						$(this).addClass("ui-resizable-autohide");
-						that._handles.hide();
-					}
-				});
-		}
-
-		this._mouseInit();
-	},
-
-	_destroy: function() {
-
-		this._mouseDestroy();
-
-		var wrapper,
-			_destroy = function(exp) {
-				$(exp)
-					.removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing")
-					.removeData("resizable")
-					.removeData("ui-resizable")
-					.unbind(".resizable")
-					.find(".ui-resizable-handle")
-						.remove();
-			};
-
-		// TODO: Unwrap at same DOM position
-		if (this.elementIsWrapper) {
-			_destroy(this.element);
-			wrapper = this.element;
-			this.originalElement.css({
-				position: wrapper.css("position"),
-				width: wrapper.outerWidth(),
-				height: wrapper.outerHeight(),
-				top: wrapper.css("top"),
-				left: wrapper.css("left")
-			}).insertAfter( wrapper );
-			wrapper.remove();
-		}
-
-		this.originalElement.css("resize", this.originalResizeStyle);
-		_destroy(this.originalElement);
-
-		return this;
-	},
-
-	_mouseCapture: function(event) {
-		var i, handle,
-			capture = false;
-
-		for (i in this.handles) {
-			handle = $(this.handles[i])[0];
-			if (handle === event.target || $.contains(handle, event.target)) {
-				capture = true;
-			}
-		}
-
-		return !this.options.disabled && capture;
-	},
-
-	_mouseStart: function(event) {
-
-		var curleft, curtop, cursor,
-			o = this.options,
-			el = this.element;
-
-		this.resizing = true;
-
-		this._renderProxy();
-
-		curleft = this._num(this.helper.css("left"));
-		curtop = this._num(this.helper.css("top"));
-
-		if (o.containment) {
-			curleft += $(o.containment).scrollLeft() || 0;
-			curtop += $(o.containment).scrollTop() || 0;
-		}
-
-		this.offset = this.helper.offset();
-		this.position = { left: curleft, top: curtop };
-
-		this.size = this._helper ? {
-				width: this.helper.width(),
-				height: this.helper.height()
-			} : {
-				width: el.width(),
-				height: el.height()
-			};
-
-		this.originalSize = this._helper ? {
-				width: el.outerWidth(),
-				height: el.outerHeight()
-			} : {
-				width: el.width(),
-				height: el.height()
-			};
-
-		this.sizeDiff = {
-			width: el.outerWidth() - el.width(),
-			height: el.outerHeight() - el.height()
-		};
-
-		this.originalPosition = { left: curleft, top: curtop };
-		this.originalMousePosition = { left: event.pageX, top: event.pageY };
-
-		this.aspectRatio = (typeof o.aspectRatio === "number") ?
-			o.aspectRatio :
-			((this.originalSize.width / this.originalSize.height) || 1);
-
-		cursor = $(".ui-resizable-" + this.axis).css("cursor");
-		$("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor);
-
-		el.addClass("ui-resizable-resizing");
-		this._propagate("start", event);
-		return true;
-	},
-
-	_mouseDrag: function(event) {
-
-		var data, props,
-			smp = this.originalMousePosition,
-			a = this.axis,
-			dx = (event.pageX - smp.left) || 0,
-			dy = (event.pageY - smp.top) || 0,
-			trigger = this._change[a];
-
-		this._updatePrevProperties();
-
-		if (!trigger) {
-			return false;
-		}
-
-		data = trigger.apply(this, [ event, dx, dy ]);
-
-		this._updateVirtualBoundaries(event.shiftKey);
-		if (this._aspectRatio || event.shiftKey) {
-			data = this._updateRatio(data, event);
-		}
-
-		data = this._respectSize(data, event);
-
-		this._updateCache(data);
-
-		this._propagate("resize", event);
-
-		props = this._applyChanges();
-
-		if ( !this._helper && this._proportionallyResizeElements.length ) {
-			this._proportionallyResize();
-		}
-
-		if ( !$.isEmptyObject( props ) ) {
-			this._updatePrevProperties();
-			this._trigger( "resize", event, this.ui() );
-			this._applyChanges();
-		}
-
-		return false;
-	},
-
-	_mouseStop: function(event) {
-
-		this.resizing = false;
-		var pr, ista, soffseth, soffsetw, s, left, top,
-			o = this.options, that = this;
-
-		if (this._helper) {
-
-			pr = this._proportionallyResizeElements;
-			ista = pr.length && (/textarea/i).test(pr[0].nodeName);
-			soffseth = ista && this._hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height;
-			soffsetw = ista ? 0 : that.sizeDiff.width;
-
-			s = {
-				width: (that.helper.width()  - soffsetw),
-				height: (that.helper.height() - soffseth)
-			};
-			left = (parseInt(that.element.css("left"), 10) +
-				(that.position.left - that.originalPosition.left)) || null;
-			top = (parseInt(that.element.css("top"), 10) +
-				(that.position.top - that.originalPosition.top)) || null;
-
-			if (!o.animate) {
-				this.element.css($.extend(s, { top: top, left: left }));
-			}
-
-			that.helper.height(that.size.height);
-			that.helper.width(that.size.width);
-
-			if (this._helper && !o.animate) {
-				this._proportionallyResize();
-			}
-		}
-
-		$("body").css("cursor", "auto");
-
-		this.element.removeClass("ui-resizable-resizing");
-
-		this._propagate("stop", event);
-
-		if (this._helper) {
-			this.helper.remove();
-		}
-
-		return false;
-
-	},
-
-	_updatePrevProperties: function() {
-		this.prevPosition = {
-			top: this.position.top,
-			left: this.position.left
-		};
-		this.prevSize = {
-			width: this.size.width,
-			height: this.size.height
-		};
-	},
-
-	_applyChanges: function() {
-		var props = {};
-
-		if ( this.position.top !== this.prevPosition.top ) {
-			props.top = this.position.top + "px";
-		}
-		if ( this.position.left !== this.prevPosition.left ) {
-			props.left = this.position.left + "px";
-		}
-		if ( this.size.width !== this.prevSize.width ) {
-			props.width = this.size.width + "px";
-		}
-		if ( this.size.height !== this.prevSize.height ) {
-			props.height = this.size.height + "px";
-		}
-
-		this.helper.css( props );
-
-		return props;
-	},
-
-	_updateVirtualBoundaries: function(forceAspectRatio) {
-		var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,
-			o = this.options;
-
-		b = {
-			minWidth: this._isNumber(o.minWidth) ? o.minWidth : 0,
-			maxWidth: this._isNumber(o.maxWidth) ? o.maxWidth : Infinity,
-			minHeight: this._isNumber(o.minHeight) ? o.minHeight : 0,
-			maxHeight: this._isNumber(o.maxHeight) ? o.maxHeight : Infinity
-		};
-
-		if (this._aspectRatio || forceAspectRatio) {
-			pMinWidth = b.minHeight * this.aspectRatio;
-			pMinHeight = b.minWidth / this.aspectRatio;
-			pMaxWidth = b.maxHeight * this.aspectRatio;
-			pMaxHeight = b.maxWidth / this.aspectRatio;
-
-			if (pMinWidth > b.minWidth) {
-				b.minWidth = pMinWidth;
-			}
-			if (pMinHeight > b.minHeight) {
-				b.minHeight = pMinHeight;
-			}
-			if (pMaxWidth < b.maxWidth) {
-				b.maxWidth = pMaxWidth;
-			}
-			if (pMaxHeight < b.maxHeight) {
-				b.maxHeight = pMaxHeight;
-			}
-		}
-		this._vBoundaries = b;
-	},
-
-	_updateCache: function(data) {
-		this.offset = this.helper.offset();
-		if (this._isNumber(data.left)) {
-			this.position.left = data.left;
-		}
-		if (this._isNumber(data.top)) {
-			this.position.top = data.top;
-		}
-		if (this._isNumber(data.height)) {
-			this.size.height = data.height;
-		}
-		if (this._isNumber(data.width)) {
-			this.size.width = data.width;
-		}
-	},
-
-	_updateRatio: function( data ) {
-
-		var cpos = this.position,
-			csize = this.size,
-			a = this.axis;
-
-		if (this._isNumber(data.height)) {
-			data.width = (data.height * this.aspectRatio);
-		} else if (this._isNumber(data.width)) {
-			data.height = (data.width / this.aspectRatio);
-		}
-
-		if (a === "sw") {
-			data.left = cpos.left + (csize.width - data.width);
-			data.top = null;
-		}
-		if (a === "nw") {
-			data.top = cpos.top + (csize.height - data.height);
-			data.left = cpos.left + (csize.width - data.width);
-		}
-
-		return data;
-	},
-
-	_respectSize: function( data ) {
-
-		var o = this._vBoundaries,
-			a = this.axis,
-			ismaxw = this._isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width),
-			ismaxh = this._isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),
-			isminw = this._isNumber(data.width) && o.minWidth && (o.minWidth > data.width),
-			isminh = this._isNumber(data.height) && o.minHeight && (o.minHeight > data.height),
-			dw = this.originalPosition.left + this.originalSize.width,
-			dh = this.position.top + this.size.height,
-			cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);
-		if (isminw) {
-			data.width = o.minWidth;
-		}
-		if (isminh) {
-			data.height = o.minHeight;
-		}
-		if (ismaxw) {
-			data.width = o.maxWidth;
-		}
-		if (ismaxh) {
-			data.height = o.maxHeight;
-		}
-
-		if (isminw && cw) {
-			data.left = dw - o.minWidth;
-		}
-		if (ismaxw && cw) {
-			data.left = dw - o.maxWidth;
-		}
-		if (isminh && ch) {
-			data.top = dh - o.minHeight;
-		}
-		if (ismaxh && ch) {
-			data.top = dh - o.maxHeight;
-		}
-
-		// Fixing jump error on top/left - bug #2330
-		if (!data.width && !data.height && !data.left && data.top) {
-			data.top = null;
-		} else if (!data.width && !data.height && !data.top && data.left) {
-			data.left = null;
-		}
-
-		return data;
-	},
-
-	_getPaddingPlusBorderDimensions: function( element ) {
-		var i = 0,
-			widths = [],
-			borders = [
-				element.css( "borderTopWidth" ),
-				element.css( "borderRightWidth" ),
-				element.css( "borderBottomWidth" ),
-				element.css( "borderLeftWidth" )
-			],
-			paddings = [
-				element.css( "paddingTop" ),
-				element.css( "paddingRight" ),
-				element.css( "paddingBottom" ),
-				element.css( "paddingLeft" )
-			];
-
-		for ( ; i < 4; i++ ) {
-			widths[ i ] = ( parseInt( borders[ i ], 10 ) || 0 );
-			widths[ i ] += ( parseInt( paddings[ i ], 10 ) || 0 );
-		}
-
-		return {
-			height: widths[ 0 ] + widths[ 2 ],
-			width: widths[ 1 ] + widths[ 3 ]
-		};
-	},
-
-	_proportionallyResize: function() {
-
-		if (!this._proportionallyResizeElements.length) {
-			return;
-		}
-
-		var prel,
-			i = 0,
-			element = this.helper || this.element;
-
-		for ( ; i < this._proportionallyResizeElements.length; i++) {
-
-			prel = this._proportionallyResizeElements[i];
-
-			// TODO: Seems like a bug to cache this.outerDimensions
-			// considering that we are in a loop.
-			if (!this.outerDimensions) {
-				this.outerDimensions = this._getPaddingPlusBorderDimensions( prel );
-			}
-
-			prel.css({
-				height: (element.height() - this.outerDimensions.height) || 0,
-				width: (element.width() - this.outerDimensions.width) || 0
-			});
-
-		}
-
-	},
-
-	_renderProxy: function() {
-
-		var el = this.element, o = this.options;
-		this.elementOffset = el.offset();
-
-		if (this._helper) {
-
-			this.helper = this.helper || $("<div style='overflow:hidden;'></div>");
-
-			this.helper.addClass(this._helper).css({
-				width: this.element.outerWidth() - 1,
-				height: this.element.outerHeight() - 1,
-				position: "absolute",
-				left: this.elementOffset.left + "px",
-				top: this.elementOffset.top + "px",
-				zIndex: ++o.zIndex //TODO: Don't modify option
-			});
-
-			this.helper
-				.appendTo("body")
-				.disableSelection();
-
-		} else {
-			this.helper = this.element;
-		}
-
-	},
-
-	_change: {
-		e: function(event, dx) {
-			return { width: this.originalSize.width + dx };
-		},
-		w: function(event, dx) {
-			var cs = this.originalSize, sp = this.originalPosition;
-			return { left: sp.left + dx, width: cs.width - dx };
-		},
-		n: function(event, dx, dy) {
-			var cs = this.originalSize, sp = this.originalPosition;
-			return { top: sp.top + dy, height: cs.height - dy };
-		},
-		s: function(event, dx, dy) {
-			return { height: this.originalSize.height + dy };
-		},
-		se: function(event, dx, dy) {
-			return $.extend(this._change.s.apply(this, arguments),
-				this._change.e.apply(this, [ event, dx, dy ]));
-		},
-		sw: function(event, dx, dy) {
-			return $.extend(this._change.s.apply(this, arguments),
-				this._change.w.apply(this, [ event, dx, dy ]));
-		},
-		ne: function(event, dx, dy) {
-			return $.extend(this._change.n.apply(this, arguments),
-				this._change.e.apply(this, [ event, dx, dy ]));
-		},
-		nw: function(event, dx, dy) {
-			return $.extend(this._change.n.apply(this, arguments),
-				this._change.w.apply(this, [ event, dx, dy ]));
-		}
-	},
-
-	_propagate: function(n, event) {
-		$.ui.plugin.call(this, n, [ event, this.ui() ]);
-		(n !== "resize" && this._trigger(n, event, 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
-		};
-	}
-
-});
-
-/*
- * Resizable Extensions
- */
-
-$.ui.plugin.add("resizable", "animate", {
-
-	stop: function( event ) {
-		var that = $(this).resizable( "instance" ),
-			o = that.options,
-			pr = that._proportionallyResizeElements,
-			ista = pr.length && (/textarea/i).test(pr[0].nodeName),
-			soffseth = ista && that._hasScroll(pr[0], "left") ? 0 : that.sizeDiff.height,
-			soffsetw = ista ? 0 : that.sizeDiff.width,
-			style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },
-			left = (parseInt(that.element.css("left"), 10) +
-				(that.position.left - that.originalPosition.left)) || null,
-			top = (parseInt(that.element.css("top"), 10) +
-				(that.position.top - that.originalPosition.top)) || null;
-
-		that.element.animate(
-			$.extend(style, top && left ? { top: top, left: left } : {}), {
-				duration: o.animateDuration,
-				easing: o.animateEasing,
-				step: function() {
-
-					var data = {
-						width: parseInt(that.element.css("width"), 10),
-						height: parseInt(that.element.css("height"), 10),
-						top: parseInt(that.element.css("top"), 10),
-						left: parseInt(that.element.css("left"), 10)
-					};
-
-					if (pr && pr.length) {
-						$(pr[0]).css({ width: data.width, height: data.height });
-					}
-
-					// propagating resize, and updating values for each animation step
-					that._updateCache(data);
-					that._propagate("resize", event);
-
-				}
-			}
-		);
-	}
-
-});
-
-$.ui.plugin.add( "resizable", "containment", {
-
-	start: function() {
-		var element, p, co, ch, cw, width, height,
-			that = $( this ).resizable( "instance" ),
-			o = that.options,
-			el = that.element,
-			oc = o.containment,
-			ce = ( oc instanceof $ ) ? oc.get( 0 ) : ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc;
-
-		if ( !ce ) {
-			return;
-		}
-
-		that.containerElement = $( ce );
-
-		if ( /document/.test( oc ) || oc === document ) {
-			that.containerOffset = {
-				left: 0,
-				top: 0
-			};
-			that.containerPosition = {
-				left: 0,
-				top: 0
-			};
-
-			that.parentData = {
-				element: $( document ),
-				left: 0,
-				top: 0,
-				width: $( document ).width(),
-				height: $( document ).height() || document.body.parentNode.scrollHeight
-			};
-		} else {
-			element = $( ce );
-			p = [];
-			$([ "Top", "Right", "Left", "Bottom" ]).each(function( i, name ) {
-				p[ i ] = that._num( element.css( "padding" + name ) );
-			});
-
-			that.containerOffset = element.offset();
-			that.containerPosition = element.position();
-			that.containerSize = {
-				height: ( element.innerHeight() - p[ 3 ] ),
-				width: ( element.innerWidth() - p[ 1 ] )
-			};
-
-			co = that.containerOffset;
-			ch = that.containerSize.height;
-			cw = that.containerSize.width;
-			width = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth : cw );
-			height = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ;
-
-			that.parentData = {
-				element: ce,
-				left: co.left,
-				top: co.top,
-				width: width,
-				height: height
-			};
-		}
-	},
-
-	resize: function( event ) {
-		var woset, hoset, isParent, isOffsetRelative,
-			that = $( this ).resizable( "instance" ),
-			o = that.options,
-			co = that.containerOffset,
-			cp = that.position,
-			pRatio = that._aspectRatio || event.shiftKey,
-			cop = {
-				top: 0,
-				left: 0
-			},
-			ce = that.containerElement,
-			continueResize = true;
-
-		if ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( "position" ) ) ) {
-			cop = co;
-		}
-
-		if ( cp.left < ( that._helper ? co.left : 0 ) ) {
-			that.size.width = that.size.width +
-				( that._helper ?
-					( that.position.left - co.left ) :
-					( that.position.left - cop.left ) );
-
-			if ( pRatio ) {
-				that.size.height = that.size.width / that.aspectRatio;
-				continueResize = false;
-			}
-			that.position.left = o.helper ? co.left : 0;
-		}
-
-		if ( cp.top < ( that._helper ? co.top : 0 ) ) {
-			that.size.height = that.size.height +
-				( that._helper ?
-					( that.position.top - co.top ) :
-					that.position.top );
-
-			if ( pRatio ) {
-				that.size.width = that.size.height * that.aspectRatio;
-				continueResize = false;
-			}
-			that.position.top = that._helper ? co.top : 0;
-		}
-
-		isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 );
-		isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) );
-
-		if ( isParent && isOffsetRelative ) {
-			that.offset.left = that.parentData.left + that.position.left;
-			that.offset.top = that.parentData.top + that.position.top;
-		} else {
-			that.offset.left = that.element.offset().left;
-			that.offset.top = that.element.offset().top;
-		}
-
-		woset = Math.abs( that.sizeDiff.width +
-			(that._helper ?
-				that.offset.left - cop.left :
-				(that.offset.left - co.left)) );
-
-		hoset = Math.abs( that.sizeDiff.height +
-			(that._helper ?
-				that.offset.top - cop.top :
-				(that.offset.top - co.top)) );
-
-		if ( woset + that.size.width >= that.parentData.width ) {
-			that.size.width = that.parentData.width - woset;
-			if ( pRatio ) {
-				that.size.height = that.size.width / that.aspectRatio;
-				continueResize = false;
-			}
-		}
-
-		if ( hoset + that.size.height >= that.parentData.height ) {
-			that.size.height = that.parentData.height - hoset;
-			if ( pRatio ) {
-				that.size.width = that.size.height * that.aspectRatio;
-				continueResize = false;
-			}
-		}
-
-		if ( !continueResize ) {
-			that.position.left = that.prevPosition.left;
-			that.position.top = that.prevPosition.top;
-			that.size.width = that.prevSize.width;
-			that.size.height = that.prevSize.height;
-		}
-	},
-
-	stop: function() {
-		var that = $( this ).resizable( "instance" ),
-			o = that.options,
-			co = that.containerOffset,
-			cop = that.containerPosition,
-			ce = that.containerElement,
-			helper = $( that.helper ),
-			ho = helper.offset(),
-			w = helper.outerWidth() - that.sizeDiff.width,
-			h = helper.outerHeight() - that.sizeDiff.height;
-
-		if ( that._helper && !o.animate && ( /relative/ ).test( ce.css( "position" ) ) ) {
-			$( this ).css({
-				left: ho.left - cop.left - co.left,
-				width: w,
-				height: h
-			});
-		}
-
-		if ( that._helper && !o.animate && ( /static/ ).test( ce.css( "position" ) ) ) {
-			$( this ).css({
-				left: ho.left - cop.left - co.left,
-				width: w,
-				height: h
-			});
-		}
-	}
-});
-
-$.ui.plugin.add("resizable", "alsoResize", {
-
-	start: function() {
-		var that = $(this).resizable( "instance" ),
-			o = that.options;
-
-		$(o.alsoResize).each(function() {
-			var el = $(this);
-			el.data("ui-resizable-alsoresize", {
-				width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
-				left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10)
-			});
-		});
-	},
-
-	resize: function(event, ui) {
-		var that = $(this).resizable( "instance" ),
-			o = that.options,
-			os = that.originalSize,
-			op = that.originalPosition,
-			delta = {
-				height: (that.size.height - os.height) || 0,
-				width: (that.size.width - os.width) || 0,
-				top: (that.position.top - op.top) || 0,
-				left: (that.position.left - op.left) || 0
-			};
-
-			$(o.alsoResize).each(function() {
-				var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {},
-					css = el.parents(ui.originalElement[0]).length ?
-							[ "width", "height" ] :
-							[ "width", "height", "top", "left" ];
-
-				$.each(css, function(i, prop) {
-					var sum = (start[prop] || 0) + (delta[prop] || 0);
-					if (sum && sum >= 0) {
-						style[prop] = sum || null;
-					}
-				});
-
-				el.css(style);
-			});
-	},
-
-	stop: function() {
-		$(this).removeData("resizable-alsoresize");
-	}
-});
-
-$.ui.plugin.add("resizable", "ghost", {
-
-	start: function() {
-
-		var that = $(this).resizable( "instance" ), o = that.options, cs = that.size;
-
-		that.ghost = that.originalElement.clone();
-		that.ghost
-			.css({
-				opacity: 0.25,
-				display: "block",
-				position: "relative",
-				height: cs.height,
-				width: cs.width,
-				margin: 0,
-				left: 0,
-				top: 0
-			})
-			.addClass("ui-resizable-ghost")
-			.addClass(typeof o.ghost === "string" ? o.ghost : "");
-
-		that.ghost.appendTo(that.helper);
-
-	},
-
-	resize: function() {
-		var that = $(this).resizable( "instance" );
-		if (that.ghost) {
-			that.ghost.css({
-				position: "relative",
-				height: that.size.height,
-				width: that.size.width
-			});
-		}
-	},
-
-	stop: function() {
-		var that = $(this).resizable( "instance" );
-		if (that.ghost && that.helper) {
-			that.helper.get(0).removeChild(that.ghost.get(0));
-		}
-	}
-
-});
-
-$.ui.plugin.add("resizable", "grid", {
-
-	resize: function() {
-		var outerDimensions,
-			that = $(this).resizable( "instance" ),
-			o = that.options,
-			cs = that.size,
-			os = that.originalSize,
-			op = that.originalPosition,
-			a = that.axis,
-			grid = typeof o.grid === "number" ? [ o.grid, o.grid ] : o.grid,
-			gridX = (grid[0] || 1),
-			gridY = (grid[1] || 1),
-			ox = Math.round((cs.width - os.width) / gridX) * gridX,
-			oy = Math.round((cs.height - os.height) / gridY) * gridY,
-			newWidth = os.width + ox,
-			newHeight = os.height + oy,
-			isMaxWidth = o.maxWidth && (o.maxWidth < newWidth),
-			isMaxHeight = o.maxHeight && (o.maxHeight < newHeight),
-			isMinWidth = o.minWidth && (o.minWidth > newWidth),
-			isMinHeight = o.minHeight && (o.minHeight > newHeight);
-
-		o.grid = grid;
-
-		if (isMinWidth) {
-			newWidth += gridX;
-		}
-		if (isMinHeight) {
-			newHeight += gridY;
-		}
-		if (isMaxWidth) {
-			newWidth -= gridX;
-		}
-		if (isMaxHeight) {
-			newHeight -= gridY;
-		}
-
-		if (/^(se|s|e)$/.test(a)) {
-			that.size.width = newWidth;
-			that.size.height = newHeight;
-		} else if (/^(ne)$/.test(a)) {
-			that.size.width = newWidth;
-			that.size.height = newHeight;
-			that.position.top = op.top - oy;
-		} else if (/^(sw)$/.test(a)) {
-			that.size.width = newWidth;
-			that.size.height = newHeight;
-			that.position.left = op.left - ox;
-		} else {
-			if ( newHeight - gridY <= 0 || newWidth - gridX <= 0) {
-				outerDimensions = that._getPaddingPlusBorderDimensions( this );
-			}
-
-			if ( newHeight - gridY > 0 ) {
-				that.size.height = newHeight;
-				that.position.top = op.top - oy;
-			} else {
-				newHeight = gridY - outerDimensions.height;
-				that.size.height = newHeight;
-				that.position.top = op.top + os.height - newHeight;
-			}
-			if ( newWidth - gridX > 0 ) {
-				that.size.width = newWidth;
-				that.position.left = op.left - ox;
-			} else {
-				newWidth = gridX - outerDimensions.width;
-				that.size.width = newWidth;
-				that.position.left = op.left + os.width - newWidth;
-			}
-		}
-	}
-
-});
-
-var resizable = $.ui.resizable;
-
-
-/*!
- * jQuery UI Selectable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/selectable/
- */
-
-
-var selectable = $.widget("ui.selectable", $.ui.mouse, {
-	version: "1.11.4",
-	options: {
-		appendTo: "body",
-		autoRefresh: true,
-		distance: 0,
-		filter: "*",
-		tolerance: "touch",
-
-		// callbacks
-		selected: null,
-		selecting: null,
-		start: null,
-		stop: null,
-		unselected: null,
-		unselecting: null
-	},
-	_create: function() {
-		var selectees,
-			that = this;
-
-		this.element.addClass("ui-selectable");
-
-		this.dragged = false;
-
-		// cache selectee children based on filter
-		this.refresh = function() {
-			selectees = $(that.options.filter, that.element[0]);
-			selectees.addClass("ui-selectee");
-			selectees.each(function() {
-				var $this = $(this),
-					pos = $this.offset();
-				$.data(this, "selectable-item", {
-					element: this,
-					$element: $this,
-					left: pos.left,
-					top: pos.top,
-					right: pos.left + $this.outerWidth(),
-					bottom: pos.top + $this.outerHeight(),
-					startselected: false,
-					selected: $this.hasClass("ui-selected"),
-					selecting: $this.hasClass("ui-selecting"),
-					unselecting: $this.hasClass("ui-unselecting")
-				});
-			});
-		};
-		this.refresh();
-
-		this.selectees = selectees.addClass("ui-selectee");
-
-		this._mouseInit();
-
-		this.helper = $("<div class='ui-selectable-helper'></div>");
-	},
-
-	_destroy: function() {
-		this.selectees
-			.removeClass("ui-selectee")
-			.removeData("selectable-item");
-		this.element
-			.removeClass("ui-selectable ui-selectable-disabled");
-		this._mouseDestroy();
-	},
-
-	_mouseStart: function(event) {
-		var that = this,
-			options = this.options;
-
-		this.opos = [ event.pageX, event.pageY ];
-
-		if (this.options.disabled) {
-			return;
-		}
-
-		this.selectees = $(options.filter, this.element[0]);
-
-		this._trigger("start", event);
-
-		$(options.appendTo).append(this.helper);
-		// position helper (lasso)
-		this.helper.css({
-			"left": event.pageX,
-			"top": event.pageY,
-			"width": 0,
-			"height": 0
-		});
-
-		if (options.autoRefresh) {
-			this.refresh();
-		}
-
-		this.selectees.filter(".ui-selected").each(function() {
-			var selectee = $.data(this, "selectable-item");
-			selectee.startselected = true;
-			if (!event.metaKey && !event.ctrlKey) {
-				selectee.$element.removeClass("ui-selected");
-				selectee.selected = false;
-				selectee.$element.addClass("ui-unselecting");
-				selectee.unselecting = true;
-				// selectable UNSELECTING callback
-				that._trigger("unselecting", event, {
-					unselecting: selectee.element
-				});
-			}
-		});
-
-		$(event.target).parents().addBack().each(function() {
-			var doSelect,
-				selectee = $.data(this, "selectable-item");
-			if (selectee) {
-				doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected");
-				selectee.$element
-					.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
-					.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
-				selectee.unselecting = !doSelect;
-				selectee.selecting = doSelect;
-				selectee.selected = doSelect;
-				// selectable (UN)SELECTING callback
-				if (doSelect) {
-					that._trigger("selecting", event, {
-						selecting: selectee.element
-					});
-				} else {
-					that._trigger("unselecting", event, {
-						unselecting: selectee.element
-					});
-				}
-				return false;
-			}
-		});
-
-	},
-
-	_mouseDrag: function(event) {
-
-		this.dragged = true;
-
-		if (this.options.disabled) {
-			return;
-		}
-
-		var tmp,
-			that = this,
-			options = this.options,
-			x1 = this.opos[0],
-			y1 = this.opos[1],
-			x2 = event.pageX,
-			y2 = event.pageY;
-
-		if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }
-		if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }
-		this.helper.css({ left: x1, top: y1, width: x2 - x1, height: y2 - y1 });
-
-		this.selectees.each(function() {
-			var selectee = $.data(this, "selectable-item"),
-				hit = false;
-
-			//prevent helper from being selected if appendTo: selectable
-			if (!selectee || selectee.element === that.element[0]) {
-				return;
-			}
-
-			if (options.tolerance === "touch") {
-				hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
-			} else if (options.tolerance === "fit") {
-				hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
-			}
-
-			if (hit) {
-				// SELECT
-				if (selectee.selected) {
-					selectee.$element.removeClass("ui-selected");
-					selectee.selected = false;
-				}
-				if (selectee.unselecting) {
-					selectee.$element.removeClass("ui-unselecting");
-					selectee.unselecting = false;
-				}
-				if (!selectee.selecting) {
-					selectee.$element.addClass("ui-selecting");
-					selectee.selecting = true;
-					// selectable SELECTING callback
-					that._trigger("selecting", event, {
-						selecting: selectee.element
-					});
-				}
-			} else {
-				// UNSELECT
-				if (selectee.selecting) {
-					if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
-						selectee.$element.removeClass("ui-selecting");
-						selectee.selecting = false;
-						selectee.$element.addClass("ui-selected");
-						selectee.selected = true;
-					} else {
-						selectee.$element.removeClass("ui-selecting");
-						selectee.selecting = false;
-						if (selectee.startselected) {
-							selectee.$element.addClass("ui-unselecting");
-							selectee.unselecting = true;
-						}
-						// selectable UNSELECTING callback
-						that._trigger("unselecting", event, {
-							unselecting: selectee.element
-						});
-					}
-				}
-				if (selectee.selected) {
-					if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
-						selectee.$element.removeClass("ui-selected");
-						selectee.selected = false;
-
-						selectee.$element.addClass("ui-unselecting");
-						selectee.unselecting = true;
-						// selectable UNSELECTING callback
-						that._trigger("unselecting", event, {
-							unselecting: selectee.element
-						});
-					}
-				}
-			}
-		});
-
-		return false;
-	},
-
-	_mouseStop: function(event) {
-		var that = this;
-
-		this.dragged = false;
-
-		$(".ui-unselecting", this.element[0]).each(function() {
-			var selectee = $.data(this, "selectable-item");
-			selectee.$element.removeClass("ui-unselecting");
-			selectee.unselecting = false;
-			selectee.startselected = false;
-			that._trigger("unselected", event, {
-				unselected: selectee.element
-			});
-		});
-		$(".ui-selecting", this.element[0]).each(function() {
-			var selectee = $.data(this, "selectable-item");
-			selectee.$element.removeClass("ui-selecting").addClass("ui-selected");
-			selectee.selecting = false;
-			selectee.selected = true;
-			selectee.startselected = true;
-			that._trigger("selected", event, {
-				selected: selectee.element
-			});
-		});
-		this._trigger("stop", event);
-
-		this.helper.remove();
-
-		return false;
-	}
-
-});
-
-
-/*!
- * jQuery UI Sortable 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/sortable/
- */
-
-
-var sortable = $.widget("ui.sortable", $.ui.mouse, {
-	version: "1.11.4",
-	widgetEventPrefix: "sort",
-	ready: false,
-	options: {
-		appendTo: "parent",
-		axis: false,
-		connectWith: false,
-		containment: false,
-		cursor: "auto",
-		cursorAt: false,
-		dropOnEmpty: true,
-		forcePlaceholderSize: false,
-		forceHelperSize: false,
-		grid: false,
-		handle: false,
-		helper: "original",
-		items: "> *",
-		opacity: false,
-		placeholder: false,
-		revert: false,
-		scroll: true,
-		scrollSensitivity: 20,
-		scrollSpeed: 20,
-		scope: "default",
-		tolerance: "intersect",
-		zIndex: 1000,
-
-		// callbacks
-		activate: null,
-		beforeStop: null,
-		change: null,
-		deactivate: null,
-		out: null,
-		over: null,
-		receive: null,
-		remove: null,
-		sort: null,
-		start: null,
-		stop: null,
-		update: null
-	},
-
-	_isOverAxis: function( x, reference, size ) {
-		return ( x >= reference ) && ( x < ( reference + size ) );
-	},
-
-	_isFloating: function( item ) {
-		return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display"));
-	},
-
-	_create: function() {
-		this.containerCache = {};
-		this.element.addClass("ui-sortable");
-
-		//Get the items
-		this.refresh();
-
-		//Let's determine the parent's offset
-		this.offset = this.element.offset();
-
-		//Initialize mouse events for interaction
-		this._mouseInit();
-
-		this._setHandleClassName();
-
-		//We're ready to go
-		this.ready = true;
-
-	},
-
-	_setOption: function( key, value ) {
-		this._super( key, value );
-
-		if ( key === "handle" ) {
-			this._setHandleClassName();
-		}
-	},
-
-	_setHandleClassName: function() {
-		this.element.find( ".ui-sortable-handle" ).removeClass( "ui-sortable-handle" );
-		$.each( this.items, function() {
-			( this.instance.options.handle ?
-				this.item.find( this.instance.options.handle ) : this.item )
-				.addClass( "ui-sortable-handle" );
-		});
-	},
-
-	_destroy: function() {
-		this.element
-			.removeClass( "ui-sortable ui-sortable-disabled" )
-			.find( ".ui-sortable-handle" )
-				.removeClass( "ui-sortable-handle" );
-		this._mouseDestroy();
-
-		for ( var i = this.items.length - 1; i >= 0; i-- ) {
-			this.items[i].item.removeData(this.widgetName + "-item");
-		}
-
-		return this;
-	},
-
-	_mouseCapture: function(event, overrideHandle) {
-		var currentItem = null,
-			validHandle = false,
-			that = this;
-
-		if (this.reverting) {
-			return false;
-		}
-
-		if(this.options.disabled || this.options.type === "static") {
-			return false;
-		}
-
-		//We have to refresh the items data once first
-		this._refreshItems(event);
-
-		//Find out if the clicked node (or one of its parents) is a actual item in this.items
-		$(event.target).parents().each(function() {
-			if($.data(this, that.widgetName + "-item") === that) {
-				currentItem = $(this);
-				return false;
-			}
-		});
-		if($.data(event.target, that.widgetName + "-item") === that) {
-			currentItem = $(event.target);
-		}
-
-		if(!currentItem) {
-			return false;
-		}
-		if(this.options.handle && !overrideHandle) {
-			$(this.options.handle, currentItem).find("*").addBack().each(function() {
-				if(this === event.target) {
-					validHandle = true;
-				}
-			});
-			if(!validHandle) {
-				return false;
-			}
-		}
-
-		this.currentItem = currentItem;
-		this._removeCurrentsFromItems();
-		return true;
-
-	},
-
-	_mouseStart: function(event, overrideHandle, noActivation) {
-
-		var i, body,
-			o = this.options;
-
-		this.currentContainer = this;
-
-		//We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture
-		this.refreshPositions();
-
-		//Create and append the visible helper
-		this.helper = this._createHelper(event);
-
-		//Cache the helper size
-		this._cacheHelperProportions();
-
-		/*
-		 * - Position generation -
-		 * This block generates everything position related - it's the core of draggables.
-		 */
-
-		//Cache the margins of the original element
-		this._cacheMargins();
-
-		//Get the next scrolling parent
-		this.scrollParent = this.helper.scrollParent();
-
-		//The element's absolute position on the page minus margins
-		this.offset = this.currentItem.offset();
-		this.offset = {
-			top: this.offset.top - this.margins.top,
-			left: this.offset.left - this.margins.left
-		};
-
-		$.extend(this.offset, {
-			click: { //Where the click happened, relative to the element
-				left: event.pageX - this.offset.left,
-				top: event.pageY - this.offset.top
-			},
-			parent: this._getParentOffset(),
-			relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
-		});
-
-		// Only after we got the offset, we can change the helper's position to absolute
-		// TODO: Still need to figure out a way to make relative sorting possible
-		this.helper.css("position", "absolute");
-		this.cssPosition = this.helper.css("position");
-
-		//Generate the original position
-		this.originalPosition = this._generatePosition(event);
-		this.originalPageX = event.pageX;
-		this.originalPageY = event.pageY;
-
-		//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
-		(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
-
-		//Cache the former DOM position
-		this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
-
-		//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way
-		if(this.helper[0] !== this.currentItem[0]) {
-			this.currentItem.hide();
-		}
-
-		//Create the placeholder
-		this._createPlaceholder();
-
-		//Set a containment if given in the options
-		if(o.containment) {
-			this._setContainment();
-		}
-
-		if( o.cursor && o.cursor !== "auto" ) { // cursor option
-			body = this.document.find( "body" );
-
-			// support: IE
-			this.storedCursor = body.css( "cursor" );
-			body.css( "cursor", o.cursor );
-
-			this.storedStylesheet = $( "<style>*{ cursor: "+o.cursor+" !important; }</style>" ).appendTo( body );
-		}
-
-		if(o.opacity) { // opacity option
-			if (this.helper.css("opacity")) {
-				this._storedOpacity = this.helper.css("opacity");
-			}
-			this.helper.css("opacity", o.opacity);
-		}
-
-		if(o.zIndex) { // zIndex option
-			if (this.helper.css("zIndex")) {
-				this._storedZIndex = this.helper.css("zIndex");
-			}
-			this.helper.css("zIndex", o.zIndex);
-		}
-
-		//Prepare scrolling
-		if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") {
-			this.overflowOffset = this.scrollParent.offset();
-		}
-
-		//Call callbacks
-		this._trigger("start", event, this._uiHash());
-
-		//Recache the helper size
-		if(!this._preserveHelperProportions) {
-			this._cacheHelperProportions();
-		}
-
-
-		//Post "activate" events to possible containers
-		if( !noActivation ) {
-			for ( i = this.containers.length - 1; i >= 0; i-- ) {
-				this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) );
-			}
-		}
-
-		//Prepare possible droppables
-		if($.ui.ddmanager) {
-			$.ui.ddmanager.current = this;
-		}
-
-		if ($.ui.ddmanager && !o.dropBehaviour) {
-			$.ui.ddmanager.prepareOffsets(this, event);
-		}
-
-		this.dragging = true;
-
-		this.helper.addClass("ui-sortable-helper");
-		this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
-		return true;
-
-	},
-
-	_mouseDrag: function(event) {
-		var i, item, itemElement, intersection,
-			o = this.options,
-			scrolled = false;
-
-		//Compute the helpers position
-		this.position = this._generatePosition(event);
-		this.positionAbs = this._convertPositionTo("absolute");
-
-		if (!this.lastPositionAbs) {
-			this.lastPositionAbs = this.positionAbs;
-		}
-
-		//Do scrolling
-		if(this.options.scroll) {
-			if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") {
-
-				if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
-					this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
-				} else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {
-					this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
-				}
-
-				if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
-					this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
-				} else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {
-					this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
-				}
-
-			} else {
-
-				if(event.pageY - this.document.scrollTop() < o.scrollSensitivity) {
-					scrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed);
-				} else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) {
-					scrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed);
-				}
-
-				if(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) {
-					scrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed);
-				} else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) {
-					scrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed);
-				}
-
-			}
-
-			if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
-				$.ui.ddmanager.prepareOffsets(this, event);
-			}
-		}
-
-		//Regenerate the absolute position used for position checks
-		this.positionAbs = this._convertPositionTo("absolute");
-
-		//Set the helper 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";
-		}
-
-		//Rearrange
-		for (i = this.items.length - 1; i >= 0; i--) {
-
-			//Cache variables and intersection, continue if no intersection
-			item = this.items[i];
-			itemElement = item.item[0];
-			intersection = this._intersectsWithPointer(item);
-			if (!intersection) {
-				continue;
-			}
-
-			// Only put the placeholder inside the current Container, skip all
-			// items from other containers. This works because when moving
-			// an item from one container to another the
-			// currentContainer is switched before the placeholder is moved.
-			//
-			// Without this, moving items in "sub-sortables" can cause
-			// the placeholder to jitter between the outer and inner container.
-			if (item.instance !== this.currentContainer) {
-				continue;
-			}
-
-			// cannot intersect with itself
-			// no useless actions that have been done before
-			// no action if the item moved is the parent of the item checked
-			if (itemElement !== this.currentItem[0] &&
-				this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement &&
-				!$.contains(this.placeholder[0], itemElement) &&
-				(this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true)
-			) {
-
-				this.direction = intersection === 1 ? "down" : "up";
-
-				if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) {
-					this._rearrange(event, item);
-				} else {
-					break;
-				}
-
-				this._trigger("change", event, this._uiHash());
-				break;
-			}
-		}
-
-		//Post events to containers
-		this._contactContainers(event);
-
-		//Interconnect with droppables
-		if($.ui.ddmanager) {
-			$.ui.ddmanager.drag(this, event);
-		}
-
-		//Call callbacks
-		this._trigger("sort", event, this._uiHash());
-
-		this.lastPositionAbs = this.positionAbs;
-		return false;
-
-	},
-
-	_mouseStop: function(event, noPropagation) {
-
-		if(!event) {
-			return;
-		}
-
-		//If we are using droppables, inform the manager about the drop
-		if ($.ui.ddmanager && !this.options.dropBehaviour) {
-			$.ui.ddmanager.drop(this, event);
-		}
-
-		if(this.options.revert) {
-			var that = this,
-				cur = this.placeholder.offset(),
-				axis = this.options.axis,
-				animation = {};
-
-			if ( !axis || axis === "x" ) {
-				animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft);
-			}
-			if ( !axis || axis === "y" ) {
-				animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop);
-			}
-			this.reverting = true;
-			$(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() {
-				that._clear(event);
-			});
-		} else {
-			this._clear(event, noPropagation);
-		}
-
-		return false;
-
-	},
-
-	cancel: function() {
-
-		if(this.dragging) {
-
-			this._mouseUp({ target: null });
-
-			if(this.options.helper === "original") {
-				this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
-			} else {
-				this.currentItem.show();
-			}
-
-			//Post deactivating events to containers
-			for (var i = this.containers.length - 1; i >= 0; i--){
-				this.containers[i]._trigger("deactivate", null, this._uiHash(this));
-				if(this.containers[i].containerCache.over) {
-					this.containers[i]._trigger("out", null, this._uiHash(this));
-					this.containers[i].containerCache.over = 0;
-				}
-			}
-
-		}
-
-		if (this.placeholder) {
-			//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
-			if(this.placeholder[0].parentNode) {
-				this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
-			}
-			if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) {
-				this.helper.remove();
-			}
-
-			$.extend(this, {
-				helper: null,
-				dragging: false,
-				reverting: false,
-				_noFinalSort: null
-			});
-
-			if(this.domPosition.prev) {
-				$(this.domPosition.prev).after(this.currentItem);
-			} else {
-				$(this.domPosition.parent).prepend(this.currentItem);
-			}
-		}
-
-		return this;
-
-	},
-
-	serialize: function(o) {
-
-		var items = this._getItemsAsjQuery(o && o.connected),
-			str = [];
-		o = o || {};
-
-		$(items).each(function() {
-			var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));
-			if (res) {
-				str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2]));
-			}
-		});
-
-		if(!str.length && o.key) {
-			str.push(o.key + "=");
-		}
-
-		return str.join("&");
-
-	},
-
-	toArray: function(o) {
-
-		var items = this._getItemsAsjQuery(o && o.connected),
-			ret = [];
-
-		o = o || {};
-
-		items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); });
-		return ret;
-
-	},
-
-	/* Be careful with the following core functions */
-	_intersectsWith: function(item) {
-
-		var x1 = this.positionAbs.left,
-			x2 = x1 + this.helperProportions.width,
-			y1 = this.positionAbs.top,
-			y2 = y1 + this.helperProportions.height,
-			l = item.left,
-			r = l + item.width,
-			t = item.top,
-			b = t + item.height,
-			dyClick = this.offset.click.top,
-			dxClick = this.offset.click.left,
-			isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ),
-			isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ),
-			isOverElement = isOverElementHeight && isOverElementWidth;
-
-		if ( this.options.tolerance === "pointer" ||
-			this.options.forcePointerForContainers ||
-			(this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"])
-		) {
-			return isOverElement;
-		} else {
-
-			return (l < x1 + (this.helperProportions.width / 2) && // Right Half
-				x2 - (this.helperProportions.width / 2) < r && // Left Half
-				t < y1 + (this.helperProportions.height / 2) && // Bottom Half
-				y2 - (this.helperProportions.height / 2) < b ); // Top Half
-
-		}
-	},
-
-	_intersectsWithPointer: function(item) {
-
-		var isOverElementHeight = (this.options.axis === "x") || this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
-			isOverElementWidth = (this.options.axis === "y") || this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
-			isOverElement = isOverElementHeight && isOverElementWidth,
-			verticalDirection = this._getDragVerticalDirection(),
-			horizontalDirection = this._getDragHorizontalDirection();
-
-		if (!isOverElement) {
-			return false;
-		}
-
-		return this.floating ?
-			( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 )
-			: ( verticalDirection && (verticalDirection === "down" ? 2 : 1) );
-
-	},
-
-	_intersectsWithSides: function(item) {
-
-		var isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),
-			isOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),
-			verticalDirection = this._getDragVerticalDirection(),
-			horizontalDirection = this._getDragHorizontalDirection();
-
-		if (this.floating && horizontalDirection) {
-			return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf));
-		} else {
-			return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf));
-		}
-
-	},
-
-	_getDragVerticalDirection: function() {
-		var delta = this.positionAbs.top - this.lastPositionAbs.top;
-		return delta !== 0 && (delta > 0 ? "down" : "up");
-	},
-
-	_getDragHorizontalDirection: function() {
-		var delta = this.positionAbs.left - this.lastPositionAbs.left;
-		return delta !== 0 && (delta > 0 ? "right" : "left");
-	},
-
-	refresh: function(event) {
-		this._refreshItems(event);
-		this._setHandleClassName();
-		this.refreshPositions();
-		return this;
-	},
-
-	_connectWith: function() {
-		var options = this.options;
-		return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;
-	},
-
-	_getItemsAsjQuery: function(connected) {
-
-		var i, j, cur, inst,
-			items = [],
-			queries = [],
-			connectWith = this._connectWith();
-
-		if(connectWith && connected) {
-			for (i = connectWith.length - 1; i >= 0; i--){
-				cur = $(connectWith[i], this.document[0]);
-				for ( j = cur.length - 1; j >= 0; j--){
-					inst = $.data(cur[j], this.widgetFullName);
-					if(inst && inst !== this && !inst.options.disabled) {
-						queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]);
-					}
-				}
-			}
-		}
-
-		queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
-
-		function addItems() {
-			items.push( this );
-		}
-		for (i = queries.length - 1; i >= 0; i--){
-			queries[i][0].each( addItems );
-		}
-
-		return $(items);
-
-	},
-
-	_removeCurrentsFromItems: function() {
-
-		var list = this.currentItem.find(":data(" + this.widgetName + "-item)");
-
-		this.items = $.grep(this.items, function (item) {
-			for (var j=0; j < list.length; j++) {
-				if(list[j] === item.item[0]) {
-					return false;
-				}
-			}
-			return true;
-		});
-
-	},
-
-	_refreshItems: function(event) {
-
-		this.items = [];
-		this.containers = [this];
-
-		var i, j, cur, inst, targetData, _queries, item, queriesLength,
-			items = this.items,
-			queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],
-			connectWith = this._connectWith();
-
-		if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down
-			for (i = connectWith.length - 1; i >= 0; i--){
-				cur = $(connectWith[i], this.document[0]);
-				for (j = cur.length - 1; j >= 0; j--){
-					inst = $.data(cur[j], this.widgetFullName);
-					if(inst && inst !== this && !inst.options.disabled) {
-						queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
-						this.containers.push(inst);
-					}
-				}
-			}
-		}
-
-		for (i = queries.length - 1; i >= 0; i--) {
-			targetData = queries[i][1];
-			_queries = queries[i][0];
-
-			for (j=0, queriesLength = _queries.length; j < queriesLength; j++) {
-				item = $(_queries[j]);
-
-				item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager)
-
-				items.push({
-					item: item,
-					instance: targetData,
-					width: 0, height: 0,
-					left: 0, top: 0
-				});
-			}
-		}
-
-	},
-
-	refreshPositions: function(fast) {
-
-		// Determine whether items are being displayed horizontally
-		this.floating = this.items.length ?
-			this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) :
-			false;
-
-		//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change
-		if(this.offsetParent && this.helper) {
-			this.offset.parent = this._getParentOffset();
-		}
-
-		var i, item, t, p;
-
-		for (i = this.items.length - 1; i >= 0; i--){
-			item = this.items[i];
-
-			//We ignore calculating positions of all connected containers when we're not over them
-			if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {
-				continue;
-			}
-
-			t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;
-
-			if (!fast) {
-				item.width = t.outerWidth();
-				item.height = t.outerHeight();
-			}
-
-			p = t.offset();
-			item.left = p.left;
-			item.top = p.top;
-		}
-
-		if(this.options.custom && this.options.custom.refreshContainers) {
-			this.options.custom.refreshContainers.call(this);
-		} else {
-			for (i = this.containers.length - 1; i >= 0; i--){
-				p = this.containers[i].element.offset();
-				this.containers[i].containerCache.left = p.left;
-				this.containers[i].containerCache.top = p.top;
-				this.containers[i].containerCache.width = this.containers[i].element.outerWidth();
-				this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
-			}
-		}
-
-		return this;
-	},
-
-	_createPlaceholder: function(that) {
-		that = that || this;
-		var className,
-			o = that.options;
-
-		if(!o.placeholder || o.placeholder.constructor === String) {
-			className = o.placeholder;
-			o.placeholder = {
-				element: function() {
-
-					var nodeName = that.currentItem[0].nodeName.toLowerCase(),
-						element = $( "<" + nodeName + ">", that.document[0] )
-							.addClass(className || that.currentItem[0].className+" ui-sortable-placeholder")
-							.removeClass("ui-sortable-helper");
-
-					if ( nodeName === "tbody" ) {
-						that._createTrPlaceholder(
-							that.currentItem.find( "tr" ).eq( 0 ),
-							$( "<tr>", that.document[ 0 ] ).appendTo( element )
-						);
-					} else if ( nodeName === "tr" ) {
-						that._createTrPlaceholder( that.currentItem, element );
-					} else if ( nodeName === "img" ) {
-						element.attr( "src", that.currentItem.attr( "src" ) );
-					}
-
-					if ( !className ) {
-						element.css( "visibility", "hidden" );
-					}
-
-					return element;
-				},
-				update: function(container, p) {
-
-					// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that
-					// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified
-					if(className && !o.forcePlaceholderSize) {
-						return;
-					}
-
-					//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item
-					if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); }
-					if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); }
-				}
-			};
-		}
-
-		//Create the placeholder
-		that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));
-
-		//Append it after the actual current item
-		that.currentItem.after(that.placeholder);
-
-		//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
-		o.placeholder.update(that, that.placeholder);
-
-	},
-
-	_createTrPlaceholder: function( sourceTr, targetTr ) {
-		var that = this;
-
-		sourceTr.children().each(function() {
-			$( "<td>&#160;</td>", that.document[ 0 ] )
-				.attr( "colspan", $( this ).attr( "colspan" ) || 1 )
-				.appendTo( targetTr );
-		});
-	},
-
-	_contactContainers: function(event) {
-		var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis,
-			innermostContainer = null,
-			innermostIndex = null;
-
-		// get innermost container that intersects with item
-		for (i = this.containers.length - 1; i >= 0; i--) {
-
-			// never consider a container that's located within the item itself
-			if($.contains(this.currentItem[0], this.containers[i].element[0])) {
-				continue;
-			}
-
-			if(this._intersectsWith(this.containers[i].containerCache)) {
-
-				// if we've already found a container and it's more "inner" than this, then continue
-				if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) {
-					continue;
-				}
-
-				innermostContainer = this.containers[i];
-				innermostIndex = i;
-
-			} else {
-				// container doesn't intersect. trigger "out" event if necessary
-				if(this.containers[i].containerCache.over) {
-					this.containers[i]._trigger("out", event, this._uiHash(this));
-					this.containers[i].containerCache.over = 0;
-				}
-			}
-
-		}
-
-		// if no intersecting containers found, return
-		if(!innermostContainer) {
-			return;
-		}
-
-		// move the item into the container if it's not there already
-		if(this.containers.length === 1) {
-			if (!this.containers[innermostIndex].containerCache.over) {
-				this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
-				this.containers[innermostIndex].containerCache.over = 1;
-			}
-		} else {
-
-			//When entering a new container, we will find the item with the least distance and append our item near it
-			dist = 10000;
-			itemWithLeastDistance = null;
-			floating = innermostContainer.floating || this._isFloating(this.currentItem);
-			posProperty = floating ? "left" : "top";
-			sizeProperty = floating ? "width" : "height";
-			axis = floating ? "clientX" : "clientY";
-
-			for (j = this.items.length - 1; j >= 0; j--) {
-				if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {
-					continue;
-				}
-				if(this.items[j].item[0] === this.currentItem[0]) {
-					continue;
-				}
-
-				cur = this.items[j].item.offset()[posProperty];
-				nearBottom = false;
-				if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) {
-					nearBottom = true;
-				}
-
-				if ( Math.abs( event[ axis ] - cur ) < dist ) {
-					dist = Math.abs( event[ axis ] - cur );
-					itemWithLeastDistance = this.items[ j ];
-					this.direction = nearBottom ? "up": "down";
-				}
-			}
-
-			//Check if dropOnEmpty is enabled
-			if(!itemWithLeastDistance && !this.options.dropOnEmpty) {
-				return;
-			}
-
-			if(this.currentContainer === this.containers[innermostIndex]) {
-				if ( !this.currentContainer.containerCache.over ) {
-					this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() );
-					this.currentContainer.containerCache.over = 1;
-				}
-				return;
-			}
-
-			itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
-			this._trigger("change", event, this._uiHash());
-			this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
-			this.currentContainer = this.containers[innermostIndex];
-
-			//Update the placeholder
-			this.options.placeholder.update(this.currentContainer, this.placeholder);
-
-			this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
-			this.containers[innermostIndex].containerCache.over = 1;
-		}
-
-
-	},
-
-	_createHelper: function(event) {
-
-		var o = this.options,
-			helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem);
-
-		//Add the helper to the DOM if that didn't happen already
-		if(!helper.parents("body").length) {
-			$(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
-		}
-
-		if(helper[0] === this.currentItem[0]) {
-			this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") };
-		}
-
-		if(!helper[0].style.width || o.forceHelperSize) {
-			helper.width(this.currentItem.width());
-		}
-		if(!helper[0].style.height || o.forceHelperSize) {
-			helper.height(this.currentItem.height());
-		}
-
-		return helper;
-
-	},
-
-	_adjustOffsetFromHelper: function(obj) {
-		if (typeof obj === "string") {
-			obj = obj.split(" ");
-		}
-		if ($.isArray(obj)) {
-			obj = {left: +obj[0], top: +obj[1] || 0};
-		}
-		if ("left" in obj) {
-			this.offset.click.left = obj.left + this.margins.left;
-		}
-		if ("right" in obj) {
-			this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
-		}
-		if ("top" in obj) {
-			this.offset.click.top = obj.top + this.margins.top;
-		}
-		if ("bottom" in obj) {
-			this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
-		}
-	},
-
-	_getParentOffset: function() {
-
-
-		//Get the offsetParent and cache its position
-		this.offsetParent = this.helper.offsetParent();
-		var po = this.offsetParent.offset();
-
-		// This is a special case where we need to modify a offset calculated on start, since the following happened:
-		// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
-		// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
-		//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
-		if(this.cssPosition === "absolute" && this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) {
-			po.left += this.scrollParent.scrollLeft();
-			po.top += this.scrollParent.scrollTop();
-		}
-
-		// This needs to be actually done for all browsers, since pageX/pageY includes this information
-		// with an ugly IE fix
-		if( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
-			po = { top: 0, left: 0 };
-		}
-
-		return {
-			top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
-			left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
-		};
-
-	},
-
-	_getRelativeOffset: function() {
-
-		if(this.cssPosition === "relative") {
-			var p = this.currentItem.position();
-			return {
-				top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
-				left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
-			};
-		} else {
-			return { top: 0, left: 0 };
-		}
-
-	},
-
-	_cacheMargins: function() {
-		this.margins = {
-			left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),
-			top: (parseInt(this.currentItem.css("marginTop"),10) || 0)
-		};
-	},
-
-	_cacheHelperProportions: function() {
-		this.helperProportions = {
-			width: this.helper.outerWidth(),
-			height: this.helper.outerHeight()
-		};
-	},
-
-	_setContainment: function() {
-
-		var ce, co, over,
-			o = this.options;
-		if(o.containment === "parent") {
-			o.containment = this.helper[0].parentNode;
-		}
-		if(o.containment === "document" || o.containment === "window") {
-			this.containment = [
-				0 - this.offset.relative.left - this.offset.parent.left,
-				0 - this.offset.relative.top - this.offset.parent.top,
-				o.containment === "document" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left,
-				(o.containment === "document" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
-			];
-		}
-
-		if(!(/^(document|window|parent)$/).test(o.containment)) {
-			ce = $(o.containment)[0];
-			co = $(o.containment).offset();
-			over = ($(ce).css("overflow") !== "hidden");
-
-			this.containment = [
-				co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
-				co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,
-				co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left,
-				co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top
-			];
-		}
-
-	},
-
-	_convertPositionTo: function(d, pos) {
-
-		if(!pos) {
-			pos = this.position;
-		}
-		var mod = d === "absolute" ? 1 : -1,
-			scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
-			scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
-
-		return {
-			top: (
-				pos.top	+																// The absolute mouse position
-				this.offset.relative.top * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.top * mod -											// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
-			),
-			left: (
-				pos.left +																// The absolute mouse position
-				this.offset.relative.left * mod +										// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.left * mod	-										// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
-			)
-		};
-
-	},
-
-	_generatePosition: function(event) {
-
-		var top, left,
-			o = this.options,
-			pageX = event.pageX,
-			pageY = event.pageY,
-			scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
-
-		// This is another very weird special case that only happens for relative elements:
-		// 1. If the css position is relative
-		// 2. and the scroll parent is the document or similar to the offset parent
-		// we have to refresh the relative offset during the scroll so there are no jumps
-		if(this.cssPosition === "relative" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) {
-			this.offset.relative = this._getRelativeOffset();
-		}
-
-		/*
-		 * - Position constraining -
-		 * Constrain the position to a mix of grid, containment.
-		 */
-
-		if(this.originalPosition) { //If we are not dragging yet, we won't check for options
-
-			if(this.containment) {
-				if(event.pageX - this.offset.click.left < this.containment[0]) {
-					pageX = this.containment[0] + this.offset.click.left;
-				}
-				if(event.pageY - this.offset.click.top < this.containment[1]) {
-					pageY = this.containment[1] + this.offset.click.top;
-				}
-				if(event.pageX - this.offset.click.left > this.containment[2]) {
-					pageX = this.containment[2] + this.offset.click.left;
-				}
-				if(event.pageY - this.offset.click.top > this.containment[3]) {
-					pageY = this.containment[3] + this.offset.click.top;
-				}
-			}
-
-			if(o.grid) {
-				top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
-				pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
-
-				left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
-				pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
-			}
-
-		}
-
-		return {
-			top: (
-				pageY -																// The absolute mouse position
-				this.offset.click.top -													// Click offset (relative to the element)
-				this.offset.relative.top	-											// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.top +												// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
-			),
-			left: (
-				pageX -																// The absolute mouse position
-				this.offset.click.left -												// Click offset (relative to the element)
-				this.offset.relative.left	-											// Only for relative positioned nodes: Relative offset from element to offset parent
-				this.offset.parent.left +												// The offsetParent's offset without borders (offset + border)
-				( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
-			)
-		};
-
-	},
-
-	_rearrange: function(event, i, a, hardRefresh) {
-
-		a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling));
-
-		//Various things done here to improve the performance:
-		// 1. we create a setTimeout, that calls refreshPositions
-		// 2. on the instance, we have a counter variable, that get's higher after every append
-		// 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same
-		// 4. this lets only the last addition to the timeout stack through
-		this.counter = this.counter ? ++this.counter : 1;
-		var counter = this.counter;
-
-		this._delay(function() {
-			if(counter === this.counter) {
-				this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove
-			}
-		});
-
-	},
-
-	_clear: function(event, noPropagation) {
-
-		this.reverting = false;
-		// We delay all events that have to be triggered to after the point where the placeholder has been removed and
-		// everything else normalized again
-		var i,
-			delayedTriggers = [];
-
-		// We first have to update the dom position of the actual currentItem
-		// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
-		if(!this._noFinalSort && this.currentItem.parent().length) {
-			this.placeholder.before(this.currentItem);
-		}
-		this._noFinalSort = null;
-
-		if(this.helper[0] === this.currentItem[0]) {
-			for(i in this._storedCSS) {
-				if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") {
-					this._storedCSS[i] = "";
-				}
-			}
-			this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
-		} else {
-			this.currentItem.show();
-		}
-
-		if(this.fromOutside && !noPropagation) {
-			delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); });
-		}
-		if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {
-			delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed
-		}
-
-		// Check if the items Container has Changed and trigger appropriate
-		// events.
-		if (this !== this.currentContainer) {
-			if(!noPropagation) {
-				delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); });
-				delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); };  }).call(this, this.currentContainer));
-				delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this));  }; }).call(this, this.currentContainer));
-			}
-		}
-
-
-		//Post events to containers
-		function delayEvent( type, instance, container ) {
-			return function( event ) {
-				container._trigger( type, event, instance._uiHash( instance ) );
-			};
-		}
-		for (i = this.containers.length - 1; i >= 0; i--){
-			if (!noPropagation) {
-				delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) );
-			}
-			if(this.containers[i].containerCache.over) {
-				delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) );
-				this.containers[i].containerCache.over = 0;
-			}
-		}
-
-		//Do what was originally in plugins
-		if ( this.storedCursor ) {
-			this.document.find( "body" ).css( "cursor", this.storedCursor );
-			this.storedStylesheet.remove();
-		}
-		if(this._storedOpacity) {
-			this.helper.css("opacity", this._storedOpacity);
-		}
-		if(this._storedZIndex) {
-			this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex);
-		}
-
-		this.dragging = false;
-
-		if(!noPropagation) {
-			this._trigger("beforeStop", event, this._uiHash());
-		}
-
-		//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
-		this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
-
-		if ( !this.cancelHelperRemoval ) {
-			if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {
-				this.helper.remove();
-			}
-			this.helper = null;
-		}
-
-		if(!noPropagation) {
-			for (i=0; i < delayedTriggers.length; i++) {
-				delayedTriggers[i].call(this, event);
-			} //Trigger all delayed events
-			this._trigger("stop", event, this._uiHash());
-		}
-
-		this.fromOutside = false;
-		return !this.cancelHelperRemoval;
-
-	},
-
-	_trigger: function() {
-		if ($.Widget.prototype._trigger.apply(this, arguments) === false) {
-			this.cancel();
-		}
-	},
-
-	_uiHash: function(_inst) {
-		var inst = _inst || this;
-		return {
-			helper: inst.helper,
-			placeholder: inst.placeholder || $([]),
-			position: inst.position,
-			originalPosition: inst.originalPosition,
-			offset: inst.positionAbs,
-			item: inst.currentItem,
-			sender: _inst ? _inst.element : null
-		};
-	}
-
-});
-
-
-/*!
- * jQuery UI Accordion 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/accordion/
- */
-
-
-var accordion = $.widget( "ui.accordion", {
-	version: "1.11.4",
-	options: {
-		active: 0,
-		animate: {},
-		collapsible: false,
-		event: "click",
-		header: "> li > :first-child,> :not(li):even",
-		heightStyle: "auto",
-		icons: {
-			activeHeader: "ui-icon-triangle-1-s",
-			header: "ui-icon-triangle-1-e"
-		},
-
-		// callbacks
-		activate: null,
-		beforeActivate: null
-	},
-
-	hideProps: {
-		borderTopWidth: "hide",
-		borderBottomWidth: "hide",
-		paddingTop: "hide",
-		paddingBottom: "hide",
-		height: "hide"
-	},
-
-	showProps: {
-		borderTopWidth: "show",
-		borderBottomWidth: "show",
-		paddingTop: "show",
-		paddingBottom: "show",
-		height: "show"
-	},
-
-	_create: function() {
-		var options = this.options;
-		this.prevShow = this.prevHide = $();
-		this.element.addClass( "ui-accordion ui-widget ui-helper-reset" )
-			// ARIA
-			.attr( "role", "tablist" );
-
-		// don't allow collapsible: false and active: false / null
-		if ( !options.collapsible && (options.active === false || options.active == null) ) {
-			options.active = 0;
-		}
-
-		this._processPanels();
-		// handle negative values
-		if ( options.active < 0 ) {
-			options.active += this.headers.length;
-		}
-		this._refresh();
-	},
-
-	_getCreateEventData: function() {
-		return {
-			header: this.active,
-			panel: !this.active.length ? $() : this.active.next()
-		};
-	},
-
-	_createIcons: function() {
-		var icons = this.options.icons;
-		if ( icons ) {
-			$( "<span>" )
-				.addClass( "ui-accordion-header-icon ui-icon " + icons.header )
-				.prependTo( this.headers );
-			this.active.children( ".ui-accordion-header-icon" )
-				.removeClass( icons.header )
-				.addClass( icons.activeHeader );
-			this.headers.addClass( "ui-accordion-icons" );
-		}
-	},
-
-	_destroyIcons: function() {
-		this.headers
-			.removeClass( "ui-accordion-icons" )
-			.children( ".ui-accordion-header-icon" )
-				.remove();
-	},
-
-	_destroy: function() {
-		var contents;
-
-		// clean up main element
-		this.element
-			.removeClass( "ui-accordion ui-widget ui-helper-reset" )
-			.removeAttr( "role" );
-
-		// clean up headers
-		this.headers
-			.removeClass( "ui-accordion-header ui-accordion-header-active ui-state-default " +
-				"ui-corner-all ui-state-active ui-state-disabled ui-corner-top" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-expanded" )
-			.removeAttr( "aria-selected" )
-			.removeAttr( "aria-controls" )
-			.removeAttr( "tabIndex" )
-			.removeUniqueId();
-
-		this._destroyIcons();
-
-		// clean up content panels
-		contents = this.headers.next()
-			.removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom " +
-				"ui-accordion-content ui-accordion-content-active ui-state-disabled" )
-			.css( "display", "" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-hidden" )
-			.removeAttr( "aria-labelledby" )
-			.removeUniqueId();
-
-		if ( this.options.heightStyle !== "content" ) {
-			contents.css( "height", "" );
-		}
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "active" ) {
-			// _activate() will handle invalid values and update this.options
-			this._activate( value );
-			return;
-		}
-
-		if ( key === "event" ) {
-			if ( this.options.event ) {
-				this._off( this.headers, this.options.event );
-			}
-			this._setupEvents( value );
-		}
-
-		this._super( key, value );
-
-		// setting collapsible: false while collapsed; open first panel
-		if ( key === "collapsible" && !value && this.options.active === false ) {
-			this._activate( 0 );
-		}
-
-		if ( key === "icons" ) {
-			this._destroyIcons();
-			if ( value ) {
-				this._createIcons();
-			}
-		}
-
-		// #5332 - opacity doesn't cascade to positioned elements in IE
-		// so we need to add the disabled class to the headers and panels
-		if ( key === "disabled" ) {
-			this.element
-				.toggleClass( "ui-state-disabled", !!value )
-				.attr( "aria-disabled", value );
-			this.headers.add( this.headers.next() )
-				.toggleClass( "ui-state-disabled", !!value );
-		}
-	},
-
-	_keydown: function( event ) {
-		if ( event.altKey || event.ctrlKey ) {
-			return;
-		}
-
-		var keyCode = $.ui.keyCode,
-			length = this.headers.length,
-			currentIndex = this.headers.index( event.target ),
-			toFocus = false;
-
-		switch ( event.keyCode ) {
-			case keyCode.RIGHT:
-			case keyCode.DOWN:
-				toFocus = this.headers[ ( currentIndex + 1 ) % length ];
-				break;
-			case keyCode.LEFT:
-			case keyCode.UP:
-				toFocus = this.headers[ ( currentIndex - 1 + length ) % length ];
-				break;
-			case keyCode.SPACE:
-			case keyCode.ENTER:
-				this._eventHandler( event );
-				break;
-			case keyCode.HOME:
-				toFocus = this.headers[ 0 ];
-				break;
-			case keyCode.END:
-				toFocus = this.headers[ length - 1 ];
-				break;
-		}
-
-		if ( toFocus ) {
-			$( event.target ).attr( "tabIndex", -1 );
-			$( toFocus ).attr( "tabIndex", 0 );
-			toFocus.focus();
-			event.preventDefault();
-		}
-	},
-
-	_panelKeyDown: function( event ) {
-		if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {
-			$( event.currentTarget ).prev().focus();
-		}
-	},
-
-	refresh: function() {
-		var options = this.options;
-		this._processPanels();
-
-		// was collapsed or no panel
-		if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) {
-			options.active = false;
-			this.active = $();
-		// active false only when collapsible is true
-		} else if ( options.active === false ) {
-			this._activate( 0 );
-		// was active, but active panel is gone
-		} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
-			// all remaining panel are disabled
-			if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) {
-				options.active = false;
-				this.active = $();
-			// activate previous panel
-			} else {
-				this._activate( Math.max( 0, options.active - 1 ) );
-			}
-		// was active, active panel still exists
-		} else {
-			// make sure active index is correct
-			options.active = this.headers.index( this.active );
-		}
-
-		this._destroyIcons();
-
-		this._refresh();
-	},
-
-	_processPanels: function() {
-		var prevHeaders = this.headers,
-			prevPanels = this.panels;
-
-		this.headers = this.element.find( this.options.header )
-			.addClass( "ui-accordion-header ui-state-default ui-corner-all" );
-
-		this.panels = this.headers.next()
-			.addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" )
-			.filter( ":not(.ui-accordion-content-active)" )
-			.hide();
-
-		// Avoid memory leaks (#10056)
-		if ( prevPanels ) {
-			this._off( prevHeaders.not( this.headers ) );
-			this._off( prevPanels.not( this.panels ) );
-		}
-	},
-
-	_refresh: function() {
-		var maxHeight,
-			options = this.options,
-			heightStyle = options.heightStyle,
-			parent = this.element.parent();
-
-		this.active = this._findActive( options.active )
-			.addClass( "ui-accordion-header-active ui-state-active ui-corner-top" )
-			.removeClass( "ui-corner-all" );
-		this.active.next()
-			.addClass( "ui-accordion-content-active" )
-			.show();
-
-		this.headers
-			.attr( "role", "tab" )
-			.each(function() {
-				var header = $( this ),
-					headerId = header.uniqueId().attr( "id" ),
-					panel = header.next(),
-					panelId = panel.uniqueId().attr( "id" );
-				header.attr( "aria-controls", panelId );
-				panel.attr( "aria-labelledby", headerId );
-			})
-			.next()
-				.attr( "role", "tabpanel" );
-
-		this.headers
-			.not( this.active )
-			.attr({
-				"aria-selected": "false",
-				"aria-expanded": "false",
-				tabIndex: -1
-			})
-			.next()
-				.attr({
-					"aria-hidden": "true"
-				})
-				.hide();
-
-		// make sure at least one header is in the tab order
-		if ( !this.active.length ) {
-			this.headers.eq( 0 ).attr( "tabIndex", 0 );
-		} else {
-			this.active.attr({
-				"aria-selected": "true",
-				"aria-expanded": "true",
-				tabIndex: 0
-			})
-			.next()
-				.attr({
-					"aria-hidden": "false"
-				});
-		}
-
-		this._createIcons();
-
-		this._setupEvents( options.event );
-
-		if ( heightStyle === "fill" ) {
-			maxHeight = parent.height();
-			this.element.siblings( ":visible" ).each(function() {
-				var elem = $( this ),
-					position = elem.css( "position" );
-
-				if ( position === "absolute" || position === "fixed" ) {
-					return;
-				}
-				maxHeight -= elem.outerHeight( true );
-			});
-
-			this.headers.each(function() {
-				maxHeight -= $( this ).outerHeight( true );
-			});
-
-			this.headers.next()
-				.each(function() {
-					$( this ).height( Math.max( 0, maxHeight -
-						$( this ).innerHeight() + $( this ).height() ) );
-				})
-				.css( "overflow", "auto" );
-		} else if ( heightStyle === "auto" ) {
-			maxHeight = 0;
-			this.headers.next()
-				.each(function() {
-					maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() );
-				})
-				.height( maxHeight );
-		}
-	},
-
-	_activate: function( index ) {
-		var active = this._findActive( index )[ 0 ];
-
-		// trying to activate the already active panel
-		if ( active === this.active[ 0 ] ) {
-			return;
-		}
-
-		// trying to collapse, simulate a click on the currently active header
-		active = active || this.active[ 0 ];
-
-		this._eventHandler({
-			target: active,
-			currentTarget: active,
-			preventDefault: $.noop
-		});
-	},
-
-	_findActive: function( selector ) {
-		return typeof selector === "number" ? this.headers.eq( selector ) : $();
-	},
-
-	_setupEvents: function( event ) {
-		var events = {
-			keydown: "_keydown"
-		};
-		if ( event ) {
-			$.each( event.split( " " ), function( index, eventName ) {
-				events[ eventName ] = "_eventHandler";
-			});
-		}
-
-		this._off( this.headers.add( this.headers.next() ) );
-		this._on( this.headers, events );
-		this._on( this.headers.next(), { keydown: "_panelKeyDown" });
-		this._hoverable( this.headers );
-		this._focusable( this.headers );
-	},
-
-	_eventHandler: function( event ) {
-		var options = this.options,
-			active = this.active,
-			clicked = $( event.currentTarget ),
-			clickedIsActive = clicked[ 0 ] === active[ 0 ],
-			collapsing = clickedIsActive && options.collapsible,
-			toShow = collapsing ? $() : clicked.next(),
-			toHide = active.next(),
-			eventData = {
-				oldHeader: active,
-				oldPanel: toHide,
-				newHeader: collapsing ? $() : clicked,
-				newPanel: toShow
-			};
-
-		event.preventDefault();
-
-		if (
-				// click on active header, but not collapsible
-				( clickedIsActive && !options.collapsible ) ||
-				// allow canceling activation
-				( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
-			return;
-		}
-
-		options.active = collapsing ? false : this.headers.index( clicked );
-
-		// when the call to ._toggle() comes after the class changes
-		// it causes a very odd bug in IE 8 (see #6720)
-		this.active = clickedIsActive ? $() : clicked;
-		this._toggle( eventData );
-
-		// switch classes
-		// corner classes on the previously active header stay after the animation
-		active.removeClass( "ui-accordion-header-active ui-state-active" );
-		if ( options.icons ) {
-			active.children( ".ui-accordion-header-icon" )
-				.removeClass( options.icons.activeHeader )
-				.addClass( options.icons.header );
-		}
-
-		if ( !clickedIsActive ) {
-			clicked
-				.removeClass( "ui-corner-all" )
-				.addClass( "ui-accordion-header-active ui-state-active ui-corner-top" );
-			if ( options.icons ) {
-				clicked.children( ".ui-accordion-header-icon" )
-					.removeClass( options.icons.header )
-					.addClass( options.icons.activeHeader );
-			}
-
-			clicked
-				.next()
-				.addClass( "ui-accordion-content-active" );
-		}
-	},
-
-	_toggle: function( data ) {
-		var toShow = data.newPanel,
-			toHide = this.prevShow.length ? this.prevShow : data.oldPanel;
-
-		// handle activating a panel during the animation for another activation
-		this.prevShow.add( this.prevHide ).stop( true, true );
-		this.prevShow = toShow;
-		this.prevHide = toHide;
-
-		if ( this.options.animate ) {
-			this._animate( toShow, toHide, data );
-		} else {
-			toHide.hide();
-			toShow.show();
-			this._toggleComplete( data );
-		}
-
-		toHide.attr({
-			"aria-hidden": "true"
-		});
-		toHide.prev().attr({
-			"aria-selected": "false",
-			"aria-expanded": "false"
-		});
-		// if we're switching panels, remove the old header from the tab order
-		// if we're opening from collapsed state, remove the previous header from the tab order
-		// if we're collapsing, then keep the collapsing header in the tab order
-		if ( toShow.length && toHide.length ) {
-			toHide.prev().attr({
-				"tabIndex": -1,
-				"aria-expanded": "false"
-			});
-		} else if ( toShow.length ) {
-			this.headers.filter(function() {
-				return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0;
-			})
-			.attr( "tabIndex", -1 );
-		}
-
-		toShow
-			.attr( "aria-hidden", "false" )
-			.prev()
-				.attr({
-					"aria-selected": "true",
-					"aria-expanded": "true",
-					tabIndex: 0
-				});
-	},
-
-	_animate: function( toShow, toHide, data ) {
-		var total, easing, duration,
-			that = this,
-			adjust = 0,
-			boxSizing = toShow.css( "box-sizing" ),
-			down = toShow.length &&
-				( !toHide.length || ( toShow.index() < toHide.index() ) ),
-			animate = this.options.animate || {},
-			options = down && animate.down || animate,
-			complete = function() {
-				that._toggleComplete( data );
-			};
-
-		if ( typeof options === "number" ) {
-			duration = options;
-		}
-		if ( typeof options === "string" ) {
-			easing = options;
-		}
-		// fall back from options to animation in case of partial down settings
-		easing = easing || options.easing || animate.easing;
-		duration = duration || options.duration || animate.duration;
-
-		if ( !toHide.length ) {
-			return toShow.animate( this.showProps, duration, easing, complete );
-		}
-		if ( !toShow.length ) {
-			return toHide.animate( this.hideProps, duration, easing, complete );
-		}
-
-		total = toShow.show().outerHeight();
-		toHide.animate( this.hideProps, {
-			duration: duration,
-			easing: easing,
-			step: function( now, fx ) {
-				fx.now = Math.round( now );
-			}
-		});
-		toShow
-			.hide()
-			.animate( this.showProps, {
-				duration: duration,
-				easing: easing,
-				complete: complete,
-				step: function( now, fx ) {
-					fx.now = Math.round( now );
-					if ( fx.prop !== "height" ) {
-						if ( boxSizing === "content-box" ) {
-							adjust += fx.now;
-						}
-					} else if ( that.options.heightStyle !== "content" ) {
-						fx.now = Math.round( total - toHide.outerHeight() - adjust );
-						adjust = 0;
-					}
-				}
-			});
-	},
-
-	_toggleComplete: function( data ) {
-		var toHide = data.oldPanel;
-
-		toHide
-			.removeClass( "ui-accordion-content-active" )
-			.prev()
-				.removeClass( "ui-corner-top" )
-				.addClass( "ui-corner-all" );
-
-		// Work around for rendering bug in IE (#5421)
-		if ( toHide.length ) {
-			toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className;
-		}
-		this._trigger( "activate", null, data );
-	}
-});
-
-
-/*!
- * jQuery UI Menu 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/menu/
- */
-
-
-var menu = $.widget( "ui.menu", {
-	version: "1.11.4",
-	defaultElement: "<ul>",
-	delay: 300,
-	options: {
-		icons: {
-			submenu: "ui-icon-carat-1-e"
-		},
-		items: "> *",
-		menus: "ul",
-		position: {
-			my: "left-1 top",
-			at: "right top"
-		},
-		role: "menu",
-
-		// callbacks
-		blur: null,
-		focus: null,
-		select: null
-	},
-
-	_create: function() {
-		this.activeMenu = this.element;
-
-		// Flag used to prevent firing of the click handler
-		// as the event bubbles up through nested menus
-		this.mouseHandled = false;
-		this.element
-			.uniqueId()
-			.addClass( "ui-menu ui-widget ui-widget-content" )
-			.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length )
-			.attr({
-				role: this.options.role,
-				tabIndex: 0
-			});
-
-		if ( this.options.disabled ) {
-			this.element
-				.addClass( "ui-state-disabled" )
-				.attr( "aria-disabled", "true" );
-		}
-
-		this._on({
-			// Prevent focus from sticking to links inside menu after clicking
-			// them (focus should always stay on UL during navigation).
-			"mousedown .ui-menu-item": function( event ) {
-				event.preventDefault();
-			},
-			"click .ui-menu-item": function( event ) {
-				var target = $( event.target );
-				if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
-					this.select( event );
-
-					// Only set the mouseHandled flag if the event will bubble, see #9469.
-					if ( !event.isPropagationStopped() ) {
-						this.mouseHandled = true;
-					}
-
-					// Open submenu on click
-					if ( target.has( ".ui-menu" ).length ) {
-						this.expand( event );
-					} else if ( !this.element.is( ":focus" ) && $( this.document[ 0 ].activeElement ).closest( ".ui-menu" ).length ) {
-
-						// Redirect focus to the menu
-						this.element.trigger( "focus", [ true ] );
-
-						// If the active item is on the top level, let it stay active.
-						// Otherwise, blur the active item since it is no longer visible.
-						if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) {
-							clearTimeout( this.timer );
-						}
-					}
-				}
-			},
-			"mouseenter .ui-menu-item": function( event ) {
-				// Ignore mouse events while typeahead is active, see #10458.
-				// Prevents focusing the wrong item when typeahead causes a scroll while the mouse
-				// is over an item in the menu
-				if ( this.previousFilter ) {
-					return;
-				}
-				var target = $( event.currentTarget );
-				// Remove ui-state-active class from siblings of the newly focused menu item
-				// to avoid a jump caused by adjacent elements both having a class with a border
-				target.siblings( ".ui-state-active" ).removeClass( "ui-state-active" );
-				this.focus( event, target );
-			},
-			mouseleave: "collapseAll",
-			"mouseleave .ui-menu": "collapseAll",
-			focus: function( event, keepActiveItem ) {
-				// If there's already an active item, keep it active
-				// If not, activate the first item
-				var item = this.active || this.element.find( this.options.items ).eq( 0 );
-
-				if ( !keepActiveItem ) {
-					this.focus( event, item );
-				}
-			},
-			blur: function( event ) {
-				this._delay(function() {
-					if ( !$.contains( this.element[0], this.document[0].activeElement ) ) {
-						this.collapseAll( event );
-					}
-				});
-			},
-			keydown: "_keydown"
-		});
-
-		this.refresh();
-
-		// Clicks outside of a menu collapse any open menus
-		this._on( this.document, {
-			click: function( event ) {
-				if ( this._closeOnDocumentClick( event ) ) {
-					this.collapseAll( event );
-				}
-
-				// Reset the mouseHandled flag
-				this.mouseHandled = false;
-			}
-		});
-	},
-
-	_destroy: function() {
-		// Destroy (sub)menus
-		this.element
-			.removeAttr( "aria-activedescendant" )
-			.find( ".ui-menu" ).addBack()
-				.removeClass( "ui-menu ui-widget ui-widget-content ui-menu-icons ui-front" )
-				.removeAttr( "role" )
-				.removeAttr( "tabIndex" )
-				.removeAttr( "aria-labelledby" )
-				.removeAttr( "aria-expanded" )
-				.removeAttr( "aria-hidden" )
-				.removeAttr( "aria-disabled" )
-				.removeUniqueId()
-				.show();
-
-		// Destroy menu items
-		this.element.find( ".ui-menu-item" )
-			.removeClass( "ui-menu-item" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-disabled" )
-			.removeUniqueId()
-			.removeClass( "ui-state-hover" )
-			.removeAttr( "tabIndex" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-haspopup" )
-			.children().each( function() {
-				var elem = $( this );
-				if ( elem.data( "ui-menu-submenu-carat" ) ) {
-					elem.remove();
-				}
-			});
-
-		// Destroy menu dividers
-		this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
-	},
-
-	_keydown: function( event ) {
-		var match, prev, character, skip,
-			preventDefault = true;
-
-		switch ( event.keyCode ) {
-		case $.ui.keyCode.PAGE_UP:
-			this.previousPage( event );
-			break;
-		case $.ui.keyCode.PAGE_DOWN:
-			this.nextPage( event );
-			break;
-		case $.ui.keyCode.HOME:
-			this._move( "first", "first", event );
-			break;
-		case $.ui.keyCode.END:
-			this._move( "last", "last", event );
-			break;
-		case $.ui.keyCode.UP:
-			this.previous( event );
-			break;
-		case $.ui.keyCode.DOWN:
-			this.next( event );
-			break;
-		case $.ui.keyCode.LEFT:
-			this.collapse( event );
-			break;
-		case $.ui.keyCode.RIGHT:
-			if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
-				this.expand( event );
-			}
-			break;
-		case $.ui.keyCode.ENTER:
-		case $.ui.keyCode.SPACE:
-			this._activate( event );
-			break;
-		case $.ui.keyCode.ESCAPE:
-			this.collapse( event );
-			break;
-		default:
-			preventDefault = false;
-			prev = this.previousFilter || "";
-			character = String.fromCharCode( event.keyCode );
-			skip = false;
-
-			clearTimeout( this.filterTimer );
-
-			if ( character === prev ) {
-				skip = true;
-			} else {
-				character = prev + character;
-			}
-
-			match = this._filterMenuItems( character );
-			match = skip && match.index( this.active.next() ) !== -1 ?
-				this.active.nextAll( ".ui-menu-item" ) :
-				match;
-
-			// If no matches on the current filter, reset to the last character pressed
-			// to move down the menu to the first item that starts with that character
-			if ( !match.length ) {
-				character = String.fromCharCode( event.keyCode );
-				match = this._filterMenuItems( character );
-			}
-
-			if ( match.length ) {
-				this.focus( event, match );
-				this.previousFilter = character;
-				this.filterTimer = this._delay(function() {
-					delete this.previousFilter;
-				}, 1000 );
-			} else {
-				delete this.previousFilter;
-			}
-		}
-
-		if ( preventDefault ) {
-			event.preventDefault();
-		}
-	},
-
-	_activate: function( event ) {
-		if ( !this.active.is( ".ui-state-disabled" ) ) {
-			if ( this.active.is( "[aria-haspopup='true']" ) ) {
-				this.expand( event );
-			} else {
-				this.select( event );
-			}
-		}
-	},
-
-	refresh: function() {
-		var menus, items,
-			that = this,
-			icon = this.options.icons.submenu,
-			submenus = this.element.find( this.options.menus );
-
-		this.element.toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length );
-
-		// Initialize nested menus
-		submenus.filter( ":not(.ui-menu)" )
-			.addClass( "ui-menu ui-widget ui-widget-content ui-front" )
-			.hide()
-			.attr({
-				role: this.options.role,
-				"aria-hidden": "true",
-				"aria-expanded": "false"
-			})
-			.each(function() {
-				var menu = $( this ),
-					item = menu.parent(),
-					submenuCarat = $( "<span>" )
-						.addClass( "ui-menu-icon ui-icon " + icon )
-						.data( "ui-menu-submenu-carat", true );
-
-				item
-					.attr( "aria-haspopup", "true" )
-					.prepend( submenuCarat );
-				menu.attr( "aria-labelledby", item.attr( "id" ) );
-			});
-
-		menus = submenus.add( this.element );
-		items = menus.find( this.options.items );
-
-		// Initialize menu-items containing spaces and/or dashes only as dividers
-		items.not( ".ui-menu-item" ).each(function() {
-			var item = $( this );
-			if ( that._isDivider( item ) ) {
-				item.addClass( "ui-widget-content ui-menu-divider" );
-			}
-		});
-
-		// Don't refresh list items that are already adapted
-		items.not( ".ui-menu-item, .ui-menu-divider" )
-			.addClass( "ui-menu-item" )
-			.uniqueId()
-			.attr({
-				tabIndex: -1,
-				role: this._itemRole()
-			});
-
-		// Add aria-disabled attribute to any disabled menu item
-		items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
-
-		// If the active item has been removed, blur the menu
-		if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
-			this.blur();
-		}
-	},
-
-	_itemRole: function() {
-		return {
-			menu: "menuitem",
-			listbox: "option"
-		}[ this.options.role ];
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "icons" ) {
-			this.element.find( ".ui-menu-icon" )
-				.removeClass( this.options.icons.submenu )
-				.addClass( value.submenu );
-		}
-		if ( key === "disabled" ) {
-			this.element
-				.toggleClass( "ui-state-disabled", !!value )
-				.attr( "aria-disabled", value );
-		}
-		this._super( key, value );
-	},
-
-	focus: function( event, item ) {
-		var nested, focused;
-		this.blur( event, event && event.type === "focus" );
-
-		this._scrollIntoView( item );
-
-		this.active = item.first();
-		focused = this.active.addClass( "ui-state-focus" ).removeClass( "ui-state-active" );
-		// Only update aria-activedescendant if there's a role
-		// otherwise we assume focus is managed elsewhere
-		if ( this.options.role ) {
-			this.element.attr( "aria-activedescendant", focused.attr( "id" ) );
-		}
-
-		// Highlight active parent menu item, if any
-		this.active
-			.parent()
-			.closest( ".ui-menu-item" )
-			.addClass( "ui-state-active" );
-
-		if ( event && event.type === "keydown" ) {
-			this._close();
-		} else {
-			this.timer = this._delay(function() {
-				this._close();
-			}, this.delay );
-		}
-
-		nested = item.children( ".ui-menu" );
-		if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {
-			this._startOpening(nested);
-		}
-		this.activeMenu = item.parent();
-
-		this._trigger( "focus", event, { item: item } );
-	},
-
-	_scrollIntoView: function( item ) {
-		var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
-		if ( this._hasScroll() ) {
-			borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0;
-			paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0;
-			offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
-			scroll = this.activeMenu.scrollTop();
-			elementHeight = this.activeMenu.height();
-			itemHeight = item.outerHeight();
-
-			if ( offset < 0 ) {
-				this.activeMenu.scrollTop( scroll + offset );
-			} else if ( offset + itemHeight > elementHeight ) {
-				this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
-			}
-		}
-	},
-
-	blur: function( event, fromFocus ) {
-		if ( !fromFocus ) {
-			clearTimeout( this.timer );
-		}
-
-		if ( !this.active ) {
-			return;
-		}
-
-		this.active.removeClass( "ui-state-focus" );
-		this.active = null;
-
-		this._trigger( "blur", event, { item: this.active } );
-	},
-
-	_startOpening: function( submenu ) {
-		clearTimeout( this.timer );
-
-		// Don't open if already open fixes a Firefox bug that caused a .5 pixel
-		// shift in the submenu position when mousing over the carat icon
-		if ( submenu.attr( "aria-hidden" ) !== "true" ) {
-			return;
-		}
-
-		this.timer = this._delay(function() {
-			this._close();
-			this._open( submenu );
-		}, this.delay );
-	},
-
-	_open: function( submenu ) {
-		var position = $.extend({
-			of: this.active
-		}, this.options.position );
-
-		clearTimeout( this.timer );
-		this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) )
-			.hide()
-			.attr( "aria-hidden", "true" );
-
-		submenu
-			.show()
-			.removeAttr( "aria-hidden" )
-			.attr( "aria-expanded", "true" )
-			.position( position );
-	},
-
-	collapseAll: function( event, all ) {
-		clearTimeout( this.timer );
-		this.timer = this._delay(function() {
-			// If we were passed an event, look for the submenu that contains the event
-			var currentMenu = all ? this.element :
-				$( event && event.target ).closest( this.element.find( ".ui-menu" ) );
-
-			// If we found no valid submenu ancestor, use the main menu to close all sub menus anyway
-			if ( !currentMenu.length ) {
-				currentMenu = this.element;
-			}
-
-			this._close( currentMenu );
-
-			this.blur( event );
-			this.activeMenu = currentMenu;
-		}, this.delay );
-	},
-
-	// With no arguments, closes the currently active menu - if nothing is active
-	// it closes all menus.  If passed an argument, it will search for menus BELOW
-	_close: function( startMenu ) {
-		if ( !startMenu ) {
-			startMenu = this.active ? this.active.parent() : this.element;
-		}
-
-		startMenu
-			.find( ".ui-menu" )
-				.hide()
-				.attr( "aria-hidden", "true" )
-				.attr( "aria-expanded", "false" )
-			.end()
-			.find( ".ui-state-active" ).not( ".ui-state-focus" )
-				.removeClass( "ui-state-active" );
-	},
-
-	_closeOnDocumentClick: function( event ) {
-		return !$( event.target ).closest( ".ui-menu" ).length;
-	},
-
-	_isDivider: function( item ) {
-
-		// Match hyphen, em dash, en dash
-		return !/[^\-\u2014\u2013\s]/.test( item.text() );
-	},
-
-	collapse: function( event ) {
-		var newItem = this.active &&
-			this.active.parent().closest( ".ui-menu-item", this.element );
-		if ( newItem && newItem.length ) {
-			this._close();
-			this.focus( event, newItem );
-		}
-	},
-
-	expand: function( event ) {
-		var newItem = this.active &&
-			this.active
-				.children( ".ui-menu " )
-				.find( this.options.items )
-				.first();
-
-		if ( newItem && newItem.length ) {
-			this._open( newItem.parent() );
-
-			// Delay so Firefox will not hide activedescendant change in expanding submenu from AT
-			this._delay(function() {
-				this.focus( event, newItem );
-			});
-		}
-	},
-
-	next: function( event ) {
-		this._move( "next", "first", event );
-	},
-
-	previous: function( event ) {
-		this._move( "prev", "last", event );
-	},
-
-	isFirstItem: function() {
-		return this.active && !this.active.prevAll( ".ui-menu-item" ).length;
-	},
-
-	isLastItem: function() {
-		return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
-	},
-
-	_move: function( direction, filter, event ) {
-		var next;
-		if ( this.active ) {
-			if ( direction === "first" || direction === "last" ) {
-				next = this.active
-					[ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
-					.eq( -1 );
-			} else {
-				next = this.active
-					[ direction + "All" ]( ".ui-menu-item" )
-					.eq( 0 );
-			}
-		}
-		if ( !next || !next.length || !this.active ) {
-			next = this.activeMenu.find( this.options.items )[ filter ]();
-		}
-
-		this.focus( event, next );
-	},
-
-	nextPage: function( event ) {
-		var item, base, height;
-
-		if ( !this.active ) {
-			this.next( event );
-			return;
-		}
-		if ( this.isLastItem() ) {
-			return;
-		}
-		if ( this._hasScroll() ) {
-			base = this.active.offset().top;
-			height = this.element.height();
-			this.active.nextAll( ".ui-menu-item" ).each(function() {
-				item = $( this );
-				return item.offset().top - base - height < 0;
-			});
-
-			this.focus( event, item );
-		} else {
-			this.focus( event, this.activeMenu.find( this.options.items )
-				[ !this.active ? "first" : "last" ]() );
-		}
-	},
-
-	previousPage: function( event ) {
-		var item, base, height;
-		if ( !this.active ) {
-			this.next( event );
-			return;
-		}
-		if ( this.isFirstItem() ) {
-			return;
-		}
-		if ( this._hasScroll() ) {
-			base = this.active.offset().top;
-			height = this.element.height();
-			this.active.prevAll( ".ui-menu-item" ).each(function() {
-				item = $( this );
-				return item.offset().top - base + height > 0;
-			});
-
-			this.focus( event, item );
-		} else {
-			this.focus( event, this.activeMenu.find( this.options.items ).first() );
-		}
-	},
-
-	_hasScroll: function() {
-		return this.element.outerHeight() < this.element.prop( "scrollHeight" );
-	},
-
-	select: function( event ) {
-		// TODO: It should never be possible to not have an active item at this
-		// point, but the tests don't trigger mouseenter before click.
-		this.active = this.active || $( event.target ).closest( ".ui-menu-item" );
-		var ui = { item: this.active };
-		if ( !this.active.has( ".ui-menu" ).length ) {
-			this.collapseAll( event, true );
-		}
-		this._trigger( "select", event, ui );
-	},
-
-	_filterMenuItems: function(character) {
-		var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ),
-			regex = new RegExp( "^" + escapedCharacter, "i" );
-
-		return this.activeMenu
-			.find( this.options.items )
-
-			// Only match on items, not dividers or other content (#10571)
-			.filter( ".ui-menu-item" )
-			.filter(function() {
-				return regex.test( $.trim( $( this ).text() ) );
-			});
-	}
-});
-
-
-/*!
- * jQuery UI Autocomplete 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/autocomplete/
- */
-
-
-$.widget( "ui.autocomplete", {
-	version: "1.11.4",
-	defaultElement: "<input>",
-	options: {
-		appendTo: null,
-		autoFocus: false,
-		delay: 300,
-		minLength: 1,
-		position: {
-			my: "left top",
-			at: "left bottom",
-			collision: "none"
-		},
-		source: null,
-
-		// callbacks
-		change: null,
-		close: null,
-		focus: null,
-		open: null,
-		response: null,
-		search: null,
-		select: null
-	},
-
-	requestIndex: 0,
-	pending: 0,
-
-	_create: function() {
-		// Some browsers only repeat keydown events, not keypress events,
-		// so we use the suppressKeyPress flag to determine if we've already
-		// handled the keydown event. #7269
-		// Unfortunately the code for & in keypress is the same as the up arrow,
-		// so we use the suppressKeyPressRepeat flag to avoid handling keypress
-		// events when we know the keydown event was used to modify the
-		// search term. #7799
-		var suppressKeyPress, suppressKeyPressRepeat, suppressInput,
-			nodeName = this.element[ 0 ].nodeName.toLowerCase(),
-			isTextarea = nodeName === "textarea",
-			isInput = nodeName === "input";
-
-		this.isMultiLine =
-			// Textareas are always multi-line
-			isTextarea ? true :
-			// Inputs are always single-line, even if inside a contentEditable element
-			// IE also treats inputs as contentEditable
-			isInput ? false :
-			// All other element types are determined by whether or not they're contentEditable
-			this.element.prop( "isContentEditable" );
-
-		this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ];
-		this.isNewMenu = true;
-
-		this.element
-			.addClass( "ui-autocomplete-input" )
-			.attr( "autocomplete", "off" );
-
-		this._on( this.element, {
-			keydown: function( event ) {
-				if ( this.element.prop( "readOnly" ) ) {
-					suppressKeyPress = true;
-					suppressInput = true;
-					suppressKeyPressRepeat = true;
-					return;
-				}
-
-				suppressKeyPress = false;
-				suppressInput = false;
-				suppressKeyPressRepeat = false;
-				var keyCode = $.ui.keyCode;
-				switch ( event.keyCode ) {
-				case keyCode.PAGE_UP:
-					suppressKeyPress = true;
-					this._move( "previousPage", event );
-					break;
-				case keyCode.PAGE_DOWN:
-					suppressKeyPress = true;
-					this._move( "nextPage", event );
-					break;
-				case keyCode.UP:
-					suppressKeyPress = true;
-					this._keyEvent( "previous", event );
-					break;
-				case keyCode.DOWN:
-					suppressKeyPress = true;
-					this._keyEvent( "next", event );
-					break;
-				case keyCode.ENTER:
-					// when menu is open and has focus
-					if ( this.menu.active ) {
-						// #6055 - Opera still allows the keypress to occur
-						// which causes forms to submit
-						suppressKeyPress = true;
-						event.preventDefault();
-						this.menu.select( event );
-					}
-					break;
-				case keyCode.TAB:
-					if ( this.menu.active ) {
-						this.menu.select( event );
-					}
-					break;
-				case keyCode.ESCAPE:
-					if ( this.menu.element.is( ":visible" ) ) {
-						if ( !this.isMultiLine ) {
-							this._value( this.term );
-						}
-						this.close( event );
-						// Different browsers have different default behavior for escape
-						// Single press can mean undo or clear
-						// Double press in IE means clear the whole form
-						event.preventDefault();
-					}
-					break;
-				default:
-					suppressKeyPressRepeat = true;
-					// search timeout should be triggered before the input value is changed
-					this._searchTimeout( event );
-					break;
-				}
-			},
-			keypress: function( event ) {
-				if ( suppressKeyPress ) {
-					suppressKeyPress = false;
-					if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
-						event.preventDefault();
-					}
-					return;
-				}
-				if ( suppressKeyPressRepeat ) {
-					return;
-				}
-
-				// replicate some key handlers to allow them to repeat in Firefox and Opera
-				var keyCode = $.ui.keyCode;
-				switch ( event.keyCode ) {
-				case keyCode.PAGE_UP:
-					this._move( "previousPage", event );
-					break;
-				case keyCode.PAGE_DOWN:
-					this._move( "nextPage", event );
-					break;
-				case keyCode.UP:
-					this._keyEvent( "previous", event );
-					break;
-				case keyCode.DOWN:
-					this._keyEvent( "next", event );
-					break;
-				}
-			},
-			input: function( event ) {
-				if ( suppressInput ) {
-					suppressInput = false;
-					event.preventDefault();
-					return;
-				}
-				this._searchTimeout( event );
-			},
-			focus: function() {
-				this.selectedItem = null;
-				this.previous = this._value();
-			},
-			blur: function( event ) {
-				if ( this.cancelBlur ) {
-					delete this.cancelBlur;
-					return;
-				}
-
-				clearTimeout( this.searching );
-				this.close( event );
-				this._change( event );
-			}
-		});
-
-		this._initSource();
-		this.menu = $( "<ul>" )
-			.addClass( "ui-autocomplete ui-front" )
-			.appendTo( this._appendTo() )
-			.menu({
-				// disable ARIA support, the live region takes care of that
-				role: null
-			})
-			.hide()
-			.menu( "instance" );
-
-		this._on( this.menu.element, {
-			mousedown: function( event ) {
-				// prevent moving focus out of the text field
-				event.preventDefault();
-
-				// IE doesn't prevent moving focus even with event.preventDefault()
-				// so we set a flag to know when we should ignore the blur event
-				this.cancelBlur = true;
-				this._delay(function() {
-					delete this.cancelBlur;
-				});
-
-				// clicking on the scrollbar causes focus to shift to the body
-				// but we can't detect a mouseup or a click immediately afterward
-				// so we have to track the next mousedown and close the menu if
-				// the user clicks somewhere outside of the autocomplete
-				var menuElement = this.menu.element[ 0 ];
-				if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {
-					this._delay(function() {
-						var that = this;
-						this.document.one( "mousedown", function( event ) {
-							if ( event.target !== that.element[ 0 ] &&
-									event.target !== menuElement &&
-									!$.contains( menuElement, event.target ) ) {
-								that.close();
-							}
-						});
-					});
-				}
-			},
-			menufocus: function( event, ui ) {
-				var label, item;
-				// support: Firefox
-				// Prevent accidental activation of menu items in Firefox (#7024 #9118)
-				if ( this.isNewMenu ) {
-					this.isNewMenu = false;
-					if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {
-						this.menu.blur();
-
-						this.document.one( "mousemove", function() {
-							$( event.target ).trigger( event.originalEvent );
-						});
-
-						return;
-					}
-				}
-
-				item = ui.item.data( "ui-autocomplete-item" );
-				if ( false !== this._trigger( "focus", event, { item: item } ) ) {
-					// use value to match what will end up in the input, if it was a key event
-					if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {
-						this._value( item.value );
-					}
-				}
-
-				// Announce the value in the liveRegion
-				label = ui.item.attr( "aria-label" ) || item.value;
-				if ( label && $.trim( label ).length ) {
-					this.liveRegion.children().hide();
-					$( "<div>" ).text( label ).appendTo( this.liveRegion );
-				}
-			},
-			menuselect: function( event, ui ) {
-				var item = ui.item.data( "ui-autocomplete-item" ),
-					previous = this.previous;
-
-				// only trigger when focus was lost (click on menu)
-				if ( this.element[ 0 ] !== this.document[ 0 ].activeElement ) {
-					this.element.focus();
-					this.previous = previous;
-					// #6109 - IE triggers two focus events and the second
-					// is asynchronous, so we need to reset the previous
-					// term synchronously and asynchronously :-(
-					this._delay(function() {
-						this.previous = previous;
-						this.selectedItem = item;
-					});
-				}
-
-				if ( false !== this._trigger( "select", event, { item: item } ) ) {
-					this._value( item.value );
-				}
-				// reset the term after the select event
-				// this allows custom select handling to work properly
-				this.term = this._value();
-
-				this.close( event );
-				this.selectedItem = item;
-			}
-		});
-
-		this.liveRegion = $( "<span>", {
-				role: "status",
-				"aria-live": "assertive",
-				"aria-relevant": "additions"
-			})
-			.addClass( "ui-helper-hidden-accessible" )
-			.appendTo( this.document[ 0 ].body );
-
-		// turning off autocomplete prevents the browser from remembering the
-		// value when navigating through history, so we re-enable autocomplete
-		// if the page is unloaded before the widget is destroyed. #7790
-		this._on( this.window, {
-			beforeunload: function() {
-				this.element.removeAttr( "autocomplete" );
-			}
-		});
-	},
-
-	_destroy: function() {
-		clearTimeout( this.searching );
-		this.element
-			.removeClass( "ui-autocomplete-input" )
-			.removeAttr( "autocomplete" );
-		this.menu.element.remove();
-		this.liveRegion.remove();
-	},
-
-	_setOption: function( key, value ) {
-		this._super( key, value );
-		if ( key === "source" ) {
-			this._initSource();
-		}
-		if ( key === "appendTo" ) {
-			this.menu.element.appendTo( this._appendTo() );
-		}
-		if ( key === "disabled" && value && this.xhr ) {
-			this.xhr.abort();
-		}
-	},
-
-	_appendTo: function() {
-		var element = this.options.appendTo;
-
-		if ( element ) {
-			element = element.jquery || element.nodeType ?
-				$( element ) :
-				this.document.find( element ).eq( 0 );
-		}
-
-		if ( !element || !element[ 0 ] ) {
-			element = this.element.closest( ".ui-front" );
-		}
-
-		if ( !element.length ) {
-			element = this.document[ 0 ].body;
-		}
-
-		return element;
-	},
-
-	_initSource: function() {
-		var array, url,
-			that = this;
-		if ( $.isArray( this.options.source ) ) {
-			array = this.options.source;
-			this.source = function( request, response ) {
-				response( $.ui.autocomplete.filter( array, request.term ) );
-			};
-		} else if ( typeof this.options.source === "string" ) {
-			url = this.options.source;
-			this.source = function( request, response ) {
-				if ( that.xhr ) {
-					that.xhr.abort();
-				}
-				that.xhr = $.ajax({
-					url: url,
-					data: request,
-					dataType: "json",
-					success: function( data ) {
-						response( data );
-					},
-					error: function() {
-						response([]);
-					}
-				});
-			};
-		} else {
-			this.source = this.options.source;
-		}
-	},
-
-	_searchTimeout: function( event ) {
-		clearTimeout( this.searching );
-		this.searching = this._delay(function() {
-
-			// Search if the value has changed, or if the user retypes the same value (see #7434)
-			var equalValues = this.term === this._value(),
-				menuVisible = this.menu.element.is( ":visible" ),
-				modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;
-
-			if ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) {
-				this.selectedItem = null;
-				this.search( null, event );
-			}
-		}, this.options.delay );
-	},
-
-	search: function( value, event ) {
-		value = value != null ? value : this._value();
-
-		// always save the actual value, not the one passed as an argument
-		this.term = this._value();
-
-		if ( value.length < this.options.minLength ) {
-			return this.close( event );
-		}
-
-		if ( this._trigger( "search", event ) === false ) {
-			return;
-		}
-
-		return this._search( value );
-	},
-
-	_search: function( value ) {
-		this.pending++;
-		this.element.addClass( "ui-autocomplete-loading" );
-		this.cancelSearch = false;
-
-		this.source( { term: value }, this._response() );
-	},
-
-	_response: function() {
-		var index = ++this.requestIndex;
-
-		return $.proxy(function( content ) {
-			if ( index === this.requestIndex ) {
-				this.__response( content );
-			}
-
-			this.pending--;
-			if ( !this.pending ) {
-				this.element.removeClass( "ui-autocomplete-loading" );
-			}
-		}, this );
-	},
-
-	__response: function( content ) {
-		if ( content ) {
-			content = this._normalize( content );
-		}
-		this._trigger( "response", null, { content: content } );
-		if ( !this.options.disabled && content && content.length && !this.cancelSearch ) {
-			this._suggest( content );
-			this._trigger( "open" );
-		} else {
-			// use ._close() instead of .close() so we don't cancel future searches
-			this._close();
-		}
-	},
-
-	close: function( event ) {
-		this.cancelSearch = true;
-		this._close( event );
-	},
-
-	_close: function( event ) {
-		if ( this.menu.element.is( ":visible" ) ) {
-			this.menu.element.hide();
-			this.menu.blur();
-			this.isNewMenu = true;
-			this._trigger( "close", event );
-		}
-	},
-
-	_change: function( event ) {
-		if ( this.previous !== this._value() ) {
-			this._trigger( "change", event, { item: this.selectedItem } );
-		}
-	},
-
-	_normalize: function( items ) {
-		// assume all items have the right format when the first item is complete
-		if ( items.length && items[ 0 ].label && items[ 0 ].value ) {
-			return items;
-		}
-		return $.map( items, function( item ) {
-			if ( typeof item === "string" ) {
-				return {
-					label: item,
-					value: item
-				};
-			}
-			return $.extend( {}, item, {
-				label: item.label || item.value,
-				value: item.value || item.label
-			});
-		});
-	},
-
-	_suggest: function( items ) {
-		var ul = this.menu.element.empty();
-		this._renderMenu( ul, items );
-		this.isNewMenu = true;
-		this.menu.refresh();
-
-		// size and position menu
-		ul.show();
-		this._resizeMenu();
-		ul.position( $.extend({
-			of: this.element
-		}, this.options.position ) );
-
-		if ( this.options.autoFocus ) {
-			this.menu.next();
-		}
-	},
-
-	_resizeMenu: function() {
-		var ul = this.menu.element;
-		ul.outerWidth( Math.max(
-			// Firefox wraps long text (possibly a rounding bug)
-			// so we add 1px to avoid the wrapping (#7513)
-			ul.width( "" ).outerWidth() + 1,
-			this.element.outerWidth()
-		) );
-	},
-
-	_renderMenu: function( ul, items ) {
-		var that = this;
-		$.each( items, function( index, item ) {
-			that._renderItemData( ul, item );
-		});
-	},
-
-	_renderItemData: function( ul, item ) {
-		return this._renderItem( ul, item ).data( "ui-autocomplete-item", item );
-	},
-
-	_renderItem: function( ul, item ) {
-		return $( "<li>" ).text( item.label ).appendTo( ul );
-	},
-
-	_move: function( direction, event ) {
-		if ( !this.menu.element.is( ":visible" ) ) {
-			this.search( null, event );
-			return;
-		}
-		if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
-				this.menu.isLastItem() && /^next/.test( direction ) ) {
-
-			if ( !this.isMultiLine ) {
-				this._value( this.term );
-			}
-
-			this.menu.blur();
-			return;
-		}
-		this.menu[ direction ]( event );
-	},
-
-	widget: function() {
-		return this.menu.element;
-	},
-
-	_value: function() {
-		return this.valueMethod.apply( this.element, arguments );
-	},
-
-	_keyEvent: function( keyEvent, event ) {
-		if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
-			this._move( keyEvent, event );
-
-			// prevents moving cursor to beginning/end of the text field in some browsers
-			event.preventDefault();
-		}
-	}
-});
-
-$.extend( $.ui.autocomplete, {
-	escapeRegex: function( value ) {
-		return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
-	},
-	filter: function( array, term ) {
-		var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" );
-		return $.grep( array, function( value ) {
-			return matcher.test( value.label || value.value || value );
-		});
-	}
-});
-
-// live region extension, adding a `messages` option
-// NOTE: This is an experimental API. We are still investigating
-// a full solution for string manipulation and internationalization.
-$.widget( "ui.autocomplete", $.ui.autocomplete, {
-	options: {
-		messages: {
-			noResults: "No search results.",
-			results: function( amount ) {
-				return amount + ( amount > 1 ? " results are" : " result is" ) +
-					" available, use up and down arrow keys to navigate.";
-			}
-		}
-	},
-
-	__response: function( content ) {
-		var message;
-		this._superApply( arguments );
-		if ( this.options.disabled || this.cancelSearch ) {
-			return;
-		}
-		if ( content && content.length ) {
-			message = this.options.messages.results( content.length );
-		} else {
-			message = this.options.messages.noResults;
-		}
-		this.liveRegion.children().hide();
-		$( "<div>" ).text( message ).appendTo( this.liveRegion );
-	}
-});
-
-var autocomplete = $.ui.autocomplete;
-
-
-/*!
- * jQuery UI Button 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/button/
- */
-
-
-var lastActive,
-	baseClasses = "ui-button ui-widget ui-state-default ui-corner-all",
-	typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
-	formResetHandler = function() {
-		var form = $( this );
-		setTimeout(function() {
-			form.find( ":ui-button" ).button( "refresh" );
-		}, 1 );
-	},
-	radioGroup = function( radio ) {
-		var name = radio.name,
-			form = radio.form,
-			radios = $( [] );
-		if ( name ) {
-			name = name.replace( /'/g, "\\'" );
-			if ( form ) {
-				radios = $( form ).find( "[name='" + name + "'][type=radio]" );
-			} else {
-				radios = $( "[name='" + name + "'][type=radio]", radio.ownerDocument )
-					.filter(function() {
-						return !this.form;
-					});
-			}
-		}
-		return radios;
-	};
-
-$.widget( "ui.button", {
-	version: "1.11.4",
-	defaultElement: "<button>",
-	options: {
-		disabled: null,
-		text: true,
-		label: null,
-		icons: {
-			primary: null,
-			secondary: null
-		}
-	},
-	_create: function() {
-		this.element.closest( "form" )
-			.unbind( "reset" + this.eventNamespace )
-			.bind( "reset" + this.eventNamespace, formResetHandler );
-
-		if ( typeof this.options.disabled !== "boolean" ) {
-			this.options.disabled = !!this.element.prop( "disabled" );
-		} else {
-			this.element.prop( "disabled", this.options.disabled );
-		}
-
-		this._determineButtonType();
-		this.hasTitle = !!this.buttonElement.attr( "title" );
-
-		var that = this,
-			options = this.options,
-			toggleButton = this.type === "checkbox" || this.type === "radio",
-			activeClass = !toggleButton ? "ui-state-active" : "";
-
-		if ( options.label === null ) {
-			options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html());
-		}
-
-		this._hoverable( this.buttonElement );
-
-		this.buttonElement
-			.addClass( baseClasses )
-			.attr( "role", "button" )
-			.bind( "mouseenter" + this.eventNamespace, function() {
-				if ( options.disabled ) {
-					return;
-				}
-				if ( this === lastActive ) {
-					$( this ).addClass( "ui-state-active" );
-				}
-			})
-			.bind( "mouseleave" + this.eventNamespace, function() {
-				if ( options.disabled ) {
-					return;
-				}
-				$( this ).removeClass( activeClass );
-			})
-			.bind( "click" + this.eventNamespace, function( event ) {
-				if ( options.disabled ) {
-					event.preventDefault();
-					event.stopImmediatePropagation();
-				}
-			});
-
-		// Can't use _focusable() because the element that receives focus
-		// and the element that gets the ui-state-focus class are different
-		this._on({
-			focus: function() {
-				this.buttonElement.addClass( "ui-state-focus" );
-			},
-			blur: function() {
-				this.buttonElement.removeClass( "ui-state-focus" );
-			}
-		});
-
-		if ( toggleButton ) {
-			this.element.bind( "change" + this.eventNamespace, function() {
-				that.refresh();
-			});
-		}
-
-		if ( this.type === "checkbox" ) {
-			this.buttonElement.bind( "click" + this.eventNamespace, function() {
-				if ( options.disabled ) {
-					return false;
-				}
-			});
-		} else if ( this.type === "radio" ) {
-			this.buttonElement.bind( "click" + this.eventNamespace, function() {
-				if ( options.disabled ) {
-					return false;
-				}
-				$( this ).addClass( "ui-state-active" );
-				that.buttonElement.attr( "aria-pressed", "true" );
-
-				var radio = that.element[ 0 ];
-				radioGroup( radio )
-					.not( radio )
-					.map(function() {
-						return $( this ).button( "widget" )[ 0 ];
-					})
-					.removeClass( "ui-state-active" )
-					.attr( "aria-pressed", "false" );
-			});
-		} else {
-			this.buttonElement
-				.bind( "mousedown" + this.eventNamespace, function() {
-					if ( options.disabled ) {
-						return false;
-					}
-					$( this ).addClass( "ui-state-active" );
-					lastActive = this;
-					that.document.one( "mouseup", function() {
-						lastActive = null;
-					});
-				})
-				.bind( "mouseup" + this.eventNamespace, function() {
-					if ( options.disabled ) {
-						return false;
-					}
-					$( this ).removeClass( "ui-state-active" );
-				})
-				.bind( "keydown" + this.eventNamespace, function(event) {
-					if ( options.disabled ) {
-						return false;
-					}
-					if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {
-						$( this ).addClass( "ui-state-active" );
-					}
-				})
-				// see #8559, we bind to blur here in case the button element loses
-				// focus between keydown and keyup, it would be left in an "active" state
-				.bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() {
-					$( this ).removeClass( "ui-state-active" );
-				});
-
-			if ( this.buttonElement.is("a") ) {
-				this.buttonElement.keyup(function(event) {
-					if ( event.keyCode === $.ui.keyCode.SPACE ) {
-						// TODO pass through original event correctly (just as 2nd argument doesn't work)
-						$( this ).click();
-					}
-				});
-			}
-		}
-
-		this._setOption( "disabled", options.disabled );
-		this._resetButton();
-	},
-
-	_determineButtonType: function() {
-		var ancestor, labelSelector, checked;
-
-		if ( this.element.is("[type=checkbox]") ) {
-			this.type = "checkbox";
-		} else if ( this.element.is("[type=radio]") ) {
-			this.type = "radio";
-		} else if ( this.element.is("input") ) {
-			this.type = "input";
-		} else {
-			this.type = "button";
-		}
-
-		if ( this.type === "checkbox" || this.type === "radio" ) {
-			// we don't search against the document in case the element
-			// is disconnected from the DOM
-			ancestor = this.element.parents().last();
-			labelSelector = "label[for='" + this.element.attr("id") + "']";
-			this.buttonElement = ancestor.find( labelSelector );
-			if ( !this.buttonElement.length ) {
-				ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();
-				this.buttonElement = ancestor.filter( labelSelector );
-				if ( !this.buttonElement.length ) {
-					this.buttonElement = ancestor.find( labelSelector );
-				}
-			}
-			this.element.addClass( "ui-helper-hidden-accessible" );
-
-			checked = this.element.is( ":checked" );
-			if ( checked ) {
-				this.buttonElement.addClass( "ui-state-active" );
-			}
-			this.buttonElement.prop( "aria-pressed", checked );
-		} else {
-			this.buttonElement = this.element;
-		}
-	},
-
-	widget: function() {
-		return this.buttonElement;
-	},
-
-	_destroy: function() {
-		this.element
-			.removeClass( "ui-helper-hidden-accessible" );
-		this.buttonElement
-			.removeClass( baseClasses + " ui-state-active " + typeClasses )
-			.removeAttr( "role" )
-			.removeAttr( "aria-pressed" )
-			.html( this.buttonElement.find(".ui-button-text").html() );
-
-		if ( !this.hasTitle ) {
-			this.buttonElement.removeAttr( "title" );
-		}
-	},
-
-	_setOption: function( key, value ) {
-		this._super( key, value );
-		if ( key === "disabled" ) {
-			this.widget().toggleClass( "ui-state-disabled", !!value );
-			this.element.prop( "disabled", !!value );
-			if ( value ) {
-				if ( this.type === "checkbox" || this.type === "radio" ) {
-					this.buttonElement.removeClass( "ui-state-focus" );
-				} else {
-					this.buttonElement.removeClass( "ui-state-focus ui-state-active" );
-				}
-			}
-			return;
-		}
-		this._resetButton();
-	},
-
-	refresh: function() {
-		//See #8237 & #8828
-		var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" );
-
-		if ( isDisabled !== this.options.disabled ) {
-			this._setOption( "disabled", isDisabled );
-		}
-		if ( this.type === "radio" ) {
-			radioGroup( this.element[0] ).each(function() {
-				if ( $( this ).is( ":checked" ) ) {
-					$( this ).button( "widget" )
-						.addClass( "ui-state-active" )
-						.attr( "aria-pressed", "true" );
-				} else {
-					$( this ).button( "widget" )
-						.removeClass( "ui-state-active" )
-						.attr( "aria-pressed", "false" );
-				}
-			});
-		} else if ( this.type === "checkbox" ) {
-			if ( this.element.is( ":checked" ) ) {
-				this.buttonElement
-					.addClass( "ui-state-active" )
-					.attr( "aria-pressed", "true" );
-			} else {
-				this.buttonElement
-					.removeClass( "ui-state-active" )
-					.attr( "aria-pressed", "false" );
-			}
-		}
-	},
-
-	_resetButton: function() {
-		if ( this.type === "input" ) {
-			if ( this.options.label ) {
-				this.element.val( this.options.label );
-			}
-			return;
-		}
-		var buttonElement = this.buttonElement.removeClass( typeClasses ),
-			buttonText = $( "<span></span>", this.document[0] )
-				.addClass( "ui-button-text" )
-				.html( this.options.label )
-				.appendTo( buttonElement.empty() )
-				.text(),
-			icons = this.options.icons,
-			multipleIcons = icons.primary && icons.secondary,
-			buttonClasses = [];
-
-		if ( icons.primary || icons.secondary ) {
-			if ( this.options.text ) {
-				buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
-			}
-
-			if ( icons.primary ) {
-				buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" );
-			}
-
-			if ( icons.secondary ) {
-				buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" );
-			}
-
-			if ( !this.options.text ) {
-				buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
-
-				if ( !this.hasTitle ) {
-					buttonElement.attr( "title", $.trim( buttonText ) );
-				}
-			}
-		} else {
-			buttonClasses.push( "ui-button-text-only" );
-		}
-		buttonElement.addClass( buttonClasses.join( " " ) );
-	}
-});
-
-$.widget( "ui.buttonset", {
-	version: "1.11.4",
-	options: {
-		items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
-	},
-
-	_create: function() {
-		this.element.addClass( "ui-buttonset" );
-	},
-
-	_init: function() {
-		this.refresh();
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "disabled" ) {
-			this.buttons.button( "option", key, value );
-		}
-
-		this._super( key, value );
-	},
-
-	refresh: function() {
-		var rtl = this.element.css( "direction" ) === "rtl",
-			allButtons = this.element.find( this.options.items ),
-			existingButtons = allButtons.filter( ":ui-button" );
-
-		// Initialize new buttons
-		allButtons.not( ":ui-button" ).button();
-
-		// Refresh existing buttons
-		existingButtons.button( "refresh" );
-
-		this.buttons = allButtons
-			.map(function() {
-				return $( this ).button( "widget" )[ 0 ];
-			})
-				.removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
-				.filter( ":first" )
-					.addClass( rtl ? "ui-corner-right" : "ui-corner-left" )
-				.end()
-				.filter( ":last" )
-					.addClass( rtl ? "ui-corner-left" : "ui-corner-right" )
-				.end()
-			.end();
-	},
-
-	_destroy: function() {
-		this.element.removeClass( "ui-buttonset" );
-		this.buttons
-			.map(function() {
-				return $( this ).button( "widget" )[ 0 ];
-			})
-				.removeClass( "ui-corner-left ui-corner-right" )
-			.end()
-			.button( "destroy" );
-	}
-});
-
-var button = $.ui.button;
-
-
-/*!
- * jQuery UI Datepicker 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/datepicker/
- */
-
-
-$.extend($.ui, { datepicker: { version: "1.11.4" } });
-
-var datepicker_instActive;
-
-function datepicker_getZindex( elem ) {
-	var position, value;
-	while ( elem.length && elem[ 0 ] !== document ) {
-		// Ignore z-index if position is set to a value where z-index is ignored by the browser
-		// This makes behavior of this function consistent across browsers
-		// WebKit always returns auto if the element is positioned
-		position = elem.css( "position" );
-		if ( position === "absolute" || position === "relative" || position === "fixed" ) {
-			// IE returns 0 when zIndex is not specified
-			// other browsers return a string
-			// we ignore the case of nested elements with an explicit value of 0
-			// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
-			value = parseInt( elem.css( "zIndex" ), 10 );
-			if ( !isNaN( value ) && value !== 0 ) {
-				return value;
-			}
-		}
-		elem = elem.parent();
-	}
-
-	return 0;
-}
-/* Date picker manager.
-   Use the singleton instance of this class, $.datepicker, to interact with the date picker.
-   Settings for (groups of) date pickers are maintained in an instance object,
-   allowing multiple different settings on the same page. */
-
-function Datepicker() {
-	this._curInst = null; // The current instance in use
-	this._keyEvent = false; // If the last event was a key event
-	this._disabledInputs = []; // List of date picker inputs that have been disabled
-	this._datepickerShowing = false; // True if the popup picker is showing , false if not
-	this._inDialog = false; // True if showing within a "dialog", false if not
-	this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division
-	this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class
-	this._appendClass = "ui-datepicker-append"; // The name of the append marker class
-	this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class
-	this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class
-	this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class
-	this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class
-	this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class
-	this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class
-	this.regional = []; // Available regional settings, indexed by language code
-	this.regional[""] = { // Default regional settings
-		closeText: "Done", // Display text for close link
-		prevText: "Prev", // Display text for previous month link
-		nextText: "Next", // Display text for next month link
-		currentText: "Today", // Display text for current month link
-		monthNames: ["January","February","March","April","May","June",
-			"July","August","September","October","November","December"], // Names of months for drop-down and formatting
-		monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting
-		dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting
-		dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting
-		dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday
-		weekHeader: "Wk", // Column header for week of the year
-		dateFormat: "mm/dd/yy", // See format options on parseDate
-		firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...
-		isRTL: false, // True if right-to-left language, false if left-to-right
-		showMonthAfterYear: false, // True if the year select precedes month, false for month then year
-		yearSuffix: "" // Additional text to append to the year in the month headers
-	};
-	this._defaults = { // Global defaults for all the date picker instances
-		showOn: "focus", // "focus" for popup on focus,
-			// "button" for trigger button, or "both" for either
-		showAnim: "fadeIn", // Name of jQuery animation for popup
-		showOptions: {}, // Options for enhanced animations
-		defaultDate: null, // Used when field is blank: actual date,
-			// +/-number for offset from today, null for today
-		appendText: "", // Display text following the input box, e.g. showing the format
-		buttonText: "...", // Text for trigger button
-		buttonImage: "", // URL for trigger button image
-		buttonImageOnly: false, // True if the image appears alone, false if it appears on a button
-		hideIfNoPrevNext: false, // True to hide next/previous month links
-			// if not applicable, false to just disable them
-		navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links
-		gotoCurrent: false, // True if today link goes back to current selection instead
-		changeMonth: false, // True if month can be selected directly, false if only prev/next
-		changeYear: false, // True if year can be selected directly, false if only prev/next
-		yearRange: "c-10:c+10", // Range of years to display in drop-down,
-			// either relative to today's year (-nn:+nn), relative to currently displayed year
-			// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)
-		showOtherMonths: false, // True to show dates in other months, false to leave blank
-		selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable
-		showWeek: false, // True to show week of the year, false to not show it
-		calculateWeek: this.iso8601Week, // How to calculate the week of the year,
-			// takes a Date and returns the number of the week for it
-		shortYearCutoff: "+10", // Short year values < this are in the current century,
-			// > this are in the previous century,
-			// string value starting with "+" for current year + value
-		minDate: null, // The earliest selectable date, or null for no limit
-		maxDate: null, // The latest selectable date, or null for no limit
-		duration: "fast", // Duration of display/closure
-		beforeShowDay: null, // Function that takes a date and returns an array with
-			// [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "",
-			// [2] = cell title (optional), e.g. $.datepicker.noWeekends
-		beforeShow: null, // Function that takes an input field and
-			// returns a set of custom settings for the date picker
-		onSelect: null, // Define a callback function when a date is selected
-		onChangeMonthYear: null, // Define a callback function when the month or year is changed
-		onClose: null, // Define a callback function when the datepicker is closed
-		numberOfMonths: 1, // Number of months to show at a time
-		showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)
-		stepMonths: 1, // Number of months to step back/forward
-		stepBigMonths: 12, // Number of months to step back/forward for the big links
-		altField: "", // Selector for an alternate field to store selected dates into
-		altFormat: "", // The date format to use for the alternate field
-		constrainInput: true, // The input is constrained by the current date format
-		showButtonPanel: false, // True to show button panel, false to not show it
-		autoSize: false, // True to size the input for the date format, false to leave as is
-		disabled: false // The initial disabled state
-	};
-	$.extend(this._defaults, this.regional[""]);
-	this.regional.en = $.extend( true, {}, this.regional[ "" ]);
-	this.regional[ "en-US" ] = $.extend( true, {}, this.regional.en );
-	this.dpDiv = datepicker_bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"));
-}
-
-$.extend(Datepicker.prototype, {
-	/* Class name added to elements to indicate already configured with a date picker. */
-	markerClassName: "hasDatepicker",
-
-	//Keep track of the maximum number of rows displayed (see #7043)
-	maxRows: 4,
-
-	// TODO rename to "widget" when switching to widget factory
-	_widgetDatepicker: function() {
-		return this.dpDiv;
-	},
-
-	/* Override the default settings for all instances of the date picker.
-	 * @param  settings  object - the new settings to use as defaults (anonymous object)
-	 * @return the manager object
-	 */
-	setDefaults: function(settings) {
-		datepicker_extendRemove(this._defaults, settings || {});
-		return this;
-	},
-
-	/* Attach the date picker to a jQuery selection.
-	 * @param  target	element - the target input field or division or span
-	 * @param  settings  object - the new settings to use for this date picker instance (anonymous)
-	 */
-	_attachDatepicker: function(target, settings) {
-		var nodeName, inline, inst;
-		nodeName = target.nodeName.toLowerCase();
-		inline = (nodeName === "div" || nodeName === "span");
-		if (!target.id) {
-			this.uuid += 1;
-			target.id = "dp" + this.uuid;
-		}
-		inst = this._newInst($(target), inline);
-		inst.settings = $.extend({}, settings || {});
-		if (nodeName === "input") {
-			this._connectDatepicker(target, inst);
-		} else if (inline) {
-			this._inlineDatepicker(target, inst);
-		}
-	},
-
-	/* Create a new instance object. */
-	_newInst: function(target, inline) {
-		var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars
-		return {id: id, input: target, // associated target
-			selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection
-			drawMonth: 0, drawYear: 0, // month being drawn
-			inline: inline, // is datepicker inline or not
-			dpDiv: (!inline ? this.dpDiv : // presentation div
-			datepicker_bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))};
-	},
-
-	/* Attach the date picker to an input field. */
-	_connectDatepicker: function(target, inst) {
-		var input = $(target);
-		inst.append = $([]);
-		inst.trigger = $([]);
-		if (input.hasClass(this.markerClassName)) {
-			return;
-		}
-		this._attachments(input, inst);
-		input.addClass(this.markerClassName).keydown(this._doKeyDown).
-			keypress(this._doKeyPress).keyup(this._doKeyUp);
-		this._autoSize(inst);
-		$.data(target, "datepicker", inst);
-		//If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)
-		if( inst.settings.disabled ) {
-			this._disableDatepicker( target );
-		}
-	},
-
-	/* Make attachments based on settings. */
-	_attachments: function(input, inst) {
-		var showOn, buttonText, buttonImage,
-			appendText = this._get(inst, "appendText"),
-			isRTL = this._get(inst, "isRTL");
-
-		if (inst.append) {
-			inst.append.remove();
-		}
-		if (appendText) {
-			inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
-			input[isRTL ? "before" : "after"](inst.append);
-		}
-
-		input.unbind("focus", this._showDatepicker);
-
-		if (inst.trigger) {
-			inst.trigger.remove();
-		}
-
-		showOn = this._get(inst, "showOn");
-		if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field
-			input.focus(this._showDatepicker);
-		}
-		if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked
-			buttonText = this._get(inst, "buttonText");
-			buttonImage = this._get(inst, "buttonImage");
-			inst.trigger = $(this._get(inst, "buttonImageOnly") ?
-				$("<img/>").addClass(this._triggerClass).
-					attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
-				$("<button type='button'></button>").addClass(this._triggerClass).
-					html(!buttonImage ? buttonText : $("<img/>").attr(
-					{ src:buttonImage, alt:buttonText, title:buttonText })));
-			input[isRTL ? "before" : "after"](inst.trigger);
-			inst.trigger.click(function() {
-				if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {
-					$.datepicker._hideDatepicker();
-				} else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {
-					$.datepicker._hideDatepicker();
-					$.datepicker._showDatepicker(input[0]);
-				} else {
-					$.datepicker._showDatepicker(input[0]);
-				}
-				return false;
-			});
-		}
-	},
-
-	/* Apply the maximum length for the date format. */
-	_autoSize: function(inst) {
-		if (this._get(inst, "autoSize") && !inst.inline) {
-			var findMax, max, maxI, i,
-				date = new Date(2009, 12 - 1, 20), // Ensure double digits
-				dateFormat = this._get(inst, "dateFormat");
-
-			if (dateFormat.match(/[DM]/)) {
-				findMax = function(names) {
-					max = 0;
-					maxI = 0;
-					for (i = 0; i < names.length; i++) {
-						if (names[i].length > max) {
-							max = names[i].length;
-							maxI = i;
-						}
-					}
-					return maxI;
-				};
-				date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?
-					"monthNames" : "monthNamesShort"))));
-				date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?
-					"dayNames" : "dayNamesShort"))) + 20 - date.getDay());
-			}
-			inst.input.attr("size", this._formatDate(inst, date).length);
-		}
-	},
-
-	/* Attach an inline date picker to a div. */
-	_inlineDatepicker: function(target, inst) {
-		var divSpan = $(target);
-		if (divSpan.hasClass(this.markerClassName)) {
-			return;
-		}
-		divSpan.addClass(this.markerClassName).append(inst.dpDiv);
-		$.data(target, "datepicker", inst);
-		this._setDate(inst, this._getDefaultDate(inst), true);
-		this._updateDatepicker(inst);
-		this._updateAlternate(inst);
-		//If disabled option is true, disable the datepicker before showing it (see ticket #5665)
-		if( inst.settings.disabled ) {
-			this._disableDatepicker( target );
-		}
-		// Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements
-		// http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height
-		inst.dpDiv.css( "display", "block" );
-	},
-
-	/* Pop-up the date picker in a "dialog" box.
-	 * @param  input element - ignored
-	 * @param  date	string or Date - the initial date to display
-	 * @param  onSelect  function - the function to call when a date is selected
-	 * @param  settings  object - update the dialog date picker instance's settings (anonymous object)
-	 * @param  pos int[2] - coordinates for the dialog's position within the screen or
-	 *					event - with x/y coordinates or
-	 *					leave empty for default (screen centre)
-	 * @return the manager object
-	 */
-	_dialogDatepicker: function(input, date, onSelect, settings, pos) {
-		var id, browserWidth, browserHeight, scrollX, scrollY,
-			inst = this._dialogInst; // internal instance
-
-		if (!inst) {
-			this.uuid += 1;
-			id = "dp" + this.uuid;
-			this._dialogInput = $("<input type='text' id='" + id +
-				"' style='position: absolute; top: -100px; width: 0px;'/>");
-			this._dialogInput.keydown(this._doKeyDown);
-			$("body").append(this._dialogInput);
-			inst = this._dialogInst = this._newInst(this._dialogInput, false);
-			inst.settings = {};
-			$.data(this._dialogInput[0], "datepicker", inst);
-		}
-		datepicker_extendRemove(inst.settings, settings || {});
-		date = (date && date.constructor === Date ? this._formatDate(inst, date) : date);
-		this._dialogInput.val(date);
-
-		this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);
-		if (!this._pos) {
-			browserWidth = document.documentElement.clientWidth;
-			browserHeight = document.documentElement.clientHeight;
-			scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
-			scrollY = document.documentElement.scrollTop || document.body.scrollTop;
-			this._pos = // should use actual width/height below
-				[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];
-		}
-
-		// move input on screen for focus, but hidden behind dialog
-		this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px");
-		inst.settings.onSelect = onSelect;
-		this._inDialog = true;
-		this.dpDiv.addClass(this._dialogClass);
-		this._showDatepicker(this._dialogInput[0]);
-		if ($.blockUI) {
-			$.blockUI(this.dpDiv);
-		}
-		$.data(this._dialogInput[0], "datepicker", inst);
-		return this;
-	},
-
-	/* Detach a datepicker from its control.
-	 * @param  target	element - the target input field or division or span
-	 */
-	_destroyDatepicker: function(target) {
-		var nodeName,
-			$target = $(target),
-			inst = $.data(target, "datepicker");
-
-		if (!$target.hasClass(this.markerClassName)) {
-			return;
-		}
-
-		nodeName = target.nodeName.toLowerCase();
-		$.removeData(target, "datepicker");
-		if (nodeName === "input") {
-			inst.append.remove();
-			inst.trigger.remove();
-			$target.removeClass(this.markerClassName).
-				unbind("focus", this._showDatepicker).
-				unbind("keydown", this._doKeyDown).
-				unbind("keypress", this._doKeyPress).
-				unbind("keyup", this._doKeyUp);
-		} else if (nodeName === "div" || nodeName === "span") {
-			$target.removeClass(this.markerClassName).empty();
-		}
-
-		if ( datepicker_instActive === inst ) {
-			datepicker_instActive = null;
-		}
-	},
-
-	/* Enable the date picker to a jQuery selection.
-	 * @param  target	element - the target input field or division or span
-	 */
-	_enableDatepicker: function(target) {
-		var nodeName, inline,
-			$target = $(target),
-			inst = $.data(target, "datepicker");
-
-		if (!$target.hasClass(this.markerClassName)) {
-			return;
-		}
-
-		nodeName = target.nodeName.toLowerCase();
-		if (nodeName === "input") {
-			target.disabled = false;
-			inst.trigger.filter("button").
-				each(function() { this.disabled = false; }).end().
-				filter("img").css({opacity: "1.0", cursor: ""});
-		} else if (nodeName === "div" || nodeName === "span") {
-			inline = $target.children("." + this._inlineClass);
-			inline.children().removeClass("ui-state-disabled");
-			inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
-				prop("disabled", false);
-		}
-		this._disabledInputs = $.map(this._disabledInputs,
-			function(value) { return (value === target ? null : value); }); // delete entry
-	},
-
-	/* Disable the date picker to a jQuery selection.
-	 * @param  target	element - the target input field or division or span
-	 */
-	_disableDatepicker: function(target) {
-		var nodeName, inline,
-			$target = $(target),
-			inst = $.data(target, "datepicker");
-
-		if (!$target.hasClass(this.markerClassName)) {
-			return;
-		}
-
-		nodeName = target.nodeName.toLowerCase();
-		if (nodeName === "input") {
-			target.disabled = true;
-			inst.trigger.filter("button").
-				each(function() { this.disabled = true; }).end().
-				filter("img").css({opacity: "0.5", cursor: "default"});
-		} else if (nodeName === "div" || nodeName === "span") {
-			inline = $target.children("." + this._inlineClass);
-			inline.children().addClass("ui-state-disabled");
-			inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
-				prop("disabled", true);
-		}
-		this._disabledInputs = $.map(this._disabledInputs,
-			function(value) { return (value === target ? null : value); }); // delete entry
-		this._disabledInputs[this._disabledInputs.length] = target;
-	},
-
-	/* Is the first field in a jQuery collection disabled as a datepicker?
-	 * @param  target	element - the target input field or division or span
-	 * @return boolean - true if disabled, false if enabled
-	 */
-	_isDisabledDatepicker: function(target) {
-		if (!target) {
-			return false;
-		}
-		for (var i = 0; i < this._disabledInputs.length; i++) {
-			if (this._disabledInputs[i] === target) {
-				return true;
-			}
-		}
-		return false;
-	},
-
-	/* Retrieve the instance data for the target control.
-	 * @param  target  element - the target input field or division or span
-	 * @return  object - the associated instance data
-	 * @throws  error if a jQuery problem getting data
-	 */
-	_getInst: function(target) {
-		try {
-			return $.data(target, "datepicker");
-		}
-		catch (err) {
-			throw "Missing instance data for this datepicker";
-		}
-	},
-
-	/* Update or retrieve the settings for a date picker attached to an input field or division.
-	 * @param  target  element - the target input field or division or span
-	 * @param  name	object - the new settings to update or
-	 *				string - the name of the setting to change or retrieve,
-	 *				when retrieving also "all" for all instance settings or
-	 *				"defaults" for all global defaults
-	 * @param  value   any - the new value for the setting
-	 *				(omit if above is an object or to retrieve a value)
-	 */
-	_optionDatepicker: function(target, name, value) {
-		var settings, date, minDate, maxDate,
-			inst = this._getInst(target);
-
-		if (arguments.length === 2 && typeof name === "string") {
-			return (name === "defaults" ? $.extend({}, $.datepicker._defaults) :
-				(inst ? (name === "all" ? $.extend({}, inst.settings) :
-				this._get(inst, name)) : null));
-		}
-
-		settings = name || {};
-		if (typeof name === "string") {
-			settings = {};
-			settings[name] = value;
-		}
-
-		if (inst) {
-			if (this._curInst === inst) {
-				this._hideDatepicker();
-			}
-
-			date = this._getDateDatepicker(target, true);
-			minDate = this._getMinMaxDate(inst, "min");
-			maxDate = this._getMinMaxDate(inst, "max");
-			datepicker_extendRemove(inst.settings, settings);
-			// reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided
-			if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {
-				inst.settings.minDate = this._formatDate(inst, minDate);
-			}
-			if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
-				inst.settings.maxDate = this._formatDate(inst, maxDate);
-			}
-			if ( "disabled" in settings ) {
-				if ( settings.disabled ) {
-					this._disableDatepicker(target);
-				} else {
-					this._enableDatepicker(target);
-				}
-			}
-			this._attachments($(target), inst);
-			this._autoSize(inst);
-			this._setDate(inst, date);
-			this._updateAlternate(inst);
-			this._updateDatepicker(inst);
-		}
-	},
-
-	// change method deprecated
-	_changeDatepicker: function(target, name, value) {
-		this._optionDatepicker(target, name, value);
-	},
-
-	/* Redraw the date picker attached to an input field or division.
-	 * @param  target  element - the target input field or division or span
-	 */
-	_refreshDatepicker: function(target) {
-		var inst = this._getInst(target);
-		if (inst) {
-			this._updateDatepicker(inst);
-		}
-	},
-
-	/* Set the dates for a jQuery selection.
-	 * @param  target element - the target input field or division or span
-	 * @param  date	Date - the new date
-	 */
-	_setDateDatepicker: function(target, date) {
-		var inst = this._getInst(target);
-		if (inst) {
-			this._setDate(inst, date);
-			this._updateDatepicker(inst);
-			this._updateAlternate(inst);
-		}
-	},
-
-	/* Get the date(s) for the first entry in a jQuery selection.
-	 * @param  target element - the target input field or division or span
-	 * @param  noDefault boolean - true if no default date is to be used
-	 * @return Date - the current date
-	 */
-	_getDateDatepicker: function(target, noDefault) {
-		var inst = this._getInst(target);
-		if (inst && !inst.inline) {
-			this._setDateFromField(inst, noDefault);
-		}
-		return (inst ? this._getDate(inst) : null);
-	},
-
-	/* Handle keystrokes. */
-	_doKeyDown: function(event) {
-		var onSelect, dateStr, sel,
-			inst = $.datepicker._getInst(event.target),
-			handled = true,
-			isRTL = inst.dpDiv.is(".ui-datepicker-rtl");
-
-		inst._keyEvent = true;
-		if ($.datepicker._datepickerShowing) {
-			switch (event.keyCode) {
-				case 9: $.datepicker._hideDatepicker();
-						handled = false;
-						break; // hide on tab out
-				case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." +
-									$.datepicker._currentClass + ")", inst.dpDiv);
-						if (sel[0]) {
-							$.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);
-						}
-
-						onSelect = $.datepicker._get(inst, "onSelect");
-						if (onSelect) {
-							dateStr = $.datepicker._formatDate(inst);
-
-							// trigger custom callback
-							onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
-						} else {
-							$.datepicker._hideDatepicker();
-						}
-
-						return false; // don't submit the form
-				case 27: $.datepicker._hideDatepicker();
-						break; // hide on escape
-				case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
-							-$.datepicker._get(inst, "stepBigMonths") :
-							-$.datepicker._get(inst, "stepMonths")), "M");
-						break; // previous month/year on page up/+ ctrl
-				case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
-							+$.datepicker._get(inst, "stepBigMonths") :
-							+$.datepicker._get(inst, "stepMonths")), "M");
-						break; // next month/year on page down/+ ctrl
-				case 35: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._clearDate(event.target);
-						}
-						handled = event.ctrlKey || event.metaKey;
-						break; // clear on ctrl or command +end
-				case 36: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._gotoToday(event.target);
-						}
-						handled = event.ctrlKey || event.metaKey;
-						break; // current on ctrl or command +home
-				case 37: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D");
-						}
-						handled = event.ctrlKey || event.metaKey;
-						// -1 day on ctrl or command +left
-						if (event.originalEvent.altKey) {
-							$.datepicker._adjustDate(event.target, (event.ctrlKey ?
-								-$.datepicker._get(inst, "stepBigMonths") :
-								-$.datepicker._get(inst, "stepMonths")), "M");
-						}
-						// next month/year on alt +left on Mac
-						break;
-				case 38: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._adjustDate(event.target, -7, "D");
-						}
-						handled = event.ctrlKey || event.metaKey;
-						break; // -1 week on ctrl or command +up
-				case 39: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D");
-						}
-						handled = event.ctrlKey || event.metaKey;
-						// +1 day on ctrl or command +right
-						if (event.originalEvent.altKey) {
-							$.datepicker._adjustDate(event.target, (event.ctrlKey ?
-								+$.datepicker._get(inst, "stepBigMonths") :
-								+$.datepicker._get(inst, "stepMonths")), "M");
-						}
-						// next month/year on alt +right
-						break;
-				case 40: if (event.ctrlKey || event.metaKey) {
-							$.datepicker._adjustDate(event.target, +7, "D");
-						}
-						handled = event.ctrlKey || event.metaKey;
-						break; // +1 week on ctrl or command +down
-				default: handled = false;
-			}
-		} else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home
-			$.datepicker._showDatepicker(this);
-		} else {
-			handled = false;
-		}
-
-		if (handled) {
-			event.preventDefault();
-			event.stopPropagation();
-		}
-	},
-
-	/* Filter entered characters - based on date format. */
-	_doKeyPress: function(event) {
-		var chars, chr,
-			inst = $.datepicker._getInst(event.target);
-
-		if ($.datepicker._get(inst, "constrainInput")) {
-			chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat"));
-			chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);
-			return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1);
-		}
-	},
-
-	/* Synchronise manual entry and field/alternate field. */
-	_doKeyUp: function(event) {
-		var date,
-			inst = $.datepicker._getInst(event.target);
-
-		if (inst.input.val() !== inst.lastVal) {
-			try {
-				date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
-					(inst.input ? inst.input.val() : null),
-					$.datepicker._getFormatConfig(inst));
-
-				if (date) { // only if valid
-					$.datepicker._setDateFromField(inst);
-					$.datepicker._updateAlternate(inst);
-					$.datepicker._updateDatepicker(inst);
-				}
-			}
-			catch (err) {
-			}
-		}
-		return true;
-	},
-
-	/* Pop-up the date picker for a given input field.
-	 * If false returned from beforeShow event handler do not show.
-	 * @param  input  element - the input field attached to the date picker or
-	 *					event - if triggered by focus
-	 */
-	_showDatepicker: function(input) {
-		input = input.target || input;
-		if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger
-			input = $("input", input.parentNode)[0];
-		}
-
-		if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here
-			return;
-		}
-
-		var inst, beforeShow, beforeShowSettings, isFixed,
-			offset, showAnim, duration;
-
-		inst = $.datepicker._getInst(input);
-		if ($.datepicker._curInst && $.datepicker._curInst !== inst) {
-			$.datepicker._curInst.dpDiv.stop(true, true);
-			if ( inst && $.datepicker._datepickerShowing ) {
-				$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );
-			}
-		}
-
-		beforeShow = $.datepicker._get(inst, "beforeShow");
-		beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};
-		if(beforeShowSettings === false){
-			return;
-		}
-		datepicker_extendRemove(inst.settings, beforeShowSettings);
-
-		inst.lastVal = null;
-		$.datepicker._lastInput = input;
-		$.datepicker._setDateFromField(inst);
-
-		if ($.datepicker._inDialog) { // hide cursor
-			input.value = "";
-		}
-		if (!$.datepicker._pos) { // position below input
-			$.datepicker._pos = $.datepicker._findPos(input);
-			$.datepicker._pos[1] += input.offsetHeight; // add the height
-		}
-
-		isFixed = false;
-		$(input).parents().each(function() {
-			isFixed |= $(this).css("position") === "fixed";
-			return !isFixed;
-		});
-
-		offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};
-		$.datepicker._pos = null;
-		//to avoid flashes on Firefox
-		inst.dpDiv.empty();
-		// determine sizing offscreen
-		inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"});
-		$.datepicker._updateDatepicker(inst);
-		// fix width for dynamic number of date pickers
-		// and adjust position before showing
-		offset = $.datepicker._checkOffset(inst, offset, isFixed);
-		inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?
-			"static" : (isFixed ? "fixed" : "absolute")), display: "none",
-			left: offset.left + "px", top: offset.top + "px"});
-
-		if (!inst.inline) {
-			showAnim = $.datepicker._get(inst, "showAnim");
-			duration = $.datepicker._get(inst, "duration");
-			inst.dpDiv.css( "z-index", datepicker_getZindex( $( input ) ) + 1 );
-			$.datepicker._datepickerShowing = true;
-
-			if ( $.effects && $.effects.effect[ showAnim ] ) {
-				inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration);
-			} else {
-				inst.dpDiv[showAnim || "show"](showAnim ? duration : null);
-			}
-
-			if ( $.datepicker._shouldFocusInput( inst ) ) {
-				inst.input.focus();
-			}
-
-			$.datepicker._curInst = inst;
-		}
-	},
-
-	/* Generate the date picker content. */
-	_updateDatepicker: function(inst) {
-		this.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
-		datepicker_instActive = inst; // for delegate hover events
-		inst.dpDiv.empty().append(this._generateHTML(inst));
-		this._attachHandlers(inst);
-
-		var origyearshtml,
-			numMonths = this._getNumberOfMonths(inst),
-			cols = numMonths[1],
-			width = 17,
-			activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" );
-
-		if ( activeCell.length > 0 ) {
-			datepicker_handleMouseover.apply( activeCell.get( 0 ) );
-		}
-
-		inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
-		if (cols > 1) {
-			inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em");
-		}
-		inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") +
-			"Class"]("ui-datepicker-multi");
-		inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +
-			"Class"]("ui-datepicker-rtl");
-
-		if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) {
-			inst.input.focus();
-		}
-
-		// deffered render of the years select (to avoid flashes on Firefox)
-		if( inst.yearshtml ){
-			origyearshtml = inst.yearshtml;
-			setTimeout(function(){
-				//assure that inst.yearshtml didn't change.
-				if( origyearshtml === inst.yearshtml && inst.yearshtml ){
-					inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml);
-				}
-				origyearshtml = inst.yearshtml = null;
-			}, 0);
-		}
-	},
-
-	// #6694 - don't focus the input if it's already focused
-	// this breaks the change event in IE
-	// Support: IE and jQuery <1.9
-	_shouldFocusInput: function( inst ) {
-		return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" );
-	},
-
-	/* Check positioning to remain on screen. */
-	_checkOffset: function(inst, offset, isFixed) {
-		var dpWidth = inst.dpDiv.outerWidth(),
-			dpHeight = inst.dpDiv.outerHeight(),
-			inputWidth = inst.input ? inst.input.outerWidth() : 0,
-			inputHeight = inst.input ? inst.input.outerHeight() : 0,
-			viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),
-			viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());
-
-		offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0);
-		offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;
-		offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;
-
-		// now check if datepicker is showing outside window viewport - move to a better place if so.
-		offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?
-			Math.abs(offset.left + dpWidth - viewWidth) : 0);
-		offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
-			Math.abs(dpHeight + inputHeight) : 0);
-
-		return offset;
-	},
-
-	/* Find an object's position on the screen. */
-	_findPos: function(obj) {
-		var position,
-			inst = this._getInst(obj),
-			isRTL = this._get(inst, "isRTL");
-
-		while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {
-			obj = obj[isRTL ? "previousSibling" : "nextSibling"];
-		}
-
-		position = $(obj).offset();
-		return [position.left, position.top];
-	},
-
-	/* Hide the date picker from view.
-	 * @param  input  element - the input field attached to the date picker
-	 */
-	_hideDatepicker: function(input) {
-		var showAnim, duration, postProcess, onClose,
-			inst = this._curInst;
-
-		if (!inst || (input && inst !== $.data(input, "datepicker"))) {
-			return;
-		}
-
-		if (this._datepickerShowing) {
-			showAnim = this._get(inst, "showAnim");
-			duration = this._get(inst, "duration");
-			postProcess = function() {
-				$.datepicker._tidyDialog(inst);
-			};
-
-			// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed
-			if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {
-				inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess);
-			} else {
-				inst.dpDiv[(showAnim === "slideDown" ? "slideUp" :
-					(showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess);
-			}
-
-			if (!showAnim) {
-				postProcess();
-			}
-			this._datepickerShowing = false;
-
-			onClose = this._get(inst, "onClose");
-			if (onClose) {
-				onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]);
-			}
-
-			this._lastInput = null;
-			if (this._inDialog) {
-				this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" });
-				if ($.blockUI) {
-					$.unblockUI();
-					$("body").append(this.dpDiv);
-				}
-			}
-			this._inDialog = false;
-		}
-	},
-
-	/* Tidy up after a dialog display. */
-	_tidyDialog: function(inst) {
-		inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar");
-	},
-
-	/* Close date picker if clicked elsewhere. */
-	_checkExternalClick: function(event) {
-		if (!$.datepicker._curInst) {
-			return;
-		}
-
-		var $target = $(event.target),
-			inst = $.datepicker._getInst($target[0]);
-
-		if ( ( ( $target[0].id !== $.datepicker._mainDivId &&
-				$target.parents("#" + $.datepicker._mainDivId).length === 0 &&
-				!$target.hasClass($.datepicker.markerClassName) &&
-				!$target.closest("." + $.datepicker._triggerClass).length &&
-				$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||
-			( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {
-				$.datepicker._hideDatepicker();
-		}
-	},
-
-	/* Adjust one of the date sub-fields. */
-	_adjustDate: function(id, offset, period) {
-		var target = $(id),
-			inst = this._getInst(target[0]);
-
-		if (this._isDisabledDatepicker(target[0])) {
-			return;
-		}
-		this._adjustInstDate(inst, offset +
-			(period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning
-			period);
-		this._updateDatepicker(inst);
-	},
-
-	/* Action for current link. */
-	_gotoToday: function(id) {
-		var date,
-			target = $(id),
-			inst = this._getInst(target[0]);
-
-		if (this._get(inst, "gotoCurrent") && inst.currentDay) {
-			inst.selectedDay = inst.currentDay;
-			inst.drawMonth = inst.selectedMonth = inst.currentMonth;
-			inst.drawYear = inst.selectedYear = inst.currentYear;
-		} else {
-			date = new Date();
-			inst.selectedDay = date.getDate();
-			inst.drawMonth = inst.selectedMonth = date.getMonth();
-			inst.drawYear = inst.selectedYear = date.getFullYear();
-		}
-		this._notifyChange(inst);
-		this._adjustDate(target);
-	},
-
-	/* Action for selecting a new month/year. */
-	_selectMonthYear: function(id, select, period) {
-		var target = $(id),
-			inst = this._getInst(target[0]);
-
-		inst["selected" + (period === "M" ? "Month" : "Year")] =
-		inst["draw" + (period === "M" ? "Month" : "Year")] =
-			parseInt(select.options[select.selectedIndex].value,10);
-
-		this._notifyChange(inst);
-		this._adjustDate(target);
-	},
-
-	/* Action for selecting a day. */
-	_selectDay: function(id, month, year, td) {
-		var inst,
-			target = $(id);
-
-		if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {
-			return;
-		}
-
-		inst = this._getInst(target[0]);
-		inst.selectedDay = inst.currentDay = $("a", td).html();
-		inst.selectedMonth = inst.currentMonth = month;
-		inst.selectedYear = inst.currentYear = year;
-		this._selectDate(id, this._formatDate(inst,
-			inst.currentDay, inst.currentMonth, inst.currentYear));
-	},
-
-	/* Erase the input field and hide the date picker. */
-	_clearDate: function(id) {
-		var target = $(id);
-		this._selectDate(target, "");
-	},
-
-	/* Update the input field with the selected date. */
-	_selectDate: function(id, dateStr) {
-		var onSelect,
-			target = $(id),
-			inst = this._getInst(target[0]);
-
-		dateStr = (dateStr != null ? dateStr : this._formatDate(inst));
-		if (inst.input) {
-			inst.input.val(dateStr);
-		}
-		this._updateAlternate(inst);
-
-		onSelect = this._get(inst, "onSelect");
-		if (onSelect) {
-			onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);  // trigger custom callback
-		} else if (inst.input) {
-			inst.input.trigger("change"); // fire the change event
-		}
-
-		if (inst.inline){
-			this._updateDatepicker(inst);
-		} else {
-			this._hideDatepicker();
-			this._lastInput = inst.input[0];
-			if (typeof(inst.input[0]) !== "object") {
-				inst.input.focus(); // restore focus
-			}
-			this._lastInput = null;
-		}
-	},
-
-	/* Update any alternate field to synchronise with the main field. */
-	_updateAlternate: function(inst) {
-		var altFormat, date, dateStr,
-			altField = this._get(inst, "altField");
-
-		if (altField) { // update alternate field too
-			altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat");
-			date = this._getDate(inst);
-			dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));
-			$(altField).each(function() { $(this).val(dateStr); });
-		}
-	},
-
-	/* Set as beforeShowDay function to prevent selection of weekends.
-	 * @param  date  Date - the date to customise
-	 * @return [boolean, string] - is this date selectable?, what is its CSS class?
-	 */
-	noWeekends: function(date) {
-		var day = date.getDay();
-		return [(day > 0 && day < 6), ""];
-	},
-
-	/* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.
-	 * @param  date  Date - the date to get the week for
-	 * @return  number - the number of the week within the year that contains this date
-	 */
-	iso8601Week: function(date) {
-		var time,
-			checkDate = new Date(date.getTime());
-
-		// Find Thursday of this week starting on Monday
-		checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
-
-		time = checkDate.getTime();
-		checkDate.setMonth(0); // Compare with Jan 1
-		checkDate.setDate(1);
-		return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
-	},
-
-	/* Parse a string value into a date object.
-	 * See formatDate below for the possible formats.
-	 *
-	 * @param  format string - the expected format of the date
-	 * @param  value string - the date in the above format
-	 * @param  settings Object - attributes include:
-	 *					shortYearCutoff  number - the cutoff year for determining the century (optional)
-	 *					dayNamesShort	string[7] - abbreviated names of the days from Sunday (optional)
-	 *					dayNames		string[7] - names of the days from Sunday (optional)
-	 *					monthNamesShort string[12] - abbreviated names of the months (optional)
-	 *					monthNames		string[12] - names of the months (optional)
-	 * @return  Date - the extracted date value or null if value is blank
-	 */
-	parseDate: function (format, value, settings) {
-		if (format == null || value == null) {
-			throw "Invalid arguments";
-		}
-
-		value = (typeof value === "object" ? value.toString() : value + "");
-		if (value === "") {
-			return null;
-		}
-
-		var iFormat, dim, extra,
-			iValue = 0,
-			shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,
-			shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp :
-				new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),
-			dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
-			dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
-			monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
-			monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
-			year = -1,
-			month = -1,
-			day = -1,
-			doy = -1,
-			literal = false,
-			date,
-			// Check whether a format character is doubled
-			lookAhead = function(match) {
-				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
-				if (matches) {
-					iFormat++;
-				}
-				return matches;
-			},
-			// Extract a number from the string value
-			getNumber = function(match) {
-				var isDoubled = lookAhead(match),
-					size = (match === "@" ? 14 : (match === "!" ? 20 :
-					(match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))),
-					minSize = (match === "y" ? size : 1),
-					digits = new RegExp("^\\d{" + minSize + "," + size + "}"),
-					num = value.substring(iValue).match(digits);
-				if (!num) {
-					throw "Missing number at position " + iValue;
-				}
-				iValue += num[0].length;
-				return parseInt(num[0], 10);
-			},
-			// Extract a name from the string value and convert to an index
-			getName = function(match, shortNames, longNames) {
-				var index = -1,
-					names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {
-						return [ [k, v] ];
-					}).sort(function (a, b) {
-						return -(a[1].length - b[1].length);
-					});
-
-				$.each(names, function (i, pair) {
-					var name = pair[1];
-					if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {
-						index = pair[0];
-						iValue += name.length;
-						return false;
-					}
-				});
-				if (index !== -1) {
-					return index + 1;
-				} else {
-					throw "Unknown name at position " + iValue;
-				}
-			},
-			// Confirm that a literal character matches the string value
-			checkLiteral = function() {
-				if (value.charAt(iValue) !== format.charAt(iFormat)) {
-					throw "Unexpected literal at position " + iValue;
-				}
-				iValue++;
-			};
-
-		for (iFormat = 0; iFormat < format.length; iFormat++) {
-			if (literal) {
-				if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
-					literal = false;
-				} else {
-					checkLiteral();
-				}
-			} else {
-				switch (format.charAt(iFormat)) {
-					case "d":
-						day = getNumber("d");
-						break;
-					case "D":
-						getName("D", dayNamesShort, dayNames);
-						break;
-					case "o":
-						doy = getNumber("o");
-						break;
-					case "m":
-						month = getNumber("m");
-						break;
-					case "M":
-						month = getName("M", monthNamesShort, monthNames);
-						break;
-					case "y":
-						year = getNumber("y");
-						break;
-					case "@":
-						date = new Date(getNumber("@"));
-						year = date.getFullYear();
-						month = date.getMonth() + 1;
-						day = date.getDate();
-						break;
-					case "!":
-						date = new Date((getNumber("!") - this._ticksTo1970) / 10000);
-						year = date.getFullYear();
-						month = date.getMonth() + 1;
-						day = date.getDate();
-						break;
-					case "'":
-						if (lookAhead("'")){
-							checkLiteral();
-						} else {
-							literal = true;
-						}
-						break;
-					default:
-						checkLiteral();
-				}
-			}
-		}
-
-		if (iValue < value.length){
-			extra = value.substr(iValue);
-			if (!/^\s+/.test(extra)) {
-				throw "Extra/unparsed characters found in date: " + extra;
-			}
-		}
-
-		if (year === -1) {
-			year = new Date().getFullYear();
-		} else if (year < 100) {
-			year += new Date().getFullYear() - new Date().getFullYear() % 100 +
-				(year <= shortYearCutoff ? 0 : -100);
-		}
-
-		if (doy > -1) {
-			month = 1;
-			day = doy;
-			do {
-				dim = this._getDaysInMonth(year, month - 1);
-				if (day <= dim) {
-					break;
-				}
-				month++;
-				day -= dim;
-			} while (true);
-		}
-
-		date = this._daylightSavingAdjust(new Date(year, month - 1, day));
-		if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
-			throw "Invalid date"; // E.g. 31/02/00
-		}
-		return date;
-	},
-
-	/* Standard date formats. */
-	ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601)
-	COOKIE: "D, dd M yy",
-	ISO_8601: "yy-mm-dd",
-	RFC_822: "D, d M y",
-	RFC_850: "DD, dd-M-y",
-	RFC_1036: "D, d M y",
-	RFC_1123: "D, d M yy",
-	RFC_2822: "D, d M yy",
-	RSS: "D, d M y", // RFC 822
-	TICKS: "!",
-	TIMESTAMP: "@",
-	W3C: "yy-mm-dd", // ISO 8601
-
-	_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +
-		Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),
-
-	/* Format a date object into a string value.
-	 * The format can be combinations of the following:
-	 * d  - day of month (no leading zero)
-	 * dd - day of month (two digit)
-	 * o  - day of year (no leading zeros)
-	 * oo - day of year (three digit)
-	 * D  - day name short
-	 * DD - day name long
-	 * m  - month of year (no leading zero)
-	 * mm - month of year (two digit)
-	 * M  - month name short
-	 * MM - month name long
-	 * y  - year (two digit)
-	 * yy - year (four digit)
-	 * @ - Unix timestamp (ms since 01/01/1970)
-	 * ! - Windows ticks (100ns since 01/01/0001)
-	 * "..." - literal text
-	 * '' - single quote
-	 *
-	 * @param  format string - the desired format of the date
-	 * @param  date Date - the date value to format
-	 * @param  settings Object - attributes include:
-	 *					dayNamesShort	string[7] - abbreviated names of the days from Sunday (optional)
-	 *					dayNames		string[7] - names of the days from Sunday (optional)
-	 *					monthNamesShort string[12] - abbreviated names of the months (optional)
-	 *					monthNames		string[12] - names of the months (optional)
-	 * @return  string - the date in the above format
-	 */
-	formatDate: function (format, date, settings) {
-		if (!date) {
-			return "";
-		}
-
-		var iFormat,
-			dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
-			dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
-			monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
-			monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
-			// Check whether a format character is doubled
-			lookAhead = function(match) {
-				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
-				if (matches) {
-					iFormat++;
-				}
-				return matches;
-			},
-			// Format a number, with leading zero if necessary
-			formatNumber = function(match, value, len) {
-				var num = "" + value;
-				if (lookAhead(match)) {
-					while (num.length < len) {
-						num = "0" + num;
-					}
-				}
-				return num;
-			},
-			// Format a name, short or long as requested
-			formatName = function(match, value, shortNames, longNames) {
-				return (lookAhead(match) ? longNames[value] : shortNames[value]);
-			},
-			output = "",
-			literal = false;
-
-		if (date) {
-			for (iFormat = 0; iFormat < format.length; iFormat++) {
-				if (literal) {
-					if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
-						literal = false;
-					} else {
-						output += format.charAt(iFormat);
-					}
-				} else {
-					switch (format.charAt(iFormat)) {
-						case "d":
-							output += formatNumber("d", date.getDate(), 2);
-							break;
-						case "D":
-							output += formatName("D", date.getDay(), dayNamesShort, dayNames);
-							break;
-						case "o":
-							output += formatNumber("o",
-								Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
-							break;
-						case "m":
-							output += formatNumber("m", date.getMonth() + 1, 2);
-							break;
-						case "M":
-							output += formatName("M", date.getMonth(), monthNamesShort, monthNames);
-							break;
-						case "y":
-							output += (lookAhead("y") ? date.getFullYear() :
-								(date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100);
-							break;
-						case "@":
-							output += date.getTime();
-							break;
-						case "!":
-							output += date.getTime() * 10000 + this._ticksTo1970;
-							break;
-						case "'":
-							if (lookAhead("'")) {
-								output += "'";
-							} else {
-								literal = true;
-							}
-							break;
-						default:
-							output += format.charAt(iFormat);
-					}
-				}
-			}
-		}
-		return output;
-	},
-
-	/* Extract all possible characters from the date format. */
-	_possibleChars: function (format) {
-		var iFormat,
-			chars = "",
-			literal = false,
-			// Check whether a format character is doubled
-			lookAhead = function(match) {
-				var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
-				if (matches) {
-					iFormat++;
-				}
-				return matches;
-			};
-
-		for (iFormat = 0; iFormat < format.length; iFormat++) {
-			if (literal) {
-				if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
-					literal = false;
-				} else {
-					chars += format.charAt(iFormat);
-				}
-			} else {
-				switch (format.charAt(iFormat)) {
-					case "d": case "m": case "y": case "@":
-						chars += "0123456789";
-						break;
-					case "D": case "M":
-						return null; // Accept anything
-					case "'":
-						if (lookAhead("'")) {
-							chars += "'";
-						} else {
-							literal = true;
-						}
-						break;
-					default:
-						chars += format.charAt(iFormat);
-				}
-			}
-		}
-		return chars;
-	},
-
-	/* Get a setting value, defaulting if necessary. */
-	_get: function(inst, name) {
-		return inst.settings[name] !== undefined ?
-			inst.settings[name] : this._defaults[name];
-	},
-
-	/* Parse existing date and initialise date picker. */
-	_setDateFromField: function(inst, noDefault) {
-		if (inst.input.val() === inst.lastVal) {
-			return;
-		}
-
-		var dateFormat = this._get(inst, "dateFormat"),
-			dates = inst.lastVal = inst.input ? inst.input.val() : null,
-			defaultDate = this._getDefaultDate(inst),
-			date = defaultDate,
-			settings = this._getFormatConfig(inst);
-
-		try {
-			date = this.parseDate(dateFormat, dates, settings) || defaultDate;
-		} catch (event) {
-			dates = (noDefault ? "" : dates);
-		}
-		inst.selectedDay = date.getDate();
-		inst.drawMonth = inst.selectedMonth = date.getMonth();
-		inst.drawYear = inst.selectedYear = date.getFullYear();
-		inst.currentDay = (dates ? date.getDate() : 0);
-		inst.currentMonth = (dates ? date.getMonth() : 0);
-		inst.currentYear = (dates ? date.getFullYear() : 0);
-		this._adjustInstDate(inst);
-	},
-
-	/* Retrieve the default date shown on opening. */
-	_getDefaultDate: function(inst) {
-		return this._restrictMinMax(inst,
-			this._determineDate(inst, this._get(inst, "defaultDate"), new Date()));
-	},
-
-	/* A date may be specified as an exact value or a relative one. */
-	_determineDate: function(inst, date, defaultDate) {
-		var offsetNumeric = function(offset) {
-				var date = new Date();
-				date.setDate(date.getDate() + offset);
-				return date;
-			},
-			offsetString = function(offset) {
-				try {
-					return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
-						offset, $.datepicker._getFormatConfig(inst));
-				}
-				catch (e) {
-					// Ignore
-				}
-
-				var date = (offset.toLowerCase().match(/^c/) ?
-					$.datepicker._getDate(inst) : null) || new Date(),
-					year = date.getFullYear(),
-					month = date.getMonth(),
-					day = date.getDate(),
-					pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
-					matches = pattern.exec(offset);
-
-				while (matches) {
-					switch (matches[2] || "d") {
-						case "d" : case "D" :
-							day += parseInt(matches[1],10); break;
-						case "w" : case "W" :
-							day += parseInt(matches[1],10) * 7; break;
-						case "m" : case "M" :
-							month += parseInt(matches[1],10);
-							day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
-							break;
-						case "y": case "Y" :
-							year += parseInt(matches[1],10);
-							day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
-							break;
-					}
-					matches = pattern.exec(offset);
-				}
-				return new Date(year, month, day);
-			},
-			newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) :
-				(typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));
-
-		newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate);
-		if (newDate) {
-			newDate.setHours(0);
-			newDate.setMinutes(0);
-			newDate.setSeconds(0);
-			newDate.setMilliseconds(0);
-		}
-		return this._daylightSavingAdjust(newDate);
-	},
-
-	/* Handle switch to/from daylight saving.
-	 * Hours may be non-zero on daylight saving cut-over:
-	 * > 12 when midnight changeover, but then cannot generate
-	 * midnight datetime, so jump to 1AM, otherwise reset.
-	 * @param  date  (Date) the date to check
-	 * @return  (Date) the corrected date
-	 */
-	_daylightSavingAdjust: function(date) {
-		if (!date) {
-			return null;
-		}
-		date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
-		return date;
-	},
-
-	/* Set the date(s) directly. */
-	_setDate: function(inst, date, noChange) {
-		var clear = !date,
-			origMonth = inst.selectedMonth,
-			origYear = inst.selectedYear,
-			newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));
-
-		inst.selectedDay = inst.currentDay = newDate.getDate();
-		inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();
-		inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();
-		if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {
-			this._notifyChange(inst);
-		}
-		this._adjustInstDate(inst);
-		if (inst.input) {
-			inst.input.val(clear ? "" : this._formatDate(inst));
-		}
-	},
-
-	/* Retrieve the date(s) directly. */
-	_getDate: function(inst) {
-		var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null :
-			this._daylightSavingAdjust(new Date(
-			inst.currentYear, inst.currentMonth, inst.currentDay)));
-			return startDate;
-	},
-
-	/* Attach the onxxx handlers.  These are declared statically so
-	 * they work with static code transformers like Caja.
-	 */
-	_attachHandlers: function(inst) {
-		var stepMonths = this._get(inst, "stepMonths"),
-			id = "#" + inst.id.replace( /\\\\/g, "\\" );
-		inst.dpDiv.find("[data-handler]").map(function () {
-			var handler = {
-				prev: function () {
-					$.datepicker._adjustDate(id, -stepMonths, "M");
-				},
-				next: function () {
-					$.datepicker._adjustDate(id, +stepMonths, "M");
-				},
-				hide: function () {
-					$.datepicker._hideDatepicker();
-				},
-				today: function () {
-					$.datepicker._gotoToday(id);
-				},
-				selectDay: function () {
-					$.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this);
-					return false;
-				},
-				selectMonth: function () {
-					$.datepicker._selectMonthYear(id, this, "M");
-					return false;
-				},
-				selectYear: function () {
-					$.datepicker._selectMonthYear(id, this, "Y");
-					return false;
-				}
-			};
-			$(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]);
-		});
-	},
-
-	/* Generate the HTML for the current state of the date picker. */
-	_generateHTML: function(inst) {
-		var maxDraw, prevText, prev, nextText, next, currentText, gotoDate,
-			controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,
-			monthNames, monthNamesShort, beforeShowDay, showOtherMonths,
-			selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,
-			cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,
-			printDate, dRow, tbody, daySettings, otherMonth, unselectable,
-			tempDate = new Date(),
-			today = this._daylightSavingAdjust(
-				new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time
-			isRTL = this._get(inst, "isRTL"),
-			showButtonPanel = this._get(inst, "showButtonPanel"),
-			hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),
-			navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"),
-			numMonths = this._getNumberOfMonths(inst),
-			showCurrentAtPos = this._get(inst, "showCurrentAtPos"),
-			stepMonths = this._get(inst, "stepMonths"),
-			isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),
-			currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :
-				new Date(inst.currentYear, inst.currentMonth, inst.currentDay))),
-			minDate = this._getMinMaxDate(inst, "min"),
-			maxDate = this._getMinMaxDate(inst, "max"),
-			drawMonth = inst.drawMonth - showCurrentAtPos,
-			drawYear = inst.drawYear;
-
-		if (drawMonth < 0) {
-			drawMonth += 12;
-			drawYear--;
-		}
-		if (maxDate) {
-			maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
-				maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));
-			maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);
-			while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {
-				drawMonth--;
-				if (drawMonth < 0) {
-					drawMonth = 11;
-					drawYear--;
-				}
-			}
-		}
-		inst.drawMonth = drawMonth;
-		inst.drawYear = drawYear;
-
-		prevText = this._get(inst, "prevText");
-		prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,
-			this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
-			this._getFormatConfig(inst)));
-
-		prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
-			"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" +
-			" title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" :
-			(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>"));
-
-		nextText = this._get(inst, "nextText");
-		nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
-			this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
-			this._getFormatConfig(inst)));
-
-		next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
-			"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" +
-			" title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" :
-			(hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>"));
-
-		currentText = this._get(inst, "currentText");
-		gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today);
-		currentText = (!navigationAsDateFormat ? currentText :
-			this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
-
-		controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" +
-			this._get(inst, "closeText") + "</button>" : "");
-
-		buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") +
-			(this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" +
-			">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : "";
-
-		firstDay = parseInt(this._get(inst, "firstDay"),10);
-		firstDay = (isNaN(firstDay) ? 0 : firstDay);
-
-		showWeek = this._get(inst, "showWeek");
-		dayNames = this._get(inst, "dayNames");
-		dayNamesMin = this._get(inst, "dayNamesMin");
-		monthNames = this._get(inst, "monthNames");
-		monthNamesShort = this._get(inst, "monthNamesShort");
-		beforeShowDay = this._get(inst, "beforeShowDay");
-		showOtherMonths = this._get(inst, "showOtherMonths");
-		selectOtherMonths = this._get(inst, "selectOtherMonths");
-		defaultDate = this._getDefaultDate(inst);
-		html = "";
-		dow;
-		for (row = 0; row < numMonths[0]; row++) {
-			group = "";
-			this.maxRows = 4;
-			for (col = 0; col < numMonths[1]; col++) {
-				selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));
-				cornerClass = " ui-corner-all";
-				calender = "";
-				if (isMultiMonth) {
-					calender += "<div class='ui-datepicker-group";
-					if (numMonths[1] > 1) {
-						switch (col) {
-							case 0: calender += " ui-datepicker-group-first";
-								cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break;
-							case numMonths[1]-1: calender += " ui-datepicker-group-last";
-								cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break;
-							default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break;
-						}
-					}
-					calender += "'>";
-				}
-				calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" +
-					(/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") +
-					(/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") +
-					this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,
-					row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers
-					"</div><table class='ui-datepicker-calendar'><thead>" +
-					"<tr>";
-				thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : "");
-				for (dow = 0; dow < 7; dow++) { // days of the week
-					day = (dow + firstDay) % 7;
-					thead += "<th scope='col'" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
-						"<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>";
-				}
-				calender += thead + "</tr></thead><tbody>";
-				daysInMonth = this._getDaysInMonth(drawYear, drawMonth);
-				if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {
-					inst.selectedDay = Math.min(inst.selectedDay, daysInMonth);
-				}
-				leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;
-				curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate
-				numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)
-				this.maxRows = numRows;
-				printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));
-				for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows
-					calender += "<tr>";
-					tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" +
-						this._get(inst, "calculateWeek")(printDate) + "</td>");
-					for (dow = 0; dow < 7; dow++) { // create date picker days
-						daySettings = (beforeShowDay ?
-							beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]);
-						otherMonth = (printDate.getMonth() !== drawMonth);
-						unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||
-							(minDate && printDate < minDate) || (maxDate && printDate > maxDate);
-						tbody += "<td class='" +
-							((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends
-							(otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months
-							((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key
-							(defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?
-							// or defaultDate is current printedDate and defaultDate is selectedDate
-							" " + this._dayOverClass : "") + // highlight selected day
-							(unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") +  // highlight unselectable days
-							(otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates
-							(printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day
-							(printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different)
-							((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "&#39;") + "'" : "") + // cell title
-							(unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions
-							(otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months
-							(unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" +
-							(printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") +
-							(printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day
-							(otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months
-							"' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date
-						printDate.setDate(printDate.getDate() + 1);
-						printDate = this._daylightSavingAdjust(printDate);
-					}
-					calender += tbody + "</tr>";
-				}
-				drawMonth++;
-				if (drawMonth > 11) {
-					drawMonth = 0;
-					drawYear++;
-				}
-				calender += "</tbody></table>" + (isMultiMonth ? "</div>" +
-							((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : "");
-				group += calender;
-			}
-			html += group;
-		}
-		html += buttonPanel;
-		inst._keyEvent = false;
-		return html;
-	},
-
-	/* Generate the month and year header. */
-	_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,
-			secondary, monthNames, monthNamesShort) {
-
-		var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,
-			changeMonth = this._get(inst, "changeMonth"),
-			changeYear = this._get(inst, "changeYear"),
-			showMonthAfterYear = this._get(inst, "showMonthAfterYear"),
-			html = "<div class='ui-datepicker-title'>",
-			monthHtml = "";
-
-		// month selection
-		if (secondary || !changeMonth) {
-			monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>";
-		} else {
-			inMinYear = (minDate && minDate.getFullYear() === drawYear);
-			inMaxYear = (maxDate && maxDate.getFullYear() === drawYear);
-			monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>";
-			for ( month = 0; month < 12; month++) {
-				if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {
-					monthHtml += "<option value='" + month + "'" +
-						(month === drawMonth ? " selected='selected'" : "") +
-						">" + monthNamesShort[month] + "</option>";
-				}
-			}
-			monthHtml += "</select>";
-		}
-
-		if (!showMonthAfterYear) {
-			html += monthHtml + (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "");
-		}
-
-		// year selection
-		if ( !inst.yearshtml ) {
-			inst.yearshtml = "";
-			if (secondary || !changeYear) {
-				html += "<span class='ui-datepicker-year'>" + drawYear + "</span>";
-			} else {
-				// determine range of years to display
-				years = this._get(inst, "yearRange").split(":");
-				thisYear = new Date().getFullYear();
-				determineYear = function(value) {
-					var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) :
-						(value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) :
-						parseInt(value, 10)));
-					return (isNaN(year) ? thisYear : year);
-				};
-				year = determineYear(years[0]);
-				endYear = Math.max(year, determineYear(years[1] || ""));
-				year = (minDate ? Math.max(year, minDate.getFullYear()) : year);
-				endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);
-				inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";
-				for (; year <= endYear; year++) {
-					inst.yearshtml += "<option value='" + year + "'" +
-						(year === drawYear ? " selected='selected'" : "") +
-						">" + year + "</option>";
-				}
-				inst.yearshtml += "</select>";
-
-				html += inst.yearshtml;
-				inst.yearshtml = null;
-			}
-		}
-
-		html += this._get(inst, "yearSuffix");
-		if (showMonthAfterYear) {
-			html += (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "") + monthHtml;
-		}
-		html += "</div>"; // Close datepicker_header
-		return html;
-	},
-
-	/* Adjust one of the date sub-fields. */
-	_adjustInstDate: function(inst, offset, period) {
-		var year = inst.drawYear + (period === "Y" ? offset : 0),
-			month = inst.drawMonth + (period === "M" ? offset : 0),
-			day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0),
-			date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));
-
-		inst.selectedDay = date.getDate();
-		inst.drawMonth = inst.selectedMonth = date.getMonth();
-		inst.drawYear = inst.selectedYear = date.getFullYear();
-		if (period === "M" || period === "Y") {
-			this._notifyChange(inst);
-		}
-	},
-
-	/* Ensure a date is within any min/max bounds. */
-	_restrictMinMax: function(inst, date) {
-		var minDate = this._getMinMaxDate(inst, "min"),
-			maxDate = this._getMinMaxDate(inst, "max"),
-			newDate = (minDate && date < minDate ? minDate : date);
-		return (maxDate && newDate > maxDate ? maxDate : newDate);
-	},
-
-	/* Notify change of month/year. */
-	_notifyChange: function(inst) {
-		var onChange = this._get(inst, "onChangeMonthYear");
-		if (onChange) {
-			onChange.apply((inst.input ? inst.input[0] : null),
-				[inst.selectedYear, inst.selectedMonth + 1, inst]);
-		}
-	},
-
-	/* Determine the number of months to show. */
-	_getNumberOfMonths: function(inst) {
-		var numMonths = this._get(inst, "numberOfMonths");
-		return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths));
-	},
-
-	/* Determine the current maximum date - ensure no time components are set. */
-	_getMinMaxDate: function(inst, minMax) {
-		return this._determineDate(inst, this._get(inst, minMax + "Date"), null);
-	},
-
-	/* Find the number of days in a given month. */
-	_getDaysInMonth: function(year, month) {
-		return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();
-	},
-
-	/* Find the day of the week of the first of a month. */
-	_getFirstDayOfMonth: function(year, month) {
-		return new Date(year, month, 1).getDay();
-	},
-
-	/* Determines if we should allow a "next/prev" month display change. */
-	_canAdjustMonth: function(inst, offset, curYear, curMonth) {
-		var numMonths = this._getNumberOfMonths(inst),
-			date = this._daylightSavingAdjust(new Date(curYear,
-			curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));
-
-		if (offset < 0) {
-			date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));
-		}
-		return this._isInRange(inst, date);
-	},
-
-	/* Is the given date in the accepted range? */
-	_isInRange: function(inst, date) {
-		var yearSplit, currentYear,
-			minDate = this._getMinMaxDate(inst, "min"),
-			maxDate = this._getMinMaxDate(inst, "max"),
-			minYear = null,
-			maxYear = null,
-			years = this._get(inst, "yearRange");
-			if (years){
-				yearSplit = years.split(":");
-				currentYear = new Date().getFullYear();
-				minYear = parseInt(yearSplit[0], 10);
-				maxYear = parseInt(yearSplit[1], 10);
-				if ( yearSplit[0].match(/[+\-].*/) ) {
-					minYear += currentYear;
-				}
-				if ( yearSplit[1].match(/[+\-].*/) ) {
-					maxYear += currentYear;
-				}
-			}
-
-		return ((!minDate || date.getTime() >= minDate.getTime()) &&
-			(!maxDate || date.getTime() <= maxDate.getTime()) &&
-			(!minYear || date.getFullYear() >= minYear) &&
-			(!maxYear || date.getFullYear() <= maxYear));
-	},
-
-	/* Provide the configuration settings for formatting/parsing. */
-	_getFormatConfig: function(inst) {
-		var shortYearCutoff = this._get(inst, "shortYearCutoff");
-		shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff :
-			new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
-		return {shortYearCutoff: shortYearCutoff,
-			dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"),
-			monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")};
-	},
-
-	/* Format the given date for display. */
-	_formatDate: function(inst, day, month, year) {
-		if (!day) {
-			inst.currentDay = inst.selectedDay;
-			inst.currentMonth = inst.selectedMonth;
-			inst.currentYear = inst.selectedYear;
-		}
-		var date = (day ? (typeof day === "object" ? day :
-			this._daylightSavingAdjust(new Date(year, month, day))) :
-			this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));
-		return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst));
-	}
-});
-
-/*
- * Bind hover events for datepicker elements.
- * Done via delegate so the binding only occurs once in the lifetime of the parent div.
- * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.
- */
-function datepicker_bindHover(dpDiv) {
-	var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
-	return dpDiv.delegate(selector, "mouseout", function() {
-			$(this).removeClass("ui-state-hover");
-			if (this.className.indexOf("ui-datepicker-prev") !== -1) {
-				$(this).removeClass("ui-datepicker-prev-hover");
-			}
-			if (this.className.indexOf("ui-datepicker-next") !== -1) {
-				$(this).removeClass("ui-datepicker-next-hover");
-			}
-		})
-		.delegate( selector, "mouseover", datepicker_handleMouseover );
-}
-
-function datepicker_handleMouseover() {
-	if (!$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instActive.dpDiv.parent()[0] : datepicker_instActive.input[0])) {
-		$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
-		$(this).addClass("ui-state-hover");
-		if (this.className.indexOf("ui-datepicker-prev") !== -1) {
-			$(this).addClass("ui-datepicker-prev-hover");
-		}
-		if (this.className.indexOf("ui-datepicker-next") !== -1) {
-			$(this).addClass("ui-datepicker-next-hover");
-		}
-	}
-}
-
-/* jQuery extend now ignores nulls! */
-function datepicker_extendRemove(target, props) {
-	$.extend(target, props);
-	for (var name in props) {
-		if (props[name] == null) {
-			target[name] = props[name];
-		}
-	}
-	return target;
-}
-
-/* Invoke the datepicker functionality.
-   @param  options  string - a command, optionally followed by additional parameters or
-					Object - settings for attaching new datepicker functionality
-   @return  jQuery object */
-$.fn.datepicker = function(options){
-
-	/* Verify an empty collection wasn't passed - Fixes #6976 */
-	if ( !this.length ) {
-		return this;
-	}
-
-	/* Initialise the date picker. */
-	if (!$.datepicker.initialized) {
-		$(document).mousedown($.datepicker._checkExternalClick);
-		$.datepicker.initialized = true;
-	}
-
-	/* Append datepicker main container to body if not exist. */
-	if ($("#"+$.datepicker._mainDivId).length === 0) {
-		$("body").append($.datepicker.dpDiv);
-	}
-
-	var otherArgs = Array.prototype.slice.call(arguments, 1);
-	if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) {
-		return $.datepicker["_" + options + "Datepicker"].
-			apply($.datepicker, [this[0]].concat(otherArgs));
-	}
-	if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") {
-		return $.datepicker["_" + options + "Datepicker"].
-			apply($.datepicker, [this[0]].concat(otherArgs));
-	}
-	return this.each(function() {
-		typeof options === "string" ?
-			$.datepicker["_" + options + "Datepicker"].
-				apply($.datepicker, [this].concat(otherArgs)) :
-			$.datepicker._attachDatepicker(this, options);
-	});
-};
-
-$.datepicker = new Datepicker(); // singleton instance
-$.datepicker.initialized = false;
-$.datepicker.uuid = new Date().getTime();
-$.datepicker.version = "1.11.4";
-
-var datepicker = $.datepicker;
-
-
-/*!
- * jQuery UI Dialog 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/dialog/
- */
-
-
-var dialog = $.widget( "ui.dialog", {
-	version: "1.11.4",
-	options: {
-		appendTo: "body",
-		autoOpen: true,
-		buttons: [],
-		closeOnEscape: true,
-		closeText: "Close",
-		dialogClass: "",
-		draggable: true,
-		hide: null,
-		height: "auto",
-		maxHeight: null,
-		maxWidth: null,
-		minHeight: 150,
-		minWidth: 150,
-		modal: false,
-		position: {
-			my: "center",
-			at: "center",
-			of: window,
-			collision: "fit",
-			// Ensure the titlebar is always visible
-			using: function( pos ) {
-				var topOffset = $( this ).css( pos ).offset().top;
-				if ( topOffset < 0 ) {
-					$( this ).css( "top", pos.top - topOffset );
-				}
-			}
-		},
-		resizable: true,
-		show: null,
-		title: null,
-		width: 300,
-
-		// callbacks
-		beforeClose: null,
-		close: null,
-		drag: null,
-		dragStart: null,
-		dragStop: null,
-		focus: null,
-		open: null,
-		resize: null,
-		resizeStart: null,
-		resizeStop: null
-	},
-
-	sizeRelatedOptions: {
-		buttons: true,
-		height: true,
-		maxHeight: true,
-		maxWidth: true,
-		minHeight: true,
-		minWidth: true,
-		width: true
-	},
-
-	resizableRelatedOptions: {
-		maxHeight: true,
-		maxWidth: true,
-		minHeight: true,
-		minWidth: true
-	},
-
-	_create: function() {
-		this.originalCss = {
-			display: this.element[ 0 ].style.display,
-			width: this.element[ 0 ].style.width,
-			minHeight: this.element[ 0 ].style.minHeight,
-			maxHeight: this.element[ 0 ].style.maxHeight,
-			height: this.element[ 0 ].style.height
-		};
-		this.originalPosition = {
-			parent: this.element.parent(),
-			index: this.element.parent().children().index( this.element )
-		};
-		this.originalTitle = this.element.attr( "title" );
-		this.options.title = this.options.title || this.originalTitle;
-
-		this._createWrapper();
-
-		this.element
-			.show()
-			.removeAttr( "title" )
-			.addClass( "ui-dialog-content ui-widget-content" )
-			.appendTo( this.uiDialog );
-
-		this._createTitlebar();
-		this._createButtonPane();
-
-		if ( this.options.draggable && $.fn.draggable ) {
-			this._makeDraggable();
-		}
-		if ( this.options.resizable && $.fn.resizable ) {
-			this._makeResizable();
-		}
-
-		this._isOpen = false;
-
-		this._trackFocus();
-	},
-
-	_init: function() {
-		if ( this.options.autoOpen ) {
-			this.open();
-		}
-	},
-
-	_appendTo: function() {
-		var element = this.options.appendTo;
-		if ( element && (element.jquery || element.nodeType) ) {
-			return $( element );
-		}
-		return this.document.find( element || "body" ).eq( 0 );
-	},
-
-	_destroy: function() {
-		var next,
-			originalPosition = this.originalPosition;
-
-		this._untrackInstance();
-		this._destroyOverlay();
-
-		this.element
-			.removeUniqueId()
-			.removeClass( "ui-dialog-content ui-widget-content" )
-			.css( this.originalCss )
-			// Without detaching first, the following becomes really slow
-			.detach();
-
-		this.uiDialog.stop( true, true ).remove();
-
-		if ( this.originalTitle ) {
-			this.element.attr( "title", this.originalTitle );
-		}
-
-		next = originalPosition.parent.children().eq( originalPosition.index );
-		// Don't try to place the dialog next to itself (#8613)
-		if ( next.length && next[ 0 ] !== this.element[ 0 ] ) {
-			next.before( this.element );
-		} else {
-			originalPosition.parent.append( this.element );
-		}
-	},
-
-	widget: function() {
-		return this.uiDialog;
-	},
-
-	disable: $.noop,
-	enable: $.noop,
-
-	close: function( event ) {
-		var activeElement,
-			that = this;
-
-		if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
-			return;
-		}
-
-		this._isOpen = false;
-		this._focusedElement = null;
-		this._destroyOverlay();
-		this._untrackInstance();
-
-		if ( !this.opener.filter( ":focusable" ).focus().length ) {
-
-			// support: IE9
-			// IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
-			try {
-				activeElement = this.document[ 0 ].activeElement;
-
-				// Support: IE9, IE10
-				// If the <body> is blurred, IE will switch windows, see #4520
-				if ( activeElement && activeElement.nodeName.toLowerCase() !== "body" ) {
-
-					// Hiding a focused element doesn't trigger blur in WebKit
-					// so in case we have nothing to focus on, explicitly blur the active element
-					// https://bugs.webkit.org/show_bug.cgi?id=47182
-					$( activeElement ).blur();
-				}
-			} catch ( error ) {}
-		}
-
-		this._hide( this.uiDialog, this.options.hide, function() {
-			that._trigger( "close", event );
-		});
-	},
-
-	isOpen: function() {
-		return this._isOpen;
-	},
-
-	moveToTop: function() {
-		this._moveToTop();
-	},
-
-	_moveToTop: function( event, silent ) {
-		var moved = false,
-			zIndices = this.uiDialog.siblings( ".ui-front:visible" ).map(function() {
-				return +$( this ).css( "z-index" );
-			}).get(),
-			zIndexMax = Math.max.apply( null, zIndices );
-
-		if ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) {
-			this.uiDialog.css( "z-index", zIndexMax + 1 );
-			moved = true;
-		}
-
-		if ( moved && !silent ) {
-			this._trigger( "focus", event );
-		}
-		return moved;
-	},
-
-	open: function() {
-		var that = this;
-		if ( this._isOpen ) {
-			if ( this._moveToTop() ) {
-				this._focusTabbable();
-			}
-			return;
-		}
-
-		this._isOpen = true;
-		this.opener = $( this.document[ 0 ].activeElement );
-
-		this._size();
-		this._position();
-		this._createOverlay();
-		this._moveToTop( null, true );
-
-		// Ensure the overlay is moved to the top with the dialog, but only when
-		// opening. The overlay shouldn't move after the dialog is open so that
-		// modeless dialogs opened after the modal dialog stack properly.
-		if ( this.overlay ) {
-			this.overlay.css( "z-index", this.uiDialog.css( "z-index" ) - 1 );
-		}
-
-		this._show( this.uiDialog, this.options.show, function() {
-			that._focusTabbable();
-			that._trigger( "focus" );
-		});
-
-		// Track the dialog immediately upon openening in case a focus event
-		// somehow occurs outside of the dialog before an element inside the
-		// dialog is focused (#10152)
-		this._makeFocusTarget();
-
-		this._trigger( "open" );
-	},
-
-	_focusTabbable: function() {
-		// Set focus to the first match:
-		// 1. An element that was focused previously
-		// 2. First element inside the dialog matching [autofocus]
-		// 3. Tabbable element inside the content element
-		// 4. Tabbable element inside the buttonpane
-		// 5. The close button
-		// 6. The dialog itself
-		var hasFocus = this._focusedElement;
-		if ( !hasFocus ) {
-			hasFocus = this.element.find( "[autofocus]" );
-		}
-		if ( !hasFocus.length ) {
-			hasFocus = this.element.find( ":tabbable" );
-		}
-		if ( !hasFocus.length ) {
-			hasFocus = this.uiDialogButtonPane.find( ":tabbable" );
-		}
-		if ( !hasFocus.length ) {
-			hasFocus = this.uiDialogTitlebarClose.filter( ":tabbable" );
-		}
-		if ( !hasFocus.length ) {
-			hasFocus = this.uiDialog;
-		}
-		hasFocus.eq( 0 ).focus();
-	},
-
-	_keepFocus: function( event ) {
-		function checkFocus() {
-			var activeElement = this.document[0].activeElement,
-				isActive = this.uiDialog[0] === activeElement ||
-					$.contains( this.uiDialog[0], activeElement );
-			if ( !isActive ) {
-				this._focusTabbable();
-			}
-		}
-		event.preventDefault();
-		checkFocus.call( this );
-		// support: IE
-		// IE <= 8 doesn't prevent moving focus even with event.preventDefault()
-		// so we check again later
-		this._delay( checkFocus );
-	},
-
-	_createWrapper: function() {
-		this.uiDialog = $("<div>")
-			.addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " +
-				this.options.dialogClass )
-			.hide()
-			.attr({
-				// Setting tabIndex makes the div focusable
-				tabIndex: -1,
-				role: "dialog"
-			})
-			.appendTo( this._appendTo() );
-
-		this._on( this.uiDialog, {
-			keydown: function( event ) {
-				if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&
-						event.keyCode === $.ui.keyCode.ESCAPE ) {
-					event.preventDefault();
-					this.close( event );
-					return;
-				}
-
-				// prevent tabbing out of dialogs
-				if ( event.keyCode !== $.ui.keyCode.TAB || event.isDefaultPrevented() ) {
-					return;
-				}
-				var tabbables = this.uiDialog.find( ":tabbable" ),
-					first = tabbables.filter( ":first" ),
-					last = tabbables.filter( ":last" );
-
-				if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {
-					this._delay(function() {
-						first.focus();
-					});
-					event.preventDefault();
-				} else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {
-					this._delay(function() {
-						last.focus();
-					});
-					event.preventDefault();
-				}
-			},
-			mousedown: function( event ) {
-				if ( this._moveToTop( event ) ) {
-					this._focusTabbable();
-				}
-			}
-		});
-
-		// We assume that any existing aria-describedby attribute means
-		// that the dialog content is marked up properly
-		// otherwise we brute force the content as the description
-		if ( !this.element.find( "[aria-describedby]" ).length ) {
-			this.uiDialog.attr({
-				"aria-describedby": this.element.uniqueId().attr( "id" )
-			});
-		}
-	},
-
-	_createTitlebar: function() {
-		var uiDialogTitle;
-
-		this.uiDialogTitlebar = $( "<div>" )
-			.addClass( "ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" )
-			.prependTo( this.uiDialog );
-		this._on( this.uiDialogTitlebar, {
-			mousedown: function( event ) {
-				// Don't prevent click on close button (#8838)
-				// Focusing a dialog that is partially scrolled out of view
-				// causes the browser to scroll it into view, preventing the click event
-				if ( !$( event.target ).closest( ".ui-dialog-titlebar-close" ) ) {
-					// Dialog isn't getting focus when dragging (#8063)
-					this.uiDialog.focus();
-				}
-			}
-		});
-
-		// support: IE
-		// Use type="button" to prevent enter keypresses in textboxes from closing the
-		// dialog in IE (#9312)
-		this.uiDialogTitlebarClose = $( "<button type='button'></button>" )
-			.button({
-				label: this.options.closeText,
-				icons: {
-					primary: "ui-icon-closethick"
-				},
-				text: false
-			})
-			.addClass( "ui-dialog-titlebar-close" )
-			.appendTo( this.uiDialogTitlebar );
-		this._on( this.uiDialogTitlebarClose, {
-			click: function( event ) {
-				event.preventDefault();
-				this.close( event );
-			}
-		});
-
-		uiDialogTitle = $( "<span>" )
-			.uniqueId()
-			.addClass( "ui-dialog-title" )
-			.prependTo( this.uiDialogTitlebar );
-		this._title( uiDialogTitle );
-
-		this.uiDialog.attr({
-			"aria-labelledby": uiDialogTitle.attr( "id" )
-		});
-	},
-
-	_title: function( title ) {
-		if ( !this.options.title ) {
-			title.html( "&#160;" );
-		}
-		title.text( this.options.title );
-	},
-
-	_createButtonPane: function() {
-		this.uiDialogButtonPane = $( "<div>" )
-			.addClass( "ui-dialog-buttonpane ui-widget-content ui-helper-clearfix" );
-
-		this.uiButtonSet = $( "<div>" )
-			.addClass( "ui-dialog-buttonset" )
-			.appendTo( this.uiDialogButtonPane );
-
-		this._createButtons();
-	},
-
-	_createButtons: function() {
-		var that = this,
-			buttons = this.options.buttons;
-
-		// if we already have a button pane, remove it
-		this.uiDialogButtonPane.remove();
-		this.uiButtonSet.empty();
-
-		if ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {
-			this.uiDialog.removeClass( "ui-dialog-buttons" );
-			return;
-		}
-
-		$.each( buttons, function( name, props ) {
-			var click, buttonOptions;
-			props = $.isFunction( props ) ?
-				{ click: props, text: name } :
-				props;
-			// Default to a non-submitting button
-			props = $.extend( { type: "button" }, props );
-			// Change the context for the click callback to be the main element
-			click = props.click;
-			props.click = function() {
-				click.apply( that.element[ 0 ], arguments );
-			};
-			buttonOptions = {
-				icons: props.icons,
-				text: props.showText
-			};
-			delete props.icons;
-			delete props.showText;
-			$( "<button></button>", props )
-				.button( buttonOptions )
-				.appendTo( that.uiButtonSet );
-		});
-		this.uiDialog.addClass( "ui-dialog-buttons" );
-		this.uiDialogButtonPane.appendTo( this.uiDialog );
-	},
-
-	_makeDraggable: function() {
-		var that = this,
-			options = this.options;
-
-		function filteredUi( ui ) {
-			return {
-				position: ui.position,
-				offset: ui.offset
-			};
-		}
-
-		this.uiDialog.draggable({
-			cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
-			handle: ".ui-dialog-titlebar",
-			containment: "document",
-			start: function( event, ui ) {
-				$( this ).addClass( "ui-dialog-dragging" );
-				that._blockFrames();
-				that._trigger( "dragStart", event, filteredUi( ui ) );
-			},
-			drag: function( event, ui ) {
-				that._trigger( "drag", event, filteredUi( ui ) );
-			},
-			stop: function( event, ui ) {
-				var left = ui.offset.left - that.document.scrollLeft(),
-					top = ui.offset.top - that.document.scrollTop();
-
-				options.position = {
-					my: "left top",
-					at: "left" + (left >= 0 ? "+" : "") + left + " " +
-						"top" + (top >= 0 ? "+" : "") + top,
-					of: that.window
-				};
-				$( this ).removeClass( "ui-dialog-dragging" );
-				that._unblockFrames();
-				that._trigger( "dragStop", event, filteredUi( ui ) );
-			}
-		});
-	},
-
-	_makeResizable: function() {
-		var that = this,
-			options = this.options,
-			handles = options.resizable,
-			// .ui-resizable has position: relative defined in the stylesheet
-			// but dialogs have to use absolute or fixed positioning
-			position = this.uiDialog.css("position"),
-			resizeHandles = typeof handles === "string" ?
-				handles	:
-				"n,e,s,w,se,sw,ne,nw";
-
-		function filteredUi( ui ) {
-			return {
-				originalPosition: ui.originalPosition,
-				originalSize: ui.originalSize,
-				position: ui.position,
-				size: ui.size
-			};
-		}
-
-		this.uiDialog.resizable({
-			cancel: ".ui-dialog-content",
-			containment: "document",
-			alsoResize: this.element,
-			maxWidth: options.maxWidth,
-			maxHeight: options.maxHeight,
-			minWidth: options.minWidth,
-			minHeight: this._minHeight(),
-			handles: resizeHandles,
-			start: function( event, ui ) {
-				$( this ).addClass( "ui-dialog-resizing" );
-				that._blockFrames();
-				that._trigger( "resizeStart", event, filteredUi( ui ) );
-			},
-			resize: function( event, ui ) {
-				that._trigger( "resize", event, filteredUi( ui ) );
-			},
-			stop: function( event, ui ) {
-				var offset = that.uiDialog.offset(),
-					left = offset.left - that.document.scrollLeft(),
-					top = offset.top - that.document.scrollTop();
-
-				options.height = that.uiDialog.height();
-				options.width = that.uiDialog.width();
-				options.position = {
-					my: "left top",
-					at: "left" + (left >= 0 ? "+" : "") + left + " " +
-						"top" + (top >= 0 ? "+" : "") + top,
-					of: that.window
-				};
-				$( this ).removeClass( "ui-dialog-resizing" );
-				that._unblockFrames();
-				that._trigger( "resizeStop", event, filteredUi( ui ) );
-			}
-		})
-		.css( "position", position );
-	},
-
-	_trackFocus: function() {
-		this._on( this.widget(), {
-			focusin: function( event ) {
-				this._makeFocusTarget();
-				this._focusedElement = $( event.target );
-			}
-		});
-	},
-
-	_makeFocusTarget: function() {
-		this._untrackInstance();
-		this._trackingInstances().unshift( this );
-	},
-
-	_untrackInstance: function() {
-		var instances = this._trackingInstances(),
-			exists = $.inArray( this, instances );
-		if ( exists !== -1 ) {
-			instances.splice( exists, 1 );
-		}
-	},
-
-	_trackingInstances: function() {
-		var instances = this.document.data( "ui-dialog-instances" );
-		if ( !instances ) {
-			instances = [];
-			this.document.data( "ui-dialog-instances", instances );
-		}
-		return instances;
-	},
-
-	_minHeight: function() {
-		var options = this.options;
-
-		return options.height === "auto" ?
-			options.minHeight :
-			Math.min( options.minHeight, options.height );
-	},
-
-	_position: function() {
-		// Need to show the dialog to get the actual offset in the position plugin
-		var isVisible = this.uiDialog.is( ":visible" );
-		if ( !isVisible ) {
-			this.uiDialog.show();
-		}
-		this.uiDialog.position( this.options.position );
-		if ( !isVisible ) {
-			this.uiDialog.hide();
-		}
-	},
-
-	_setOptions: function( options ) {
-		var that = this,
-			resize = false,
-			resizableOptions = {};
-
-		$.each( options, function( key, value ) {
-			that._setOption( key, value );
-
-			if ( key in that.sizeRelatedOptions ) {
-				resize = true;
-			}
-			if ( key in that.resizableRelatedOptions ) {
-				resizableOptions[ key ] = value;
-			}
-		});
-
-		if ( resize ) {
-			this._size();
-			this._position();
-		}
-		if ( this.uiDialog.is( ":data(ui-resizable)" ) ) {
-			this.uiDialog.resizable( "option", resizableOptions );
-		}
-	},
-
-	_setOption: function( key, value ) {
-		var isDraggable, isResizable,
-			uiDialog = this.uiDialog;
-
-		if ( key === "dialogClass" ) {
-			uiDialog
-				.removeClass( this.options.dialogClass )
-				.addClass( value );
-		}
-
-		if ( key === "disabled" ) {
-			return;
-		}
-
-		this._super( key, value );
-
-		if ( key === "appendTo" ) {
-			this.uiDialog.appendTo( this._appendTo() );
-		}
-
-		if ( key === "buttons" ) {
-			this._createButtons();
-		}
-
-		if ( key === "closeText" ) {
-			this.uiDialogTitlebarClose.button({
-				// Ensure that we always pass a string
-				label: "" + value
-			});
-		}
-
-		if ( key === "draggable" ) {
-			isDraggable = uiDialog.is( ":data(ui-draggable)" );
-			if ( isDraggable && !value ) {
-				uiDialog.draggable( "destroy" );
-			}
-
-			if ( !isDraggable && value ) {
-				this._makeDraggable();
-			}
-		}
-
-		if ( key === "position" ) {
-			this._position();
-		}
-
-		if ( key === "resizable" ) {
-			// currently resizable, becoming non-resizable
-			isResizable = uiDialog.is( ":data(ui-resizable)" );
-			if ( isResizable && !value ) {
-				uiDialog.resizable( "destroy" );
-			}
-
-			// currently resizable, changing handles
-			if ( isResizable && typeof value === "string" ) {
-				uiDialog.resizable( "option", "handles", value );
-			}
-
-			// currently non-resizable, becoming resizable
-			if ( !isResizable && value !== false ) {
-				this._makeResizable();
-			}
-		}
-
-		if ( key === "title" ) {
-			this._title( this.uiDialogTitlebar.find( ".ui-dialog-title" ) );
-		}
-	},
-
-	_size: function() {
-		// If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
-		// divs will both have width and height set, so we need to reset them
-		var nonContentHeight, minContentHeight, maxContentHeight,
-			options = this.options;
-
-		// Reset content sizing
-		this.element.show().css({
-			width: "auto",
-			minHeight: 0,
-			maxHeight: "none",
-			height: 0
-		});
-
-		if ( options.minWidth > options.width ) {
-			options.width = options.minWidth;
-		}
-
-		// reset wrapper sizing
-		// determine the height of all the non-content elements
-		nonContentHeight = this.uiDialog.css({
-				height: "auto",
-				width: options.width
-			})
-			.outerHeight();
-		minContentHeight = Math.max( 0, options.minHeight - nonContentHeight );
-		maxContentHeight = typeof options.maxHeight === "number" ?
-			Math.max( 0, options.maxHeight - nonContentHeight ) :
-			"none";
-
-		if ( options.height === "auto" ) {
-			this.element.css({
-				minHeight: minContentHeight,
-				maxHeight: maxContentHeight,
-				height: "auto"
-			});
-		} else {
-			this.element.height( Math.max( 0, options.height - nonContentHeight ) );
-		}
-
-		if ( this.uiDialog.is( ":data(ui-resizable)" ) ) {
-			this.uiDialog.resizable( "option", "minHeight", this._minHeight() );
-		}
-	},
-
-	_blockFrames: function() {
-		this.iframeBlocks = this.document.find( "iframe" ).map(function() {
-			var iframe = $( this );
-
-			return $( "<div>" )
-				.css({
-					position: "absolute",
-					width: iframe.outerWidth(),
-					height: iframe.outerHeight()
-				})
-				.appendTo( iframe.parent() )
-				.offset( iframe.offset() )[0];
-		});
-	},
-
-	_unblockFrames: function() {
-		if ( this.iframeBlocks ) {
-			this.iframeBlocks.remove();
-			delete this.iframeBlocks;
-		}
-	},
-
-	_allowInteraction: function( event ) {
-		if ( $( event.target ).closest( ".ui-dialog" ).length ) {
-			return true;
-		}
-
-		// TODO: Remove hack when datepicker implements
-		// the .ui-front logic (#8989)
-		return !!$( event.target ).closest( ".ui-datepicker" ).length;
-	},
-
-	_createOverlay: function() {
-		if ( !this.options.modal ) {
-			return;
-		}
-
-		// We use a delay in case the overlay is created from an
-		// event that we're going to be cancelling (#2804)
-		var isOpening = true;
-		this._delay(function() {
-			isOpening = false;
-		});
-
-		if ( !this.document.data( "ui-dialog-overlays" ) ) {
-
-			// Prevent use of anchors and inputs
-			// Using _on() for an event handler shared across many instances is
-			// safe because the dialogs stack and must be closed in reverse order
-			this._on( this.document, {
-				focusin: function( event ) {
-					if ( isOpening ) {
-						return;
-					}
-
-					if ( !this._allowInteraction( event ) ) {
-						event.preventDefault();
-						this._trackingInstances()[ 0 ]._focusTabbable();
-					}
-				}
-			});
-		}
-
-		this.overlay = $( "<div>" )
-			.addClass( "ui-widget-overlay ui-front" )
-			.appendTo( this._appendTo() );
-		this._on( this.overlay, {
-			mousedown: "_keepFocus"
-		});
-		this.document.data( "ui-dialog-overlays",
-			(this.document.data( "ui-dialog-overlays" ) || 0) + 1 );
-	},
-
-	_destroyOverlay: function() {
-		if ( !this.options.modal ) {
-			return;
-		}
-
-		if ( this.overlay ) {
-			var overlays = this.document.data( "ui-dialog-overlays" ) - 1;
-
-			if ( !overlays ) {
-				this.document
-					.unbind( "focusin" )
-					.removeData( "ui-dialog-overlays" );
-			} else {
-				this.document.data( "ui-dialog-overlays", overlays );
-			}
-
-			this.overlay.remove();
-			this.overlay = null;
-		}
-	}
-});
-
-
-/*!
- * jQuery UI Progressbar 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/progressbar/
- */
-
-
-var progressbar = $.widget( "ui.progressbar", {
-	version: "1.11.4",
-	options: {
-		max: 100,
-		value: 0,
-
-		change: null,
-		complete: null
-	},
-
-	min: 0,
-
-	_create: function() {
-		// Constrain initial value
-		this.oldValue = this.options.value = this._constrainedValue();
-
-		this.element
-			.addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
-			.attr({
-				// Only set static values, aria-valuenow and aria-valuemax are
-				// set inside _refreshValue()
-				role: "progressbar",
-				"aria-valuemin": this.min
-			});
-
-		this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
-			.appendTo( this.element );
-
-		this._refreshValue();
-	},
-
-	_destroy: function() {
-		this.element
-			.removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-valuemin" )
-			.removeAttr( "aria-valuemax" )
-			.removeAttr( "aria-valuenow" );
-
-		this.valueDiv.remove();
-	},
-
-	value: function( newValue ) {
-		if ( newValue === undefined ) {
-			return this.options.value;
-		}
-
-		this.options.value = this._constrainedValue( newValue );
-		this._refreshValue();
-	},
-
-	_constrainedValue: function( newValue ) {
-		if ( newValue === undefined ) {
-			newValue = this.options.value;
-		}
-
-		this.indeterminate = newValue === false;
-
-		// sanitize value
-		if ( typeof newValue !== "number" ) {
-			newValue = 0;
-		}
-
-		return this.indeterminate ? false :
-			Math.min( this.options.max, Math.max( this.min, newValue ) );
-	},
-
-	_setOptions: function( options ) {
-		// Ensure "value" option is set after other values (like max)
-		var value = options.value;
-		delete options.value;
-
-		this._super( options );
-
-		this.options.value = this._constrainedValue( value );
-		this._refreshValue();
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "max" ) {
-			// Don't allow a max less than min
-			value = Math.max( this.min, value );
-		}
-		if ( key === "disabled" ) {
-			this.element
-				.toggleClass( "ui-state-disabled", !!value )
-				.attr( "aria-disabled", value );
-		}
-		this._super( key, value );
-	},
-
-	_percentage: function() {
-		return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min );
-	},
-
-	_refreshValue: function() {
-		var value = this.options.value,
-			percentage = this._percentage();
-
-		this.valueDiv
-			.toggle( this.indeterminate || value > this.min )
-			.toggleClass( "ui-corner-right", value === this.options.max )
-			.width( percentage.toFixed(0) + "%" );
-
-		this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate );
-
-		if ( this.indeterminate ) {
-			this.element.removeAttr( "aria-valuenow" );
-			if ( !this.overlayDiv ) {
-				this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
-			}
-		} else {
-			this.element.attr({
-				"aria-valuemax": this.options.max,
-				"aria-valuenow": value
-			});
-			if ( this.overlayDiv ) {
-				this.overlayDiv.remove();
-				this.overlayDiv = null;
-			}
-		}
-
-		if ( this.oldValue !== value ) {
-			this.oldValue = value;
-			this._trigger( "change" );
-		}
-		if ( value === this.options.max ) {
-			this._trigger( "complete" );
-		}
-	}
-});
-
-
-/*!
- * jQuery UI Selectmenu 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/selectmenu
- */
-
-
-var selectmenu = $.widget( "ui.selectmenu", {
-	version: "1.11.4",
-	defaultElement: "<select>",
-	options: {
-		appendTo: null,
-		disabled: null,
-		icons: {
-			button: "ui-icon-triangle-1-s"
-		},
-		position: {
-			my: "left top",
-			at: "left bottom",
-			collision: "none"
-		},
-		width: null,
-
-		// callbacks
-		change: null,
-		close: null,
-		focus: null,
-		open: null,
-		select: null
-	},
-
-	_create: function() {
-		var selectmenuId = this.element.uniqueId().attr( "id" );
-		this.ids = {
-			element: selectmenuId,
-			button: selectmenuId + "-button",
-			menu: selectmenuId + "-menu"
-		};
-
-		this._drawButton();
-		this._drawMenu();
-
-		if ( this.options.disabled ) {
-			this.disable();
-		}
-	},
-
-	_drawButton: function() {
-		var that = this;
-
-		// Associate existing label with the new button
-		this.label = $( "label[for='" + this.ids.element + "']" ).attr( "for", this.ids.button );
-		this._on( this.label, {
-			click: function( event ) {
-				this.button.focus();
-				event.preventDefault();
-			}
-		});
-
-		// Hide original select element
-		this.element.hide();
-
-		// Create button
-		this.button = $( "<span>", {
-			"class": "ui-selectmenu-button ui-widget ui-state-default ui-corner-all",
-			tabindex: this.options.disabled ? -1 : 0,
-			id: this.ids.button,
-			role: "combobox",
-			"aria-expanded": "false",
-			"aria-autocomplete": "list",
-			"aria-owns": this.ids.menu,
-			"aria-haspopup": "true"
-		})
-			.insertAfter( this.element );
-
-		$( "<span>", {
-			"class": "ui-icon " + this.options.icons.button
-		})
-			.prependTo( this.button );
-
-		this.buttonText = $( "<span>", {
-			"class": "ui-selectmenu-text"
-		})
-			.appendTo( this.button );
-
-		this._setText( this.buttonText, this.element.find( "option:selected" ).text() );
-		this._resizeButton();
-
-		this._on( this.button, this._buttonEvents );
-		this.button.one( "focusin", function() {
-
-			// Delay rendering the menu items until the button receives focus.
-			// The menu may have already been rendered via a programmatic open.
-			if ( !that.menuItems ) {
-				that._refreshMenu();
-			}
-		});
-		this._hoverable( this.button );
-		this._focusable( this.button );
-	},
-
-	_drawMenu: function() {
-		var that = this;
-
-		// Create menu
-		this.menu = $( "<ul>", {
-			"aria-hidden": "true",
-			"aria-labelledby": this.ids.button,
-			id: this.ids.menu
-		});
-
-		// Wrap menu
-		this.menuWrap = $( "<div>", {
-			"class": "ui-selectmenu-menu ui-front"
-		})
-			.append( this.menu )
-			.appendTo( this._appendTo() );
-
-		// Initialize menu widget
-		this.menuInstance = this.menu
-			.menu({
-				role: "listbox",
-				select: function( event, ui ) {
-					event.preventDefault();
-
-					// support: IE8
-					// If the item was selected via a click, the text selection
-					// will be destroyed in IE
-					that._setSelection();
-
-					that._select( ui.item.data( "ui-selectmenu-item" ), event );
-				},
-				focus: function( event, ui ) {
-					var item = ui.item.data( "ui-selectmenu-item" );
-
-					// Prevent inital focus from firing and check if its a newly focused item
-					if ( that.focusIndex != null && item.index !== that.focusIndex ) {
-						that._trigger( "focus", event, { item: item } );
-						if ( !that.isOpen ) {
-							that._select( item, event );
-						}
-					}
-					that.focusIndex = item.index;
-
-					that.button.attr( "aria-activedescendant",
-						that.menuItems.eq( item.index ).attr( "id" ) );
-				}
-			})
-			.menu( "instance" );
-
-		// Adjust menu styles to dropdown
-		this.menu
-			.addClass( "ui-corner-bottom" )
-			.removeClass( "ui-corner-all" );
-
-		// Don't close the menu on mouseleave
-		this.menuInstance._off( this.menu, "mouseleave" );
-
-		// Cancel the menu's collapseAll on document click
-		this.menuInstance._closeOnDocumentClick = function() {
-			return false;
-		};
-
-		// Selects often contain empty items, but never contain dividers
-		this.menuInstance._isDivider = function() {
-			return false;
-		};
-	},
-
-	refresh: function() {
-		this._refreshMenu();
-		this._setText( this.buttonText, this._getSelectedItem().text() );
-		if ( !this.options.width ) {
-			this._resizeButton();
-		}
-	},
-
-	_refreshMenu: function() {
-		this.menu.empty();
-
-		var item,
-			options = this.element.find( "option" );
-
-		if ( !options.length ) {
-			return;
-		}
-
-		this._parseOptions( options );
-		this._renderMenu( this.menu, this.items );
-
-		this.menuInstance.refresh();
-		this.menuItems = this.menu.find( "li" ).not( ".ui-selectmenu-optgroup" );
-
-		item = this._getSelectedItem();
-
-		// Update the menu to have the correct item focused
-		this.menuInstance.focus( null, item );
-		this._setAria( item.data( "ui-selectmenu-item" ) );
-
-		// Set disabled state
-		this._setOption( "disabled", this.element.prop( "disabled" ) );
-	},
-
-	open: function( event ) {
-		if ( this.options.disabled ) {
-			return;
-		}
-
-		// If this is the first time the menu is being opened, render the items
-		if ( !this.menuItems ) {
-			this._refreshMenu();
-		} else {
-
-			// Menu clears focus on close, reset focus to selected item
-			this.menu.find( ".ui-state-focus" ).removeClass( "ui-state-focus" );
-			this.menuInstance.focus( null, this._getSelectedItem() );
-		}
-
-		this.isOpen = true;
-		this._toggleAttr();
-		this._resizeMenu();
-		this._position();
-
-		this._on( this.document, this._documentClick );
-
-		this._trigger( "open", event );
-	},
-
-	_position: function() {
-		this.menuWrap.position( $.extend( { of: this.button }, this.options.position ) );
-	},
-
-	close: function( event ) {
-		if ( !this.isOpen ) {
-			return;
-		}
-
-		this.isOpen = false;
-		this._toggleAttr();
-
-		this.range = null;
-		this._off( this.document );
-
-		this._trigger( "close", event );
-	},
-
-	widget: function() {
-		return this.button;
-	},
-
-	menuWidget: function() {
-		return this.menu;
-	},
-
-	_renderMenu: function( ul, items ) {
-		var that = this,
-			currentOptgroup = "";
-
-		$.each( items, function( index, item ) {
-			if ( item.optgroup !== currentOptgroup ) {
-				$( "<li>", {
-					"class": "ui-selectmenu-optgroup ui-menu-divider" +
-						( item.element.parent( "optgroup" ).prop( "disabled" ) ?
-							" ui-state-disabled" :
-							"" ),
-					text: item.optgroup
-				})
-					.appendTo( ul );
-
-				currentOptgroup = item.optgroup;
-			}
-
-			that._renderItemData( ul, item );
-		});
-	},
-
-	_renderItemData: function( ul, item ) {
-		return this._renderItem( ul, item ).data( "ui-selectmenu-item", item );
-	},
-
-	_renderItem: function( ul, item ) {
-		var li = $( "<li>" );
-
-		if ( item.disabled ) {
-			li.addClass( "ui-state-disabled" );
-		}
-		this._setText( li, item.label );
-
-		return li.appendTo( ul );
-	},
-
-	_setText: function( element, value ) {
-		if ( value ) {
-			element.text( value );
-		} else {
-			element.html( "&#160;" );
-		}
-	},
-
-	_move: function( direction, event ) {
-		var item, next,
-			filter = ".ui-menu-item";
-
-		if ( this.isOpen ) {
-			item = this.menuItems.eq( this.focusIndex );
-		} else {
-			item = this.menuItems.eq( this.element[ 0 ].selectedIndex );
-			filter += ":not(.ui-state-disabled)";
-		}
-
-		if ( direction === "first" || direction === "last" ) {
-			next = item[ direction === "first" ? "prevAll" : "nextAll" ]( filter ).eq( -1 );
-		} else {
-			next = item[ direction + "All" ]( filter ).eq( 0 );
-		}
-
-		if ( next.length ) {
-			this.menuInstance.focus( event, next );
-		}
-	},
-
-	_getSelectedItem: function() {
-		return this.menuItems.eq( this.element[ 0 ].selectedIndex );
-	},
-
-	_toggle: function( event ) {
-		this[ this.isOpen ? "close" : "open" ]( event );
-	},
-
-	_setSelection: function() {
-		var selection;
-
-		if ( !this.range ) {
-			return;
-		}
-
-		if ( window.getSelection ) {
-			selection = window.getSelection();
-			selection.removeAllRanges();
-			selection.addRange( this.range );
-
-		// support: IE8
-		} else {
-			this.range.select();
-		}
-
-		// support: IE
-		// Setting the text selection kills the button focus in IE, but
-		// restoring the focus doesn't kill the selection.
-		this.button.focus();
-	},
-
-	_documentClick: {
-		mousedown: function( event ) {
-			if ( !this.isOpen ) {
-				return;
-			}
-
-			if ( !$( event.target ).closest( ".ui-selectmenu-menu, #" + this.ids.button ).length ) {
-				this.close( event );
-			}
-		}
-	},
-
-	_buttonEvents: {
-
-		// Prevent text selection from being reset when interacting with the selectmenu (#10144)
-		mousedown: function() {
-			var selection;
-
-			if ( window.getSelection ) {
-				selection = window.getSelection();
-				if ( selection.rangeCount ) {
-					this.range = selection.getRangeAt( 0 );
-				}
-
-			// support: IE8
-			} else {
-				this.range = document.selection.createRange();
-			}
-		},
-
-		click: function( event ) {
-			this._setSelection();
-			this._toggle( event );
-		},
-
-		keydown: function( event ) {
-			var preventDefault = true;
-			switch ( event.keyCode ) {
-				case $.ui.keyCode.TAB:
-				case $.ui.keyCode.ESCAPE:
-					this.close( event );
-					preventDefault = false;
-					break;
-				case $.ui.keyCode.ENTER:
-					if ( this.isOpen ) {
-						this._selectFocusedItem( event );
-					}
-					break;
-				case $.ui.keyCode.UP:
-					if ( event.altKey ) {
-						this._toggle( event );
-					} else {
-						this._move( "prev", event );
-					}
-					break;
-				case $.ui.keyCode.DOWN:
-					if ( event.altKey ) {
-						this._toggle( event );
-					} else {
-						this._move( "next", event );
-					}
-					break;
-				case $.ui.keyCode.SPACE:
-					if ( this.isOpen ) {
-						this._selectFocusedItem( event );
-					} else {
-						this._toggle( event );
-					}
-					break;
-				case $.ui.keyCode.LEFT:
-					this._move( "prev", event );
-					break;
-				case $.ui.keyCode.RIGHT:
-					this._move( "next", event );
-					break;
-				case $.ui.keyCode.HOME:
-				case $.ui.keyCode.PAGE_UP:
-					this._move( "first", event );
-					break;
-				case $.ui.keyCode.END:
-				case $.ui.keyCode.PAGE_DOWN:
-					this._move( "last", event );
-					break;
-				default:
-					this.menu.trigger( event );
-					preventDefault = false;
-			}
-
-			if ( preventDefault ) {
-				event.preventDefault();
-			}
-		}
-	},
-
-	_selectFocusedItem: function( event ) {
-		var item = this.menuItems.eq( this.focusIndex );
-		if ( !item.hasClass( "ui-state-disabled" ) ) {
-			this._select( item.data( "ui-selectmenu-item" ), event );
-		}
-	},
-
-	_select: function( item, event ) {
-		var oldIndex = this.element[ 0 ].selectedIndex;
-
-		// Change native select element
-		this.element[ 0 ].selectedIndex = item.index;
-		this._setText( this.buttonText, item.label );
-		this._setAria( item );
-		this._trigger( "select", event, { item: item } );
-
-		if ( item.index !== oldIndex ) {
-			this._trigger( "change", event, { item: item } );
-		}
-
-		this.close( event );
-	},
-
-	_setAria: function( item ) {
-		var id = this.menuItems.eq( item.index ).attr( "id" );
-
-		this.button.attr({
-			"aria-labelledby": id,
-			"aria-activedescendant": id
-		});
-		this.menu.attr( "aria-activedescendant", id );
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "icons" ) {
-			this.button.find( "span.ui-icon" )
-				.removeClass( this.options.icons.button )
-				.addClass( value.button );
-		}
-
-		this._super( key, value );
-
-		if ( key === "appendTo" ) {
-			this.menuWrap.appendTo( this._appendTo() );
-		}
-
-		if ( key === "disabled" ) {
-			this.menuInstance.option( "disabled", value );
-			this.button
-				.toggleClass( "ui-state-disabled", value )
-				.attr( "aria-disabled", value );
-
-			this.element.prop( "disabled", value );
-			if ( value ) {
-				this.button.attr( "tabindex", -1 );
-				this.close();
-			} else {
-				this.button.attr( "tabindex", 0 );
-			}
-		}
-
-		if ( key === "width" ) {
-			this._resizeButton();
-		}
-	},
-
-	_appendTo: function() {
-		var element = this.options.appendTo;
-
-		if ( element ) {
-			element = element.jquery || element.nodeType ?
-				$( element ) :
-				this.document.find( element ).eq( 0 );
-		}
-
-		if ( !element || !element[ 0 ] ) {
-			element = this.element.closest( ".ui-front" );
-		}
-
-		if ( !element.length ) {
-			element = this.document[ 0 ].body;
-		}
-
-		return element;
-	},
-
-	_toggleAttr: function() {
-		this.button
-			.toggleClass( "ui-corner-top", this.isOpen )
-			.toggleClass( "ui-corner-all", !this.isOpen )
-			.attr( "aria-expanded", this.isOpen );
-		this.menuWrap.toggleClass( "ui-selectmenu-open", this.isOpen );
-		this.menu.attr( "aria-hidden", !this.isOpen );
-	},
-
-	_resizeButton: function() {
-		var width = this.options.width;
-
-		if ( !width ) {
-			width = this.element.show().outerWidth();
-			this.element.hide();
-		}
-
-		this.button.outerWidth( width );
-	},
-
-	_resizeMenu: function() {
-		this.menu.outerWidth( Math.max(
-			this.button.outerWidth(),
-
-			// support: IE10
-			// IE10 wraps long text (possibly a rounding bug)
-			// so we add 1px to avoid the wrapping
-			this.menu.width( "" ).outerWidth() + 1
-		) );
-	},
-
-	_getCreateOptions: function() {
-		return { disabled: this.element.prop( "disabled" ) };
-	},
-
-	_parseOptions: function( options ) {
-		var data = [];
-		options.each(function( index, item ) {
-			var option = $( item ),
-				optgroup = option.parent( "optgroup" );
-			data.push({
-				element: option,
-				index: index,
-				value: option.val(),
-				label: option.text(),
-				optgroup: optgroup.attr( "label" ) || "",
-				disabled: optgroup.prop( "disabled" ) || option.prop( "disabled" )
-			});
-		});
-		this.items = data;
-	},
-
-	_destroy: function() {
-		this.menuWrap.remove();
-		this.button.remove();
-		this.element.show();
-		this.element.removeUniqueId();
-		this.label.attr( "for", this.ids.element );
-	}
-});
-
-
-/*!
- * jQuery UI Slider 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/slider/
- */
-
-
-var slider = $.widget( "ui.slider", $.ui.mouse, {
-	version: "1.11.4",
-	widgetEventPrefix: "slide",
-
-	options: {
-		animate: false,
-		distance: 0,
-		max: 100,
-		min: 0,
-		orientation: "horizontal",
-		range: false,
-		step: 1,
-		value: 0,
-		values: null,
-
-		// callbacks
-		change: null,
-		slide: null,
-		start: null,
-		stop: null
-	},
-
-	// number of pages in a slider
-	// (how many times can you page up/down to go through the whole range)
-	numPages: 5,
-
-	_create: function() {
-		this._keySliding = false;
-		this._mouseSliding = false;
-		this._animateOff = true;
-		this._handleIndex = null;
-		this._detectOrientation();
-		this._mouseInit();
-		this._calculateNewMax();
-
-		this.element
-			.addClass( "ui-slider" +
-				" ui-slider-" + this.orientation +
-				" ui-widget" +
-				" ui-widget-content" +
-				" ui-corner-all");
-
-		this._refresh();
-		this._setOption( "disabled", this.options.disabled );
-
-		this._animateOff = false;
-	},
-
-	_refresh: function() {
-		this._createRange();
-		this._createHandles();
-		this._setupEvents();
-		this._refreshValue();
-	},
-
-	_createHandles: function() {
-		var i, handleCount,
-			options = this.options,
-			existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ),
-			handle = "<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",
-			handles = [];
-
-		handleCount = ( options.values && options.values.length ) || 1;
-
-		if ( existingHandles.length > handleCount ) {
-			existingHandles.slice( handleCount ).remove();
-			existingHandles = existingHandles.slice( 0, handleCount );
-		}
-
-		for ( i = existingHandles.length; i < handleCount; i++ ) {
-			handles.push( handle );
-		}
-
-		this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) );
-
-		this.handle = this.handles.eq( 0 );
-
-		this.handles.each(function( i ) {
-			$( this ).data( "ui-slider-handle-index", i );
-		});
-	},
-
-	_createRange: function() {
-		var options = this.options,
-			classes = "";
-
-		if ( options.range ) {
-			if ( options.range === true ) {
-				if ( !options.values ) {
-					options.values = [ this._valueMin(), this._valueMin() ];
-				} else if ( options.values.length && options.values.length !== 2 ) {
-					options.values = [ options.values[0], options.values[0] ];
-				} else if ( $.isArray( options.values ) ) {
-					options.values = options.values.slice(0);
-				}
-			}
-
-			if ( !this.range || !this.range.length ) {
-				this.range = $( "<div></div>" )
-					.appendTo( this.element );
-
-				classes = "ui-slider-range" +
-				// note: this isn't the most fittingly semantic framework class for this element,
-				// but worked best visually with a variety of themes
-				" ui-widget-header ui-corner-all";
-			} else {
-				this.range.removeClass( "ui-slider-range-min ui-slider-range-max" )
-					// Handle range switching from true to min/max
-					.css({
-						"left": "",
-						"bottom": ""
-					});
-			}
-
-			this.range.addClass( classes +
-				( ( options.range === "min" || options.range === "max" ) ? " ui-slider-range-" + options.range : "" ) );
-		} else {
-			if ( this.range ) {
-				this.range.remove();
-			}
-			this.range = null;
-		}
-	},
-
-	_setupEvents: function() {
-		this._off( this.handles );
-		this._on( this.handles, this._handleEvents );
-		this._hoverable( this.handles );
-		this._focusable( this.handles );
-	},
-
-	_destroy: function() {
-		this.handles.remove();
-		if ( this.range ) {
-			this.range.remove();
-		}
-
-		this.element
-			.removeClass( "ui-slider" +
-				" ui-slider-horizontal" +
-				" ui-slider-vertical" +
-				" ui-widget" +
-				" ui-widget-content" +
-				" ui-corner-all" );
-
-		this._mouseDestroy();
-	},
-
-	_mouseCapture: function( event ) {
-		var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,
-			that = this,
-			o = this.options;
-
-		if ( o.disabled ) {
-			return false;
-		}
-
-		this.elementSize = {
-			width: this.element.outerWidth(),
-			height: this.element.outerHeight()
-		};
-		this.elementOffset = this.element.offset();
-
-		position = { x: event.pageX, y: event.pageY };
-		normValue = this._normValueFromMouse( position );
-		distance = this._valueMax() - this._valueMin() + 1;
-		this.handles.each(function( i ) {
-			var thisDistance = Math.abs( normValue - that.values(i) );
-			if (( distance > thisDistance ) ||
-				( distance === thisDistance &&
-					(i === that._lastChangedValue || that.values(i) === o.min ))) {
-				distance = thisDistance;
-				closestHandle = $( this );
-				index = i;
-			}
-		});
-
-		allowed = this._start( event, index );
-		if ( allowed === false ) {
-			return false;
-		}
-		this._mouseSliding = true;
-
-		this._handleIndex = index;
-
-		closestHandle
-			.addClass( "ui-state-active" )
-			.focus();
-
-		offset = closestHandle.offset();
-		mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" );
-		this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
-			left: event.pageX - offset.left - ( closestHandle.width() / 2 ),
-			top: event.pageY - offset.top -
-				( closestHandle.height() / 2 ) -
-				( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) -
-				( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) +
-				( parseInt( closestHandle.css("marginTop"), 10 ) || 0)
-		};
-
-		if ( !this.handles.hasClass( "ui-state-hover" ) ) {
-			this._slide( event, index, normValue );
-		}
-		this._animateOff = true;
-		return true;
-	},
-
-	_mouseStart: function() {
-		return true;
-	},
-
-	_mouseDrag: function( event ) {
-		var position = { x: event.pageX, y: event.pageY },
-			normValue = this._normValueFromMouse( position );
-
-		this._slide( event, this._handleIndex, normValue );
-
-		return false;
-	},
-
-	_mouseStop: function( event ) {
-		this.handles.removeClass( "ui-state-active" );
-		this._mouseSliding = false;
-
-		this._stop( event, this._handleIndex );
-		this._change( event, this._handleIndex );
-
-		this._handleIndex = null;
-		this._clickOffset = null;
-		this._animateOff = false;
-
-		return false;
-	},
-
-	_detectOrientation: function() {
-		this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal";
-	},
-
-	_normValueFromMouse: function( position ) {
-		var pixelTotal,
-			pixelMouse,
-			percentMouse,
-			valueTotal,
-			valueMouse;
-
-		if ( this.orientation === "horizontal" ) {
-			pixelTotal = this.elementSize.width;
-			pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );
-		} else {
-			pixelTotal = this.elementSize.height;
-			pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );
-		}
-
-		percentMouse = ( pixelMouse / pixelTotal );
-		if ( percentMouse > 1 ) {
-			percentMouse = 1;
-		}
-		if ( percentMouse < 0 ) {
-			percentMouse = 0;
-		}
-		if ( this.orientation === "vertical" ) {
-			percentMouse = 1 - percentMouse;
-		}
-
-		valueTotal = this._valueMax() - this._valueMin();
-		valueMouse = this._valueMin() + percentMouse * valueTotal;
-
-		return this._trimAlignValue( valueMouse );
-	},
-
-	_start: function( event, index ) {
-		var uiHash = {
-			handle: this.handles[ index ],
-			value: this.value()
-		};
-		if ( this.options.values && this.options.values.length ) {
-			uiHash.value = this.values( index );
-			uiHash.values = this.values();
-		}
-		return this._trigger( "start", event, uiHash );
-	},
-
-	_slide: function( event, index, newVal ) {
-		var otherVal,
-			newValues,
-			allowed;
-
-		if ( this.options.values && this.options.values.length ) {
-			otherVal = this.values( index ? 0 : 1 );
-
-			if ( ( this.options.values.length === 2 && this.options.range === true ) &&
-					( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )
-				) {
-				newVal = otherVal;
-			}
-
-			if ( newVal !== this.values( index ) ) {
-				newValues = this.values();
-				newValues[ index ] = newVal;
-				// A slide can be canceled by returning false from the slide callback
-				allowed = this._trigger( "slide", event, {
-					handle: this.handles[ index ],
-					value: newVal,
-					values: newValues
-				} );
-				otherVal = this.values( index ? 0 : 1 );
-				if ( allowed !== false ) {
-					this.values( index, newVal );
-				}
-			}
-		} else {
-			if ( newVal !== this.value() ) {
-				// A slide can be canceled by returning false from the slide callback
-				allowed = this._trigger( "slide", event, {
-					handle: this.handles[ index ],
-					value: newVal
-				} );
-				if ( allowed !== false ) {
-					this.value( newVal );
-				}
-			}
-		}
-	},
-
-	_stop: function( event, index ) {
-		var uiHash = {
-			handle: this.handles[ index ],
-			value: this.value()
-		};
-		if ( this.options.values && this.options.values.length ) {
-			uiHash.value = this.values( index );
-			uiHash.values = this.values();
-		}
-
-		this._trigger( "stop", event, uiHash );
-	},
-
-	_change: function( event, index ) {
-		if ( !this._keySliding && !this._mouseSliding ) {
-			var uiHash = {
-				handle: this.handles[ index ],
-				value: this.value()
-			};
-			if ( this.options.values && this.options.values.length ) {
-				uiHash.value = this.values( index );
-				uiHash.values = this.values();
-			}
-
-			//store the last changed value index for reference when handles overlap
-			this._lastChangedValue = index;
-
-			this._trigger( "change", event, uiHash );
-		}
-	},
-
-	value: function( newValue ) {
-		if ( arguments.length ) {
-			this.options.value = this._trimAlignValue( newValue );
-			this._refreshValue();
-			this._change( null, 0 );
-			return;
-		}
-
-		return this._value();
-	},
-
-	values: function( index, newValue ) {
-		var vals,
-			newValues,
-			i;
-
-		if ( arguments.length > 1 ) {
-			this.options.values[ index ] = this._trimAlignValue( newValue );
-			this._refreshValue();
-			this._change( null, index );
-			return;
-		}
-
-		if ( arguments.length ) {
-			if ( $.isArray( arguments[ 0 ] ) ) {
-				vals = this.options.values;
-				newValues = arguments[ 0 ];
-				for ( i = 0; i < vals.length; i += 1 ) {
-					vals[ i ] = this._trimAlignValue( newValues[ i ] );
-					this._change( null, i );
-				}
-				this._refreshValue();
-			} else {
-				if ( this.options.values && this.options.values.length ) {
-					return this._values( index );
-				} else {
-					return this.value();
-				}
-			}
-		} else {
-			return this._values();
-		}
-	},
-
-	_setOption: function( key, value ) {
-		var i,
-			valsLength = 0;
-
-		if ( key === "range" && this.options.range === true ) {
-			if ( value === "min" ) {
-				this.options.value = this._values( 0 );
-				this.options.values = null;
-			} else if ( value === "max" ) {
-				this.options.value = this._values( this.options.values.length - 1 );
-				this.options.values = null;
-			}
-		}
-
-		if ( $.isArray( this.options.values ) ) {
-			valsLength = this.options.values.length;
-		}
-
-		if ( key === "disabled" ) {
-			this.element.toggleClass( "ui-state-disabled", !!value );
-		}
-
-		this._super( key, value );
-
-		switch ( key ) {
-			case "orientation":
-				this._detectOrientation();
-				this.element
-					.removeClass( "ui-slider-horizontal ui-slider-vertical" )
-					.addClass( "ui-slider-" + this.orientation );
-				this._refreshValue();
-
-				// Reset positioning from previous orientation
-				this.handles.css( value === "horizontal" ? "bottom" : "left", "" );
-				break;
-			case "value":
-				this._animateOff = true;
-				this._refreshValue();
-				this._change( null, 0 );
-				this._animateOff = false;
-				break;
-			case "values":
-				this._animateOff = true;
-				this._refreshValue();
-				for ( i = 0; i < valsLength; i += 1 ) {
-					this._change( null, i );
-				}
-				this._animateOff = false;
-				break;
-			case "step":
-			case "min":
-			case "max":
-				this._animateOff = true;
-				this._calculateNewMax();
-				this._refreshValue();
-				this._animateOff = false;
-				break;
-			case "range":
-				this._animateOff = true;
-				this._refresh();
-				this._animateOff = false;
-				break;
-		}
-	},
-
-	//internal value getter
-	// _value() returns value trimmed by min and max, aligned by step
-	_value: function() {
-		var val = this.options.value;
-		val = this._trimAlignValue( val );
-
-		return val;
-	},
-
-	//internal values getter
-	// _values() returns array of values trimmed by min and max, aligned by step
-	// _values( index ) returns single value trimmed by min and max, aligned by step
-	_values: function( index ) {
-		var val,
-			vals,
-			i;
-
-		if ( arguments.length ) {
-			val = this.options.values[ index ];
-			val = this._trimAlignValue( val );
-
-			return val;
-		} else if ( this.options.values && this.options.values.length ) {
-			// .slice() creates a copy of the array
-			// this copy gets trimmed by min and max and then returned
-			vals = this.options.values.slice();
-			for ( i = 0; i < vals.length; i += 1) {
-				vals[ i ] = this._trimAlignValue( vals[ i ] );
-			}
-
-			return vals;
-		} else {
-			return [];
-		}
-	},
-
-	// returns the step-aligned value that val is closest to, between (inclusive) min and max
-	_trimAlignValue: function( val ) {
-		if ( val <= this._valueMin() ) {
-			return this._valueMin();
-		}
-		if ( val >= this._valueMax() ) {
-			return this._valueMax();
-		}
-		var step = ( this.options.step > 0 ) ? this.options.step : 1,
-			valModStep = (val - this._valueMin()) % step,
-			alignValue = val - valModStep;
-
-		if ( Math.abs(valModStep) * 2 >= step ) {
-			alignValue += ( valModStep > 0 ) ? step : ( -step );
-		}
-
-		// Since JavaScript has problems with large floats, round
-		// the final value to 5 digits after the decimal point (see #4124)
-		return parseFloat( alignValue.toFixed(5) );
-	},
-
-	_calculateNewMax: function() {
-		var max = this.options.max,
-			min = this._valueMin(),
-			step = this.options.step,
-			aboveMin = Math.floor( ( +( max - min ).toFixed( this._precision() ) ) / step ) * step;
-		max = aboveMin + min;
-		this.max = parseFloat( max.toFixed( this._precision() ) );
-	},
-
-	_precision: function() {
-		var precision = this._precisionOf( this.options.step );
-		if ( this.options.min !== null ) {
-			precision = Math.max( precision, this._precisionOf( this.options.min ) );
-		}
-		return precision;
-	},
-
-	_precisionOf: function( num ) {
-		var str = num.toString(),
-			decimal = str.indexOf( "." );
-		return decimal === -1 ? 0 : str.length - decimal - 1;
-	},
-
-	_valueMin: function() {
-		return this.options.min;
-	},
-
-	_valueMax: function() {
-		return this.max;
-	},
-
-	_refreshValue: function() {
-		var lastValPercent, valPercent, value, valueMin, valueMax,
-			oRange = this.options.range,
-			o = this.options,
-			that = this,
-			animate = ( !this._animateOff ) ? o.animate : false,
-			_set = {};
-
-		if ( this.options.values && this.options.values.length ) {
-			this.handles.each(function( i ) {
-				valPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;
-				_set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
-				$( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
-				if ( that.options.range === true ) {
-					if ( that.orientation === "horizontal" ) {
-						if ( i === 0 ) {
-							that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate );
-						}
-						if ( i === 1 ) {
-							that.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
-						}
-					} else {
-						if ( i === 0 ) {
-							that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate );
-						}
-						if ( i === 1 ) {
-							that.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
-						}
-					}
-				}
-				lastValPercent = valPercent;
-			});
-		} else {
-			value = this.value();
-			valueMin = this._valueMin();
-			valueMax = this._valueMax();
-			valPercent = ( valueMax !== valueMin ) ?
-					( value - valueMin ) / ( valueMax - valueMin ) * 100 :
-					0;
-			_set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
-			this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
-
-			if ( oRange === "min" && this.orientation === "horizontal" ) {
-				this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate );
-			}
-			if ( oRange === "max" && this.orientation === "horizontal" ) {
-				this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
-			}
-			if ( oRange === "min" && this.orientation === "vertical" ) {
-				this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate );
-			}
-			if ( oRange === "max" && this.orientation === "vertical" ) {
-				this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
-			}
-		}
-	},
-
-	_handleEvents: {
-		keydown: function( event ) {
-			var allowed, curVal, newVal, step,
-				index = $( event.target ).data( "ui-slider-handle-index" );
-
-			switch ( event.keyCode ) {
-				case $.ui.keyCode.HOME:
-				case $.ui.keyCode.END:
-				case $.ui.keyCode.PAGE_UP:
-				case $.ui.keyCode.PAGE_DOWN:
-				case $.ui.keyCode.UP:
-				case $.ui.keyCode.RIGHT:
-				case $.ui.keyCode.DOWN:
-				case $.ui.keyCode.LEFT:
-					event.preventDefault();
-					if ( !this._keySliding ) {
-						this._keySliding = true;
-						$( event.target ).addClass( "ui-state-active" );
-						allowed = this._start( event, index );
-						if ( allowed === false ) {
-							return;
-						}
-					}
-					break;
-			}
-
-			step = this.options.step;
-			if ( this.options.values && this.options.values.length ) {
-				curVal = newVal = this.values( index );
-			} else {
-				curVal = newVal = this.value();
-			}
-
-			switch ( event.keyCode ) {
-				case $.ui.keyCode.HOME:
-					newVal = this._valueMin();
-					break;
-				case $.ui.keyCode.END:
-					newVal = this._valueMax();
-					break;
-				case $.ui.keyCode.PAGE_UP:
-					newVal = this._trimAlignValue(
-						curVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages )
-					);
-					break;
-				case $.ui.keyCode.PAGE_DOWN:
-					newVal = this._trimAlignValue(
-						curVal - ( (this._valueMax() - this._valueMin()) / this.numPages ) );
-					break;
-				case $.ui.keyCode.UP:
-				case $.ui.keyCode.RIGHT:
-					if ( curVal === this._valueMax() ) {
-						return;
-					}
-					newVal = this._trimAlignValue( curVal + step );
-					break;
-				case $.ui.keyCode.DOWN:
-				case $.ui.keyCode.LEFT:
-					if ( curVal === this._valueMin() ) {
-						return;
-					}
-					newVal = this._trimAlignValue( curVal - step );
-					break;
-			}
-
-			this._slide( event, index, newVal );
-		},
-		keyup: function( event ) {
-			var index = $( event.target ).data( "ui-slider-handle-index" );
-
-			if ( this._keySliding ) {
-				this._keySliding = false;
-				this._stop( event, index );
-				this._change( event, index );
-				$( event.target ).removeClass( "ui-state-active" );
-			}
-		}
-	}
-});
-
-
-/*!
- * jQuery UI Spinner 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/spinner/
- */
-
-
-function spinner_modifier( fn ) {
-	return function() {
-		var previous = this.element.val();
-		fn.apply( this, arguments );
-		this._refresh();
-		if ( previous !== this.element.val() ) {
-			this._trigger( "change" );
-		}
-	};
-}
-
-var spinner = $.widget( "ui.spinner", {
-	version: "1.11.4",
-	defaultElement: "<input>",
-	widgetEventPrefix: "spin",
-	options: {
-		culture: null,
-		icons: {
-			down: "ui-icon-triangle-1-s",
-			up: "ui-icon-triangle-1-n"
-		},
-		incremental: true,
-		max: null,
-		min: null,
-		numberFormat: null,
-		page: 10,
-		step: 1,
-
-		change: null,
-		spin: null,
-		start: null,
-		stop: null
-	},
-
-	_create: function() {
-		// handle string values that need to be parsed
-		this._setOption( "max", this.options.max );
-		this._setOption( "min", this.options.min );
-		this._setOption( "step", this.options.step );
-
-		// Only format if there is a value, prevents the field from being marked
-		// as invalid in Firefox, see #9573.
-		if ( this.value() !== "" ) {
-			// Format the value, but don't constrain.
-			this._value( this.element.val(), true );
-		}
-
-		this._draw();
-		this._on( this._events );
-		this._refresh();
-
-		// turning off autocomplete prevents the browser from remembering the
-		// value when navigating through history, so we re-enable autocomplete
-		// if the page is unloaded before the widget is destroyed. #7790
-		this._on( this.window, {
-			beforeunload: function() {
-				this.element.removeAttr( "autocomplete" );
-			}
-		});
-	},
-
-	_getCreateOptions: function() {
-		var options = {},
-			element = this.element;
-
-		$.each( [ "min", "max", "step" ], function( i, option ) {
-			var value = element.attr( option );
-			if ( value !== undefined && value.length ) {
-				options[ option ] = value;
-			}
-		});
-
-		return options;
-	},
-
-	_events: {
-		keydown: function( event ) {
-			if ( this._start( event ) && this._keydown( event ) ) {
-				event.preventDefault();
-			}
-		},
-		keyup: "_stop",
-		focus: function() {
-			this.previous = this.element.val();
-		},
-		blur: function( event ) {
-			if ( this.cancelBlur ) {
-				delete this.cancelBlur;
-				return;
-			}
-
-			this._stop();
-			this._refresh();
-			if ( this.previous !== this.element.val() ) {
-				this._trigger( "change", event );
-			}
-		},
-		mousewheel: function( event, delta ) {
-			if ( !delta ) {
-				return;
-			}
-			if ( !this.spinning && !this._start( event ) ) {
-				return false;
-			}
-
-			this._spin( (delta > 0 ? 1 : -1) * this.options.step, event );
-			clearTimeout( this.mousewheelTimer );
-			this.mousewheelTimer = this._delay(function() {
-				if ( this.spinning ) {
-					this._stop( event );
-				}
-			}, 100 );
-			event.preventDefault();
-		},
-		"mousedown .ui-spinner-button": function( event ) {
-			var previous;
-
-			// We never want the buttons to have focus; whenever the user is
-			// interacting with the spinner, the focus should be on the input.
-			// If the input is focused then this.previous is properly set from
-			// when the input first received focus. If the input is not focused
-			// then we need to set this.previous based on the value before spinning.
-			previous = this.element[0] === this.document[0].activeElement ?
-				this.previous : this.element.val();
-			function checkFocus() {
-				var isActive = this.element[0] === this.document[0].activeElement;
-				if ( !isActive ) {
-					this.element.focus();
-					this.previous = previous;
-					// support: IE
-					// IE sets focus asynchronously, so we need to check if focus
-					// moved off of the input because the user clicked on the button.
-					this._delay(function() {
-						this.previous = previous;
-					});
-				}
-			}
-
-			// ensure focus is on (or stays on) the text field
-			event.preventDefault();
-			checkFocus.call( this );
-
-			// support: IE
-			// IE doesn't prevent moving focus even with event.preventDefault()
-			// so we set a flag to know when we should ignore the blur event
-			// and check (again) if focus moved off of the input.
-			this.cancelBlur = true;
-			this._delay(function() {
-				delete this.cancelBlur;
-				checkFocus.call( this );
-			});
-
-			if ( this._start( event ) === false ) {
-				return;
-			}
-
-			this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
-		},
-		"mouseup .ui-spinner-button": "_stop",
-		"mouseenter .ui-spinner-button": function( event ) {
-			// button will add ui-state-active if mouse was down while mouseleave and kept down
-			if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) {
-				return;
-			}
-
-			if ( this._start( event ) === false ) {
-				return false;
-			}
-			this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
-		},
-		// TODO: do we really want to consider this a stop?
-		// shouldn't we just stop the repeater and wait until mouseup before
-		// we trigger the stop event?
-		"mouseleave .ui-spinner-button": "_stop"
-	},
-
-	_draw: function() {
-		var uiSpinner = this.uiSpinner = this.element
-			.addClass( "ui-spinner-input" )
-			.attr( "autocomplete", "off" )
-			.wrap( this._uiSpinnerHtml() )
-			.parent()
-				// add buttons
-				.append( this._buttonHtml() );
-
-		this.element.attr( "role", "spinbutton" );
-
-		// button bindings
-		this.buttons = uiSpinner.find( ".ui-spinner-button" )
-			.attr( "tabIndex", -1 )
-			.button()
-			.removeClass( "ui-corner-all" );
-
-		// IE 6 doesn't understand height: 50% for the buttons
-		// unless the wrapper has an explicit height
-		if ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&
-				uiSpinner.height() > 0 ) {
-			uiSpinner.height( uiSpinner.height() );
-		}
-
-		// disable spinner if element was already disabled
-		if ( this.options.disabled ) {
-			this.disable();
-		}
-	},
-
-	_keydown: function( event ) {
-		var options = this.options,
-			keyCode = $.ui.keyCode;
-
-		switch ( event.keyCode ) {
-		case keyCode.UP:
-			this._repeat( null, 1, event );
-			return true;
-		case keyCode.DOWN:
-			this._repeat( null, -1, event );
-			return true;
-		case keyCode.PAGE_UP:
-			this._repeat( null, options.page, event );
-			return true;
-		case keyCode.PAGE_DOWN:
-			this._repeat( null, -options.page, event );
-			return true;
-		}
-
-		return false;
-	},
-
-	_uiSpinnerHtml: function() {
-		return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>";
-	},
-
-	_buttonHtml: function() {
-		return "" +
-			"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" +
-				"<span class='ui-icon " + this.options.icons.up + "'>&#9650;</span>" +
-			"</a>" +
-			"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" +
-				"<span class='ui-icon " + this.options.icons.down + "'>&#9660;</span>" +
-			"</a>";
-	},
-
-	_start: function( event ) {
-		if ( !this.spinning && this._trigger( "start", event ) === false ) {
-			return false;
-		}
-
-		if ( !this.counter ) {
-			this.counter = 1;
-		}
-		this.spinning = true;
-		return true;
-	},
-
-	_repeat: function( i, steps, event ) {
-		i = i || 500;
-
-		clearTimeout( this.timer );
-		this.timer = this._delay(function() {
-			this._repeat( 40, steps, event );
-		}, i );
-
-		this._spin( steps * this.options.step, event );
-	},
-
-	_spin: function( step, event ) {
-		var value = this.value() || 0;
-
-		if ( !this.counter ) {
-			this.counter = 1;
-		}
-
-		value = this._adjustValue( value + step * this._increment( this.counter ) );
-
-		if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false) {
-			this._value( value );
-			this.counter++;
-		}
-	},
-
-	_increment: function( i ) {
-		var incremental = this.options.incremental;
-
-		if ( incremental ) {
-			return $.isFunction( incremental ) ?
-				incremental( i ) :
-				Math.floor( i * i * i / 50000 - i * i / 500 + 17 * i / 200 + 1 );
-		}
-
-		return 1;
-	},
-
-	_precision: function() {
-		var precision = this._precisionOf( this.options.step );
-		if ( this.options.min !== null ) {
-			precision = Math.max( precision, this._precisionOf( this.options.min ) );
-		}
-		return precision;
-	},
-
-	_precisionOf: function( num ) {
-		var str = num.toString(),
-			decimal = str.indexOf( "." );
-		return decimal === -1 ? 0 : str.length - decimal - 1;
-	},
-
-	_adjustValue: function( value ) {
-		var base, aboveMin,
-			options = this.options;
-
-		// make sure we're at a valid step
-		// - find out where we are relative to the base (min or 0)
-		base = options.min !== null ? options.min : 0;
-		aboveMin = value - base;
-		// - round to the nearest step
-		aboveMin = Math.round(aboveMin / options.step) * options.step;
-		// - rounding is based on 0, so adjust back to our base
-		value = base + aboveMin;
-
-		// fix precision from bad JS floating point math
-		value = parseFloat( value.toFixed( this._precision() ) );
-
-		// clamp the value
-		if ( options.max !== null && value > options.max) {
-			return options.max;
-		}
-		if ( options.min !== null && value < options.min ) {
-			return options.min;
-		}
-
-		return value;
-	},
-
-	_stop: function( event ) {
-		if ( !this.spinning ) {
-			return;
-		}
-
-		clearTimeout( this.timer );
-		clearTimeout( this.mousewheelTimer );
-		this.counter = 0;
-		this.spinning = false;
-		this._trigger( "stop", event );
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "culture" || key === "numberFormat" ) {
-			var prevValue = this._parse( this.element.val() );
-			this.options[ key ] = value;
-			this.element.val( this._format( prevValue ) );
-			return;
-		}
-
-		if ( key === "max" || key === "min" || key === "step" ) {
-			if ( typeof value === "string" ) {
-				value = this._parse( value );
-			}
-		}
-		if ( key === "icons" ) {
-			this.buttons.first().find( ".ui-icon" )
-				.removeClass( this.options.icons.up )
-				.addClass( value.up );
-			this.buttons.last().find( ".ui-icon" )
-				.removeClass( this.options.icons.down )
-				.addClass( value.down );
-		}
-
-		this._super( key, value );
-
-		if ( key === "disabled" ) {
-			this.widget().toggleClass( "ui-state-disabled", !!value );
-			this.element.prop( "disabled", !!value );
-			this.buttons.button( value ? "disable" : "enable" );
-		}
-	},
-
-	_setOptions: spinner_modifier(function( options ) {
-		this._super( options );
-	}),
-
-	_parse: function( val ) {
-		if ( typeof val === "string" && val !== "" ) {
-			val = window.Globalize && this.options.numberFormat ?
-				Globalize.parseFloat( val, 10, this.options.culture ) : +val;
-		}
-		return val === "" || isNaN( val ) ? null : val;
-	},
-
-	_format: function( value ) {
-		if ( value === "" ) {
-			return "";
-		}
-		return window.Globalize && this.options.numberFormat ?
-			Globalize.format( value, this.options.numberFormat, this.options.culture ) :
-			value;
-	},
-
-	_refresh: function() {
-		this.element.attr({
-			"aria-valuemin": this.options.min,
-			"aria-valuemax": this.options.max,
-			// TODO: what should we do with values that can't be parsed?
-			"aria-valuenow": this._parse( this.element.val() )
-		});
-	},
-
-	isValid: function() {
-		var value = this.value();
-
-		// null is invalid
-		if ( value === null ) {
-			return false;
-		}
-
-		// if value gets adjusted, it's invalid
-		return value === this._adjustValue( value );
-	},
-
-	// update the value without triggering change
-	_value: function( value, allowAny ) {
-		var parsed;
-		if ( value !== "" ) {
-			parsed = this._parse( value );
-			if ( parsed !== null ) {
-				if ( !allowAny ) {
-					parsed = this._adjustValue( parsed );
-				}
-				value = this._format( parsed );
-			}
-		}
-		this.element.val( value );
-		this._refresh();
-	},
-
-	_destroy: function() {
-		this.element
-			.removeClass( "ui-spinner-input" )
-			.prop( "disabled", false )
-			.removeAttr( "autocomplete" )
-			.removeAttr( "role" )
-			.removeAttr( "aria-valuemin" )
-			.removeAttr( "aria-valuemax" )
-			.removeAttr( "aria-valuenow" );
-		this.uiSpinner.replaceWith( this.element );
-	},
-
-	stepUp: spinner_modifier(function( steps ) {
-		this._stepUp( steps );
-	}),
-	_stepUp: function( steps ) {
-		if ( this._start() ) {
-			this._spin( (steps || 1) * this.options.step );
-			this._stop();
-		}
-	},
-
-	stepDown: spinner_modifier(function( steps ) {
-		this._stepDown( steps );
-	}),
-	_stepDown: function( steps ) {
-		if ( this._start() ) {
-			this._spin( (steps || 1) * -this.options.step );
-			this._stop();
-		}
-	},
-
-	pageUp: spinner_modifier(function( pages ) {
-		this._stepUp( (pages || 1) * this.options.page );
-	}),
-
-	pageDown: spinner_modifier(function( pages ) {
-		this._stepDown( (pages || 1) * this.options.page );
-	}),
-
-	value: function( newVal ) {
-		if ( !arguments.length ) {
-			return this._parse( this.element.val() );
-		}
-		spinner_modifier( this._value ).call( this, newVal );
-	},
-
-	widget: function() {
-		return this.uiSpinner;
-	}
-});
-
-
-/*!
- * jQuery UI Tabs 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/tabs/
- */
-
-
-var tabs = $.widget( "ui.tabs", {
-	version: "1.11.4",
-	delay: 300,
-	options: {
-		active: null,
-		collapsible: false,
-		event: "click",
-		heightStyle: "content",
-		hide: null,
-		show: null,
-
-		// callbacks
-		activate: null,
-		beforeActivate: null,
-		beforeLoad: null,
-		load: null
-	},
-
-	_isLocal: (function() {
-		var rhash = /#.*$/;
-
-		return function( anchor ) {
-			var anchorUrl, locationUrl;
-
-			// support: IE7
-			// IE7 doesn't normalize the href property when set via script (#9317)
-			anchor = anchor.cloneNode( false );
-
-			anchorUrl = anchor.href.replace( rhash, "" );
-			locationUrl = location.href.replace( rhash, "" );
-
-			// decoding may throw an error if the URL isn't UTF-8 (#9518)
-			try {
-				anchorUrl = decodeURIComponent( anchorUrl );
-			} catch ( error ) {}
-			try {
-				locationUrl = decodeURIComponent( locationUrl );
-			} catch ( error ) {}
-
-			return anchor.hash.length > 1 && anchorUrl === locationUrl;
-		};
-	})(),
-
-	_create: function() {
-		var that = this,
-			options = this.options;
-
-		this.running = false;
-
-		this.element
-			.addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" )
-			.toggleClass( "ui-tabs-collapsible", options.collapsible );
-
-		this._processTabs();
-		options.active = this._initialActive();
-
-		// Take disabling tabs via class attribute from HTML
-		// into account and update option properly.
-		if ( $.isArray( options.disabled ) ) {
-			options.disabled = $.unique( options.disabled.concat(
-				$.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
-					return that.tabs.index( li );
-				})
-			) ).sort();
-		}
-
-		// check for length avoids error when initializing empty list
-		if ( this.options.active !== false && this.anchors.length ) {
-			this.active = this._findActive( options.active );
-		} else {
-			this.active = $();
-		}
-
-		this._refresh();
-
-		if ( this.active.length ) {
-			this.load( options.active );
-		}
-	},
-
-	_initialActive: function() {
-		var active = this.options.active,
-			collapsible = this.options.collapsible,
-			locationHash = location.hash.substring( 1 );
-
-		if ( active === null ) {
-			// check the fragment identifier in the URL
-			if ( locationHash ) {
-				this.tabs.each(function( i, tab ) {
-					if ( $( tab ).attr( "aria-controls" ) === locationHash ) {
-						active = i;
-						return false;
-					}
-				});
-			}
-
-			// check for a tab marked active via a class
-			if ( active === null ) {
-				active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) );
-			}
-
-			// no active tab, set to false
-			if ( active === null || active === -1 ) {
-				active = this.tabs.length ? 0 : false;
-			}
-		}
-
-		// handle numbers: negative, out of range
-		if ( active !== false ) {
-			active = this.tabs.index( this.tabs.eq( active ) );
-			if ( active === -1 ) {
-				active = collapsible ? false : 0;
-			}
-		}
-
-		// don't allow collapsible: false and active: false
-		if ( !collapsible && active === false && this.anchors.length ) {
-			active = 0;
-		}
-
-		return active;
-	},
-
-	_getCreateEventData: function() {
-		return {
-			tab: this.active,
-			panel: !this.active.length ? $() : this._getPanelForTab( this.active )
-		};
-	},
-
-	_tabKeydown: function( event ) {
-		var focusedTab = $( this.document[0].activeElement ).closest( "li" ),
-			selectedIndex = this.tabs.index( focusedTab ),
-			goingForward = true;
-
-		if ( this._handlePageNav( event ) ) {
-			return;
-		}
-
-		switch ( event.keyCode ) {
-			case $.ui.keyCode.RIGHT:
-			case $.ui.keyCode.DOWN:
-				selectedIndex++;
-				break;
-			case $.ui.keyCode.UP:
-			case $.ui.keyCode.LEFT:
-				goingForward = false;
-				selectedIndex--;
-				break;
-			case $.ui.keyCode.END:
-				selectedIndex = this.anchors.length - 1;
-				break;
-			case $.ui.keyCode.HOME:
-				selectedIndex = 0;
-				break;
-			case $.ui.keyCode.SPACE:
-				// Activate only, no collapsing
-				event.preventDefault();
-				clearTimeout( this.activating );
-				this._activate( selectedIndex );
-				return;
-			case $.ui.keyCode.ENTER:
-				// Toggle (cancel delayed activation, allow collapsing)
-				event.preventDefault();
-				clearTimeout( this.activating );
-				// Determine if we should collapse or activate
-				this._activate( selectedIndex === this.options.active ? false : selectedIndex );
-				return;
-			default:
-				return;
-		}
-
-		// Focus the appropriate tab, based on which key was pressed
-		event.preventDefault();
-		clearTimeout( this.activating );
-		selectedIndex = this._focusNextTab( selectedIndex, goingForward );
-
-		// Navigating with control/command key will prevent automatic activation
-		if ( !event.ctrlKey && !event.metaKey ) {
-
-			// Update aria-selected immediately so that AT think the tab is already selected.
-			// Otherwise AT may confuse the user by stating that they need to activate the tab,
-			// but the tab will already be activated by the time the announcement finishes.
-			focusedTab.attr( "aria-selected", "false" );
-			this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" );
-
-			this.activating = this._delay(function() {
-				this.option( "active", selectedIndex );
-			}, this.delay );
-		}
-	},
-
-	_panelKeydown: function( event ) {
-		if ( this._handlePageNav( event ) ) {
-			return;
-		}
-
-		// Ctrl+up moves focus to the current tab
-		if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {
-			event.preventDefault();
-			this.active.focus();
-		}
-	},
-
-	// Alt+page up/down moves focus to the previous/next tab (and activates)
-	_handlePageNav: function( event ) {
-		if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {
-			this._activate( this._focusNextTab( this.options.active - 1, false ) );
-			return true;
-		}
-		if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {
-			this._activate( this._focusNextTab( this.options.active + 1, true ) );
-			return true;
-		}
-	},
-
-	_findNextTab: function( index, goingForward ) {
-		var lastTabIndex = this.tabs.length - 1;
-
-		function constrain() {
-			if ( index > lastTabIndex ) {
-				index = 0;
-			}
-			if ( index < 0 ) {
-				index = lastTabIndex;
-			}
-			return index;
-		}
-
-		while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {
-			index = goingForward ? index + 1 : index - 1;
-		}
-
-		return index;
-	},
-
-	_focusNextTab: function( index, goingForward ) {
-		index = this._findNextTab( index, goingForward );
-		this.tabs.eq( index ).focus();
-		return index;
-	},
-
-	_setOption: function( key, value ) {
-		if ( key === "active" ) {
-			// _activate() will handle invalid values and update this.options
-			this._activate( value );
-			return;
-		}
-
-		if ( key === "disabled" ) {
-			// don't use the widget factory's disabled handling
-			this._setupDisabled( value );
-			return;
-		}
-
-		this._super( key, value);
-
-		if ( key === "collapsible" ) {
-			this.element.toggleClass( "ui-tabs-collapsible", value );
-			// Setting collapsible: false while collapsed; open first panel
-			if ( !value && this.options.active === false ) {
-				this._activate( 0 );
-			}
-		}
-
-		if ( key === "event" ) {
-			this._setupEvents( value );
-		}
-
-		if ( key === "heightStyle" ) {
-			this._setupHeightStyle( value );
-		}
-	},
-
-	_sanitizeSelector: function( hash ) {
-		return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : "";
-	},
-
-	refresh: function() {
-		var options = this.options,
-			lis = this.tablist.children( ":has(a[href])" );
-
-		// get disabled tabs from class attribute from HTML
-		// this will get converted to a boolean if needed in _refresh()
-		options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) {
-			return lis.index( tab );
-		});
-
-		this._processTabs();
-
-		// was collapsed or no tabs
-		if ( options.active === false || !this.anchors.length ) {
-			options.active = false;
-			this.active = $();
-		// was active, but active tab is gone
-		} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {
-			// all remaining tabs are disabled
-			if ( this.tabs.length === options.disabled.length ) {
-				options.active = false;
-				this.active = $();
-			// activate previous tab
-			} else {
-				this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );
-			}
-		// was active, active tab still exists
-		} else {
-			// make sure active index is correct
-			options.active = this.tabs.index( this.active );
-		}
-
-		this._refresh();
-	},
-
-	_refresh: function() {
-		this._setupDisabled( this.options.disabled );
-		this._setupEvents( this.options.event );
-		this._setupHeightStyle( this.options.heightStyle );
-
-		this.tabs.not( this.active ).attr({
-			"aria-selected": "false",
-			"aria-expanded": "false",
-			tabIndex: -1
-		});
-		this.panels.not( this._getPanelForTab( this.active ) )
-			.hide()
-			.attr({
-				"aria-hidden": "true"
-			});
-
-		// Make sure one tab is in the tab order
-		if ( !this.active.length ) {
-			this.tabs.eq( 0 ).attr( "tabIndex", 0 );
-		} else {
-			this.active
-				.addClass( "ui-tabs-active ui-state-active" )
-				.attr({
-					"aria-selected": "true",
-					"aria-expanded": "true",
-					tabIndex: 0
-				});
-			this._getPanelForTab( this.active )
-				.show()
-				.attr({
-					"aria-hidden": "false"
-				});
-		}
-	},
-
-	_processTabs: function() {
-		var that = this,
-			prevTabs = this.tabs,
-			prevAnchors = this.anchors,
-			prevPanels = this.panels;
-
-		this.tablist = this._getList()
-			.addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
-			.attr( "role", "tablist" )
-
-			// Prevent users from focusing disabled tabs via click
-			.delegate( "> li", "mousedown" + this.eventNamespace, function( event ) {
-				if ( $( this ).is( ".ui-state-disabled" ) ) {
-					event.preventDefault();
-				}
-			})
-
-			// support: IE <9
-			// Preventing the default action in mousedown doesn't prevent IE
-			// from focusing the element, so if the anchor gets focused, blur.
-			// We don't have to worry about focusing the previously focused
-			// element since clicking on a non-focusable element should focus
-			// the body anyway.
-			.delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
-				if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) {
-					this.blur();
-				}
-			});
-
-		this.tabs = this.tablist.find( "> li:has(a[href])" )
-			.addClass( "ui-state-default ui-corner-top" )
-			.attr({
-				role: "tab",
-				tabIndex: -1
-			});
-
-		this.anchors = this.tabs.map(function() {
-				return $( "a", this )[ 0 ];
-			})
-			.addClass( "ui-tabs-anchor" )
-			.attr({
-				role: "presentation",
-				tabIndex: -1
-			});
-
-		this.panels = $();
-
-		this.anchors.each(function( i, anchor ) {
-			var selector, panel, panelId,
-				anchorId = $( anchor ).uniqueId().attr( "id" ),
-				tab = $( anchor ).closest( "li" ),
-				originalAriaControls = tab.attr( "aria-controls" );
-
-			// inline tab
-			if ( that._isLocal( anchor ) ) {
-				selector = anchor.hash;
-				panelId = selector.substring( 1 );
-				panel = that.element.find( that._sanitizeSelector( selector ) );
-			// remote tab
-			} else {
-				// If the tab doesn't already have aria-controls,
-				// generate an id by using a throw-away element
-				panelId = tab.attr( "aria-controls" ) || $( {} ).uniqueId()[ 0 ].id;
-				selector = "#" + panelId;
-				panel = that.element.find( selector );
-				if ( !panel.length ) {
-					panel = that._createPanel( panelId );
-					panel.insertAfter( that.panels[ i - 1 ] || that.tablist );
-				}
-				panel.attr( "aria-live", "polite" );
-			}
-
-			if ( panel.length) {
-				that.panels = that.panels.add( panel );
-			}
-			if ( originalAriaControls ) {
-				tab.data( "ui-tabs-aria-controls", originalAriaControls );
-			}
-			tab.attr({
-				"aria-controls": panelId,
-				"aria-labelledby": anchorId
-			});
-			panel.attr( "aria-labelledby", anchorId );
-		});
-
-		this.panels
-			.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
-			.attr( "role", "tabpanel" );
-
-		// Avoid memory leaks (#10056)
-		if ( prevTabs ) {
-			this._off( prevTabs.not( this.tabs ) );
-			this._off( prevAnchors.not( this.anchors ) );
-			this._off( prevPanels.not( this.panels ) );
-		}
-	},
-
-	// allow overriding how to find the list for rare usage scenarios (#7715)
-	_getList: function() {
-		return this.tablist || this.element.find( "ol,ul" ).eq( 0 );
-	},
-
-	_createPanel: function( id ) {
-		return $( "<div>" )
-			.attr( "id", id )
-			.addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
-			.data( "ui-tabs-destroy", true );
-	},
-
-	_setupDisabled: function( disabled ) {
-		if ( $.isArray( disabled ) ) {
-			if ( !disabled.length ) {
-				disabled = false;
-			} else if ( disabled.length === this.anchors.length ) {
-				disabled = true;
-			}
-		}
-
-		// disable tabs
-		for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {
-			if ( disabled === true || $.inArray( i, disabled ) !== -1 ) {
-				$( li )
-					.addClass( "ui-state-disabled" )
-					.attr( "aria-disabled", "true" );
-			} else {
-				$( li )
-					.removeClass( "ui-state-disabled" )
-					.removeAttr( "aria-disabled" );
-			}
-		}
-
-		this.options.disabled = disabled;
-	},
-
-	_setupEvents: function( event ) {
-		var events = {};
-		if ( event ) {
-			$.each( event.split(" "), function( index, eventName ) {
-				events[ eventName ] = "_eventHandler";
-			});
-		}
-
-		this._off( this.anchors.add( this.tabs ).add( this.panels ) );
-		// Always prevent the default action, even when disabled
-		this._on( true, this.anchors, {
-			click: function( event ) {
-				event.preventDefault();
-			}
-		});
-		this._on( this.anchors, events );
-		this._on( this.tabs, { keydown: "_tabKeydown" } );
-		this._on( this.panels, { keydown: "_panelKeydown" } );
-
-		this._focusable( this.tabs );
-		this._hoverable( this.tabs );
-	},
-
-	_setupHeightStyle: function( heightStyle ) {
-		var maxHeight,
-			parent = this.element.parent();
-
-		if ( heightStyle === "fill" ) {
-			maxHeight = parent.height();
-			maxHeight -= this.element.outerHeight() - this.element.height();
-
-			this.element.siblings( ":visible" ).each(function() {
-				var elem = $( this ),
-					position = elem.css( "position" );
-
-				if ( position === "absolute" || position === "fixed" ) {
-					return;
-				}
-				maxHeight -= elem.outerHeight( true );
-			});
-
-			this.element.children().not( this.panels ).each(function() {
-				maxHeight -= $( this ).outerHeight( true );
-			});
-
-			this.panels.each(function() {
-				$( this ).height( Math.max( 0, maxHeight -
-					$( this ).innerHeight() + $( this ).height() ) );
-			})
-			.css( "overflow", "auto" );
-		} else if ( heightStyle === "auto" ) {
-			maxHeight = 0;
-			this.panels.each(function() {
-				maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() );
-			}).height( maxHeight );
-		}
-	},
-
-	_eventHandler: function( event ) {
-		var options = this.options,
-			active = this.active,
-			anchor = $( event.currentTarget ),
-			tab = anchor.closest( "li" ),
-			clickedIsActive = tab[ 0 ] === active[ 0 ],
-			collapsing = clickedIsActive && options.collapsible,
-			toShow = collapsing ? $() : this._getPanelForTab( tab ),
-			toHide = !active.length ? $() : this._getPanelForTab( active ),
-			eventData = {
-				oldTab: active,
-				oldPanel: toHide,
-				newTab: collapsing ? $() : tab,
-				newPanel: toShow
-			};
-
-		event.preventDefault();
-
-		if ( tab.hasClass( "ui-state-disabled" ) ||
-				// tab is already loading
-				tab.hasClass( "ui-tabs-loading" ) ||
-				// can't switch durning an animation
-				this.running ||
-				// click on active header, but not collapsible
-				( clickedIsActive && !options.collapsible ) ||
-				// allow canceling activation
-				( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
-			return;
-		}
-
-		options.active = collapsing ? false : this.tabs.index( tab );
-
-		this.active = clickedIsActive ? $() : tab;
-		if ( this.xhr ) {
-			this.xhr.abort();
-		}
-
-		if ( !toHide.length && !toShow.length ) {
-			$.error( "jQuery UI Tabs: Mismatching fragment identifier." );
-		}
-
-		if ( toShow.length ) {
-			this.load( this.tabs.index( tab ), event );
-		}
-		this._toggle( event, eventData );
-	},
-
-	// handles show/hide for selecting tabs
-	_toggle: function( event, eventData ) {
-		var that = this,
-			toShow = eventData.newPanel,
-			toHide = eventData.oldPanel;
-
-		this.running = true;
-
-		function complete() {
-			that.running = false;
-			that._trigger( "activate", event, eventData );
-		}
-
-		function show() {
-			eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" );
-
-			if ( toShow.length && that.options.show ) {
-				that._show( toShow, that.options.show, complete );
-			} else {
-				toShow.show();
-				complete();
-			}
-		}
-
-		// start out by hiding, then showing, then completing
-		if ( toHide.length && this.options.hide ) {
-			this._hide( toHide, this.options.hide, function() {
-				eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
-				show();
-			});
-		} else {
-			eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
-			toHide.hide();
-			show();
-		}
-
-		toHide.attr( "aria-hidden", "true" );
-		eventData.oldTab.attr({
-			"aria-selected": "false",
-			"aria-expanded": "false"
-		});
-		// If we're switching tabs, remove the old tab from the tab order.
-		// If we're opening from collapsed state, remove the previous tab from the tab order.
-		// If we're collapsing, then keep the collapsing tab in the tab order.
-		if ( toShow.length && toHide.length ) {
-			eventData.oldTab.attr( "tabIndex", -1 );
-		} else if ( toShow.length ) {
-			this.tabs.filter(function() {
-				return $( this ).attr( "tabIndex" ) === 0;
-			})
-			.attr( "tabIndex", -1 );
-		}
-
-		toShow.attr( "aria-hidden", "false" );
-		eventData.newTab.attr({
-			"aria-selected": "true",
-			"aria-expanded": "true",
-			tabIndex: 0
-		});
-	},
-
-	_activate: function( index ) {
-		var anchor,
-			active = this._findActive( index );
-
-		// trying to activate the already active panel
-		if ( active[ 0 ] === this.active[ 0 ] ) {
-			return;
-		}
-
-		// trying to collapse, simulate a click on the current active header
-		if ( !active.length ) {
-			active = this.active;
-		}
-
-		anchor = active.find( ".ui-tabs-anchor" )[ 0 ];
-		this._eventHandler({
-			target: anchor,
-			currentTarget: anchor,
-			preventDefault: $.noop
-		});
-	},
-
-	_findActive: function( index ) {
-		return index === false ? $() : this.tabs.eq( index );
-	},
-
-	_getIndex: function( index ) {
-		// meta-function to give users option to provide a href string instead of a numerical index.
-		if ( typeof index === "string" ) {
-			index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) );
-		}
-
-		return index;
-	},
-
-	_destroy: function() {
-		if ( this.xhr ) {
-			this.xhr.abort();
-		}
-
-		this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" );
-
-		this.tablist
-			.removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
-			.removeAttr( "role" );
-
-		this.anchors
-			.removeClass( "ui-tabs-anchor" )
-			.removeAttr( "role" )
-			.removeAttr( "tabIndex" )
-			.removeUniqueId();
-
-		this.tablist.unbind( this.eventNamespace );
-
-		this.tabs.add( this.panels ).each(function() {
-			if ( $.data( this, "ui-tabs-destroy" ) ) {
-				$( this ).remove();
-			} else {
-				$( this )
-					.removeClass( "ui-state-default ui-state-active ui-state-disabled " +
-						"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" )
-					.removeAttr( "tabIndex" )
-					.removeAttr( "aria-live" )
-					.removeAttr( "aria-busy" )
-					.removeAttr( "aria-selected" )
-					.removeAttr( "aria-labelledby" )
-					.removeAttr( "aria-hidden" )
-					.removeAttr( "aria-expanded" )
-					.removeAttr( "role" );
-			}
-		});
-
-		this.tabs.each(function() {
-			var li = $( this ),
-				prev = li.data( "ui-tabs-aria-controls" );
-			if ( prev ) {
-				li
-					.attr( "aria-controls", prev )
-					.removeData( "ui-tabs-aria-controls" );
-			} else {
-				li.removeAttr( "aria-controls" );
-			}
-		});
-
-		this.panels.show();
-
-		if ( this.options.heightStyle !== "content" ) {
-			this.panels.css( "height", "" );
-		}
-	},
-
-	enable: function( index ) {
-		var disabled = this.options.disabled;
-		if ( disabled === false ) {
-			return;
-		}
-
-		if ( index === undefined ) {
-			disabled = false;
-		} else {
-			index = this._getIndex( index );
-			if ( $.isArray( disabled ) ) {
-				disabled = $.map( disabled, function( num ) {
-					return num !== index ? num : null;
-				});
-			} else {
-				disabled = $.map( this.tabs, function( li, num ) {
-					return num !== index ? num : null;
-				});
-			}
-		}
-		this._setupDisabled( disabled );
-	},
-
-	disable: function( index ) {
-		var disabled = this.options.disabled;
-		if ( disabled === true ) {
-			return;
-		}
-
-		if ( index === undefined ) {
-			disabled = true;
-		} else {
-			index = this._getIndex( index );
-			if ( $.inArray( index, disabled ) !== -1 ) {
-				return;
-			}
-			if ( $.isArray( disabled ) ) {
-				disabled = $.merge( [ index ], disabled ).sort();
-			} else {
-				disabled = [ index ];
-			}
-		}
-		this._setupDisabled( disabled );
-	},
-
-	load: function( index, event ) {
-		index = this._getIndex( index );
-		var that = this,
-			tab = this.tabs.eq( index ),
-			anchor = tab.find( ".ui-tabs-anchor" ),
-			panel = this._getPanelForTab( tab ),
-			eventData = {
-				tab: tab,
-				panel: panel
-			},
-			complete = function( jqXHR, status ) {
-				if ( status === "abort" ) {
-					that.panels.stop( false, true );
-				}
-
-				tab.removeClass( "ui-tabs-loading" );
-				panel.removeAttr( "aria-busy" );
-
-				if ( jqXHR === that.xhr ) {
-					delete that.xhr;
-				}
-			};
-
-		// not remote
-		if ( this._isLocal( anchor[ 0 ] ) ) {
-			return;
-		}
-
-		this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );
-
-		// support: jQuery <1.8
-		// jQuery <1.8 returns false if the request is canceled in beforeSend,
-		// but as of 1.8, $.ajax() always returns a jqXHR object.
-		if ( this.xhr && this.xhr.statusText !== "canceled" ) {
-			tab.addClass( "ui-tabs-loading" );
-			panel.attr( "aria-busy", "true" );
-
-			this.xhr
-				.done(function( response, status, jqXHR ) {
-					// support: jQuery <1.8
-					// http://bugs.jquery.com/ticket/11778
-					setTimeout(function() {
-						panel.html( response );
-						that._trigger( "load", event, eventData );
-
-						complete( jqXHR, status );
-					}, 1 );
-				})
-				.fail(function( jqXHR, status ) {
-					// support: jQuery <1.8
-					// http://bugs.jquery.com/ticket/11778
-					setTimeout(function() {
-						complete( jqXHR, status );
-					}, 1 );
-				});
-		}
-	},
-
-	_ajaxSettings: function( anchor, event, eventData ) {
-		var that = this;
-		return {
-			url: anchor.attr( "href" ),
-			beforeSend: function( jqXHR, settings ) {
-				return that._trigger( "beforeLoad", event,
-					$.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) );
-			}
-		};
-	},
-
-	_getPanelForTab: function( tab ) {
-		var id = $( tab ).attr( "aria-controls" );
-		return this.element.find( this._sanitizeSelector( "#" + id ) );
-	}
-});
-
-
-/*!
- * jQuery UI Tooltip 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/tooltip/
- */
-
-
-var tooltip = $.widget( "ui.tooltip", {
-	version: "1.11.4",
-	options: {
-		content: function() {
-			// support: IE<9, Opera in jQuery <1.7
-			// .text() can't accept undefined, so coerce to a string
-			var title = $( this ).attr( "title" ) || "";
-			// Escape title, since we're going from an attribute to raw HTML
-			return $( "<a>" ).text( title ).html();
-		},
-		hide: true,
-		// Disabled elements have inconsistent behavior across browsers (#8661)
-		items: "[title]:not([disabled])",
-		position: {
-			my: "left top+15",
-			at: "left bottom",
-			collision: "flipfit flip"
-		},
-		show: true,
-		tooltipClass: null,
-		track: false,
-
-		// callbacks
-		close: null,
-		open: null
-	},
-
-	_addDescribedBy: function( elem, id ) {
-		var describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ );
-		describedby.push( id );
-		elem
-			.data( "ui-tooltip-id", id )
-			.attr( "aria-describedby", $.trim( describedby.join( " " ) ) );
-	},
-
-	_removeDescribedBy: function( elem ) {
-		var id = elem.data( "ui-tooltip-id" ),
-			describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ),
-			index = $.inArray( id, describedby );
-
-		if ( index !== -1 ) {
-			describedby.splice( index, 1 );
-		}
-
-		elem.removeData( "ui-tooltip-id" );
-		describedby = $.trim( describedby.join( " " ) );
-		if ( describedby ) {
-			elem.attr( "aria-describedby", describedby );
-		} else {
-			elem.removeAttr( "aria-describedby" );
-		}
-	},
-
-	_create: function() {
-		this._on({
-			mouseover: "open",
-			focusin: "open"
-		});
-
-		// IDs of generated tooltips, needed for destroy
-		this.tooltips = {};
-
-		// IDs of parent tooltips where we removed the title attribute
-		this.parents = {};
-
-		if ( this.options.disabled ) {
-			this._disable();
-		}
-
-		// Append the aria-live region so tooltips announce correctly
-		this.liveRegion = $( "<div>" )
-			.attr({
-				role: "log",
-				"aria-live": "assertive",
-				"aria-relevant": "additions"
-			})
-			.addClass( "ui-helper-hidden-accessible" )
-			.appendTo( this.document[ 0 ].body );
-	},
-
-	_setOption: function( key, value ) {
-		var that = this;
-
-		if ( key === "disabled" ) {
-			this[ value ? "_disable" : "_enable" ]();
-			this.options[ key ] = value;
-			// disable element style changes
-			return;
-		}
-
-		this._super( key, value );
-
-		if ( key === "content" ) {
-			$.each( this.tooltips, function( id, tooltipData ) {
-				that._updateContent( tooltipData.element );
-			});
-		}
-	},
-
-	_disable: function() {
-		var that = this;
-
-		// close open tooltips
-		$.each( this.tooltips, function( id, tooltipData ) {
-			var event = $.Event( "blur" );
-			event.target = event.currentTarget = tooltipData.element[ 0 ];
-			that.close( event, true );
-		});
-
-		// remove title attributes to prevent native tooltips
-		this.element.find( this.options.items ).addBack().each(function() {
-			var element = $( this );
-			if ( element.is( "[title]" ) ) {
-				element
-					.data( "ui-tooltip-title", element.attr( "title" ) )
-					.removeAttr( "title" );
-			}
-		});
-	},
-
-	_enable: function() {
-		// restore title attributes
-		this.element.find( this.options.items ).addBack().each(function() {
-			var element = $( this );
-			if ( element.data( "ui-tooltip-title" ) ) {
-				element.attr( "title", element.data( "ui-tooltip-title" ) );
-			}
-		});
-	},
-
-	open: function( event ) {
-		var that = this,
-			target = $( event ? event.target : this.element )
-				// we need closest here due to mouseover bubbling,
-				// but always pointing at the same event target
-				.closest( this.options.items );
-
-		// No element to show a tooltip for or the tooltip is already open
-		if ( !target.length || target.data( "ui-tooltip-id" ) ) {
-			return;
-		}
-
-		if ( target.attr( "title" ) ) {
-			target.data( "ui-tooltip-title", target.attr( "title" ) );
-		}
-
-		target.data( "ui-tooltip-open", true );
-
-		// kill parent tooltips, custom or native, for hover
-		if ( event && event.type === "mouseover" ) {
-			target.parents().each(function() {
-				var parent = $( this ),
-					blurEvent;
-				if ( parent.data( "ui-tooltip-open" ) ) {
-					blurEvent = $.Event( "blur" );
-					blurEvent.target = blurEvent.currentTarget = this;
-					that.close( blurEvent, true );
-				}
-				if ( parent.attr( "title" ) ) {
-					parent.uniqueId();
-					that.parents[ this.id ] = {
-						element: this,
-						title: parent.attr( "title" )
-					};
-					parent.attr( "title", "" );
-				}
-			});
-		}
-
-		this._registerCloseHandlers( event, target );
-		this._updateContent( target, event );
-	},
-
-	_updateContent: function( target, event ) {
-		var content,
-			contentOption = this.options.content,
-			that = this,
-			eventType = event ? event.type : null;
-
-		if ( typeof contentOption === "string" ) {
-			return this._open( event, target, contentOption );
-		}
-
-		content = contentOption.call( target[0], function( response ) {
-
-			// IE may instantly serve a cached response for ajax requests
-			// delay this call to _open so the other call to _open runs first
-			that._delay(function() {
-
-				// Ignore async response if tooltip was closed already
-				if ( !target.data( "ui-tooltip-open" ) ) {
-					return;
-				}
-
-				// jQuery creates a special event for focusin when it doesn't
-				// exist natively. To improve performance, the native event
-				// object is reused and the type is changed. Therefore, we can't
-				// rely on the type being correct after the event finished
-				// bubbling, so we set it back to the previous value. (#8740)
-				if ( event ) {
-					event.type = eventType;
-				}
-				this._open( event, target, response );
-			});
-		});
-		if ( content ) {
-			this._open( event, target, content );
-		}
-	},
-
-	_open: function( event, target, content ) {
-		var tooltipData, tooltip, delayedShow, a11yContent,
-			positionOption = $.extend( {}, this.options.position );
-
-		if ( !content ) {
-			return;
-		}
-
-		// Content can be updated multiple times. If the tooltip already
-		// exists, then just update the content and bail.
-		tooltipData = this._find( target );
-		if ( tooltipData ) {
-			tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content );
-			return;
-		}
-
-		// if we have a title, clear it to prevent the native tooltip
-		// we have to check first to avoid defining a title if none exists
-		// (we don't want to cause an element to start matching [title])
-		//
-		// We use removeAttr only for key events, to allow IE to export the correct
-		// accessible attributes. For mouse events, set to empty string to avoid
-		// native tooltip showing up (happens only when removing inside mouseover).
-		if ( target.is( "[title]" ) ) {
-			if ( event && event.type === "mouseover" ) {
-				target.attr( "title", "" );
-			} else {
-				target.removeAttr( "title" );
-			}
-		}
-
-		tooltipData = this._tooltip( target );
-		tooltip = tooltipData.tooltip;
-		this._addDescribedBy( target, tooltip.attr( "id" ) );
-		tooltip.find( ".ui-tooltip-content" ).html( content );
-
-		// Support: Voiceover on OS X, JAWS on IE <= 9
-		// JAWS announces deletions even when aria-relevant="additions"
-		// Voiceover will sometimes re-read the entire log region's contents from the beginning
-		this.liveRegion.children().hide();
-		if ( content.clone ) {
-			a11yContent = content.clone();
-			a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" );
-		} else {
-			a11yContent = content;
-		}
-		$( "<div>" ).html( a11yContent ).appendTo( this.liveRegion );
-
-		function position( event ) {
-			positionOption.of = event;
-			if ( tooltip.is( ":hidden" ) ) {
-				return;
-			}
-			tooltip.position( positionOption );
-		}
-		if ( this.options.track && event && /^mouse/.test( event.type ) ) {
-			this._on( this.document, {
-				mousemove: position
-			});
-			// trigger once to override element-relative positioning
-			position( event );
-		} else {
-			tooltip.position( $.extend({
-				of: target
-			}, this.options.position ) );
-		}
-
-		tooltip.hide();
-
-		this._show( tooltip, this.options.show );
-		// Handle tracking tooltips that are shown with a delay (#8644). As soon
-		// as the tooltip is visible, position the tooltip using the most recent
-		// event.
-		if ( this.options.show && this.options.show.delay ) {
-			delayedShow = this.delayedShow = setInterval(function() {
-				if ( tooltip.is( ":visible" ) ) {
-					position( positionOption.of );
-					clearInterval( delayedShow );
-				}
-			}, $.fx.interval );
-		}
-
-		this._trigger( "open", event, { tooltip: tooltip } );
-	},
-
-	_registerCloseHandlers: function( event, target ) {
-		var events = {
-			keyup: function( event ) {
-				if ( event.keyCode === $.ui.keyCode.ESCAPE ) {
-					var fakeEvent = $.Event(event);
-					fakeEvent.currentTarget = target[0];
-					this.close( fakeEvent, true );
-				}
-			}
-		};
-
-		// Only bind remove handler for delegated targets. Non-delegated
-		// tooltips will handle this in destroy.
-		if ( target[ 0 ] !== this.element[ 0 ] ) {
-			events.remove = function() {
-				this._removeTooltip( this._find( target ).tooltip );
-			};
-		}
-
-		if ( !event || event.type === "mouseover" ) {
-			events.mouseleave = "close";
-		}
-		if ( !event || event.type === "focusin" ) {
-			events.focusout = "close";
-		}
-		this._on( true, target, events );
-	},
-
-	close: function( event ) {
-		var tooltip,
-			that = this,
-			target = $( event ? event.currentTarget : this.element ),
-			tooltipData = this._find( target );
-
-		// The tooltip may already be closed
-		if ( !tooltipData ) {
-
-			// We set ui-tooltip-open immediately upon open (in open()), but only set the
-			// additional data once there's actually content to show (in _open()). So even if the
-			// tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in
-			// the period between open() and _open().
-			target.removeData( "ui-tooltip-open" );
-			return;
-		}
-
-		tooltip = tooltipData.tooltip;
-
-		// disabling closes the tooltip, so we need to track when we're closing
-		// to avoid an infinite loop in case the tooltip becomes disabled on close
-		if ( tooltipData.closing ) {
-			return;
-		}
-
-		// Clear the interval for delayed tracking tooltips
-		clearInterval( this.delayedShow );
-
-		// only set title if we had one before (see comment in _open())
-		// If the title attribute has changed since open(), don't restore
-		if ( target.data( "ui-tooltip-title" ) && !target.attr( "title" ) ) {
-			target.attr( "title", target.data( "ui-tooltip-title" ) );
-		}
-
-		this._removeDescribedBy( target );
-
-		tooltipData.hiding = true;
-		tooltip.stop( true );
-		this._hide( tooltip, this.options.hide, function() {
-			that._removeTooltip( $( this ) );
-		});
-
-		target.removeData( "ui-tooltip-open" );
-		this._off( target, "mouseleave focusout keyup" );
-
-		// Remove 'remove' binding only on delegated targets
-		if ( target[ 0 ] !== this.element[ 0 ] ) {
-			this._off( target, "remove" );
-		}
-		this._off( this.document, "mousemove" );
-
-		if ( event && event.type === "mouseleave" ) {
-			$.each( this.parents, function( id, parent ) {
-				$( parent.element ).attr( "title", parent.title );
-				delete that.parents[ id ];
-			});
-		}
-
-		tooltipData.closing = true;
-		this._trigger( "close", event, { tooltip: tooltip } );
-		if ( !tooltipData.hiding ) {
-			tooltipData.closing = false;
-		}
-	},
-
-	_tooltip: function( element ) {
-		var tooltip = $( "<div>" )
-				.attr( "role", "tooltip" )
-				.addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " +
-					( this.options.tooltipClass || "" ) ),
-			id = tooltip.uniqueId().attr( "id" );
-
-		$( "<div>" )
-			.addClass( "ui-tooltip-content" )
-			.appendTo( tooltip );
-
-		tooltip.appendTo( this.document[0].body );
-
-		return this.tooltips[ id ] = {
-			element: element,
-			tooltip: tooltip
-		};
-	},
-
-	_find: function( target ) {
-		var id = target.data( "ui-tooltip-id" );
-		return id ? this.tooltips[ id ] : null;
-	},
-
-	_removeTooltip: function( tooltip ) {
-		tooltip.remove();
-		delete this.tooltips[ tooltip.attr( "id" ) ];
-	},
-
-	_destroy: function() {
-		var that = this;
-
-		// close open tooltips
-		$.each( this.tooltips, function( id, tooltipData ) {
-			// Delegate to close method to handle common cleanup
-			var event = $.Event( "blur" ),
-				element = tooltipData.element;
-			event.target = event.currentTarget = element[ 0 ];
-			that.close( event, true );
-
-			// Remove immediately; destroying an open tooltip doesn't use the
-			// hide animation
-			$( "#" + id ).remove();
-
-			// Restore the title
-			if ( element.data( "ui-tooltip-title" ) ) {
-				// If the title attribute has changed since open(), don't restore
-				if ( !element.attr( "title" ) ) {
-					element.attr( "title", element.data( "ui-tooltip-title" ) );
-				}
-				element.removeData( "ui-tooltip-title" );
-			}
-		});
-		this.liveRegion.remove();
-	}
-});
-
-
-/*!
- * jQuery UI Effects 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/effects-core/
- */
-
-
-var dataSpace = "ui-effects-",
-
-	// Create a local jQuery because jQuery Color relies on it and the
-	// global may not exist with AMD and a custom build (#10199)
-	jQuery = $;
-
-$.effects = {
-	effect: {}
-};
-
-/*!
- * jQuery Color Animations v2.1.2
- * https://github.com/jquery/jquery-color
- *
- * Copyright 2014 jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * Date: Wed Jan 16 08:47:09 2013 -0600
- */
-(function( jQuery, undefined ) {
-
-	var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
-
-	// plusequals test for += 100 -= 100
-	rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
-	// a set of RE's that can match strings and generate color tuples.
-	stringParsers = [ {
-			re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
-			parse: function( execResult ) {
-				return [
-					execResult[ 1 ],
-					execResult[ 2 ],
-					execResult[ 3 ],
-					execResult[ 4 ]
-				];
-			}
-		}, {
-			re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
-			parse: function( execResult ) {
-				return [
-					execResult[ 1 ] * 2.55,
-					execResult[ 2 ] * 2.55,
-					execResult[ 3 ] * 2.55,
-					execResult[ 4 ]
-				];
-			}
-		}, {
-			// this regex ignores A-F because it's compared against an already lowercased string
-			re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
-			parse: function( execResult ) {
-				return [
-					parseInt( execResult[ 1 ], 16 ),
-					parseInt( execResult[ 2 ], 16 ),
-					parseInt( execResult[ 3 ], 16 )
-				];
-			}
-		}, {
-			// this regex ignores A-F because it's compared against an already lowercased string
-			re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
-			parse: function( execResult ) {
-				return [
-					parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
-					parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
-					parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
-				];
-			}
-		}, {
-			re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
-			space: "hsla",
-			parse: function( execResult ) {
-				return [
-					execResult[ 1 ],
-					execResult[ 2 ] / 100,
-					execResult[ 3 ] / 100,
-					execResult[ 4 ]
-				];
-			}
-		} ],
-
-	// jQuery.Color( )
-	color = jQuery.Color = function( color, green, blue, alpha ) {
-		return new jQuery.Color.fn.parse( color, green, blue, alpha );
-	},
-	spaces = {
-		rgba: {
-			props: {
-				red: {
-					idx: 0,
-					type: "byte"
-				},
-				green: {
-					idx: 1,
-					type: "byte"
-				},
-				blue: {
-					idx: 2,
-					type: "byte"
-				}
-			}
-		},
-
-		hsla: {
-			props: {
-				hue: {
-					idx: 0,
-					type: "degrees"
-				},
-				saturation: {
-					idx: 1,
-					type: "percent"
-				},
-				lightness: {
-					idx: 2,
-					type: "percent"
-				}
-			}
-		}
-	},
-	propTypes = {
-		"byte": {
-			floor: true,
-			max: 255
-		},
-		"percent": {
-			max: 1
-		},
-		"degrees": {
-			mod: 360,
-			floor: true
-		}
-	},
-	support = color.support = {},
-
-	// element for support tests
-	supportElem = jQuery( "<p>" )[ 0 ],
-
-	// colors = jQuery.Color.names
-	colors,
-
-	// local aliases of functions called often
-	each = jQuery.each;
-
-// determine rgba support immediately
-supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
-support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
-
-// define cache name and alpha properties
-// for rgba and hsla spaces
-each( spaces, function( spaceName, space ) {
-	space.cache = "_" + spaceName;
-	space.props.alpha = {
-		idx: 3,
-		type: "percent",
-		def: 1
-	};
-});
-
-function clamp( value, prop, allowEmpty ) {
-	var type = propTypes[ prop.type ] || {};
-
-	if ( value == null ) {
-		return (allowEmpty || !prop.def) ? null : prop.def;
-	}
-
-	// ~~ is an short way of doing floor for positive numbers
-	value = type.floor ? ~~value : parseFloat( value );
-
-	// IE will pass in empty strings as value for alpha,
-	// which will hit this case
-	if ( isNaN( value ) ) {
-		return prop.def;
-	}
-
-	if ( type.mod ) {
-		// we add mod before modding to make sure that negatives values
-		// get converted properly: -10 -> 350
-		return (value + type.mod) % type.mod;
-	}
-
-	// for now all property types without mod have min and max
-	return 0 > value ? 0 : type.max < value ? type.max : value;
-}
-
-function stringParse( string ) {
-	var inst = color(),
-		rgba = inst._rgba = [];
-
-	string = string.toLowerCase();
-
-	each( stringParsers, function( i, parser ) {
-		var parsed,
-			match = parser.re.exec( string ),
-			values = match && parser.parse( match ),
-			spaceName = parser.space || "rgba";
-
-		if ( values ) {
-			parsed = inst[ spaceName ]( values );
-
-			// if this was an rgba parse the assignment might happen twice
-			// oh well....
-			inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
-			rgba = inst._rgba = parsed._rgba;
-
-			// exit each( stringParsers ) here because we matched
-			return false;
-		}
-	});
-
-	// Found a stringParser that handled it
-	if ( rgba.length ) {
-
-		// if this came from a parsed string, force "transparent" when alpha is 0
-		// chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
-		if ( rgba.join() === "0,0,0,0" ) {
-			jQuery.extend( rgba, colors.transparent );
-		}
-		return inst;
-	}
-
-	// named colors
-	return colors[ string ];
-}
-
-color.fn = jQuery.extend( color.prototype, {
-	parse: function( red, green, blue, alpha ) {
-		if ( red === undefined ) {
-			this._rgba = [ null, null, null, null ];
-			return this;
-		}
-		if ( red.jquery || red.nodeType ) {
-			red = jQuery( red ).css( green );
-			green = undefined;
-		}
-
-		var inst = this,
-			type = jQuery.type( red ),
-			rgba = this._rgba = [];
-
-		// more than 1 argument specified - assume ( red, green, blue, alpha )
-		if ( green !== undefined ) {
-			red = [ red, green, blue, alpha ];
-			type = "array";
-		}
-
-		if ( type === "string" ) {
-			return this.parse( stringParse( red ) || colors._default );
-		}
-
-		if ( type === "array" ) {
-			each( spaces.rgba.props, function( key, prop ) {
-				rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
-			});
-			return this;
-		}
-
-		if ( type === "object" ) {
-			if ( red instanceof color ) {
-				each( spaces, function( spaceName, space ) {
-					if ( red[ space.cache ] ) {
-						inst[ space.cache ] = red[ space.cache ].slice();
-					}
-				});
-			} else {
-				each( spaces, function( spaceName, space ) {
-					var cache = space.cache;
-					each( space.props, function( key, prop ) {
-
-						// if the cache doesn't exist, and we know how to convert
-						if ( !inst[ cache ] && space.to ) {
-
-							// if the value was null, we don't need to copy it
-							// if the key was alpha, we don't need to copy it either
-							if ( key === "alpha" || red[ key ] == null ) {
-								return;
-							}
-							inst[ cache ] = space.to( inst._rgba );
-						}
-
-						// this is the only case where we allow nulls for ALL properties.
-						// call clamp with alwaysAllowEmpty
-						inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
-					});
-
-					// everything defined but alpha?
-					if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
-						// use the default of 1
-						inst[ cache ][ 3 ] = 1;
-						if ( space.from ) {
-							inst._rgba = space.from( inst[ cache ] );
-						}
-					}
-				});
-			}
-			return this;
-		}
-	},
-	is: function( compare ) {
-		var is = color( compare ),
-			same = true,
-			inst = this;
-
-		each( spaces, function( _, space ) {
-			var localCache,
-				isCache = is[ space.cache ];
-			if (isCache) {
-				localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
-				each( space.props, function( _, prop ) {
-					if ( isCache[ prop.idx ] != null ) {
-						same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
-						return same;
-					}
-				});
-			}
-			return same;
-		});
-		return same;
-	},
-	_space: function() {
-		var used = [],
-			inst = this;
-		each( spaces, function( spaceName, space ) {
-			if ( inst[ space.cache ] ) {
-				used.push( spaceName );
-			}
-		});
-		return used.pop();
-	},
-	transition: function( other, distance ) {
-		var end = color( other ),
-			spaceName = end._space(),
-			space = spaces[ spaceName ],
-			startColor = this.alpha() === 0 ? color( "transparent" ) : this,
-			start = startColor[ space.cache ] || space.to( startColor._rgba ),
-			result = start.slice();
-
-		end = end[ space.cache ];
-		each( space.props, function( key, prop ) {
-			var index = prop.idx,
-				startValue = start[ index ],
-				endValue = end[ index ],
-				type = propTypes[ prop.type ] || {};
-
-			// if null, don't override start value
-			if ( endValue === null ) {
-				return;
-			}
-			// if null - use end
-			if ( startValue === null ) {
-				result[ index ] = endValue;
-			} else {
-				if ( type.mod ) {
-					if ( endValue - startValue > type.mod / 2 ) {
-						startValue += type.mod;
-					} else if ( startValue - endValue > type.mod / 2 ) {
-						startValue -= type.mod;
-					}
-				}
-				result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
-			}
-		});
-		return this[ spaceName ]( result );
-	},
-	blend: function( opaque ) {
-		// if we are already opaque - return ourself
-		if ( this._rgba[ 3 ] === 1 ) {
-			return this;
-		}
-
-		var rgb = this._rgba.slice(),
-			a = rgb.pop(),
-			blend = color( opaque )._rgba;
-
-		return color( jQuery.map( rgb, function( v, i ) {
-			return ( 1 - a ) * blend[ i ] + a * v;
-		}));
-	},
-	toRgbaString: function() {
-		var prefix = "rgba(",
-			rgba = jQuery.map( this._rgba, function( v, i ) {
-				return v == null ? ( i > 2 ? 1 : 0 ) : v;
-			});
-
-		if ( rgba[ 3 ] === 1 ) {
-			rgba.pop();
-			prefix = "rgb(";
-		}
-
-		return prefix + rgba.join() + ")";
-	},
-	toHslaString: function() {
-		var prefix = "hsla(",
-			hsla = jQuery.map( this.hsla(), function( v, i ) {
-				if ( v == null ) {
-					v = i > 2 ? 1 : 0;
-				}
-
-				// catch 1 and 2
-				if ( i && i < 3 ) {
-					v = Math.round( v * 100 ) + "%";
-				}
-				return v;
-			});
-
-		if ( hsla[ 3 ] === 1 ) {
-			hsla.pop();
-			prefix = "hsl(";
-		}
-		return prefix + hsla.join() + ")";
-	},
-	toHexString: function( includeAlpha ) {
-		var rgba = this._rgba.slice(),
-			alpha = rgba.pop();
-
-		if ( includeAlpha ) {
-			rgba.push( ~~( alpha * 255 ) );
-		}
-
-		return "#" + jQuery.map( rgba, function( v ) {
-
-			// default to 0 when nulls exist
-			v = ( v || 0 ).toString( 16 );
-			return v.length === 1 ? "0" + v : v;
-		}).join("");
-	},
-	toString: function() {
-		return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
-	}
-});
-color.fn.parse.prototype = color.fn;
-
-// hsla conversions adapted from:
-// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
-
-function hue2rgb( p, q, h ) {
-	h = ( h + 1 ) % 1;
-	if ( h * 6 < 1 ) {
-		return p + ( q - p ) * h * 6;
-	}
-	if ( h * 2 < 1) {
-		return q;
-	}
-	if ( h * 3 < 2 ) {
-		return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;
-	}
-	return p;
-}
-
-spaces.hsla.to = function( rgba ) {
-	if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
-		return [ null, null, null, rgba[ 3 ] ];
-	}
-	var r = rgba[ 0 ] / 255,
-		g = rgba[ 1 ] / 255,
-		b = rgba[ 2 ] / 255,
-		a = rgba[ 3 ],
-		max = Math.max( r, g, b ),
-		min = Math.min( r, g, b ),
-		diff = max - min,
-		add = max + min,
-		l = add * 0.5,
-		h, s;
-
-	if ( min === max ) {
-		h = 0;
-	} else if ( r === max ) {
-		h = ( 60 * ( g - b ) / diff ) + 360;
-	} else if ( g === max ) {
-		h = ( 60 * ( b - r ) / diff ) + 120;
-	} else {
-		h = ( 60 * ( r - g ) / diff ) + 240;
-	}
-
-	// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
-	// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
-	if ( diff === 0 ) {
-		s = 0;
-	} else if ( l <= 0.5 ) {
-		s = diff / add;
-	} else {
-		s = diff / ( 2 - add );
-	}
-	return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
-};
-
-spaces.hsla.from = function( hsla ) {
-	if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
-		return [ null, null, null, hsla[ 3 ] ];
-	}
-	var h = hsla[ 0 ] / 360,
-		s = hsla[ 1 ],
-		l = hsla[ 2 ],
-		a = hsla[ 3 ],
-		q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
-		p = 2 * l - q;
-
-	return [
-		Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
-		Math.round( hue2rgb( p, q, h ) * 255 ),
-		Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
-		a
-	];
-};
-
-each( spaces, function( spaceName, space ) {
-	var props = space.props,
-		cache = space.cache,
-		to = space.to,
-		from = space.from;
-
-	// makes rgba() and hsla()
-	color.fn[ spaceName ] = function( value ) {
-
-		// generate a cache for this space if it doesn't exist
-		if ( to && !this[ cache ] ) {
-			this[ cache ] = to( this._rgba );
-		}
-		if ( value === undefined ) {
-			return this[ cache ].slice();
-		}
-
-		var ret,
-			type = jQuery.type( value ),
-			arr = ( type === "array" || type === "object" ) ? value : arguments,
-			local = this[ cache ].slice();
-
-		each( props, function( key, prop ) {
-			var val = arr[ type === "object" ? key : prop.idx ];
-			if ( val == null ) {
-				val = local[ prop.idx ];
-			}
-			local[ prop.idx ] = clamp( val, prop );
-		});
-
-		if ( from ) {
-			ret = color( from( local ) );
-			ret[ cache ] = local;
-			return ret;
-		} else {
-			return color( local );
-		}
-	};
-
-	// makes red() green() blue() alpha() hue() saturation() lightness()
-	each( props, function( key, prop ) {
-		// alpha is included in more than one space
-		if ( color.fn[ key ] ) {
-			return;
-		}
-		color.fn[ key ] = function( value ) {
-			var vtype = jQuery.type( value ),
-				fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
-				local = this[ fn ](),
-				cur = local[ prop.idx ],
-				match;
-
-			if ( vtype === "undefined" ) {
-				return cur;
-			}
-
-			if ( vtype === "function" ) {
-				value = value.call( this, cur );
-				vtype = jQuery.type( value );
-			}
-			if ( value == null && prop.empty ) {
-				return this;
-			}
-			if ( vtype === "string" ) {
-				match = rplusequals.exec( value );
-				if ( match ) {
-					value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
-				}
-			}
-			local[ prop.idx ] = value;
-			return this[ fn ]( local );
-		};
-	});
-});
-
-// add cssHook and .fx.step function for each named hook.
-// accept a space separated string of properties
-color.hook = function( hook ) {
-	var hooks = hook.split( " " );
-	each( hooks, function( i, hook ) {
-		jQuery.cssHooks[ hook ] = {
-			set: function( elem, value ) {
-				var parsed, curElem,
-					backgroundColor = "";
-
-				if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
-					value = color( parsed || value );
-					if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
-						curElem = hook === "backgroundColor" ? elem.parentNode : elem;
-						while (
-							(backgroundColor === "" || backgroundColor === "transparent") &&
-							curElem && curElem.style
-						) {
-							try {
-								backgroundColor = jQuery.css( curElem, "backgroundColor" );
-								curElem = curElem.parentNode;
-							} catch ( e ) {
-							}
-						}
-
-						value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
-							backgroundColor :
-							"_default" );
-					}
-
-					value = value.toRgbaString();
-				}
-				try {
-					elem.style[ hook ] = value;
-				} catch ( e ) {
-					// wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
-				}
-			}
-		};
-		jQuery.fx.step[ hook ] = function( fx ) {
-			if ( !fx.colorInit ) {
-				fx.start = color( fx.elem, hook );
-				fx.end = color( fx.end );
-				fx.colorInit = true;
-			}
-			jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
-		};
-	});
-
-};
-
-color.hook( stepHooks );
-
-jQuery.cssHooks.borderColor = {
-	expand: function( value ) {
-		var expanded = {};
-
-		each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
-			expanded[ "border" + part + "Color" ] = value;
-		});
-		return expanded;
-	}
-};
-
-// Basic color names only.
-// Usage of any of the other color names requires adding yourself or including
-// jquery.color.svg-names.js.
-colors = jQuery.Color.names = {
-	// 4.1. Basic color keywords
-	aqua: "#00ffff",
-	black: "#000000",
-	blue: "#0000ff",
-	fuchsia: "#ff00ff",
-	gray: "#808080",
-	green: "#008000",
-	lime: "#00ff00",
-	maroon: "#800000",
-	navy: "#000080",
-	olive: "#808000",
-	purple: "#800080",
-	red: "#ff0000",
-	silver: "#c0c0c0",
-	teal: "#008080",
-	white: "#ffffff",
-	yellow: "#ffff00",
-
-	// 4.2.3. "transparent" color keyword
-	transparent: [ null, null, null, 0 ],
-
-	_default: "#ffffff"
-};
-
-})( jQuery );
-
-/******************************************************************************/
-/****************************** CLASS ANIMATIONS ******************************/
-/******************************************************************************/
-(function() {
-
-var classAnimationActions = [ "add", "remove", "toggle" ],
-	shorthandStyles = {
-		border: 1,
-		borderBottom: 1,
-		borderColor: 1,
-		borderLeft: 1,
-		borderRight: 1,
-		borderTop: 1,
-		borderWidth: 1,
-		margin: 1,
-		padding: 1
-	};
-
-$.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) {
-	$.fx.step[ prop ] = function( fx ) {
-		if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
-			jQuery.style( fx.elem, prop, fx.end );
-			fx.setAttr = true;
-		}
-	};
-});
-
-function getElementStyles( elem ) {
-	var key, len,
-		style = elem.ownerDocument.defaultView ?
-			elem.ownerDocument.defaultView.getComputedStyle( elem, null ) :
-			elem.currentStyle,
-		styles = {};
-
-	if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {
-		len = style.length;
-		while ( len-- ) {
-			key = style[ len ];
-			if ( typeof style[ key ] === "string" ) {
-				styles[ $.camelCase( key ) ] = style[ key ];
-			}
-		}
-	// support: Opera, IE <9
-	} else {
-		for ( key in style ) {
-			if ( typeof style[ key ] === "string" ) {
-				styles[ key ] = style[ key ];
-			}
-		}
-	}
-
-	return styles;
-}
-
-function styleDifference( oldStyle, newStyle ) {
-	var diff = {},
-		name, value;
-
-	for ( name in newStyle ) {
-		value = newStyle[ name ];
-		if ( oldStyle[ name ] !== value ) {
-			if ( !shorthandStyles[ name ] ) {
-				if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {
-					diff[ name ] = value;
-				}
-			}
-		}
-	}
-
-	return diff;
-}
-
-// support: jQuery <1.8
-if ( !$.fn.addBack ) {
-	$.fn.addBack = function( selector ) {
-		return this.add( selector == null ?
-			this.prevObject : this.prevObject.filter( selector )
-		);
-	};
-}
-
-$.effects.animateClass = function( value, duration, easing, callback ) {
-	var o = $.speed( duration, easing, callback );
-
-	return this.queue( function() {
-		var animated = $( this ),
-			baseClass = animated.attr( "class" ) || "",
-			applyClassChange,
-			allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
-
-		// map the animated objects to store the original styles.
-		allAnimations = allAnimations.map(function() {
-			var el = $( this );
-			return {
-				el: el,
-				start: getElementStyles( this )
-			};
-		});
-
-		// apply class change
-		applyClassChange = function() {
-			$.each( classAnimationActions, function(i, action) {
-				if ( value[ action ] ) {
-					animated[ action + "Class" ]( value[ action ] );
-				}
-			});
-		};
-		applyClassChange();
-
-		// map all animated objects again - calculate new styles and diff
-		allAnimations = allAnimations.map(function() {
-			this.end = getElementStyles( this.el[ 0 ] );
-			this.diff = styleDifference( this.start, this.end );
-			return this;
-		});
-
-		// apply original class
-		animated.attr( "class", baseClass );
-
-		// map all animated objects again - this time collecting a promise
-		allAnimations = allAnimations.map(function() {
-			var styleInfo = this,
-				dfd = $.Deferred(),
-				opts = $.extend({}, o, {
-					queue: false,
-					complete: function() {
-						dfd.resolve( styleInfo );
-					}
-				});
-
-			this.el.animate( this.diff, opts );
-			return dfd.promise();
-		});
-
-		// once all animations have completed:
-		$.when.apply( $, allAnimations.get() ).done(function() {
-
-			// set the final class
-			applyClassChange();
-
-			// for each animated element,
-			// clear all css properties that were animated
-			$.each( arguments, function() {
-				var el = this.el;
-				$.each( this.diff, function(key) {
-					el.css( key, "" );
-				});
-			});
-
-			// this is guarnteed to be there if you use jQuery.speed()
-			// it also handles dequeuing the next anim...
-			o.complete.call( animated[ 0 ] );
-		});
-	});
-};
-
-$.fn.extend({
-	addClass: (function( orig ) {
-		return function( classNames, speed, easing, callback ) {
-			return speed ?
-				$.effects.animateClass.call( this,
-					{ add: classNames }, speed, easing, callback ) :
-				orig.apply( this, arguments );
-		};
-	})( $.fn.addClass ),
-
-	removeClass: (function( orig ) {
-		return function( classNames, speed, easing, callback ) {
-			return arguments.length > 1 ?
-				$.effects.animateClass.call( this,
-					{ remove: classNames }, speed, easing, callback ) :
-				orig.apply( this, arguments );
-		};
-	})( $.fn.removeClass ),
-
-	toggleClass: (function( orig ) {
-		return function( classNames, force, speed, easing, callback ) {
-			if ( typeof force === "boolean" || force === undefined ) {
-				if ( !speed ) {
-					// without speed parameter
-					return orig.apply( this, arguments );
-				} else {
-					return $.effects.animateClass.call( this,
-						(force ? { add: classNames } : { remove: classNames }),
-						speed, easing, callback );
-				}
-			} else {
-				// without force parameter
-				return $.effects.animateClass.call( this,
-					{ toggle: classNames }, force, speed, easing );
-			}
-		};
-	})( $.fn.toggleClass ),
-
-	switchClass: function( remove, add, speed, easing, callback) {
-		return $.effects.animateClass.call( this, {
-			add: add,
-			remove: remove
-		}, speed, easing, callback );
-	}
-});
-
-})();
-
-/******************************************************************************/
-/*********************************** EFFECTS **********************************/
-/******************************************************************************/
-
-(function() {
-
-$.extend( $.effects, {
-	version: "1.11.4",
-
-	// Saves a set of properties in a data storage
-	save: function( element, set ) {
-		for ( var i = 0; i < set.length; i++ ) {
-			if ( set[ i ] !== null ) {
-				element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
-			}
-		}
-	},
-
-	// Restores a set of previously saved properties from a data storage
-	restore: function( element, set ) {
-		var val, i;
-		for ( i = 0; i < set.length; i++ ) {
-			if ( set[ i ] !== null ) {
-				val = element.data( dataSpace + set[ i ] );
-				// support: jQuery 1.6.2
-				// http://bugs.jquery.com/ticket/9917
-				// jQuery 1.6.2 incorrectly returns undefined for any falsy value.
-				// We can't differentiate between "" and 0 here, so we just assume
-				// empty string since it's likely to be a more common value...
-				if ( val === undefined ) {
-					val = "";
-				}
-				element.css( set[ i ], val );
-			}
-		}
-	},
-
-	setMode: function( el, mode ) {
-		if (mode === "toggle") {
-			mode = el.is( ":hidden" ) ? "show" : "hide";
-		}
-		return mode;
-	},
-
-	// Translates a [top,left] array into a baseline value
-	// this should be a little more flexible in the future to handle a string & hash
-	getBaseline: function( origin, original ) {
-		var y, x;
-		switch ( origin[ 0 ] ) {
-			case "top": y = 0; break;
-			case "middle": y = 0.5; break;
-			case "bottom": y = 1; break;
-			default: y = origin[ 0 ] / original.height;
-		}
-		switch ( origin[ 1 ] ) {
-			case "left": x = 0; break;
-			case "center": x = 0.5; break;
-			case "right": x = 1; break;
-			default: x = origin[ 1 ] / original.width;
-		}
-		return {
-			x: x,
-			y: y
-		};
-	},
-
-	// Wraps the element around a wrapper that copies position properties
-	createWrapper: function( element ) {
-
-		// if the element is already wrapped, return it
-		if ( element.parent().is( ".ui-effects-wrapper" )) {
-			return element.parent();
-		}
-
-		// wrap the element
-		var props = {
-				width: element.outerWidth(true),
-				height: element.outerHeight(true),
-				"float": element.css( "float" )
-			},
-			wrapper = $( "<div></div>" )
-				.addClass( "ui-effects-wrapper" )
-				.css({
-					fontSize: "100%",
-					background: "transparent",
-					border: "none",
-					margin: 0,
-					padding: 0
-				}),
-			// Store the size in case width/height are defined in % - Fixes #5245
-			size = {
-				width: element.width(),
-				height: element.height()
-			},
-			active = document.activeElement;
-
-		// support: Firefox
-		// Firefox incorrectly exposes anonymous content
-		// https://bugzilla.mozilla.org/show_bug.cgi?id=561664
-		try {
-			active.id;
-		} catch ( e ) {
-			active = document.body;
-		}
-
-		element.wrap( wrapper );
-
-		// Fixes #7595 - Elements lose focus when wrapped.
-		if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
-			$( active ).focus();
-		}
-
-		wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element
-
-		// transfer positioning properties to the wrapper
-		if ( element.css( "position" ) === "static" ) {
-			wrapper.css({ position: "relative" });
-			element.css({ position: "relative" });
-		} else {
-			$.extend( props, {
-				position: element.css( "position" ),
-				zIndex: element.css( "z-index" )
-			});
-			$.each([ "top", "left", "bottom", "right" ], function(i, pos) {
-				props[ pos ] = element.css( pos );
-				if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
-					props[ pos ] = "auto";
-				}
-			});
-			element.css({
-				position: "relative",
-				top: 0,
-				left: 0,
-				right: "auto",
-				bottom: "auto"
-			});
-		}
-		element.css(size);
-
-		return wrapper.css( props ).show();
-	},
-
-	removeWrapper: function( element ) {
-		var active = document.activeElement;
-
-		if ( element.parent().is( ".ui-effects-wrapper" ) ) {
-			element.parent().replaceWith( element );
-
-			// Fixes #7595 - Elements lose focus when wrapped.
-			if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
-				$( active ).focus();
-			}
-		}
-
-		return element;
-	},
-
-	setTransition: function( element, list, factor, value ) {
-		value = value || {};
-		$.each( list, function( i, x ) {
-			var unit = element.cssUnit( x );
-			if ( unit[ 0 ] > 0 ) {
-				value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
-			}
-		});
-		return value;
-	}
-});
-
-// return an effect options object for the given parameters:
-function _normalizeArguments( effect, options, speed, callback ) {
-
-	// allow passing all options as the first parameter
-	if ( $.isPlainObject( effect ) ) {
-		options = effect;
-		effect = effect.effect;
-	}
-
-	// convert to an object
-	effect = { effect: effect };
-
-	// catch (effect, null, ...)
-	if ( options == null ) {
-		options = {};
-	}
-
-	// catch (effect, callback)
-	if ( $.isFunction( options ) ) {
-		callback = options;
-		speed = null;
-		options = {};
-	}
-
-	// catch (effect, speed, ?)
-	if ( typeof options === "number" || $.fx.speeds[ options ] ) {
-		callback = speed;
-		speed = options;
-		options = {};
-	}
-
-	// catch (effect, options, callback)
-	if ( $.isFunction( speed ) ) {
-		callback = speed;
-		speed = null;
-	}
-
-	// add options to effect
-	if ( options ) {
-		$.extend( effect, options );
-	}
-
-	speed = speed || options.duration;
-	effect.duration = $.fx.off ? 0 :
-		typeof speed === "number" ? speed :
-		speed in $.fx.speeds ? $.fx.speeds[ speed ] :
-		$.fx.speeds._default;
-
-	effect.complete = callback || options.complete;
-
-	return effect;
-}
-
-function standardAnimationOption( option ) {
-	// Valid standard speeds (nothing, number, named speed)
-	if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) {
-		return true;
-	}
-
-	// Invalid strings - treat as "normal" speed
-	if ( typeof option === "string" && !$.effects.effect[ option ] ) {
-		return true;
-	}
-
-	// Complete callback
-	if ( $.isFunction( option ) ) {
-		return true;
-	}
-
-	// Options hash (but not naming an effect)
-	if ( typeof option === "object" && !option.effect ) {
-		return true;
-	}
-
-	// Didn't match any standard API
-	return false;
-}
-
-$.fn.extend({
-	effect: function( /* effect, options, speed, callback */ ) {
-		var args = _normalizeArguments.apply( this, arguments ),
-			mode = args.mode,
-			queue = args.queue,
-			effectMethod = $.effects.effect[ args.effect ];
-
-		if ( $.fx.off || !effectMethod ) {
-			// delegate to the original method (e.g., .show()) if possible
-			if ( mode ) {
-				return this[ mode ]( args.duration, args.complete );
-			} else {
-				return this.each( function() {
-					if ( args.complete ) {
-						args.complete.call( this );
-					}
-				});
-			}
-		}
-
-		function run( next ) {
-			var elem = $( this ),
-				complete = args.complete,
-				mode = args.mode;
-
-			function done() {
-				if ( $.isFunction( complete ) ) {
-					complete.call( elem[0] );
-				}
-				if ( $.isFunction( next ) ) {
-					next();
-				}
-			}
-
-			// If the element already has the correct final state, delegate to
-			// the core methods so the internal tracking of "olddisplay" works.
-			if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
-				elem[ mode ]();
-				done();
-			} else {
-				effectMethod.call( elem[0], args, done );
-			}
-		}
-
-		return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
-	},
-
-	show: (function( orig ) {
-		return function( option ) {
-			if ( standardAnimationOption( option ) ) {
-				return orig.apply( this, arguments );
-			} else {
-				var args = _normalizeArguments.apply( this, arguments );
-				args.mode = "show";
-				return this.effect.call( this, args );
-			}
-		};
-	})( $.fn.show ),
-
-	hide: (function( orig ) {
-		return function( option ) {
-			if ( standardAnimationOption( option ) ) {
-				return orig.apply( this, arguments );
-			} else {
-				var args = _normalizeArguments.apply( this, arguments );
-				args.mode = "hide";
-				return this.effect.call( this, args );
-			}
-		};
-	})( $.fn.hide ),
-
-	toggle: (function( orig ) {
-		return function( option ) {
-			if ( standardAnimationOption( option ) || typeof option === "boolean" ) {
-				return orig.apply( this, arguments );
-			} else {
-				var args = _normalizeArguments.apply( this, arguments );
-				args.mode = "toggle";
-				return this.effect.call( this, args );
-			}
-		};
-	})( $.fn.toggle ),
-
-	// helper functions
-	cssUnit: function(key) {
-		var style = this.css( key ),
-			val = [];
-
-		$.each( [ "em", "px", "%", "pt" ], function( i, unit ) {
-			if ( style.indexOf( unit ) > 0 ) {
-				val = [ parseFloat( style ), unit ];
-			}
-		});
-		return val;
-	}
-});
-
-})();
-
-/******************************************************************************/
-/*********************************** EASING ***********************************/
-/******************************************************************************/
-
-(function() {
-
-// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
-
-var baseEasings = {};
-
-$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
-	baseEasings[ name ] = function( p ) {
-		return Math.pow( p, i + 2 );
-	};
-});
-
-$.extend( baseEasings, {
-	Sine: function( p ) {
-		return 1 - Math.cos( p * Math.PI / 2 );
-	},
-	Circ: function( p ) {
-		return 1 - Math.sqrt( 1 - p * p );
-	},
-	Elastic: function( p ) {
-		return p === 0 || p === 1 ? p :
-			-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
-	},
-	Back: function( p ) {
-		return p * p * ( 3 * p - 2 );
-	},
-	Bounce: function( p ) {
-		var pow2,
-			bounce = 4;
-
-		while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
-		return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
-	}
-});
-
-$.each( baseEasings, function( name, easeIn ) {
-	$.easing[ "easeIn" + name ] = easeIn;
-	$.easing[ "easeOut" + name ] = function( p ) {
-		return 1 - easeIn( 1 - p );
-	};
-	$.easing[ "easeInOut" + name ] = function( p ) {
-		return p < 0.5 ?
-			easeIn( p * 2 ) / 2 :
-			1 - easeIn( p * -2 + 2 ) / 2;
-	};
-});
-
-})();
-
-var effect = $.effects;
-
-
-/*!
- * jQuery UI Effects Blind 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/blind-effect/
- */
-
-
-var effectBlind = $.effects.effect.blind = function( o, done ) {
-	// Create element
-	var el = $( this ),
-		rvertical = /up|down|vertical/,
-		rpositivemotion = /up|left|vertical|horizontal/,
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		direction = o.direction || "up",
-		vertical = rvertical.test( direction ),
-		ref = vertical ? "height" : "width",
-		ref2 = vertical ? "top" : "left",
-		motion = rpositivemotion.test( direction ),
-		animation = {},
-		show = mode === "show",
-		wrapper, distance, margin;
-
-	// if already wrapped, the wrapper's properties are my property. #6245
-	if ( el.parent().is( ".ui-effects-wrapper" ) ) {
-		$.effects.save( el.parent(), props );
-	} else {
-		$.effects.save( el, props );
-	}
-	el.show();
-	wrapper = $.effects.createWrapper( el ).css({
-		overflow: "hidden"
-	});
-
-	distance = wrapper[ ref ]();
-	margin = parseFloat( wrapper.css( ref2 ) ) || 0;
-
-	animation[ ref ] = show ? distance : 0;
-	if ( !motion ) {
-		el
-			.css( vertical ? "bottom" : "right", 0 )
-			.css( vertical ? "top" : "left", "auto" )
-			.css({ position: "absolute" });
-
-		animation[ ref2 ] = show ? margin : distance + margin;
-	}
-
-	// start at 0 if we are showing
-	if ( show ) {
-		wrapper.css( ref, 0 );
-		if ( !motion ) {
-			wrapper.css( ref2, margin + distance );
-		}
-	}
-
-	// Animate
-	wrapper.animate( animation, {
-		duration: o.duration,
-		easing: o.easing,
-		queue: false,
-		complete: function() {
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-};
-
-
-/*!
- * jQuery UI Effects Bounce 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/bounce-effect/
- */
-
-
-var effectBounce = $.effects.effect.bounce = function( o, done ) {
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-
-		// defaults:
-		mode = $.effects.setMode( el, o.mode || "effect" ),
-		hide = mode === "hide",
-		show = mode === "show",
-		direction = o.direction || "up",
-		distance = o.distance,
-		times = o.times || 5,
-
-		// number of internal animations
-		anims = times * 2 + ( show || hide ? 1 : 0 ),
-		speed = o.duration / anims,
-		easing = o.easing,
-
-		// utility:
-		ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
-		motion = ( direction === "up" || direction === "left" ),
-		i,
-		upAnim,
-		downAnim,
-
-		// we will need to re-assemble the queue to stack our animations in place
-		queue = el.queue(),
-		queuelen = queue.length;
-
-	// Avoid touching opacity to prevent clearType and PNG issues in IE
-	if ( show || hide ) {
-		props.push( "opacity" );
-	}
-
-	$.effects.save( el, props );
-	el.show();
-	$.effects.createWrapper( el ); // Create Wrapper
-
-	// default distance for the BIGGEST bounce is the outer Distance / 3
-	if ( !distance ) {
-		distance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3;
-	}
-
-	if ( show ) {
-		downAnim = { opacity: 1 };
-		downAnim[ ref ] = 0;
-
-		// if we are showing, force opacity 0 and set the initial position
-		// then do the "first" animation
-		el.css( "opacity", 0 )
-			.css( ref, motion ? -distance * 2 : distance * 2 )
-			.animate( downAnim, speed, easing );
-	}
-
-	// start at the smallest distance if we are hiding
-	if ( hide ) {
-		distance = distance / Math.pow( 2, times - 1 );
-	}
-
-	downAnim = {};
-	downAnim[ ref ] = 0;
-	// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here
-	for ( i = 0; i < times; i++ ) {
-		upAnim = {};
-		upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
-
-		el.animate( upAnim, speed, easing )
-			.animate( downAnim, speed, easing );
-
-		distance = hide ? distance * 2 : distance / 2;
-	}
-
-	// Last Bounce when Hiding
-	if ( hide ) {
-		upAnim = { opacity: 0 };
-		upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
-
-		el.animate( upAnim, speed, easing );
-	}
-
-	el.queue(function() {
-		if ( hide ) {
-			el.hide();
-		}
-		$.effects.restore( el, props );
-		$.effects.removeWrapper( el );
-		done();
-	});
-
-	// inject all the animations we just queued to be first in line (after "inprogress")
-	if ( queuelen > 1) {
-		queue.splice.apply( queue,
-			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
-	}
-	el.dequeue();
-
-};
-
-
-/*!
- * jQuery UI Effects Clip 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/clip-effect/
- */
-
-
-var effectClip = $.effects.effect.clip = function( o, done ) {
-	// Create element
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		show = mode === "show",
-		direction = o.direction || "vertical",
-		vert = direction === "vertical",
-		size = vert ? "height" : "width",
-		position = vert ? "top" : "left",
-		animation = {},
-		wrapper, animate, distance;
-
-	// Save & Show
-	$.effects.save( el, props );
-	el.show();
-
-	// Create Wrapper
-	wrapper = $.effects.createWrapper( el ).css({
-		overflow: "hidden"
-	});
-	animate = ( el[0].tagName === "IMG" ) ? wrapper : el;
-	distance = animate[ size ]();
-
-	// Shift
-	if ( show ) {
-		animate.css( size, 0 );
-		animate.css( position, distance / 2 );
-	}
-
-	// Create Animation Object:
-	animation[ size ] = show ? distance : 0;
-	animation[ position ] = show ? 0 : distance / 2;
-
-	// Animate
-	animate.animate( animation, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: function() {
-			if ( !show ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-
-};
-
-
-/*!
- * jQuery UI Effects Drop 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/drop-effect/
- */
-
-
-var effectDrop = $.effects.effect.drop = function( o, done ) {
-
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "opacity", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		show = mode === "show",
-		direction = o.direction || "left",
-		ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
-		motion = ( direction === "up" || direction === "left" ) ? "pos" : "neg",
-		animation = {
-			opacity: show ? 1 : 0
-		},
-		distance;
-
-	// Adjust
-	$.effects.save( el, props );
-	el.show();
-	$.effects.createWrapper( el );
-
-	distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2;
-
-	if ( show ) {
-		el
-			.css( "opacity", 0 )
-			.css( ref, motion === "pos" ? -distance : distance );
-	}
-
-	// Animation
-	animation[ ref ] = ( show ?
-		( motion === "pos" ? "+=" : "-=" ) :
-		( motion === "pos" ? "-=" : "+=" ) ) +
-		distance;
-
-	// Animate
-	el.animate( animation, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: function() {
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-};
-
-
-/*!
- * jQuery UI Effects Explode 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/explode-effect/
- */
-
-
-var effectExplode = $.effects.effect.explode = function( o, done ) {
-
-	var rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,
-		cells = rows,
-		el = $( this ),
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		show = mode === "show",
-
-		// show and then visibility:hidden the element before calculating offset
-		offset = el.show().css( "visibility", "hidden" ).offset(),
-
-		// width and height of a piece
-		width = Math.ceil( el.outerWidth() / cells ),
-		height = Math.ceil( el.outerHeight() / rows ),
-		pieces = [],
-
-		// loop
-		i, j, left, top, mx, my;
-
-	// children animate complete:
-	function childComplete() {
-		pieces.push( this );
-		if ( pieces.length === rows * cells ) {
-			animComplete();
-		}
-	}
-
-	// clone the element for each row and cell.
-	for ( i = 0; i < rows ; i++ ) { // ===>
-		top = offset.top + i * height;
-		my = i - ( rows - 1 ) / 2 ;
-
-		for ( j = 0; j < cells ; j++ ) { // |||
-			left = offset.left + j * width;
-			mx = j - ( cells - 1 ) / 2 ;
-
-			// Create a clone of the now hidden main element that will be absolute positioned
-			// within a wrapper div off the -left and -top equal to size of our pieces
-			el
-				.clone()
-				.appendTo( "body" )
-				.wrap( "<div></div>" )
-				.css({
-					position: "absolute",
-					visibility: "visible",
-					left: -j * width,
-					top: -i * height
-				})
-
-			// select the wrapper - make it overflow: hidden and absolute positioned based on
-			// where the original was located +left and +top equal to the size of pieces
-				.parent()
-				.addClass( "ui-effects-explode" )
-				.css({
-					position: "absolute",
-					overflow: "hidden",
-					width: width,
-					height: height,
-					left: left + ( show ? mx * width : 0 ),
-					top: top + ( show ? my * height : 0 ),
-					opacity: show ? 0 : 1
-				}).animate({
-					left: left + ( show ? 0 : mx * width ),
-					top: top + ( show ? 0 : my * height ),
-					opacity: show ? 1 : 0
-				}, o.duration || 500, o.easing, childComplete );
-		}
-	}
-
-	function animComplete() {
-		el.css({
-			visibility: "visible"
-		});
-		$( pieces ).remove();
-		if ( !show ) {
-			el.hide();
-		}
-		done();
-	}
-};
-
-
-/*!
- * jQuery UI Effects Fade 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/fade-effect/
- */
-
-
-var effectFade = $.effects.effect.fade = function( o, done ) {
-	var el = $( this ),
-		mode = $.effects.setMode( el, o.mode || "toggle" );
-
-	el.animate({
-		opacity: mode
-	}, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: done
-	});
-};
-
-
-/*!
- * jQuery UI Effects Fold 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/fold-effect/
- */
-
-
-var effectFold = $.effects.effect.fold = function( o, done ) {
-
-	// Create element
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "hide" ),
-		show = mode === "show",
-		hide = mode === "hide",
-		size = o.size || 15,
-		percent = /([0-9]+)%/.exec( size ),
-		horizFirst = !!o.horizFirst,
-		widthFirst = show !== horizFirst,
-		ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ],
-		duration = o.duration / 2,
-		wrapper, distance,
-		animation1 = {},
-		animation2 = {};
-
-	$.effects.save( el, props );
-	el.show();
-
-	// Create Wrapper
-	wrapper = $.effects.createWrapper( el ).css({
-		overflow: "hidden"
-	});
-	distance = widthFirst ?
-		[ wrapper.width(), wrapper.height() ] :
-		[ wrapper.height(), wrapper.width() ];
-
-	if ( percent ) {
-		size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];
-	}
-	if ( show ) {
-		wrapper.css( horizFirst ? {
-			height: 0,
-			width: size
-		} : {
-			height: size,
-			width: 0
-		});
-	}
-
-	// Animation
-	animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;
-	animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;
-
-	// Animate
-	wrapper
-		.animate( animation1, duration, o.easing )
-		.animate( animation2, duration, o.easing, function() {
-			if ( hide ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		});
-
-};
-
-
-/*!
- * jQuery UI Effects Highlight 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/highlight-effect/
- */
-
-
-var effectHighlight = $.effects.effect.highlight = function( o, done ) {
-	var elem = $( this ),
-		props = [ "backgroundImage", "backgroundColor", "opacity" ],
-		mode = $.effects.setMode( elem, o.mode || "show" ),
-		animation = {
-			backgroundColor: elem.css( "backgroundColor" )
-		};
-
-	if (mode === "hide") {
-		animation.opacity = 0;
-	}
-
-	$.effects.save( elem, props );
-
-	elem
-		.show()
-		.css({
-			backgroundImage: "none",
-			backgroundColor: o.color || "#ffff99"
-		})
-		.animate( animation, {
-			queue: false,
-			duration: o.duration,
-			easing: o.easing,
-			complete: function() {
-				if ( mode === "hide" ) {
-					elem.hide();
-				}
-				$.effects.restore( elem, props );
-				done();
-			}
-		});
-};
-
-
-/*!
- * jQuery UI Effects Size 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/size-effect/
- */
-
-
-var effectSize = $.effects.effect.size = function( o, done ) {
-
-	// Create element
-	var original, baseline, factor,
-		el = $( this ),
-		props0 = [ "position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity" ],
-
-		// Always restore
-		props1 = [ "position", "top", "bottom", "left", "right", "overflow", "opacity" ],
-
-		// Copy for children
-		props2 = [ "width", "height", "overflow" ],
-		cProps = [ "fontSize" ],
-		vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ],
-		hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ],
-
-		// Set options
-		mode = $.effects.setMode( el, o.mode || "effect" ),
-		restore = o.restore || mode !== "effect",
-		scale = o.scale || "both",
-		origin = o.origin || [ "middle", "center" ],
-		position = el.css( "position" ),
-		props = restore ? props0 : props1,
-		zero = {
-			height: 0,
-			width: 0,
-			outerHeight: 0,
-			outerWidth: 0
-		};
-
-	if ( mode === "show" ) {
-		el.show();
-	}
-	original = {
-		height: el.height(),
-		width: el.width(),
-		outerHeight: el.outerHeight(),
-		outerWidth: el.outerWidth()
-	};
-
-	if ( o.mode === "toggle" && mode === "show" ) {
-		el.from = o.to || zero;
-		el.to = o.from || original;
-	} else {
-		el.from = o.from || ( mode === "show" ? zero : original );
-		el.to = o.to || ( mode === "hide" ? zero : original );
-	}
-
-	// Set scaling factor
-	factor = {
-		from: {
-			y: el.from.height / original.height,
-			x: el.from.width / original.width
-		},
-		to: {
-			y: el.to.height / original.height,
-			x: el.to.width / original.width
-		}
-	};
-
-	// Scale the css box
-	if ( scale === "box" || scale === "both" ) {
-
-		// Vertical props scaling
-		if ( factor.from.y !== factor.to.y ) {
-			props = props.concat( vProps );
-			el.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );
-			el.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );
-		}
-
-		// Horizontal props scaling
-		if ( factor.from.x !== factor.to.x ) {
-			props = props.concat( hProps );
-			el.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );
-			el.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );
-		}
-	}
-
-	// Scale the content
-	if ( scale === "content" || scale === "both" ) {
-
-		// Vertical props scaling
-		if ( factor.from.y !== factor.to.y ) {
-			props = props.concat( cProps ).concat( props2 );
-			el.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );
-			el.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );
-		}
-	}
-
-	$.effects.save( el, props );
-	el.show();
-	$.effects.createWrapper( el );
-	el.css( "overflow", "hidden" ).css( el.from );
-
-	// Adjust
-	if (origin) { // Calculate baseline shifts
-		baseline = $.effects.getBaseline( origin, original );
-		el.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;
-		el.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;
-		el.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;
-		el.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;
-	}
-	el.css( el.from ); // set top & left
-
-	// Animate
-	if ( scale === "content" || scale === "both" ) { // Scale the children
-
-		// Add margins/font-size
-		vProps = vProps.concat([ "marginTop", "marginBottom" ]).concat(cProps);
-		hProps = hProps.concat([ "marginLeft", "marginRight" ]);
-		props2 = props0.concat(vProps).concat(hProps);
-
-		el.find( "*[width]" ).each( function() {
-			var child = $( this ),
-				c_original = {
-					height: child.height(),
-					width: child.width(),
-					outerHeight: child.outerHeight(),
-					outerWidth: child.outerWidth()
-				};
-			if (restore) {
-				$.effects.save(child, props2);
-			}
-
-			child.from = {
-				height: c_original.height * factor.from.y,
-				width: c_original.width * factor.from.x,
-				outerHeight: c_original.outerHeight * factor.from.y,
-				outerWidth: c_original.outerWidth * factor.from.x
-			};
-			child.to = {
-				height: c_original.height * factor.to.y,
-				width: c_original.width * factor.to.x,
-				outerHeight: c_original.height * factor.to.y,
-				outerWidth: c_original.width * factor.to.x
-			};
-
-			// Vertical props scaling
-			if ( factor.from.y !== factor.to.y ) {
-				child.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );
-				child.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );
-			}
-
-			// Horizontal props scaling
-			if ( factor.from.x !== factor.to.x ) {
-				child.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );
-				child.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );
-			}
-
-			// Animate children
-			child.css( child.from );
-			child.animate( child.to, o.duration, o.easing, function() {
-
-				// Restore children
-				if ( restore ) {
-					$.effects.restore( child, props2 );
-				}
-			});
-		});
-	}
-
-	// Animate
-	el.animate( el.to, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: function() {
-			if ( el.to.opacity === 0 ) {
-				el.css( "opacity", el.from.opacity );
-			}
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			if ( !restore ) {
-
-				// we need to calculate our new positioning based on the scaling
-				if ( position === "static" ) {
-					el.css({
-						position: "relative",
-						top: el.to.top,
-						left: el.to.left
-					});
-				} else {
-					$.each([ "top", "left" ], function( idx, pos ) {
-						el.css( pos, function( _, str ) {
-							var val = parseInt( str, 10 ),
-								toRef = idx ? el.to.left : el.to.top;
-
-							// if original was "auto", recalculate the new value from wrapper
-							if ( str === "auto" ) {
-								return toRef + "px";
-							}
-
-							return val + toRef + "px";
-						});
-					});
-				}
-			}
-
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-
-};
-
-
-/*!
- * jQuery UI Effects Scale 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/scale-effect/
- */
-
-
-var effectScale = $.effects.effect.scale = function( o, done ) {
-
-	// Create element
-	var el = $( this ),
-		options = $.extend( true, {}, o ),
-		mode = $.effects.setMode( el, o.mode || "effect" ),
-		percent = parseInt( o.percent, 10 ) ||
-			( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ? 0 : 100 ) ),
-		direction = o.direction || "both",
-		origin = o.origin,
-		original = {
-			height: el.height(),
-			width: el.width(),
-			outerHeight: el.outerHeight(),
-			outerWidth: el.outerWidth()
-		},
-		factor = {
-			y: direction !== "horizontal" ? (percent / 100) : 1,
-			x: direction !== "vertical" ? (percent / 100) : 1
-		};
-
-	// We are going to pass this effect to the size effect:
-	options.effect = "size";
-	options.queue = false;
-	options.complete = done;
-
-	// Set default origin and restore for show/hide
-	if ( mode !== "effect" ) {
-		options.origin = origin || [ "middle", "center" ];
-		options.restore = true;
-	}
-
-	options.from = o.from || ( mode === "show" ? {
-		height: 0,
-		width: 0,
-		outerHeight: 0,
-		outerWidth: 0
-	} : original );
-	options.to = {
-		height: original.height * factor.y,
-		width: original.width * factor.x,
-		outerHeight: original.outerHeight * factor.y,
-		outerWidth: original.outerWidth * factor.x
-	};
-
-	// Fade option to support puff
-	if ( options.fade ) {
-		if ( mode === "show" ) {
-			options.from.opacity = 0;
-			options.to.opacity = 1;
-		}
-		if ( mode === "hide" ) {
-			options.from.opacity = 1;
-			options.to.opacity = 0;
-		}
-	}
-
-	// Animate
-	el.effect( options );
-
-};
-
-
-/*!
- * jQuery UI Effects Puff 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/puff-effect/
- */
-
-
-var effectPuff = $.effects.effect.puff = function( o, done ) {
-	var elem = $( this ),
-		mode = $.effects.setMode( elem, o.mode || "hide" ),
-		hide = mode === "hide",
-		percent = parseInt( o.percent, 10 ) || 150,
-		factor = percent / 100,
-		original = {
-			height: elem.height(),
-			width: elem.width(),
-			outerHeight: elem.outerHeight(),
-			outerWidth: elem.outerWidth()
-		};
-
-	$.extend( o, {
-		effect: "scale",
-		queue: false,
-		fade: true,
-		mode: mode,
-		complete: done,
-		percent: hide ? percent : 100,
-		from: hide ?
-			original :
-			{
-				height: original.height * factor,
-				width: original.width * factor,
-				outerHeight: original.outerHeight * factor,
-				outerWidth: original.outerWidth * factor
-			}
-	});
-
-	elem.effect( o );
-};
-
-
-/*!
- * jQuery UI Effects Pulsate 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/pulsate-effect/
- */
-
-
-var effectPulsate = $.effects.effect.pulsate = function( o, done ) {
-	var elem = $( this ),
-		mode = $.effects.setMode( elem, o.mode || "show" ),
-		show = mode === "show",
-		hide = mode === "hide",
-		showhide = ( show || mode === "hide" ),
-
-		// showing or hiding leaves of the "last" animation
-		anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),
-		duration = o.duration / anims,
-		animateTo = 0,
-		queue = elem.queue(),
-		queuelen = queue.length,
-		i;
-
-	if ( show || !elem.is(":visible")) {
-		elem.css( "opacity", 0 ).show();
-		animateTo = 1;
-	}
-
-	// anims - 1 opacity "toggles"
-	for ( i = 1; i < anims; i++ ) {
-		elem.animate({
-			opacity: animateTo
-		}, duration, o.easing );
-		animateTo = 1 - animateTo;
-	}
-
-	elem.animate({
-		opacity: animateTo
-	}, duration, o.easing);
-
-	elem.queue(function() {
-		if ( hide ) {
-			elem.hide();
-		}
-		done();
-	});
-
-	// We just queued up "anims" animations, we need to put them next in the queue
-	if ( queuelen > 1 ) {
-		queue.splice.apply( queue,
-			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
-	}
-	elem.dequeue();
-};
-
-
-/*!
- * jQuery UI Effects Shake 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/shake-effect/
- */
-
-
-var effectShake = $.effects.effect.shake = function( o, done ) {
-
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
-		mode = $.effects.setMode( el, o.mode || "effect" ),
-		direction = o.direction || "left",
-		distance = o.distance || 20,
-		times = o.times || 3,
-		anims = times * 2 + 1,
-		speed = Math.round( o.duration / anims ),
-		ref = (direction === "up" || direction === "down") ? "top" : "left",
-		positiveMotion = (direction === "up" || direction === "left"),
-		animation = {},
-		animation1 = {},
-		animation2 = {},
-		i,
-
-		// we will need to re-assemble the queue to stack our animations in place
-		queue = el.queue(),
-		queuelen = queue.length;
-
-	$.effects.save( el, props );
-	el.show();
-	$.effects.createWrapper( el );
-
-	// Animation
-	animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance;
-	animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2;
-	animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2;
-
-	// Animate
-	el.animate( animation, speed, o.easing );
-
-	// Shakes
-	for ( i = 1; i < times; i++ ) {
-		el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );
-	}
-	el
-		.animate( animation1, speed, o.easing )
-		.animate( animation, speed / 2, o.easing )
-		.queue(function() {
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		});
-
-	// inject all the animations we just queued to be first in line (after "inprogress")
-	if ( queuelen > 1) {
-		queue.splice.apply( queue,
-			[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
-	}
-	el.dequeue();
-
-};
-
-
-/*!
- * jQuery UI Effects Slide 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/slide-effect/
- */
-
-
-var effectSlide = $.effects.effect.slide = function( o, done ) {
-
-	// Create element
-	var el = $( this ),
-		props = [ "position", "top", "bottom", "left", "right", "width", "height" ],
-		mode = $.effects.setMode( el, o.mode || "show" ),
-		show = mode === "show",
-		direction = o.direction || "left",
-		ref = (direction === "up" || direction === "down") ? "top" : "left",
-		positiveMotion = (direction === "up" || direction === "left"),
-		distance,
-		animation = {};
-
-	// Adjust
-	$.effects.save( el, props );
-	el.show();
-	distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true );
-
-	$.effects.createWrapper( el ).css({
-		overflow: "hidden"
-	});
-
-	if ( show ) {
-		el.css( ref, positiveMotion ? (isNaN(distance) ? "-" + distance : -distance) : distance );
-	}
-
-	// Animation
-	animation[ ref ] = ( show ?
-		( positiveMotion ? "+=" : "-=") :
-		( positiveMotion ? "-=" : "+=")) +
-		distance;
-
-	// Animate
-	el.animate( animation, {
-		queue: false,
-		duration: o.duration,
-		easing: o.easing,
-		complete: function() {
-			if ( mode === "hide" ) {
-				el.hide();
-			}
-			$.effects.restore( el, props );
-			$.effects.removeWrapper( el );
-			done();
-		}
-	});
-};
-
-
-/*!
- * jQuery UI Effects Transfer 1.11.4
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/transfer-effect/
- */
-
-
-var effectTransfer = $.effects.effect.transfer = function( o, done ) {
-	var elem = $( this ),
-		target = $( o.to ),
-		targetFixed = target.css( "position" ) === "fixed",
-		body = $("body"),
-		fixTop = targetFixed ? body.scrollTop() : 0,
-		fixLeft = targetFixed ? body.scrollLeft() : 0,
-		endPosition = target.offset(),
-		animation = {
-			top: endPosition.top - fixTop,
-			left: endPosition.left - fixLeft,
-			height: target.innerHeight(),
-			width: target.innerWidth()
-		},
-		startPosition = elem.offset(),
-		transfer = $( "<div class='ui-effects-transfer'></div>" )
-			.appendTo( document.body )
-			.addClass( o.className )
-			.css({
-				top: startPosition.top - fixTop,
-				left: startPosition.left - fixLeft,
-				height: elem.innerHeight(),
-				width: elem.innerWidth(),
-				position: targetFixed ? "fixed" : "absolute"
-			})
-			.animate( animation, o.duration, o.easing, function() {
-				transfer.remove();
-				done();
-			});
-};
-
-
-
-}));
\ No newline at end of file
diff --git a/js/plotPanelControl/jquery-easyui-1.4.4/jquery.easyui.min.js b/js/plotPanelControl/jquery-easyui-1.4.4/jquery.easyui.min.js
deleted file mode 100644
index 3c99f61..0000000
--- a/js/plotPanelControl/jquery-easyui-1.4.4/jquery.easyui.min.js
+++ /dev/null
@@ -1,14303 +0,0 @@
-/**
- * jQuery EasyUI 1.4.4
- * 
- * Copyright (c) 2009-2015 www.jeasyui.com. All rights reserved.
- *
- * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
- * To use it on other terms please contact us: info@jeasyui.com
- *
- */
-(function($){
-$.parser={auto:true,onComplete:function(_1){
-},plugins:["draggable","droppable","resizable","pagination","tooltip","linkbutton","menu","menubutton","splitbutton","switchbutton","progressbar","tree","textbox","filebox","combo","combobox","combotree","combogrid","numberbox","validatebox","searchbox","spinner","numberspinner","timespinner","datetimespinner","calendar","datebox","datetimebox","slider","layout","panel","datagrid","propertygrid","treegrid","datalist","tabs","accordion","window","dialog","form"],parse:function(_2){
-var aa=[];
-for(var i=0;i<$.parser.plugins.length;i++){
-var _3=$.parser.plugins[i];
-var r=$(".easyui-"+_3,_2);
-if(r.length){
-if(r[_3]){
-r[_3]();
-}else{
-aa.push({name:_3,jq:r});
-}
-}
-}
-if(aa.length&&window.easyloader){
-var _4=[];
-for(var i=0;i<aa.length;i++){
-_4.push(aa[i].name);
-}
-easyloader.load(_4,function(){
-for(var i=0;i<aa.length;i++){
-var _5=aa[i].name;
-var jq=aa[i].jq;
-jq[_5]();
-}
-$.parser.onComplete.call($.parser,_2);
-});
-}else{
-$.parser.onComplete.call($.parser,_2);
-}
-},parseValue:function(_6,_7,_8,_9){
-_9=_9||0;
-var v=$.trim(String(_7||""));
-var _a=v.substr(v.length-1,1);
-if(_a=="%"){
-v=parseInt(v.substr(0,v.length-1));
-if(_6.toLowerCase().indexOf("width")>=0){
-v=Math.floor((_8.width()-_9)*v/100);
-}else{
-v=Math.floor((_8.height()-_9)*v/100);
-}
-}else{
-v=parseInt(v)||undefined;
-}
-return v;
-},parseOptions:function(_b,_c){
-var t=$(_b);
-var _d={};
-var s=$.trim(t.attr("data-options"));
-if(s){
-if(s.substring(0,1)!="{"){
-s="{"+s+"}";
-}
-_d=(new Function("return "+s))();
-}
-$.map(["width","height","left","top","minWidth","maxWidth","minHeight","maxHeight"],function(p){
-var pv=$.trim(_b.style[p]||"");
-if(pv){
-if(pv.indexOf("%")==-1){
-pv=parseInt(pv)||undefined;
-}
-_d[p]=pv;
-}
-});
-if(_c){
-var _e={};
-for(var i=0;i<_c.length;i++){
-var pp=_c[i];
-if(typeof pp=="string"){
-_e[pp]=t.attr(pp);
-}else{
-for(var _f in pp){
-var _10=pp[_f];
-if(_10=="boolean"){
-_e[_f]=t.attr(_f)?(t.attr(_f)=="true"):undefined;
-}else{
-if(_10=="number"){
-_e[_f]=t.attr(_f)=="0"?0:parseFloat(t.attr(_f))||undefined;
-}
-}
-}
-}
-}
-$.extend(_d,_e);
-}
-return _d;
-}};
-$(function(){
-var d=$("<div style=\"position:absolute;top:-1000px;width:100px;height:100px;padding:5px\"></div>").appendTo("body");
-$._boxModel=d.outerWidth()!=100;
-d.remove();
-d=$("<div style=\"position:fixed\"></div>").appendTo("body");
-$._positionFixed=(d.css("position")=="fixed");
-d.remove();
-if(!window.easyloader&&$.parser.auto){
-$.parser.parse();
-}
-});
-$.fn._outerWidth=function(_11){
-if(_11==undefined){
-if(this[0]==window){
-return this.width()||document.body.clientWidth;
-}
-return this.outerWidth()||0;
-}
-return this._size("width",_11);
-};
-$.fn._outerHeight=function(_12){
-if(_12==undefined){
-if(this[0]==window){
-return this.height()||document.body.clientHeight;
-}
-return this.outerHeight()||0;
-}
-return this._size("height",_12);
-};
-$.fn._scrollLeft=function(_13){
-if(_13==undefined){
-return this.scrollLeft();
-}else{
-return this.each(function(){
-$(this).scrollLeft(_13);
-});
-}
-};
-$.fn._propAttr=$.fn.prop||$.fn.attr;
-$.fn._size=function(_14,_15){
-if(typeof _14=="string"){
-if(_14=="clear"){
-return this.each(function(){
-$(this).css({width:"",minWidth:"",maxWidth:"",height:"",minHeight:"",maxHeight:""});
-});
-}else{
-if(_14=="fit"){
-return this.each(function(){
-_16(this,this.tagName=="BODY"?$("body"):$(this).parent(),true);
-});
-}else{
-if(_14=="unfit"){
-return this.each(function(){
-_16(this,$(this).parent(),false);
-});
-}else{
-if(_15==undefined){
-return _17(this[0],_14);
-}else{
-return this.each(function(){
-_17(this,_14,_15);
-});
-}
-}
-}
-}
-}else{
-return this.each(function(){
-_15=_15||$(this).parent();
-$.extend(_14,_16(this,_15,_14.fit)||{});
-var r1=_18(this,"width",_15,_14);
-var r2=_18(this,"height",_15,_14);
-if(r1||r2){
-$(this).addClass("easyui-fluid");
-}else{
-$(this).removeClass("easyui-fluid");
-}
-});
-}
-function _16(_19,_1a,fit){
-if(!_1a.length){
-return false;
-}
-var t=$(_19)[0];
-var p=_1a[0];
-var _1b=p.fcount||0;
-if(fit){
-if(!t.fitted){
-t.fitted=true;
-p.fcount=_1b+1;
-$(p).addClass("panel-noscroll");
-if(p.tagName=="BODY"){
-$("html").addClass("panel-fit");
-}
-}
-return {width:($(p).width()||1),height:($(p).height()||1)};
-}else{
-if(t.fitted){
-t.fitted=false;
-p.fcount=_1b-1;
-if(p.fcount==0){
-$(p).removeClass("panel-noscroll");
-if(p.tagName=="BODY"){
-$("html").removeClass("panel-fit");
-}
-}
-}
-return false;
-}
-};
-function _18(_1c,_1d,_1e,_1f){
-var t=$(_1c);
-var p=_1d;
-var p1=p.substr(0,1).toUpperCase()+p.substr(1);
-var min=$.parser.parseValue("min"+p1,_1f["min"+p1],_1e);
-var max=$.parser.parseValue("max"+p1,_1f["max"+p1],_1e);
-var val=$.parser.parseValue(p,_1f[p],_1e);
-var _20=(String(_1f[p]||"").indexOf("%")>=0?true:false);
-if(!isNaN(val)){
-var v=Math.min(Math.max(val,min||0),max||99999);
-if(!_20){
-_1f[p]=v;
-}
-t._size("min"+p1,"");
-t._size("max"+p1,"");
-t._size(p,v);
-}else{
-t._size(p,"");
-t._size("min"+p1,min);
-t._size("max"+p1,max);
-}
-return _20||_1f.fit;
-};
-function _17(_21,_22,_23){
-var t=$(_21);
-if(_23==undefined){
-_23=parseInt(_21.style[_22]);
-if(isNaN(_23)){
-return undefined;
-}
-if($._boxModel){
-_23+=_24();
-}
-return _23;
-}else{
-if(_23===""){
-t.css(_22,"");
-}else{
-if($._boxModel){
-_23-=_24();
-if(_23<0){
-_23=0;
-}
-}
-t.css(_22,_23+"px");
-}
-}
-function _24(){
-if(_22.toLowerCase().indexOf("width")>=0){
-return t.outerWidth()-t.width();
-}else{
-return t.outerHeight()-t.height();
-}
-};
-};
-};
-})(jQuery);
-(function($){
-var _25=null;
-var _26=null;
-var _27=false;
-function _28(e){
-if(e.touches.length!=1){
-return;
-}
-if(!_27){
-_27=true;
-dblClickTimer=setTimeout(function(){
-_27=false;
-},500);
-}else{
-clearTimeout(dblClickTimer);
-_27=false;
-_29(e,"dblclick");
-}
-_25=setTimeout(function(){
-_29(e,"contextmenu",3);
-},1000);
-_29(e,"mousedown");
-if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
-e.preventDefault();
-}
-};
-function _2a(e){
-if(e.touches.length!=1){
-return;
-}
-if(_25){
-clearTimeout(_25);
-}
-_29(e,"mousemove");
-if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
-e.preventDefault();
-}
-};
-function _2b(e){
-if(_25){
-clearTimeout(_25);
-}
-_29(e,"mouseup");
-if($.fn.draggable.isDragging||$.fn.resizable.isResizing){
-e.preventDefault();
-}
-};
-function _29(e,_2c,_2d){
-var _2e=new $.Event(_2c);
-_2e.pageX=e.changedTouches[0].pageX;
-_2e.pageY=e.changedTouches[0].pageY;
-_2e.which=_2d||1;
-$(e.target).trigger(_2e);
-};
-if(document.addEventListener){
-document.addEventListener("touchstart",_28,true);
-document.addEventListener("touchmove",_2a,true);
-document.addEventListener("touchend",_2b,true);
-}
-})(jQuery);
-(function($){
-function _2f(e){
-var _30=$.data(e.data.target,"draggable");
-var _31=_30.options;
-var _32=_30.proxy;
-var _33=e.data;
-var _34=_33.startLeft+e.pageX-_33.startX;
-var top=_33.startTop+e.pageY-_33.startY;
-if(_32){
-if(_32.parent()[0]==document.body){
-if(_31.deltaX!=null&&_31.deltaX!=undefined){
-_34=e.pageX+_31.deltaX;
-}else{
-_34=e.pageX-e.data.offsetWidth;
-}
-if(_31.deltaY!=null&&_31.deltaY!=undefined){
-top=e.pageY+_31.deltaY;
-}else{
-top=e.pageY-e.data.offsetHeight;
-}
-}else{
-if(_31.deltaX!=null&&_31.deltaX!=undefined){
-_34+=e.data.offsetWidth+_31.deltaX;
-}
-if(_31.deltaY!=null&&_31.deltaY!=undefined){
-top+=e.data.offsetHeight+_31.deltaY;
-}
-}
-}
-if(e.data.parent!=document.body){
-_34+=$(e.data.parent).scrollLeft();
-top+=$(e.data.parent).scrollTop();
-}
-if(_31.axis=="h"){
-_33.left=_34;
-}else{
-if(_31.axis=="v"){
-_33.top=top;
-}else{
-_33.left=_34;
-_33.top=top;
-}
-}
-};
-function _35(e){
-var _36=$.data(e.data.target,"draggable");
-var _37=_36.options;
-var _38=_36.proxy;
-if(!_38){
-_38=$(e.data.target);
-}
-_38.css({left:e.data.left,top:e.data.top});
-$("body").css("cursor",_37.cursor);
-};
-function _39(e){
-if(!$.fn.draggable.isDragging){
-return false;
-}
-var _3a=$.data(e.data.target,"draggable");
-var _3b=_3a.options;
-var _3c=$(".droppable").filter(function(){
-return e.data.target!=this;
-}).filter(function(){
-var _3d=$.data(this,"droppable").options.accept;
-if(_3d){
-return $(_3d).filter(function(){
-return this==e.data.target;
-}).length>0;
-}else{
-return true;
-}
-});
-_3a.droppables=_3c;
-var _3e=_3a.proxy;
-if(!_3e){
-if(_3b.proxy){
-if(_3b.proxy=="clone"){
-_3e=$(e.data.target).clone().insertAfter(e.data.target);
-}else{
-_3e=_3b.proxy.call(e.data.target,e.data.target);
-}
-_3a.proxy=_3e;
-}else{
-_3e=$(e.data.target);
-}
-}
-_3e.css("position","absolute");
-_2f(e);
-_35(e);
-_3b.onStartDrag.call(e.data.target,e);
-return false;
-};
-function _3f(e){
-if(!$.fn.draggable.isDragging){
-return false;
-}
-var _40=$.data(e.data.target,"draggable");
-_2f(e);
-if(_40.options.onDrag.call(e.data.target,e)!=false){
-_35(e);
-}
-var _41=e.data.target;
-_40.droppables.each(function(){
-var _42=$(this);
-if(_42.droppable("options").disabled){
-return;
-}
-var p2=_42.offset();
-if(e.pageX>p2.left&&e.pageX<p2.left+_42.outerWidth()&&e.pageY>p2.top&&e.pageY<p2.top+_42.outerHeight()){
-if(!this.entered){
-$(this).trigger("_dragenter",[_41]);
-this.entered=true;
-}
-$(this).trigger("_dragover",[_41]);
-}else{
-if(this.entered){
-$(this).trigger("_dragleave",[_41]);
-this.entered=false;
-}
-}
-});
-return false;
-};
-function _43(e){
-if(!$.fn.draggable.isDragging){
-_44();
-return false;
-}
-_3f(e);
-var _45=$.data(e.data.target,"draggable");
-var _46=_45.proxy;
-var _47=_45.options;
-if(_47.revert){
-if(_48()==true){
-$(e.data.target).css({position:e.data.startPosition,left:e.data.startLeft,top:e.data.startTop});
-}else{
-if(_46){
-var _49,top;
-if(_46.parent()[0]==document.body){
-_49=e.data.startX-e.data.offsetWidth;
-top=e.data.startY-e.data.offsetHeight;
-}else{
-_49=e.data.startLeft;
-top=e.data.startTop;
-}
-_46.animate({left:_49,top:top},function(){
-_4a();
-});
-}else{
-$(e.data.target).animate({left:e.data.startLeft,top:e.data.startTop},function(){
-$(e.data.target).css("position",e.data.startPosition);
-});
-}
-}
-}else{
-$(e.data.target).css({position:"absolute",left:e.data.left,top:e.data.top});
-_48();
-}
-_47.onStopDrag.call(e.data.target,e);
-_44();
-function _4a(){
-if(_46){
-_46.remove();
-}
-_45.proxy=null;
-};
-function _48(){
-var _4b=false;
-_45.droppables.each(function(){
-var _4c=$(this);
-if(_4c.droppable("options").disabled){
-return;
-}
-var p2=_4c.offset();
-if(e.pageX>p2.left&&e.pageX<p2.left+_4c.outerWidth()&&e.pageY>p2.top&&e.pageY<p2.top+_4c.outerHeight()){
-if(_47.revert){
-$(e.data.target).css({position:e.data.startPosition,left:e.data.startLeft,top:e.data.startTop});
-}
-$(this).trigger("_drop",[e.data.target]);
-_4a();
-_4b=true;
-this.entered=false;
-return false;
-}
-});
-if(!_4b&&!_47.revert){
-_4a();
-}
-return _4b;
-};
-return false;
-};
-function _44(){
-if($.fn.draggable.timer){
-clearTimeout($.fn.draggable.timer);
-$.fn.draggable.timer=undefined;
-}
-$(document).unbind(".draggable");
-$.fn.draggable.isDragging=false;
-setTimeout(function(){
-$("body").css("cursor","");
-},100);
-};
-$.fn.draggable=function(_4d,_4e){
-if(typeof _4d=="string"){
-return $.fn.draggable.methods[_4d](this,_4e);
-}
-return this.each(function(){
-var _4f;
-var _50=$.data(this,"draggable");
-if(_50){
-_50.handle.unbind(".draggable");
-_4f=$.extend(_50.options,_4d);
-}else{
-_4f=$.extend({},$.fn.draggable.defaults,$.fn.draggable.parseOptions(this),_4d||{});
-}
-var _51=_4f.handle?(typeof _4f.handle=="string"?$(_4f.handle,this):_4f.handle):$(this);
-$.data(this,"draggable",{options:_4f,handle:_51});
-if(_4f.disabled){
-$(this).css("cursor","");
-return;
-}
-_51.unbind(".draggable").bind("mousemove.draggable",{target:this},function(e){
-if($.fn.draggable.isDragging){
-return;
-}
-var _52=$.data(e.data.target,"draggable").options;
-if(_53(e)){
-$(this).css("cursor",_52.cursor);
-}else{
-$(this).css("cursor","");
-}
-}).bind("mouseleave.draggable",{target:this},function(e){
-$(this).css("cursor","");
-}).bind("mousedown.draggable",{target:this},function(e){
-if(_53(e)==false){
-return;
-}
-$(this).css("cursor","");
-var _54=$(e.data.target).position();
-var _55=$(e.data.target).offset();
-var _56={startPosition:$(e.data.target).css("position"),startLeft:_54.left,startTop:_54.top,left:_54.left,top:_54.top,startX:e.pageX,startY:e.pageY,offsetWidth:(e.pageX-_55.left),offsetHeight:(e.pageY-_55.top),target:e.data.target,parent:$(e.data.target).parent()[0]};
-$.extend(e.data,_56);
-var _57=$.data(e.data.target,"draggable").options;
-if(_57.onBeforeDrag.call(e.data.target,e)==false){
-return;
-}
-$(document).bind("mousedown.draggable",e.data,_39);
-$(document).bind("mousemove.draggable",e.data,_3f);
-$(document).bind("mouseup.draggable",e.data,_43);
-$.fn.draggable.timer=setTimeout(function(){
-$.fn.draggable.isDragging=true;
-_39(e);
-},_57.delay);
-return false;
-});
-function _53(e){
-var _58=$.data(e.data.target,"draggable");
-var _59=_58.handle;
-var _5a=$(_59).offset();
-var _5b=$(_59).outerWidth();
-var _5c=$(_59).outerHeight();
-var t=e.pageY-_5a.top;
-var r=_5a.left+_5b-e.pageX;
-var b=_5a.top+_5c-e.pageY;
-var l=e.pageX-_5a.left;
-return Math.min(t,r,b,l)>_58.options.edge;
-};
-});
-};
-$.fn.draggable.methods={options:function(jq){
-return $.data(jq[0],"draggable").options;
-},proxy:function(jq){
-return $.data(jq[0],"draggable").proxy;
-},enable:function(jq){
-return jq.each(function(){
-$(this).draggable({disabled:false});
-});
-},disable:function(jq){
-return jq.each(function(){
-$(this).draggable({disabled:true});
-});
-}};
-$.fn.draggable.parseOptions=function(_5d){
-var t=$(_5d);
-return $.extend({},$.parser.parseOptions(_5d,["cursor","handle","axis",{"revert":"boolean","deltaX":"number","deltaY":"number","edge":"number","delay":"number"}]),{disabled:(t.attr("disabled")?true:undefined)});
-};
-$.fn.draggable.defaults={proxy:null,revert:false,cursor:"move",deltaX:null,deltaY:null,handle:null,disabled:false,edge:0,axis:null,delay:100,onBeforeDrag:function(e){
-},onStartDrag:function(e){
-},onDrag:function(e){
-},onStopDrag:function(e){
-}};
-$.fn.draggable.isDragging=false;
-})(jQuery);
-(function($){
-function _5e(_5f){
-$(_5f).addClass("droppable");
-$(_5f).bind("_dragenter",function(e,_60){
-$.data(_5f,"droppable").options.onDragEnter.apply(_5f,[e,_60]);
-});
-$(_5f).bind("_dragleave",function(e,_61){
-$.data(_5f,"droppable").options.onDragLeave.apply(_5f,[e,_61]);
-});
-$(_5f).bind("_dragover",function(e,_62){
-$.data(_5f,"droppable").options.onDragOver.apply(_5f,[e,_62]);
-});
-$(_5f).bind("_drop",function(e,_63){
-$.data(_5f,"droppable").options.onDrop.apply(_5f,[e,_63]);
-});
-};
-$.fn.droppable=function(_64,_65){
-if(typeof _64=="string"){
-return $.fn.droppable.methods[_64](this,_65);
-}
-_64=_64||{};
-return this.each(function(){
-var _66=$.data(this,"droppable");
-if(_66){
-$.extend(_66.options,_64);
-}else{
-_5e(this);
-$.data(this,"droppable",{options:$.extend({},$.fn.droppable.defaults,$.fn.droppable.parseOptions(this),_64)});
-}
-});
-};
-$.fn.droppable.methods={options:function(jq){
-return $.data(jq[0],"droppable").options;
-},enable:function(jq){
-return jq.each(function(){
-$(this).droppable({disabled:false});
-});
-},disable:function(jq){
-return jq.each(function(){
-$(this).droppable({disabled:true});
-});
-}};
-$.fn.droppable.parseOptions=function(_67){
-var t=$(_67);
-return $.extend({},$.parser.parseOptions(_67,["accept"]),{disabled:(t.attr("disabled")?true:undefined)});
-};
-$.fn.droppable.defaults={accept:null,disabled:false,onDragEnter:function(e,_68){
-},onDragOver:function(e,_69){
-},onDragLeave:function(e,_6a){
-},onDrop:function(e,_6b){
-}};
-})(jQuery);
-(function($){
-$.fn.resizable=function(_6c,_6d){
-if(typeof _6c=="string"){
-return $.fn.resizable.methods[_6c](this,_6d);
-}
-function _6e(e){
-var _6f=e.data;
-var _70=$.data(_6f.target,"resizable").options;
-if(_6f.dir.indexOf("e")!=-1){
-var _71=_6f.startWidth+e.pageX-_6f.startX;
-_71=Math.min(Math.max(_71,_70.minWidth),_70.maxWidth);
-_6f.width=_71;
-}
-if(_6f.dir.indexOf("s")!=-1){
-var _72=_6f.startHeight+e.pageY-_6f.startY;
-_72=Math.min(Math.max(_72,_70.minHeight),_70.maxHeight);
-_6f.height=_72;
-}
-if(_6f.dir.indexOf("w")!=-1){
-var _71=_6f.startWidth-e.pageX+_6f.startX;
-_71=Math.min(Math.max(_71,_70.minWidth),_70.maxWidth);
-_6f.width=_71;
-_6f.left=_6f.startLeft+_6f.startWidth-_6f.width;
-}
-if(_6f.dir.indexOf("n")!=-1){
-var _72=_6f.startHeight-e.pageY+_6f.startY;
-_72=Math.min(Math.max(_72,_70.minHeight),_70.maxHeight);
-_6f.height=_72;
-_6f.top=_6f.startTop+_6f.startHeight-_6f.height;
-}
-};
-function _73(e){
-var _74=e.data;
-var t=$(_74.target);
-t.css({left:_74.left,top:_74.top});
-if(t.outerWidth()!=_74.width){
-t._outerWidth(_74.width);
-}
-if(t.outerHeight()!=_74.height){
-t._outerHeight(_74.height);
-}
-};
-function _75(e){
-$.fn.resizable.isResizing=true;
-$.data(e.data.target,"resizable").options.onStartResize.call(e.data.target,e);
-return false;
-};
-function _76(e){
-_6e(e);
-if($.data(e.data.target,"resizable").options.onResize.call(e.data.target,e)!=false){
-_73(e);
-}
-return false;
-};
-function _77(e){
-$.fn.resizable.isResizing=false;
-_6e(e,true);
-_73(e);
-$.data(e.data.target,"resizable").options.onStopResize.call(e.data.target,e);
-$(document).unbind(".resizable");
-$("body").css("cursor","");
-return false;
-};
-return this.each(function(){
-var _78=null;
-var _79=$.data(this,"resizable");
-if(_79){
-$(this).unbind(".resizable");
-_78=$.extend(_79.options,_6c||{});
-}else{
-_78=$.extend({},$.fn.resizable.defaults,$.fn.resizable.parseOptions(this),_6c||{});
-$.data(this,"resizable",{options:_78});
-}
-if(_78.disabled==true){
-return;
-}
-$(this).bind("mousemove.resizable",{target:this},function(e){
-if($.fn.resizable.isResizing){
-return;
-}
-var dir=_7a(e);
-if(dir==""){
-$(e.data.target).css("cursor","");
-}else{
-$(e.data.target).css("cursor",dir+"-resize");
-}
-}).bind("mouseleave.resizable",{target:this},function(e){
-$(e.data.target).css("cursor","");
-}).bind("mousedown.resizable",{target:this},function(e){
-var dir=_7a(e);
-if(dir==""){
-return;
-}
-function _7b(css){
-var val=parseInt($(e.data.target).css(css));
-if(isNaN(val)){
-return 0;
-}else{
-return val;
-}
-};
-var _7c={target:e.data.target,dir:dir,startLeft:_7b("left"),startTop:_7b("top"),left:_7b("left"),top:_7b("top"),startX:e.pageX,startY:e.pageY,startWidth:$(e.data.target).outerWidth(),startHeight:$(e.data.target).outerHeight(),width:$(e.data.target).outerWidth(),height:$(e.data.target).outerHeight(),deltaWidth:$(e.data.target).outerWidth()-$(e.data.target).width(),deltaHeight:$(e.data.target).outerHeight()-$(e.data.target).height()};
-$(document).bind("mousedown.resizable",_7c,_75);
-$(document).bind("mousemove.resizable",_7c,_76);
-$(document).bind("mouseup.resizable",_7c,_77);
-$("body").css("cursor",dir+"-resize");
-});
-function _7a(e){
-var tt=$(e.data.target);
-var dir="";
-var _7d=tt.offset();
-var _7e=tt.outerWidth();
-var _7f=tt.outerHeight();
-var _80=_78.edge;
-if(e.pageY>_7d.top&&e.pageY<_7d.top+_80){
-dir+="n";
-}else{
-if(e.pageY<_7d.top+_7f&&e.pageY>_7d.top+_7f-_80){
-dir+="s";
-}
-}
-if(e.pageX>_7d.left&&e.pageX<_7d.left+_80){
-dir+="w";
-}else{
-if(e.pageX<_7d.left+_7e&&e.pageX>_7d.left+_7e-_80){
-dir+="e";
-}
-}
-var _81=_78.handles.split(",");
-for(var i=0;i<_81.length;i++){
-var _82=_81[i].replace(/(^\s*)|(\s*$)/g,"");
-if(_82=="all"||_82==dir){
-return dir;
-}
-}
-return "";
-};
-});
-};
-$.fn.resizable.methods={options:function(jq){
-return $.data(jq[0],"resizable").options;
-},enable:function(jq){
-return jq.each(function(){
-$(this).resizable({disabled:false});
-});
-},disable:function(jq){
-return jq.each(function(){
-$(this).resizable({disabled:true});
-});
-}};
-$.fn.resizable.parseOptions=function(_83){
-var t=$(_83);
-return $.extend({},$.parser.parseOptions(_83,["handles",{minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number",edge:"number"}]),{disabled:(t.attr("disabled")?true:undefined)});
-};
-$.fn.resizable.defaults={disabled:false,handles:"n, e, s, w, ne, se, sw, nw, all",minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000,edge:5,onStartResize:function(e){
-},onResize:function(e){
-},onStopResize:function(e){
-}};
-$.fn.resizable.isResizing=false;
-})(jQuery);
-(function($){
-function _84(_85,_86){
-var _87=$.data(_85,"linkbutton").options;
-if(_86){
-$.extend(_87,_86);
-}
-if(_87.width||_87.height||_87.fit){
-var btn=$(_85);
-var _88=btn.parent();
-var _89=btn.is(":visible");
-if(!_89){
-var _8a=$("<div style=\"display:none\"></div>").insertBefore(_85);
-var _8b={position:btn.css("position"),display:btn.css("display"),left:btn.css("left")};
-btn.appendTo("body");
-btn.css({position:"absolute",display:"inline-block",left:-20000});
-}
-btn._size(_87,_88);
-var _8c=btn.find(".l-btn-left");
-_8c.css("margin-top",0);
-_8c.css("margin-top",parseInt((btn.height()-_8c.height())/2)+"px");
-if(!_89){
-btn.insertAfter(_8a);
-btn.css(_8b);
-_8a.remove();
-}
-}
-};
-function _8d(_8e){
-var _8f=$.data(_8e,"linkbutton").options;
-var t=$(_8e).empty();
-t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected l-btn-outline");
-t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-"+_8f.size);
-if(_8f.plain){
-t.addClass("l-btn-plain");
-}
-if(_8f.outline){
-t.addClass("l-btn-outline");
-}
-if(_8f.selected){
-t.addClass(_8f.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected");
-}
-t.attr("group",_8f.group||"");
-t.attr("id",_8f.id||"");
-var _90=$("<span class=\"l-btn-left\"></span>").appendTo(t);
-if(_8f.text){
-$("<span class=\"l-btn-text\"></span>").html(_8f.text).appendTo(_90);
-}else{
-$("<span class=\"l-btn-text l-btn-empty\">&nbsp;</span>").appendTo(_90);
-}
-if(_8f.iconCls){
-$("<span class=\"l-btn-icon\">&nbsp;</span>").addClass(_8f.iconCls).appendTo(_90);
-_90.addClass("l-btn-icon-"+_8f.iconAlign);
-}
-t.unbind(".linkbutton").bind("focus.linkbutton",function(){
-if(!_8f.disabled){
-$(this).addClass("l-btn-focus");
-}
-}).bind("blur.linkbutton",function(){
-$(this).removeClass("l-btn-focus");
-}).bind("click.linkbutton",function(){
-if(!_8f.disabled){
-if(_8f.toggle){
-if(_8f.selected){
-$(this).linkbutton("unselect");
-}else{
-$(this).linkbutton("select");
-}
-}
-_8f.onClick.call(this);
-}
-});
-_91(_8e,_8f.selected);
-_92(_8e,_8f.disabled);
-};
-function _91(_93,_94){
-var _95=$.data(_93,"linkbutton").options;
-if(_94){
-if(_95.group){
-$("a.l-btn[group=\""+_95.group+"\"]").each(function(){
-var o=$(this).linkbutton("options");
-if(o.toggle){
-$(this).removeClass("l-btn-selected l-btn-plain-selected");
-o.selected=false;
-}
-});
-}
-$(_93).addClass(_95.plain?"l-btn-selected l-btn-plain-selected":"l-btn-selected");
-_95.selected=true;
-}else{
-if(!_95.group){
-$(_93).removeClass("l-btn-selected l-btn-plain-selected");
-_95.selected=false;
-}
-}
-};
-function _92(_96,_97){
-var _98=$.data(_96,"linkbutton");
-var _99=_98.options;
-$(_96).removeClass("l-btn-disabled l-btn-plain-disabled");
-if(_97){
-_99.disabled=true;
-var _9a=$(_96).attr("href");
-if(_9a){
-_98.href=_9a;
-$(_96).attr("href","javascript:void(0)");
-}
-if(_96.onclick){
-_98.onclick=_96.onclick;
-_96.onclick=null;
-}
-_99.plain?$(_96).addClass("l-btn-disabled l-btn-plain-disabled"):$(_96).addClass("l-btn-disabled");
-}else{
-_99.disabled=false;
-if(_98.href){
-$(_96).attr("href",_98.href);
-}
-if(_98.onclick){
-_96.onclick=_98.onclick;
-}
-}
-};
-$.fn.linkbutton=function(_9b,_9c){
-if(typeof _9b=="string"){
-return $.fn.linkbutton.methods[_9b](this,_9c);
-}
-_9b=_9b||{};
-return this.each(function(){
-var _9d=$.data(this,"linkbutton");
-if(_9d){
-$.extend(_9d.options,_9b);
-}else{
-$.data(this,"linkbutton",{options:$.extend({},$.fn.linkbutton.defaults,$.fn.linkbutton.parseOptions(this),_9b)});
-$(this).removeAttr("disabled");
-$(this).bind("_resize",function(e,_9e){
-if($(this).hasClass("easyui-fluid")||_9e){
-_84(this);
-}
-return false;
-});
-}
-_8d(this);
-_84(this);
-});
-};
-$.fn.linkbutton.methods={options:function(jq){
-return $.data(jq[0],"linkbutton").options;
-},resize:function(jq,_9f){
-return jq.each(function(){
-_84(this,_9f);
-});
-},enable:function(jq){
-return jq.each(function(){
-_92(this,false);
-});
-},disable:function(jq){
-return jq.each(function(){
-_92(this,true);
-});
-},select:function(jq){
-return jq.each(function(){
-_91(this,true);
-});
-},unselect:function(jq){
-return jq.each(function(){
-_91(this,false);
-});
-}};
-$.fn.linkbutton.parseOptions=function(_a0){
-var t=$(_a0);
-return $.extend({},$.parser.parseOptions(_a0,["id","iconCls","iconAlign","group","size","text",{plain:"boolean",toggle:"boolean",selected:"boolean",outline:"boolean"}]),{disabled:(t.attr("disabled")?true:undefined),text:($.trim(t.html())||undefined),iconCls:(t.attr("icon")||t.attr("iconCls"))});
-};
-$.fn.linkbutton.defaults={id:null,disabled:false,toggle:false,selected:false,outline:false,group:null,plain:false,text:"",iconCls:null,iconAlign:"left",size:"small",onClick:function(){
-}};
-})(jQuery);
-(function($){
-function _a1(_a2){
-var _a3=$.data(_a2,"pagination");
-var _a4=_a3.options;
-var bb=_a3.bb={};
-var _a5=$(_a2).addClass("pagination").html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr></tr></table>");
-var tr=_a5.find("tr");
-var aa=$.extend([],_a4.layout);
-if(!_a4.showPageList){
-_a6(aa,"list");
-}
-if(!_a4.showRefresh){
-_a6(aa,"refresh");
-}
-if(aa[0]=="sep"){
-aa.shift();
-}
-if(aa[aa.length-1]=="sep"){
-aa.pop();
-}
-for(var _a7=0;_a7<aa.length;_a7++){
-var _a8=aa[_a7];
-if(_a8=="list"){
-var ps=$("<select class=\"pagination-page-list\"></select>");
-ps.bind("change",function(){
-_a4.pageSize=parseInt($(this).val());
-_a4.onChangePageSize.call(_a2,_a4.pageSize);
-_ae(_a2,_a4.pageNumber);
-});
-for(var i=0;i<_a4.pageList.length;i++){
-$("<option></option>").text(_a4.pageList[i]).appendTo(ps);
-}
-$("<td></td>").append(ps).appendTo(tr);
-}else{
-if(_a8=="sep"){
-$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
-}else{
-if(_a8=="first"){
-bb.first=_a9("first");
-}else{
-if(_a8=="prev"){
-bb.prev=_a9("prev");
-}else{
-if(_a8=="next"){
-bb.next=_a9("next");
-}else{
-if(_a8=="last"){
-bb.last=_a9("last");
-}else{
-if(_a8=="manual"){
-$("<span style=\"padding-left:6px;\"></span>").html(_a4.beforePageText).appendTo(tr).wrap("<td></td>");
-bb.num=$("<input class=\"pagination-num\" type=\"text\" value=\"1\" size=\"2\">").appendTo(tr).wrap("<td></td>");
-bb.num.unbind(".pagination").bind("keydown.pagination",function(e){
-if(e.keyCode==13){
-var _aa=parseInt($(this).val())||1;
-_ae(_a2,_aa);
-return false;
-}
-});
-bb.after=$("<span style=\"padding-right:6px;\"></span>").appendTo(tr).wrap("<td></td>");
-}else{
-if(_a8=="refresh"){
-bb.refresh=_a9("refresh");
-}else{
-if(_a8=="links"){
-$("<td class=\"pagination-links\"></td>").appendTo(tr);
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-if(_a4.buttons){
-$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
-if($.isArray(_a4.buttons)){
-for(var i=0;i<_a4.buttons.length;i++){
-var btn=_a4.buttons[i];
-if(btn=="-"){
-$("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
-}else{
-var td=$("<td></td>").appendTo(tr);
-var a=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
-a[0].onclick=eval(btn.handler||function(){
-});
-a.linkbutton($.extend({},btn,{plain:true}));
-}
-}
-}else{
-var td=$("<td></td>").appendTo(tr);
-$(_a4.buttons).appendTo(td).show();
-}
-}
-$("<div class=\"pagination-info\"></div>").appendTo(_a5);
-$("<div style=\"clear:both;\"></div>").appendTo(_a5);
-function _a9(_ab){
-var btn=_a4.nav[_ab];
-var a=$("<a href=\"javascript:void(0)\"></a>").appendTo(tr);
-a.wrap("<td></td>");
-a.linkbutton({iconCls:btn.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){
-btn.handler.call(_a2);
-});
-return a;
-};
-function _a6(aa,_ac){
-var _ad=$.inArray(_ac,aa);
-if(_ad>=0){
-aa.splice(_ad,1);
-}
-return aa;
-};
-};
-function _ae(_af,_b0){
-var _b1=$.data(_af,"pagination").options;
-_b2(_af,{pageNumber:_b0});
-_b1.onSelectPage.call(_af,_b1.pageNumber,_b1.pageSize);
-};
-function _b2(_b3,_b4){
-var _b5=$.data(_b3,"pagination");
-var _b6=_b5.options;
-var bb=_b5.bb;
-$.extend(_b6,_b4||{});
-var ps=$(_b3).find("select.pagination-page-list");
-if(ps.length){
-ps.val(_b6.pageSize+"");
-_b6.pageSize=parseInt(ps.val());
-}
-var _b7=Math.ceil(_b6.total/_b6.pageSize)||1;
-if(_b6.pageNumber<1){
-_b6.pageNumber=1;
-}
-if(_b6.pageNumber>_b7){
-_b6.pageNumber=_b7;
-}
-if(_b6.total==0){
-_b6.pageNumber=0;
-_b7=0;
-}
-if(bb.num){
-bb.num.val(_b6.pageNumber);
-}
-if(bb.after){
-bb.after.html(_b6.afterPageText.replace(/{pages}/,_b7));
-}
-var td=$(_b3).find("td.pagination-links");
-if(td.length){
-td.empty();
-var _b8=_b6.pageNumber-Math.floor(_b6.links/2);
-if(_b8<1){
-_b8=1;
-}
-var _b9=_b8+_b6.links-1;
-if(_b9>_b7){
-_b9=_b7;
-}
-_b8=_b9-_b6.links+1;
-if(_b8<1){
-_b8=1;
-}
-for(var i=_b8;i<=_b9;i++){
-var a=$("<a class=\"pagination-link\" href=\"javascript:void(0)\"></a>").appendTo(td);
-a.linkbutton({plain:true,text:i});
-if(i==_b6.pageNumber){
-a.linkbutton("select");
-}else{
-a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){
-_ae(_b3,e.data.pageNumber);
-});
-}
-}
-}
-var _ba=_b6.displayMsg;
-_ba=_ba.replace(/{from}/,_b6.total==0?0:_b6.pageSize*(_b6.pageNumber-1)+1);
-_ba=_ba.replace(/{to}/,Math.min(_b6.pageSize*(_b6.pageNumber),_b6.total));
-_ba=_ba.replace(/{total}/,_b6.total);
-$(_b3).find("div.pagination-info").html(_ba);
-if(bb.first){
-bb.first.linkbutton({disabled:((!_b6.total)||_b6.pageNumber==1)});
-}
-if(bb.prev){
-bb.prev.linkbutton({disabled:((!_b6.total)||_b6.pageNumber==1)});
-}
-if(bb.next){
-bb.next.linkbutton({disabled:(_b6.pageNumber==_b7)});
-}
-if(bb.last){
-bb.last.linkbutton({disabled:(_b6.pageNumber==_b7)});
-}
-_bb(_b3,_b6.loading);
-};
-function _bb(_bc,_bd){
-var _be=$.data(_bc,"pagination");
-var _bf=_be.options;
-_bf.loading=_bd;
-if(_bf.showRefresh&&_be.bb.refresh){
-_be.bb.refresh.linkbutton({iconCls:(_bf.loading?"pagination-loading":"pagination-load")});
-}
-};
-$.fn.pagination=function(_c0,_c1){
-if(typeof _c0=="string"){
-return $.fn.pagination.methods[_c0](this,_c1);
-}
-_c0=_c0||{};
-return this.each(function(){
-var _c2;
-var _c3=$.data(this,"pagination");
-if(_c3){
-_c2=$.extend(_c3.options,_c0);
-}else{
-_c2=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_c0);
-$.data(this,"pagination",{options:_c2});
-}
-_a1(this);
-_b2(this);
-});
-};
-$.fn.pagination.methods={options:function(jq){
-return $.data(jq[0],"pagination").options;
-},loading:function(jq){
-return jq.each(function(){
-_bb(this,true);
-});
-},loaded:function(jq){
-return jq.each(function(){
-_bb(this,false);
-});
-},refresh:function(jq,_c4){
-return jq.each(function(){
-_b2(this,_c4);
-});
-},select:function(jq,_c5){
-return jq.each(function(){
-_ae(this,_c5);
-});
-}};
-$.fn.pagination.parseOptions=function(_c6){
-var t=$(_c6);
-return $.extend({},$.parser.parseOptions(_c6,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)});
-};
-$.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh"],onSelectPage:function(_c7,_c8){
-},onBeforeRefresh:function(_c9,_ca){
-},onRefresh:function(_cb,_cc){
-},onChangePageSize:function(_cd){
-},beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){
-var _ce=$(this).pagination("options");
-if(_ce.pageNumber>1){
-$(this).pagination("select",1);
-}
-}},prev:{iconCls:"pagination-prev",handler:function(){
-var _cf=$(this).pagination("options");
-if(_cf.pageNumber>1){
-$(this).pagination("select",_cf.pageNumber-1);
-}
-}},next:{iconCls:"pagination-next",handler:function(){
-var _d0=$(this).pagination("options");
-var _d1=Math.ceil(_d0.total/_d0.pageSize);
-if(_d0.pageNumber<_d1){
-$(this).pagination("select",_d0.pageNumber+1);
-}
-}},last:{iconCls:"pagination-last",handler:function(){
-var _d2=$(this).pagination("options");
-var _d3=Math.ceil(_d2.total/_d2.pageSize);
-if(_d2.pageNumber<_d3){
-$(this).pagination("select",_d3);
-}
-}},refresh:{iconCls:"pagination-refresh",handler:function(){
-var _d4=$(this).pagination("options");
-if(_d4.onBeforeRefresh.call(this,_d4.pageNumber,_d4.pageSize)!=false){
-$(this).pagination("select",_d4.pageNumber);
-_d4.onRefresh.call(this,_d4.pageNumber,_d4.pageSize);
-}
-}}}};
-})(jQuery);
-(function($){
-function _d5(_d6){
-var _d7=$(_d6);
-_d7.addClass("tree");
-return _d7;
-};
-function _d8(_d9){
-var _da=$.data(_d9,"tree").options;
-$(_d9).unbind().bind("mouseover",function(e){
-var tt=$(e.target);
-var _db=tt.closest("div.tree-node");
-if(!_db.length){
-return;
-}
-_db.addClass("tree-node-hover");
-if(tt.hasClass("tree-hit")){
-if(tt.hasClass("tree-expanded")){
-tt.addClass("tree-expanded-hover");
-}else{
-tt.addClass("tree-collapsed-hover");
-}
-}
-e.stopPropagation();
-}).bind("mouseout",function(e){
-var tt=$(e.target);
-var _dc=tt.closest("div.tree-node");
-if(!_dc.length){
-return;
-}
-_dc.removeClass("tree-node-hover");
-if(tt.hasClass("tree-hit")){
-if(tt.hasClass("tree-expanded")){
-tt.removeClass("tree-expanded-hover");
-}else{
-tt.removeClass("tree-collapsed-hover");
-}
-}
-e.stopPropagation();
-}).bind("click",function(e){
-var tt=$(e.target);
-var _dd=tt.closest("div.tree-node");
-if(!_dd.length){
-return;
-}
-if(tt.hasClass("tree-hit")){
-_144(_d9,_dd[0]);
-return false;
-}else{
-if(tt.hasClass("tree-checkbox")){
-_104(_d9,_dd[0]);
-return false;
-}else{
-_18a(_d9,_dd[0]);
-_da.onClick.call(_d9,_e0(_d9,_dd[0]));
-}
-}
-e.stopPropagation();
-}).bind("dblclick",function(e){
-var _de=$(e.target).closest("div.tree-node");
-if(!_de.length){
-return;
-}
-_18a(_d9,_de[0]);
-_da.onDblClick.call(_d9,_e0(_d9,_de[0]));
-e.stopPropagation();
-}).bind("contextmenu",function(e){
-var _df=$(e.target).closest("div.tree-node");
-if(!_df.length){
-return;
-}
-_da.onContextMenu.call(_d9,e,_e0(_d9,_df[0]));
-e.stopPropagation();
-});
-};
-function _e1(_e2){
-var _e3=$.data(_e2,"tree").options;
-_e3.dnd=false;
-var _e4=$(_e2).find("div.tree-node");
-_e4.draggable("disable");
-_e4.css("cursor","pointer");
-};
-function _e5(_e6){
-var _e7=$.data(_e6,"tree");
-var _e8=_e7.options;
-var _e9=_e7.tree;
-_e7.disabledNodes=[];
-_e8.dnd=true;
-_e9.find("div.tree-node").draggable({disabled:false,revert:true,cursor:"pointer",proxy:function(_ea){
-var p=$("<div class=\"tree-node-proxy\"></div>").appendTo("body");
-p.html("<span class=\"tree-dnd-icon tree-dnd-no\">&nbsp;</span>"+$(_ea).find(".tree-title").html());
-p.hide();
-return p;
-},deltaX:15,deltaY:15,onBeforeDrag:function(e){
-if(_e8.onBeforeDrag.call(_e6,_e0(_e6,this))==false){
-return false;
-}
-if($(e.target).hasClass("tree-hit")||$(e.target).hasClass("tree-checkbox")){
-return false;
-}
-if(e.which!=1){
-return false;
-}
-var _eb=$(this).find("span.tree-indent");
-if(_eb.length){
-e.data.offsetWidth-=_eb.length*_eb.width();
-}
-},onStartDrag:function(e){
-$(this).next("ul").find("div.tree-node").each(function(){
-$(this).droppable("disable");
-_e7.disabledNodes.push(this);
-});
-$(this).draggable("proxy").css({left:-10000,top:-10000});
-_e8.onStartDrag.call(_e6,_e0(_e6,this));
-var _ec=_e0(_e6,this);
-if(_ec.id==undefined){
-_ec.id="easyui_tree_node_id_temp";
-_127(_e6,_ec);
-}
-_e7.draggingNodeId=_ec.id;
-},onDrag:function(e){
-var x1=e.pageX,y1=e.pageY,x2=e.data.startX,y2=e.data.startY;
-var d=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
-if(d>3){
-$(this).draggable("proxy").show();
-}
-this.pageY=e.pageY;
-},onStopDrag:function(){
-for(var i=0;i<_e7.disabledNodes.length;i++){
-$(_e7.disabledNodes[i]).droppable("enable");
-}
-_e7.disabledNodes=[];
-var _ed=_182(_e6,_e7.draggingNodeId);
-if(_ed&&_ed.id=="easyui_tree_node_id_temp"){
-_ed.id="";
-_127(_e6,_ed);
-}
-_e8.onStopDrag.call(_e6,_ed);
-}}).droppable({accept:"div.tree-node",onDragEnter:function(e,_ee){
-if(_e8.onDragEnter.call(_e6,this,_ef(_ee))==false){
-_f0(_ee,false);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-$(this).droppable("disable");
-_e7.disabledNodes.push(this);
-}
-},onDragOver:function(e,_f1){
-if($(this).droppable("options").disabled){
-return;
-}
-var _f2=_f1.pageY;
-var top=$(this).offset().top;
-var _f3=top+$(this).outerHeight();
-_f0(_f1,true);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-if(_f2>top+(_f3-top)/2){
-if(_f3-_f2<5){
-$(this).addClass("tree-node-bottom");
-}else{
-$(this).addClass("tree-node-append");
-}
-}else{
-if(_f2-top<5){
-$(this).addClass("tree-node-top");
-}else{
-$(this).addClass("tree-node-append");
-}
-}
-if(_e8.onDragOver.call(_e6,this,_ef(_f1))==false){
-_f0(_f1,false);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-$(this).droppable("disable");
-_e7.disabledNodes.push(this);
-}
-},onDragLeave:function(e,_f4){
-_f0(_f4,false);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-_e8.onDragLeave.call(_e6,this,_ef(_f4));
-},onDrop:function(e,_f5){
-var _f6=this;
-var _f7,_f8;
-if($(this).hasClass("tree-node-append")){
-_f7=_f9;
-_f8="append";
-}else{
-_f7=_fa;
-_f8=$(this).hasClass("tree-node-top")?"top":"bottom";
-}
-if(_e8.onBeforeDrop.call(_e6,_f6,_ef(_f5),_f8)==false){
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-return;
-}
-_f7(_f5,_f6,_f8);
-$(this).removeClass("tree-node-append tree-node-top tree-node-bottom");
-}});
-function _ef(_fb,pop){
-return $(_fb).closest("ul.tree").tree(pop?"pop":"getData",_fb);
-};
-function _f0(_fc,_fd){
-var _fe=$(_fc).draggable("proxy").find("span.tree-dnd-icon");
-_fe.removeClass("tree-dnd-yes tree-dnd-no").addClass(_fd?"tree-dnd-yes":"tree-dnd-no");
-};
-function _f9(_ff,dest){
-if(_e0(_e6,dest).state=="closed"){
-_13c(_e6,dest,function(){
-_100();
-});
-}else{
-_100();
-}
-function _100(){
-var node=_ef(_ff,true);
-$(_e6).tree("append",{parent:dest,data:[node]});
-_e8.onDrop.call(_e6,dest,node,"append");
-};
-};
-function _fa(_101,dest,_102){
-var _103={};
-if(_102=="top"){
-_103.before=dest;
-}else{
-_103.after=dest;
-}
-var node=_ef(_101,true);
-_103.data=node;
-$(_e6).tree("insert",_103);
-_e8.onDrop.call(_e6,dest,node,_102);
-};
-};
-function _104(_105,_106,_107){
-var _108=$.data(_105,"tree");
-var opts=_108.options;
-if(!opts.checkbox){
-return;
-}
-var _109=_e0(_105,_106);
-if(_107==undefined){
-var ck=$(_106).find(".tree-checkbox");
-if(ck.hasClass("tree-checkbox1")){
-_107=false;
-}else{
-if(ck.hasClass("tree-checkbox0")){
-_107=true;
-}else{
-if(_109._checked==undefined){
-_109._checked=$(_106).find(".tree-checkbox").hasClass("tree-checkbox1");
-}
-_107=!_109._checked;
-}
-}
-}
-_109._checked=_107;
-if(opts.onBeforeCheck.call(_105,_109,_107)==false){
-return;
-}
-if(opts.cascadeCheck){
-_10a(_109,_107);
-_10b(_109,_107);
-}else{
-_10c($(_109.target),_107?"1":"0");
-}
-opts.onCheck.call(_105,_109,_107);
-function _10c(node,flag){
-var ck=node.find(".tree-checkbox");
-ck.removeClass("tree-checkbox0 tree-checkbox1 tree-checkbox2");
-ck.addClass("tree-checkbox"+flag);
-};
-function _10a(_10d,_10e){
-if(opts.deepCheck){
-var node=$("#"+_10d.domId);
-var flag=_10e?"1":"0";
-_10c(node,flag);
-_10c(node.next(),flag);
-}else{
-_10f(_10d,_10e);
-_12a(_10d.children||[],function(n){
-_10f(n,_10e);
-});
-}
-};
-function _10f(_110,_111){
-if(_110.hidden){
-return;
-}
-var cls="tree-checkbox"+(_111?"1":"0");
-var node=$("#"+_110.domId);
-_10c(node,_111?"1":"0");
-if(_110.children){
-for(var i=0;i<_110.children.length;i++){
-if(_110.children[i].hidden){
-if(!$("#"+_110.children[i].domId).find("."+cls).length){
-_10c(node,"2");
-var _112=_14f(_105,node[0]);
-while(_112){
-_10c($(_112.target),"2");
-_112=_14f(_105,_112[0]);
-}
-return;
-}
-}
-}
-}
-};
-function _10b(_113,_114){
-var node=$("#"+_113.domId);
-var _115=_14f(_105,node[0]);
-if(_115){
-var flag="";
-if(_116(node,true)){
-flag="1";
-}else{
-if(_116(node,false)){
-flag="0";
-}else{
-flag="2";
-}
-}
-_10c($(_115.target),flag);
-_10b(_115,_114);
-}
-};
-function _116(node,_117){
-var cls="tree-checkbox"+(_117?"1":"0");
-var ck=node.find(".tree-checkbox");
-if(!ck.hasClass(cls)){
-return false;
-}
-var b=true;
-node.parent().siblings().each(function(){
-var ck=$(this).children("div.tree-node").children(".tree-checkbox");
-if(ck.length&&!ck.hasClass(cls)){
-b=false;
-return false;
-}
-});
-return b;
-};
-};
-function _118(_119,_11a){
-var opts=$.data(_119,"tree").options;
-if(!opts.checkbox){
-return;
-}
-var node=$(_11a);
-if(_11b(_119,_11a)){
-var ck=node.find(".tree-checkbox");
-if(ck.length){
-if(ck.hasClass("tree-checkbox1")){
-_104(_119,_11a,true);
-}else{
-_104(_119,_11a,false);
-}
-}else{
-if(opts.onlyLeafCheck){
-$("<span class=\"tree-checkbox tree-checkbox0\"></span>").insertBefore(node.find(".tree-title"));
-}
-}
-}else{
-var ck=node.find(".tree-checkbox");
-if(opts.onlyLeafCheck){
-ck.remove();
-}else{
-if(ck.hasClass("tree-checkbox1")){
-_104(_119,_11a,true);
-}else{
-if(ck.hasClass("tree-checkbox2")){
-var _11c=true;
-var _11d=true;
-var _11e=_11f(_119,_11a);
-for(var i=0;i<_11e.length;i++){
-if(_11e[i].checked){
-_11d=false;
-}else{
-_11c=false;
-}
-}
-if(_11c){
-_104(_119,_11a,true);
-}
-if(_11d){
-_104(_119,_11a,false);
-}
-}
-}
-}
-}
-};
-function _120(_121,ul,data,_122){
-var _123=$.data(_121,"tree");
-var opts=_123.options;
-var _124=$(ul).prevAll("div.tree-node:first");
-data=opts.loadFilter.call(_121,data,_124[0]);
-var _125=_126(_121,"domId",_124.attr("id"));
-if(!_122){
-_125?_125.children=data:_123.data=data;
-$(ul).empty();
-}else{
-if(_125){
-_125.children?_125.children=_125.children.concat(data):_125.children=data;
-}else{
-_123.data=_123.data.concat(data);
-}
-}
-opts.view.render.call(opts.view,_121,ul,data);
-if(opts.dnd){
-_e5(_121);
-}
-if(_125){
-_127(_121,_125);
-}
-var _128=[];
-var _129=[];
-for(var i=0;i<data.length;i++){
-var node=data[i];
-if(!node.checked){
-_128.push(node);
-}
-}
-_12a(data,function(node){
-if(node.checked){
-_129.push(node);
-}
-});
-var _12b=opts.onCheck;
-opts.onCheck=function(){
-};
-if(_128.length){
-_104(_121,$("#"+_128[0].domId)[0],false);
-}
-for(var i=0;i<_129.length;i++){
-_104(_121,$("#"+_129[i].domId)[0],true);
-}
-opts.onCheck=_12b;
-setTimeout(function(){
-_12c(_121,_121);
-},0);
-opts.onLoadSuccess.call(_121,_125,data);
-};
-function _12c(_12d,ul,_12e){
-var opts=$.data(_12d,"tree").options;
-if(opts.lines){
-$(_12d).addClass("tree-lines");
-}else{
-$(_12d).removeClass("tree-lines");
-return;
-}
-if(!_12e){
-_12e=true;
-$(_12d).find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom");
-$(_12d).find("div.tree-node").removeClass("tree-node-last tree-root-first tree-root-one");
-var _12f=$(_12d).tree("getRoots");
-if(_12f.length>1){
-$(_12f[0].target).addClass("tree-root-first");
-}else{
-if(_12f.length==1){
-$(_12f[0].target).addClass("tree-root-one");
-}
-}
-}
-$(ul).children("li").each(function(){
-var node=$(this).children("div.tree-node");
-var ul=node.next("ul");
-if(ul.length){
-if($(this).next().length){
-_130(node);
-}
-_12c(_12d,ul,_12e);
-}else{
-_131(node);
-}
-});
-var _132=$(ul).children("li:last").children("div.tree-node").addClass("tree-node-last");
-_132.children("span.tree-join").removeClass("tree-join").addClass("tree-joinbottom");
-function _131(node,_133){
-var icon=node.find("span.tree-icon");
-icon.prev("span.tree-indent").addClass("tree-join");
-};
-function _130(node){
-var _134=node.find("span.tree-indent, span.tree-hit").length;
-node.next().find("div.tree-node").each(function(){
-$(this).children("span:eq("+(_134-1)+")").addClass("tree-line");
-});
-};
-};
-function _135(_136,ul,_137,_138){
-var opts=$.data(_136,"tree").options;
-_137=$.extend({},opts.queryParams,_137||{});
-var _139=null;
-if(_136!=ul){
-var node=$(ul).prev();
-_139=_e0(_136,node[0]);
-}
-if(opts.onBeforeLoad.call(_136,_139,_137)==false){
-return;
-}
-var _13a=$(ul).prev().children("span.tree-folder");
-_13a.addClass("tree-loading");
-var _13b=opts.loader.call(_136,_137,function(data){
-_13a.removeClass("tree-loading");
-_120(_136,ul,data);
-if(_138){
-_138();
-}
-},function(){
-_13a.removeClass("tree-loading");
-opts.onLoadError.apply(_136,arguments);
-if(_138){
-_138();
-}
-});
-if(_13b==false){
-_13a.removeClass("tree-loading");
-}
-};
-function _13c(_13d,_13e,_13f){
-var opts=$.data(_13d,"tree").options;
-var hit=$(_13e).children("span.tree-hit");
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-expanded")){
-return;
-}
-var node=_e0(_13d,_13e);
-if(opts.onBeforeExpand.call(_13d,node)==false){
-return;
-}
-hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded");
-hit.next().addClass("tree-folder-open");
-var ul=$(_13e).next();
-if(ul.length){
-if(opts.animate){
-ul.slideDown("normal",function(){
-node.state="open";
-opts.onExpand.call(_13d,node);
-if(_13f){
-_13f();
-}
-});
-}else{
-ul.css("display","block");
-node.state="open";
-opts.onExpand.call(_13d,node);
-if(_13f){
-_13f();
-}
-}
-}else{
-var _140=$("<ul style=\"display:none\"></ul>").insertAfter(_13e);
-_135(_13d,_140[0],{id:node.id},function(){
-if(_140.is(":empty")){
-_140.remove();
-}
-if(opts.animate){
-_140.slideDown("normal",function(){
-node.state="open";
-opts.onExpand.call(_13d,node);
-if(_13f){
-_13f();
-}
-});
-}else{
-_140.css("display","block");
-node.state="open";
-opts.onExpand.call(_13d,node);
-if(_13f){
-_13f();
-}
-}
-});
-}
-};
-function _141(_142,_143){
-var opts=$.data(_142,"tree").options;
-var hit=$(_143).children("span.tree-hit");
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-collapsed")){
-return;
-}
-var node=_e0(_142,_143);
-if(opts.onBeforeCollapse.call(_142,node)==false){
-return;
-}
-hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
-hit.next().removeClass("tree-folder-open");
-var ul=$(_143).next();
-if(opts.animate){
-ul.slideUp("normal",function(){
-node.state="closed";
-opts.onCollapse.call(_142,node);
-});
-}else{
-ul.css("display","none");
-node.state="closed";
-opts.onCollapse.call(_142,node);
-}
-};
-function _144(_145,_146){
-var hit=$(_146).children("span.tree-hit");
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-expanded")){
-_141(_145,_146);
-}else{
-_13c(_145,_146);
-}
-};
-function _147(_148,_149){
-var _14a=_11f(_148,_149);
-if(_149){
-_14a.unshift(_e0(_148,_149));
-}
-for(var i=0;i<_14a.length;i++){
-_13c(_148,_14a[i].target);
-}
-};
-function _14b(_14c,_14d){
-var _14e=[];
-var p=_14f(_14c,_14d);
-while(p){
-_14e.unshift(p);
-p=_14f(_14c,p.target);
-}
-for(var i=0;i<_14e.length;i++){
-_13c(_14c,_14e[i].target);
-}
-};
-function _150(_151,_152){
-var c=$(_151).parent();
-while(c[0].tagName!="BODY"&&c.css("overflow-y")!="auto"){
-c=c.parent();
-}
-var n=$(_152);
-var ntop=n.offset().top;
-if(c[0].tagName!="BODY"){
-var ctop=c.offset().top;
-if(ntop<ctop){
-c.scrollTop(c.scrollTop()+ntop-ctop);
-}else{
-if(ntop+n.outerHeight()>ctop+c.outerHeight()-18){
-c.scrollTop(c.scrollTop()+ntop+n.outerHeight()-ctop-c.outerHeight()+18);
-}
-}
-}else{
-c.scrollTop(ntop);
-}
-};
-function _153(_154,_155){
-var _156=_11f(_154,_155);
-if(_155){
-_156.unshift(_e0(_154,_155));
-}
-for(var i=0;i<_156.length;i++){
-_141(_154,_156[i].target);
-}
-};
-function _157(_158,_159){
-var node=$(_159.parent);
-var data=_159.data;
-if(!data){
-return;
-}
-data=$.isArray(data)?data:[data];
-if(!data.length){
-return;
-}
-var ul;
-if(node.length==0){
-ul=$(_158);
-}else{
-if(_11b(_158,node[0])){
-var _15a=node.find("span.tree-icon");
-_15a.removeClass("tree-file").addClass("tree-folder tree-folder-open");
-var hit=$("<span class=\"tree-hit tree-expanded\"></span>").insertBefore(_15a);
-if(hit.prev().length){
-hit.prev().remove();
-}
-}
-ul=node.next();
-if(!ul.length){
-ul=$("<ul></ul>").insertAfter(node);
-}
-}
-_120(_158,ul[0],data,true);
-_118(_158,ul.prev());
-};
-function _15b(_15c,_15d){
-var ref=_15d.before||_15d.after;
-var _15e=_14f(_15c,ref);
-var data=_15d.data;
-if(!data){
-return;
-}
-data=$.isArray(data)?data:[data];
-if(!data.length){
-return;
-}
-_157(_15c,{parent:(_15e?_15e.target:null),data:data});
-var _15f=_15e?_15e.children:$(_15c).tree("getRoots");
-for(var i=0;i<_15f.length;i++){
-if(_15f[i].domId==$(ref).attr("id")){
-for(var j=data.length-1;j>=0;j--){
-_15f.splice((_15d.before?i:(i+1)),0,data[j]);
-}
-_15f.splice(_15f.length-data.length,data.length);
-break;
-}
-}
-var li=$();
-for(var i=0;i<data.length;i++){
-li=li.add($("#"+data[i].domId).parent());
-}
-if(_15d.before){
-li.insertBefore($(ref).parent());
-}else{
-li.insertAfter($(ref).parent());
-}
-};
-function _160(_161,_162){
-var _163=del(_162);
-$(_162).parent().remove();
-if(_163){
-if(!_163.children||!_163.children.length){
-var node=$(_163.target);
-node.find(".tree-icon").removeClass("tree-folder").addClass("tree-file");
-node.find(".tree-hit").remove();
-$("<span class=\"tree-indent\"></span>").prependTo(node);
-node.next().remove();
-}
-_127(_161,_163);
-_118(_161,_163.target);
-}
-_12c(_161,_161);
-function del(_164){
-var id=$(_164).attr("id");
-var _165=_14f(_161,_164);
-var cc=_165?_165.children:$.data(_161,"tree").data;
-for(var i=0;i<cc.length;i++){
-if(cc[i].domId==id){
-cc.splice(i,1);
-break;
-}
-}
-return _165;
-};
-};
-function _127(_166,_167){
-var opts=$.data(_166,"tree").options;
-var node=$(_167.target);
-var data=_e0(_166,_167.target);
-var _168=data.checked;
-if(data.iconCls){
-node.find(".tree-icon").removeClass(data.iconCls);
-}
-$.extend(data,_167);
-node.find(".tree-title").html(opts.formatter.call(_166,data));
-if(data.iconCls){
-node.find(".tree-icon").addClass(data.iconCls);
-}
-if(_168!=data.checked){
-_104(_166,_167.target,data.checked);
-}
-};
-function _169(_16a,_16b){
-if(_16b){
-var p=_14f(_16a,_16b);
-while(p){
-_16b=p.target;
-p=_14f(_16a,_16b);
-}
-return _e0(_16a,_16b);
-}else{
-var _16c=_16d(_16a);
-return _16c.length?_16c[0]:null;
-}
-};
-function _16d(_16e){
-var _16f=$.data(_16e,"tree").data;
-for(var i=0;i<_16f.length;i++){
-_170(_16f[i]);
-}
-return _16f;
-};
-function _11f(_171,_172){
-var _173=[];
-var n=_e0(_171,_172);
-var data=n?(n.children||[]):$.data(_171,"tree").data;
-_12a(data,function(node){
-_173.push(_170(node));
-});
-return _173;
-};
-function _14f(_174,_175){
-var p=$(_175).closest("ul").prevAll("div.tree-node:first");
-return _e0(_174,p[0]);
-};
-function _176(_177,_178){
-_178=_178||"checked";
-if(!$.isArray(_178)){
-_178=[_178];
-}
-var _179=[];
-for(var i=0;i<_178.length;i++){
-var s=_178[i];
-if(s=="checked"){
-_179.push("span.tree-checkbox1");
-}else{
-if(s=="unchecked"){
-_179.push("span.tree-checkbox0");
-}else{
-if(s=="indeterminate"){
-_179.push("span.tree-checkbox2");
-}
-}
-}
-}
-var _17a=[];
-$(_177).find(_179.join(",")).each(function(){
-var node=$(this).parent();
-_17a.push(_e0(_177,node[0]));
-});
-return _17a;
-};
-function _17b(_17c){
-var node=$(_17c).find("div.tree-node-selected");
-return node.length?_e0(_17c,node[0]):null;
-};
-function _17d(_17e,_17f){
-var data=_e0(_17e,_17f);
-if(data&&data.children){
-_12a(data.children,function(node){
-_170(node);
-});
-}
-return data;
-};
-function _e0(_180,_181){
-return _126(_180,"domId",$(_181).attr("id"));
-};
-function _182(_183,id){
-return _126(_183,"id",id);
-};
-function _126(_184,_185,_186){
-var data=$.data(_184,"tree").data;
-var _187=null;
-_12a(data,function(node){
-if(node[_185]==_186){
-_187=_170(node);
-return false;
-}
-});
-return _187;
-};
-function _170(node){
-var d=$("#"+node.domId);
-node.target=d[0];
-node.checked=d.find(".tree-checkbox").hasClass("tree-checkbox1");
-return node;
-};
-function _12a(data,_188){
-var _189=[];
-for(var i=0;i<data.length;i++){
-_189.push(data[i]);
-}
-while(_189.length){
-var node=_189.shift();
-if(_188(node)==false){
-return;
-}
-if(node.children){
-for(var i=node.children.length-1;i>=0;i--){
-_189.unshift(node.children[i]);
-}
-}
-}
-};
-function _18a(_18b,_18c){
-var opts=$.data(_18b,"tree").options;
-var node=_e0(_18b,_18c);
-if(opts.onBeforeSelect.call(_18b,node)==false){
-return;
-}
-$(_18b).find("div.tree-node-selected").removeClass("tree-node-selected");
-$(_18c).addClass("tree-node-selected");
-opts.onSelect.call(_18b,node);
-};
-function _11b(_18d,_18e){
-return $(_18e).children("span.tree-hit").length==0;
-};
-function _18f(_190,_191){
-var opts=$.data(_190,"tree").options;
-var node=_e0(_190,_191);
-if(opts.onBeforeEdit.call(_190,node)==false){
-return;
-}
-$(_191).css("position","relative");
-var nt=$(_191).find(".tree-title");
-var _192=nt.outerWidth();
-nt.empty();
-var _193=$("<input class=\"tree-editor\">").appendTo(nt);
-_193.val(node.text).focus();
-_193.width(_192+20);
-_193.height(document.compatMode=="CSS1Compat"?(18-(_193.outerHeight()-_193.height())):18);
-_193.bind("click",function(e){
-return false;
-}).bind("mousedown",function(e){
-e.stopPropagation();
-}).bind("mousemove",function(e){
-e.stopPropagation();
-}).bind("keydown",function(e){
-if(e.keyCode==13){
-_194(_190,_191);
-return false;
-}else{
-if(e.keyCode==27){
-_198(_190,_191);
-return false;
-}
-}
-}).bind("blur",function(e){
-e.stopPropagation();
-_194(_190,_191);
-});
-};
-function _194(_195,_196){
-var opts=$.data(_195,"tree").options;
-$(_196).css("position","");
-var _197=$(_196).find("input.tree-editor");
-var val=_197.val();
-_197.remove();
-var node=_e0(_195,_196);
-node.text=val;
-_127(_195,node);
-opts.onAfterEdit.call(_195,node);
-};
-function _198(_199,_19a){
-var opts=$.data(_199,"tree").options;
-$(_19a).css("position","");
-$(_19a).find("input.tree-editor").remove();
-var node=_e0(_199,_19a);
-_127(_199,node);
-opts.onCancelEdit.call(_199,node);
-};
-function _19b(_19c,q){
-var _19d=$.data(_19c,"tree");
-var opts=_19d.options;
-var ids={};
-_12a(_19d.data,function(node){
-if(opts.filter.call(_19c,q,node)){
-$("#"+node.domId).removeClass("tree-node-hidden");
-ids[node.domId]=1;
-node.hidden=false;
-}else{
-$("#"+node.domId).addClass("tree-node-hidden");
-node.hidden=true;
-}
-});
-for(var id in ids){
-_19e(id);
-}
-function _19e(_19f){
-var p=$(_19c).tree("getParent",$("#"+_19f)[0]);
-while(p){
-$(p.target).removeClass("tree-node-hidden");
-p.hidden=false;
-p=$(_19c).tree("getParent",p.target);
-}
-};
-};
-$.fn.tree=function(_1a0,_1a1){
-if(typeof _1a0=="string"){
-return $.fn.tree.methods[_1a0](this,_1a1);
-}
-var _1a0=_1a0||{};
-return this.each(function(){
-var _1a2=$.data(this,"tree");
-var opts;
-if(_1a2){
-opts=$.extend(_1a2.options,_1a0);
-_1a2.options=opts;
-}else{
-opts=$.extend({},$.fn.tree.defaults,$.fn.tree.parseOptions(this),_1a0);
-$.data(this,"tree",{options:opts,tree:_d5(this),data:[]});
-var data=$.fn.tree.parseData(this);
-if(data.length){
-_120(this,this,data);
-}
-}
-_d8(this);
-if(opts.data){
-_120(this,this,$.extend(true,[],opts.data));
-}
-_135(this,this);
-});
-};
-$.fn.tree.methods={options:function(jq){
-return $.data(jq[0],"tree").options;
-},loadData:function(jq,data){
-return jq.each(function(){
-_120(this,this,data);
-});
-},getNode:function(jq,_1a3){
-return _e0(jq[0],_1a3);
-},getData:function(jq,_1a4){
-return _17d(jq[0],_1a4);
-},reload:function(jq,_1a5){
-return jq.each(function(){
-if(_1a5){
-var node=$(_1a5);
-var hit=node.children("span.tree-hit");
-hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
-node.next().remove();
-_13c(this,_1a5);
-}else{
-$(this).empty();
-_135(this,this);
-}
-});
-},getRoot:function(jq,_1a6){
-return _169(jq[0],_1a6);
-},getRoots:function(jq){
-return _16d(jq[0]);
-},getParent:function(jq,_1a7){
-return _14f(jq[0],_1a7);
-},getChildren:function(jq,_1a8){
-return _11f(jq[0],_1a8);
-},getChecked:function(jq,_1a9){
-return _176(jq[0],_1a9);
-},getSelected:function(jq){
-return _17b(jq[0]);
-},isLeaf:function(jq,_1aa){
-return _11b(jq[0],_1aa);
-},find:function(jq,id){
-return _182(jq[0],id);
-},select:function(jq,_1ab){
-return jq.each(function(){
-_18a(this,_1ab);
-});
-},check:function(jq,_1ac){
-return jq.each(function(){
-_104(this,_1ac,true);
-});
-},uncheck:function(jq,_1ad){
-return jq.each(function(){
-_104(this,_1ad,false);
-});
-},collapse:function(jq,_1ae){
-return jq.each(function(){
-_141(this,_1ae);
-});
-},expand:function(jq,_1af){
-return jq.each(function(){
-_13c(this,_1af);
-});
-},collapseAll:function(jq,_1b0){
-return jq.each(function(){
-_153(this,_1b0);
-});
-},expandAll:function(jq,_1b1){
-return jq.each(function(){
-_147(this,_1b1);
-});
-},expandTo:function(jq,_1b2){
-return jq.each(function(){
-_14b(this,_1b2);
-});
-},scrollTo:function(jq,_1b3){
-return jq.each(function(){
-_150(this,_1b3);
-});
-},toggle:function(jq,_1b4){
-return jq.each(function(){
-_144(this,_1b4);
-});
-},append:function(jq,_1b5){
-return jq.each(function(){
-_157(this,_1b5);
-});
-},insert:function(jq,_1b6){
-return jq.each(function(){
-_15b(this,_1b6);
-});
-},remove:function(jq,_1b7){
-return jq.each(function(){
-_160(this,_1b7);
-});
-},pop:function(jq,_1b8){
-var node=jq.tree("getData",_1b8);
-jq.tree("remove",_1b8);
-return node;
-},update:function(jq,_1b9){
-return jq.each(function(){
-_127(this,_1b9);
-});
-},enableDnd:function(jq){
-return jq.each(function(){
-_e5(this);
-});
-},disableDnd:function(jq){
-return jq.each(function(){
-_e1(this);
-});
-},beginEdit:function(jq,_1ba){
-return jq.each(function(){
-_18f(this,_1ba);
-});
-},endEdit:function(jq,_1bb){
-return jq.each(function(){
-_194(this,_1bb);
-});
-},cancelEdit:function(jq,_1bc){
-return jq.each(function(){
-_198(this,_1bc);
-});
-},doFilter:function(jq,q){
-return jq.each(function(){
-_19b(this,q);
-});
-}};
-$.fn.tree.parseOptions=function(_1bd){
-var t=$(_1bd);
-return $.extend({},$.parser.parseOptions(_1bd,["url","method",{checkbox:"boolean",cascadeCheck:"boolean",onlyLeafCheck:"boolean"},{animate:"boolean",lines:"boolean",dnd:"boolean"}]));
-};
-$.fn.tree.parseData=function(_1be){
-var data=[];
-_1bf(data,$(_1be));
-return data;
-function _1bf(aa,tree){
-tree.children("li").each(function(){
-var node=$(this);
-var item=$.extend({},$.parser.parseOptions(this,["id","iconCls","state"]),{checked:(node.attr("checked")?true:undefined)});
-item.text=node.children("span").html();
-if(!item.text){
-item.text=node.html();
-}
-var _1c0=node.children("ul");
-if(_1c0.length){
-item.children=[];
-_1bf(item.children,_1c0);
-}
-aa.push(item);
-});
-};
-};
-var _1c1=1;
-var _1c2={render:function(_1c3,ul,data){
-var opts=$.data(_1c3,"tree").options;
-var _1c4=$(ul).prev("div.tree-node").find("span.tree-indent, span.tree-hit").length;
-var cc=_1c5(_1c4,data);
-$(ul).append(cc.join(""));
-function _1c5(_1c6,_1c7){
-var cc=[];
-for(var i=0;i<_1c7.length;i++){
-var item=_1c7[i];
-if(item.state!="open"&&item.state!="closed"){
-item.state="open";
-}
-item.domId="_easyui_tree_"+_1c1++;
-cc.push("<li>");
-cc.push("<div id=\""+item.domId+"\" class=\"tree-node\">");
-for(var j=0;j<_1c6;j++){
-cc.push("<span class=\"tree-indent\"></span>");
-}
-var _1c8=false;
-if(item.state=="closed"){
-cc.push("<span class=\"tree-hit tree-collapsed\"></span>");
-cc.push("<span class=\"tree-icon tree-folder "+(item.iconCls?item.iconCls:"")+"\"></span>");
-}else{
-if(item.children&&item.children.length){
-cc.push("<span class=\"tree-hit tree-expanded\"></span>");
-cc.push("<span class=\"tree-icon tree-folder tree-folder-open "+(item.iconCls?item.iconCls:"")+"\"></span>");
-}else{
-cc.push("<span class=\"tree-indent\"></span>");
-cc.push("<span class=\"tree-icon tree-file "+(item.iconCls?item.iconCls:"")+"\"></span>");
-_1c8=true;
-}
-}
-if(opts.checkbox){
-if((!opts.onlyLeafCheck)||_1c8){
-cc.push("<span class=\"tree-checkbox tree-checkbox0\"></span>");
-}
-}
-cc.push("<span class=\"tree-title\">"+opts.formatter.call(_1c3,item)+"</span>");
-cc.push("</div>");
-if(item.children&&item.children.length){
-var tmp=_1c5(_1c6+1,item.children);
-cc.push("<ul style=\"display:"+(item.state=="closed"?"none":"block")+"\">");
-cc=cc.concat(tmp);
-cc.push("</ul>");
-}
-cc.push("</li>");
-}
-return cc;
-};
-}};
-$.fn.tree.defaults={url:null,method:"post",animate:false,checkbox:false,cascadeCheck:true,onlyLeafCheck:false,lines:false,dnd:false,data:null,queryParams:{},formatter:function(node){
-return node.text;
-},filter:function(q,node){
-return node.text.toLowerCase().indexOf(q.toLowerCase())>=0;
-},loader:function(_1c9,_1ca,_1cb){
-var opts=$(this).tree("options");
-if(!opts.url){
-return false;
-}
-$.ajax({type:opts.method,url:opts.url,data:_1c9,dataType:"json",success:function(data){
-_1ca(data);
-},error:function(){
-_1cb.apply(this,arguments);
-}});
-},loadFilter:function(data,_1cc){
-return data;
-},view:_1c2,onBeforeLoad:function(node,_1cd){
-},onLoadSuccess:function(node,data){
-},onLoadError:function(){
-},onClick:function(node){
-},onDblClick:function(node){
-},onBeforeExpand:function(node){
-},onExpand:function(node){
-},onBeforeCollapse:function(node){
-},onCollapse:function(node){
-},onBeforeCheck:function(node,_1ce){
-},onCheck:function(node,_1cf){
-},onBeforeSelect:function(node){
-},onSelect:function(node){
-},onContextMenu:function(e,node){
-},onBeforeDrag:function(node){
-},onStartDrag:function(node){
-},onStopDrag:function(node){
-},onDragEnter:function(_1d0,_1d1){
-},onDragOver:function(_1d2,_1d3){
-},onDragLeave:function(_1d4,_1d5){
-},onBeforeDrop:function(_1d6,_1d7,_1d8){
-},onDrop:function(_1d9,_1da,_1db){
-},onBeforeEdit:function(node){
-},onAfterEdit:function(node){
-},onCancelEdit:function(node){
-}};
-})(jQuery);
-(function($){
-function init(_1dc){
-$(_1dc).addClass("progressbar");
-$(_1dc).html("<div class=\"progressbar-text\"></div><div class=\"progressbar-value\"><div class=\"progressbar-text\"></div></div>");
-$(_1dc).bind("_resize",function(e,_1dd){
-if($(this).hasClass("easyui-fluid")||_1dd){
-_1de(_1dc);
-}
-return false;
-});
-return $(_1dc);
-};
-function _1de(_1df,_1e0){
-var opts=$.data(_1df,"progressbar").options;
-var bar=$.data(_1df,"progressbar").bar;
-if(_1e0){
-opts.width=_1e0;
-}
-bar._size(opts);
-bar.find("div.progressbar-text").css("width",bar.width());
-bar.find("div.progressbar-text,div.progressbar-value").css({height:bar.height()+"px",lineHeight:bar.height()+"px"});
-};
-$.fn.progressbar=function(_1e1,_1e2){
-if(typeof _1e1=="string"){
-var _1e3=$.fn.progressbar.methods[_1e1];
-if(_1e3){
-return _1e3(this,_1e2);
-}
-}
-_1e1=_1e1||{};
-return this.each(function(){
-var _1e4=$.data(this,"progressbar");
-if(_1e4){
-$.extend(_1e4.options,_1e1);
-}else{
-_1e4=$.data(this,"progressbar",{options:$.extend({},$.fn.progressbar.defaults,$.fn.progressbar.parseOptions(this),_1e1),bar:init(this)});
-}
-$(this).progressbar("setValue",_1e4.options.value);
-_1de(this);
-});
-};
-$.fn.progressbar.methods={options:function(jq){
-return $.data(jq[0],"progressbar").options;
-},resize:function(jq,_1e5){
-return jq.each(function(){
-_1de(this,_1e5);
-});
-},getValue:function(jq){
-return $.data(jq[0],"progressbar").options.value;
-},setValue:function(jq,_1e6){
-if(_1e6<0){
-_1e6=0;
-}
-if(_1e6>100){
-_1e6=100;
-}
-return jq.each(function(){
-var opts=$.data(this,"progressbar").options;
-var text=opts.text.replace(/{value}/,_1e6);
-var _1e7=opts.value;
-opts.value=_1e6;
-$(this).find("div.progressbar-value").width(_1e6+"%");
-$(this).find("div.progressbar-text").html(text);
-if(_1e7!=_1e6){
-opts.onChange.call(this,_1e6,_1e7);
-}
-});
-}};
-$.fn.progressbar.parseOptions=function(_1e8){
-return $.extend({},$.parser.parseOptions(_1e8,["width","height","text",{value:"number"}]));
-};
-$.fn.progressbar.defaults={width:"auto",height:22,value:0,text:"{value}%",onChange:function(_1e9,_1ea){
-}};
-})(jQuery);
-(function($){
-function init(_1eb){
-$(_1eb).addClass("tooltip-f");
-};
-function _1ec(_1ed){
-var opts=$.data(_1ed,"tooltip").options;
-$(_1ed).unbind(".tooltip").bind(opts.showEvent+".tooltip",function(e){
-$(_1ed).tooltip("show",e);
-}).bind(opts.hideEvent+".tooltip",function(e){
-$(_1ed).tooltip("hide",e);
-}).bind("mousemove.tooltip",function(e){
-if(opts.trackMouse){
-opts.trackMouseX=e.pageX;
-opts.trackMouseY=e.pageY;
-$(_1ed).tooltip("reposition");
-}
-});
-};
-function _1ee(_1ef){
-var _1f0=$.data(_1ef,"tooltip");
-if(_1f0.showTimer){
-clearTimeout(_1f0.showTimer);
-_1f0.showTimer=null;
-}
-if(_1f0.hideTimer){
-clearTimeout(_1f0.hideTimer);
-_1f0.hideTimer=null;
-}
-};
-function _1f1(_1f2){
-var _1f3=$.data(_1f2,"tooltip");
-if(!_1f3||!_1f3.tip){
-return;
-}
-var opts=_1f3.options;
-var tip=_1f3.tip;
-var pos={left:-100000,top:-100000};
-if($(_1f2).is(":visible")){
-pos=_1f4(opts.position);
-if(opts.position=="top"&&pos.top<0){
-pos=_1f4("bottom");
-}else{
-if((opts.position=="bottom")&&(pos.top+tip._outerHeight()>$(window)._outerHeight()+$(document).scrollTop())){
-pos=_1f4("top");
-}
-}
-if(pos.left<0){
-if(opts.position=="left"){
-pos=_1f4("right");
-}else{
-$(_1f2).tooltip("arrow").css("left",tip._outerWidth()/2+pos.left);
-pos.left=0;
-}
-}else{
-if(pos.left+tip._outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){
-if(opts.position=="right"){
-pos=_1f4("left");
-}else{
-var left=pos.left;
-pos.left=$(window)._outerWidth()+$(document)._scrollLeft()-tip._outerWidth();
-$(_1f2).tooltip("arrow").css("left",tip._outerWidth()/2-(pos.left-left));
-}
-}
-}
-}
-tip.css({left:pos.left,top:pos.top,zIndex:(opts.zIndex!=undefined?opts.zIndex:($.fn.window?$.fn.window.defaults.zIndex++:""))});
-opts.onPosition.call(_1f2,pos.left,pos.top);
-function _1f4(_1f5){
-opts.position=_1f5||"bottom";
-tip.removeClass("tooltip-top tooltip-bottom tooltip-left tooltip-right").addClass("tooltip-"+opts.position);
-var left,top;
-if(opts.trackMouse){
-t=$();
-left=opts.trackMouseX+opts.deltaX;
-top=opts.trackMouseY+opts.deltaY;
-}else{
-var t=$(_1f2);
-left=t.offset().left+opts.deltaX;
-top=t.offset().top+opts.deltaY;
-}
-switch(opts.position){
-case "right":
-left+=t._outerWidth()+12+(opts.trackMouse?12:0);
-top-=(tip._outerHeight()-t._outerHeight())/2;
-break;
-case "left":
-left-=tip._outerWidth()+12+(opts.trackMouse?12:0);
-top-=(tip._outerHeight()-t._outerHeight())/2;
-break;
-case "top":
-left-=(tip._outerWidth()-t._outerWidth())/2;
-top-=tip._outerHeight()+12+(opts.trackMouse?12:0);
-break;
-case "bottom":
-left-=(tip._outerWidth()-t._outerWidth())/2;
-top+=t._outerHeight()+12+(opts.trackMouse?12:0);
-break;
-}
-return {left:left,top:top};
-};
-};
-function _1f6(_1f7,e){
-var _1f8=$.data(_1f7,"tooltip");
-var opts=_1f8.options;
-var tip=_1f8.tip;
-if(!tip){
-tip=$("<div tabindex=\"-1\" class=\"tooltip\">"+"<div class=\"tooltip-content\"></div>"+"<div class=\"tooltip-arrow-outer\"></div>"+"<div class=\"tooltip-arrow\"></div>"+"</div>").appendTo("body");
-_1f8.tip=tip;
-_1f9(_1f7);
-}
-_1ee(_1f7);
-_1f8.showTimer=setTimeout(function(){
-$(_1f7).tooltip("reposition");
-tip.show();
-opts.onShow.call(_1f7,e);
-var _1fa=tip.children(".tooltip-arrow-outer");
-var _1fb=tip.children(".tooltip-arrow");
-var bc="border-"+opts.position+"-color";
-_1fa.add(_1fb).css({borderTopColor:"",borderBottomColor:"",borderLeftColor:"",borderRightColor:""});
-_1fa.css(bc,tip.css(bc));
-_1fb.css(bc,tip.css("backgroundColor"));
-},opts.showDelay);
-};
-function _1fc(_1fd,e){
-var _1fe=$.data(_1fd,"tooltip");
-if(_1fe&&_1fe.tip){
-_1ee(_1fd);
-_1fe.hideTimer=setTimeout(function(){
-_1fe.tip.hide();
-_1fe.options.onHide.call(_1fd,e);
-},_1fe.options.hideDelay);
-}
-};
-function _1f9(_1ff,_200){
-var _201=$.data(_1ff,"tooltip");
-var opts=_201.options;
-if(_200){
-opts.content=_200;
-}
-if(!_201.tip){
-return;
-}
-var cc=typeof opts.content=="function"?opts.content.call(_1ff):opts.content;
-_201.tip.children(".tooltip-content").html(cc);
-opts.onUpdate.call(_1ff,cc);
-};
-function _202(_203){
-var _204=$.data(_203,"tooltip");
-if(_204){
-_1ee(_203);
-var opts=_204.options;
-if(_204.tip){
-_204.tip.remove();
-}
-if(opts._title){
-$(_203).attr("title",opts._title);
-}
-$.removeData(_203,"tooltip");
-$(_203).unbind(".tooltip").removeClass("tooltip-f");
-opts.onDestroy.call(_203);
-}
-};
-$.fn.tooltip=function(_205,_206){
-if(typeof _205=="string"){
-return $.fn.tooltip.methods[_205](this,_206);
-}
-_205=_205||{};
-return this.each(function(){
-var _207=$.data(this,"tooltip");
-if(_207){
-$.extend(_207.options,_205);
-}else{
-$.data(this,"tooltip",{options:$.extend({},$.fn.tooltip.defaults,$.fn.tooltip.parseOptions(this),_205)});
-init(this);
-}
-_1ec(this);
-_1f9(this);
-});
-};
-$.fn.tooltip.methods={options:function(jq){
-return $.data(jq[0],"tooltip").options;
-},tip:function(jq){
-return $.data(jq[0],"tooltip").tip;
-},arrow:function(jq){
-return jq.tooltip("tip").children(".tooltip-arrow-outer,.tooltip-arrow");
-},show:function(jq,e){
-return jq.each(function(){
-_1f6(this,e);
-});
-},hide:function(jq,e){
-return jq.each(function(){
-_1fc(this,e);
-});
-},update:function(jq,_208){
-return jq.each(function(){
-_1f9(this,_208);
-});
-},reposition:function(jq){
-return jq.each(function(){
-_1f1(this);
-});
-},destroy:function(jq){
-return jq.each(function(){
-_202(this);
-});
-}};
-$.fn.tooltip.parseOptions=function(_209){
-var t=$(_209);
-var opts=$.extend({},$.parser.parseOptions(_209,["position","showEvent","hideEvent","content",{trackMouse:"boolean",deltaX:"number",deltaY:"number",showDelay:"number",hideDelay:"number"}]),{_title:t.attr("title")});
-t.attr("title","");
-if(!opts.content){
-opts.content=opts._title;
-}
-return opts;
-};
-$.fn.tooltip.defaults={position:"bottom",content:null,trackMouse:false,deltaX:0,deltaY:0,showEvent:"mouseenter",hideEvent:"mouseleave",showDelay:200,hideDelay:100,onShow:function(e){
-},onHide:function(e){
-},onUpdate:function(_20a){
-},onPosition:function(left,top){
-},onDestroy:function(){
-}};
-})(jQuery);
-(function($){
-$.fn._remove=function(){
-return this.each(function(){
-$(this).remove();
-try{
-this.outerHTML="";
-}
-catch(err){
-}
-});
-};
-function _20b(node){
-node._remove();
-};
-function _20c(_20d,_20e){
-var _20f=$.data(_20d,"panel");
-var opts=_20f.options;
-var _210=_20f.panel;
-var _211=_210.children(".panel-header");
-var _212=_210.children(".panel-body");
-var _213=_210.children(".panel-footer");
-if(_20e){
-$.extend(opts,{width:_20e.width,height:_20e.height,minWidth:_20e.minWidth,maxWidth:_20e.maxWidth,minHeight:_20e.minHeight,maxHeight:_20e.maxHeight,left:_20e.left,top:_20e.top});
-}
-_210._size(opts);
-_211.add(_212)._outerWidth(_210.width());
-if(!isNaN(parseInt(opts.height))){
-_212._outerHeight(_210.height()-_211._outerHeight()-_213._outerHeight());
-}else{
-_212.css("height","");
-var min=$.parser.parseValue("minHeight",opts.minHeight,_210.parent());
-var max=$.parser.parseValue("maxHeight",opts.maxHeight,_210.parent());
-var _214=_211._outerHeight()+_213._outerHeight()+_210._outerHeight()-_210.height();
-_212._size("minHeight",min?(min-_214):"");
-_212._size("maxHeight",max?(max-_214):"");
-}
-_210.css({height:"",minHeight:"",maxHeight:"",left:opts.left,top:opts.top});
-opts.onResize.apply(_20d,[opts.width,opts.height]);
-$(_20d).panel("doLayout");
-};
-function _215(_216,_217){
-var opts=$.data(_216,"panel").options;
-var _218=$.data(_216,"panel").panel;
-if(_217){
-if(_217.left!=null){
-opts.left=_217.left;
-}
-if(_217.top!=null){
-opts.top=_217.top;
-}
-}
-_218.css({left:opts.left,top:opts.top});
-opts.onMove.apply(_216,[opts.left,opts.top]);
-};
-function _219(_21a){
-$(_21a).addClass("panel-body")._size("clear");
-var _21b=$("<div class=\"panel\"></div>").insertBefore(_21a);
-_21b[0].appendChild(_21a);
-_21b.bind("_resize",function(e,_21c){
-if($(this).hasClass("easyui-fluid")||_21c){
-_20c(_21a);
-}
-return false;
-});
-return _21b;
-};
-function _21d(_21e){
-var _21f=$.data(_21e,"panel");
-var opts=_21f.options;
-var _220=_21f.panel;
-_220.css(opts.style);
-_220.addClass(opts.cls);
-_221();
-_222();
-var _223=$(_21e).panel("header");
-var body=$(_21e).panel("body");
-var _224=$(_21e).siblings(".panel-footer");
-if(opts.border){
-_223.removeClass("panel-header-noborder");
-body.removeClass("panel-body-noborder");
-_224.removeClass("panel-footer-noborder");
-}else{
-_223.addClass("panel-header-noborder");
-body.addClass("panel-body-noborder");
-_224.addClass("panel-footer-noborder");
-}
-_223.addClass(opts.headerCls);
-body.addClass(opts.bodyCls);
-$(_21e).attr("id",opts.id||"");
-if(opts.content){
-$(_21e).panel("clear");
-$(_21e).html(opts.content);
-$.parser.parse($(_21e));
-}
-function _221(){
-if(opts.noheader||(!opts.title&&!opts.header)){
-_20b(_220.children(".panel-header"));
-_220.children(".panel-body").addClass("panel-body-noheader");
-}else{
-if(opts.header){
-$(opts.header).addClass("panel-header").prependTo(_220);
-}else{
-var _225=_220.children(".panel-header");
-if(!_225.length){
-_225=$("<div class=\"panel-header\"></div>").prependTo(_220);
-}
-if(!$.isArray(opts.tools)){
-_225.find("div.panel-tool .panel-tool-a").appendTo(opts.tools);
-}
-_225.empty();
-var _226=$("<div class=\"panel-title\"></div>").html(opts.title).appendTo(_225);
-if(opts.iconCls){
-_226.addClass("panel-with-icon");
-$("<div class=\"panel-icon\"></div>").addClass(opts.iconCls).appendTo(_225);
-}
-var tool=$("<div class=\"panel-tool\"></div>").appendTo(_225);
-tool.bind("click",function(e){
-e.stopPropagation();
-});
-if(opts.tools){
-if($.isArray(opts.tools)){
-$.map(opts.tools,function(t){
-_227(tool,t.iconCls,eval(t.handler));
-});
-}else{
-$(opts.tools).children().each(function(){
-$(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(tool);
-});
-}
-}
-if(opts.collapsible){
-_227(tool,"panel-tool-collapse",function(){
-if(opts.collapsed==true){
-_245(_21e,true);
-}else{
-_238(_21e,true);
-}
-});
-}
-if(opts.minimizable){
-_227(tool,"panel-tool-min",function(){
-_24b(_21e);
-});
-}
-if(opts.maximizable){
-_227(tool,"panel-tool-max",function(){
-if(opts.maximized==true){
-_24e(_21e);
-}else{
-_237(_21e);
-}
-});
-}
-if(opts.closable){
-_227(tool,"panel-tool-close",function(){
-_239(_21e);
-});
-}
-}
-_220.children("div.panel-body").removeClass("panel-body-noheader");
-}
-};
-function _227(c,icon,_228){
-var a=$("<a href=\"javascript:void(0)\"></a>").addClass(icon).appendTo(c);
-a.bind("click",_228);
-};
-function _222(){
-if(opts.footer){
-$(opts.footer).addClass("panel-footer").appendTo(_220);
-$(_21e).addClass("panel-body-nobottom");
-}else{
-_220.children(".panel-footer").remove();
-$(_21e).removeClass("panel-body-nobottom");
-}
-};
-};
-function _229(_22a,_22b){
-var _22c=$.data(_22a,"panel");
-var opts=_22c.options;
-if(_22d){
-opts.queryParams=_22b;
-}
-if(!opts.href){
-return;
-}
-if(!_22c.isLoaded||!opts.cache){
-var _22d=$.extend({},opts.queryParams);
-if(opts.onBeforeLoad.call(_22a,_22d)==false){
-return;
-}
-_22c.isLoaded=false;
-$(_22a).panel("clear");
-if(opts.loadingMessage){
-$(_22a).html($("<div class=\"panel-loading\"></div>").html(opts.loadingMessage));
-}
-opts.loader.call(_22a,_22d,function(data){
-var _22e=opts.extractor.call(_22a,data);
-$(_22a).html(_22e);
-$.parser.parse($(_22a));
-opts.onLoad.apply(_22a,arguments);
-_22c.isLoaded=true;
-},function(){
-opts.onLoadError.apply(_22a,arguments);
-});
-}
-};
-function _22f(_230){
-var t=$(_230);
-t.find(".combo-f").each(function(){
-$(this).combo("destroy");
-});
-t.find(".m-btn").each(function(){
-$(this).menubutton("destroy");
-});
-t.find(".s-btn").each(function(){
-$(this).splitbutton("destroy");
-});
-t.find(".tooltip-f").each(function(){
-$(this).tooltip("destroy");
-});
-t.children("div").each(function(){
-$(this)._size("unfit");
-});
-t.empty();
-};
-function _231(_232){
-$(_232).panel("doLayout",true);
-};
-function _233(_234,_235){
-var opts=$.data(_234,"panel").options;
-var _236=$.data(_234,"panel").panel;
-if(_235!=true){
-if(opts.onBeforeOpen.call(_234)==false){
-return;
-}
-}
-_236.stop(true,true);
-if($.isFunction(opts.openAnimation)){
-opts.openAnimation.call(_234,cb);
-}else{
-switch(opts.openAnimation){
-case "slide":
-_236.slideDown(opts.openDuration,cb);
-break;
-case "fade":
-_236.fadeIn(opts.openDuration,cb);
-break;
-case "show":
-_236.show(opts.openDuration,cb);
-break;
-default:
-_236.show();
-cb();
-}
-}
-function cb(){
-opts.closed=false;
-opts.minimized=false;
-var tool=_236.children(".panel-header").find("a.panel-tool-restore");
-if(tool.length){
-opts.maximized=true;
-}
-opts.onOpen.call(_234);
-if(opts.maximized==true){
-opts.maximized=false;
-_237(_234);
-}
-if(opts.collapsed==true){
-opts.collapsed=false;
-_238(_234);
-}
-if(!opts.collapsed){
-_229(_234);
-_231(_234);
-}
-};
-};
-function _239(_23a,_23b){
-var opts=$.data(_23a,"panel").options;
-var _23c=$.data(_23a,"panel").panel;
-if(_23b!=true){
-if(opts.onBeforeClose.call(_23a)==false){
-return;
-}
-}
-_23c.stop(true,true);
-_23c._size("unfit");
-if($.isFunction(opts.closeAnimation)){
-opts.closeAnimation.call(_23a,cb);
-}else{
-switch(opts.closeAnimation){
-case "slide":
-_23c.slideUp(opts.closeDuration,cb);
-break;
-case "fade":
-_23c.fadeOut(opts.closeDuration,cb);
-break;
-case "hide":
-_23c.hide(opts.closeDuration,cb);
-break;
-default:
-_23c.hide();
-cb();
-}
-}
-function cb(){
-opts.closed=true;
-opts.onClose.call(_23a);
-};
-};
-function _23d(_23e,_23f){
-var _240=$.data(_23e,"panel");
-var opts=_240.options;
-var _241=_240.panel;
-if(_23f!=true){
-if(opts.onBeforeDestroy.call(_23e)==false){
-return;
-}
-}
-$(_23e).panel("clear").panel("clear","footer");
-_20b(_241);
-opts.onDestroy.call(_23e);
-};
-function _238(_242,_243){
-var opts=$.data(_242,"panel").options;
-var _244=$.data(_242,"panel").panel;
-var body=_244.children(".panel-body");
-var tool=_244.children(".panel-header").find("a.panel-tool-collapse");
-if(opts.collapsed==true){
-return;
-}
-body.stop(true,true);
-if(opts.onBeforeCollapse.call(_242)==false){
-return;
-}
-tool.addClass("panel-tool-expand");
-if(_243==true){
-body.slideUp("normal",function(){
-opts.collapsed=true;
-opts.onCollapse.call(_242);
-});
-}else{
-body.hide();
-opts.collapsed=true;
-opts.onCollapse.call(_242);
-}
-};
-function _245(_246,_247){
-var opts=$.data(_246,"panel").options;
-var _248=$.data(_246,"panel").panel;
-var body=_248.children(".panel-body");
-var tool=_248.children(".panel-header").find("a.panel-tool-collapse");
-if(opts.collapsed==false){
-return;
-}
-body.stop(true,true);
-if(opts.onBeforeExpand.call(_246)==false){
-return;
-}
-tool.removeClass("panel-tool-expand");
-if(_247==true){
-body.slideDown("normal",function(){
-opts.collapsed=false;
-opts.onExpand.call(_246);
-_229(_246);
-_231(_246);
-});
-}else{
-body.show();
-opts.collapsed=false;
-opts.onExpand.call(_246);
-_229(_246);
-_231(_246);
-}
-};
-function _237(_249){
-var opts=$.data(_249,"panel").options;
-var _24a=$.data(_249,"panel").panel;
-var tool=_24a.children(".panel-header").find("a.panel-tool-max");
-if(opts.maximized==true){
-return;
-}
-tool.addClass("panel-tool-restore");
-if(!$.data(_249,"panel").original){
-$.data(_249,"panel").original={width:opts.width,height:opts.height,left:opts.left,top:opts.top,fit:opts.fit};
-}
-opts.left=0;
-opts.top=0;
-opts.fit=true;
-_20c(_249);
-opts.minimized=false;
-opts.maximized=true;
-opts.onMaximize.call(_249);
-};
-function _24b(_24c){
-var opts=$.data(_24c,"panel").options;
-var _24d=$.data(_24c,"panel").panel;
-_24d._size("unfit");
-_24d.hide();
-opts.minimized=true;
-opts.maximized=false;
-opts.onMinimize.call(_24c);
-};
-function _24e(_24f){
-var opts=$.data(_24f,"panel").options;
-var _250=$.data(_24f,"panel").panel;
-var tool=_250.children(".panel-header").find("a.panel-tool-max");
-if(opts.maximized==false){
-return;
-}
-_250.show();
-tool.removeClass("panel-tool-restore");
-$.extend(opts,$.data(_24f,"panel").original);
-_20c(_24f);
-opts.minimized=false;
-opts.maximized=false;
-$.data(_24f,"panel").original=null;
-opts.onRestore.call(_24f);
-};
-function _251(_252,_253){
-$.data(_252,"panel").options.title=_253;
-$(_252).panel("header").find("div.panel-title").html(_253);
-};
-var _254=null;
-$(window).unbind(".panel").bind("resize.panel",function(){
-if(_254){
-clearTimeout(_254);
-}
-_254=setTimeout(function(){
-var _255=$("body.layout");
-if(_255.length){
-_255.layout("resize");
-$("body").children(".easyui-fluid:visible").each(function(){
-$(this).triggerHandler("_resize");
-});
-}else{
-$("body").panel("doLayout");
-}
-_254=null;
-},100);
-});
-$.fn.panel=function(_256,_257){
-if(typeof _256=="string"){
-return $.fn.panel.methods[_256](this,_257);
-}
-_256=_256||{};
-return this.each(function(){
-var _258=$.data(this,"panel");
-var opts;
-if(_258){
-opts=$.extend(_258.options,_256);
-_258.isLoaded=false;
-}else{
-opts=$.extend({},$.fn.panel.defaults,$.fn.panel.parseOptions(this),_256);
-$(this).attr("title","");
-_258=$.data(this,"panel",{options:opts,panel:_219(this),isLoaded:false});
-}
-_21d(this);
-if(opts.doSize==true){
-_258.panel.css("display","block");
-_20c(this);
-}
-if(opts.closed==true||opts.minimized==true){
-_258.panel.hide();
-}else{
-_233(this);
-}
-});
-};
-$.fn.panel.methods={options:function(jq){
-return $.data(jq[0],"panel").options;
-},panel:function(jq){
-return $.data(jq[0],"panel").panel;
-},header:function(jq){
-return $.data(jq[0],"panel").panel.children(".panel-header");
-},footer:function(jq){
-return jq.panel("panel").children(".panel-footer");
-},body:function(jq){
-return $.data(jq[0],"panel").panel.children(".panel-body");
-},setTitle:function(jq,_259){
-return jq.each(function(){
-_251(this,_259);
-});
-},open:function(jq,_25a){
-return jq.each(function(){
-_233(this,_25a);
-});
-},close:function(jq,_25b){
-return jq.each(function(){
-_239(this,_25b);
-});
-},destroy:function(jq,_25c){
-return jq.each(function(){
-_23d(this,_25c);
-});
-},clear:function(jq,type){
-return jq.each(function(){
-_22f(type=="footer"?$(this).panel("footer"):this);
-});
-},refresh:function(jq,href){
-return jq.each(function(){
-var _25d=$.data(this,"panel");
-_25d.isLoaded=false;
-if(href){
-if(typeof href=="string"){
-_25d.options.href=href;
-}else{
-_25d.options.queryParams=href;
-}
-}
-_229(this);
-});
-},resize:function(jq,_25e){
-return jq.each(function(){
-_20c(this,_25e);
-});
-},doLayout:function(jq,all){
-return jq.each(function(){
-_25f(this,"body");
-_25f($(this).siblings(".panel-footer")[0],"footer");
-function _25f(_260,type){
-if(!_260){
-return;
-}
-var _261=_260==$("body")[0];
-var s=$(_260).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_262,el){
-var p=$(el).parents(".panel-"+type+":first");
-return _261?p.length==0:p[0]==_260;
-});
-s.each(function(){
-$(this).triggerHandler("_resize",[all||false]);
-});
-};
-});
-},move:function(jq,_263){
-return jq.each(function(){
-_215(this,_263);
-});
-},maximize:function(jq){
-return jq.each(function(){
-_237(this);
-});
-},minimize:function(jq){
-return jq.each(function(){
-_24b(this);
-});
-},restore:function(jq){
-return jq.each(function(){
-_24e(this);
-});
-},collapse:function(jq,_264){
-return jq.each(function(){
-_238(this,_264);
-});
-},expand:function(jq,_265){
-return jq.each(function(){
-_245(this,_265);
-});
-}};
-$.fn.panel.parseOptions=function(_266){
-var t=$(_266);
-var hh=t.children(".panel-header,header");
-var ff=t.children(".panel-footer,footer");
-return $.extend({},$.parser.parseOptions(_266,["id","width","height","left","top","title","iconCls","cls","headerCls","bodyCls","tools","href","method","header","footer",{cache:"boolean",fit:"boolean",border:"boolean",noheader:"boolean"},{collapsible:"boolean",minimizable:"boolean",maximizable:"boolean"},{closable:"boolean",collapsed:"boolean",minimized:"boolean",maximized:"boolean",closed:"boolean"},"openAnimation","closeAnimation",{openDuration:"number",closeDuration:"number"},]),{loadingMessage:(t.attr("loadingMessage")!=undefined?t.attr("loadingMessage"):undefined),header:(hh.length?hh.removeClass("panel-header"):undefined),footer:(ff.length?ff.removeClass("panel-footer"):undefined)});
-};
-$.fn.panel.defaults={id:null,title:null,iconCls:null,width:"auto",height:"auto",left:null,top:null,cls:null,headerCls:null,bodyCls:null,style:{},href:null,cache:true,fit:false,border:true,doSize:true,noheader:false,content:null,collapsible:false,minimizable:false,maximizable:false,closable:false,collapsed:false,minimized:false,maximized:false,closed:false,openAnimation:false,openDuration:400,closeAnimation:false,closeDuration:400,tools:null,footer:null,header:null,queryParams:{},method:"get",href:null,loadingMessage:"Loading...",loader:function(_267,_268,_269){
-var opts=$(this).panel("options");
-if(!opts.href){
-return false;
-}
-$.ajax({type:opts.method,url:opts.href,cache:false,data:_267,dataType:"html",success:function(data){
-_268(data);
-},error:function(){
-_269.apply(this,arguments);
-}});
-},extractor:function(data){
-var _26a=/<body[^>]*>((.|[\n\r])*)<\/body>/im;
-var _26b=_26a.exec(data);
-if(_26b){
-return _26b[1];
-}else{
-return data;
-}
-},onBeforeLoad:function(_26c){
-},onLoad:function(){
-},onLoadError:function(){
-},onBeforeOpen:function(){
-},onOpen:function(){
-},onBeforeClose:function(){
-},onClose:function(){
-},onBeforeDestroy:function(){
-},onDestroy:function(){
-},onResize:function(_26d,_26e){
-},onMove:function(left,top){
-},onMaximize:function(){
-},onRestore:function(){
-},onMinimize:function(){
-},onBeforeCollapse:function(){
-},onBeforeExpand:function(){
-},onCollapse:function(){
-},onExpand:function(){
-}};
-})(jQuery);
-(function($){
-function _26f(_270,_271){
-var _272=$.data(_270,"window");
-if(_271){
-if(_271.left!=null){
-_272.options.left=_271.left;
-}
-if(_271.top!=null){
-_272.options.top=_271.top;
-}
-}
-$(_270).panel("move",_272.options);
-if(_272.shadow){
-_272.shadow.css({left:_272.options.left,top:_272.options.top});
-}
-};
-function _273(_274,_275){
-var opts=$.data(_274,"window").options;
-var pp=$(_274).window("panel");
-var _276=pp._outerWidth();
-if(opts.inline){
-var _277=pp.parent();
-opts.left=Math.ceil((_277.width()-_276)/2+_277.scrollLeft());
-}else{
-opts.left=Math.ceil(($(window)._outerWidth()-_276)/2+$(document).scrollLeft());
-}
-if(_275){
-_26f(_274);
-}
-};
-function _278(_279,_27a){
-var opts=$.data(_279,"window").options;
-var pp=$(_279).window("panel");
-var _27b=pp._outerHeight();
-if(opts.inline){
-var _27c=pp.parent();
-opts.top=Math.ceil((_27c.height()-_27b)/2+_27c.scrollTop());
-}else{
-opts.top=Math.ceil(($(window)._outerHeight()-_27b)/2+$(document).scrollTop());
-}
-if(_27a){
-_26f(_279);
-}
-};
-function _27d(_27e){
-var _27f=$.data(_27e,"window");
-var opts=_27f.options;
-var win=$(_27e).panel($.extend({},_27f.options,{border:false,doSize:true,closed:true,cls:"window",headerCls:"window-header",bodyCls:"window-body "+(opts.noheader?"window-body-noheader":""),onBeforeDestroy:function(){
-if(opts.onBeforeDestroy.call(_27e)==false){
-return false;
-}
-if(_27f.shadow){
-_27f.shadow.remove();
-}
-if(_27f.mask){
-_27f.mask.remove();
-}
-},onClose:function(){
-if(_27f.shadow){
-_27f.shadow.hide();
-}
-if(_27f.mask){
-_27f.mask.hide();
-}
-opts.onClose.call(_27e);
-},onOpen:function(){
-if(_27f.mask){
-_27f.mask.css($.extend({display:"block",zIndex:$.fn.window.defaults.zIndex++},$.fn.window.getMaskSize(_27e)));
-}
-if(_27f.shadow){
-_27f.shadow.css({display:"block",zIndex:$.fn.window.defaults.zIndex++,left:opts.left,top:opts.top,width:_27f.window._outerWidth(),height:_27f.window._outerHeight()});
-}
-_27f.window.css("z-index",$.fn.window.defaults.zIndex++);
-opts.onOpen.call(_27e);
-},onResize:function(_280,_281){
-var _282=$(this).panel("options");
-$.extend(opts,{width:_282.width,height:_282.height,left:_282.left,top:_282.top});
-if(_27f.shadow){
-_27f.shadow.css({left:opts.left,top:opts.top,width:_27f.window._outerWidth(),height:_27f.window._outerHeight()});
-}
-opts.onResize.call(_27e,_280,_281);
-},onMinimize:function(){
-if(_27f.shadow){
-_27f.shadow.hide();
-}
-if(_27f.mask){
-_27f.mask.hide();
-}
-_27f.options.onMinimize.call(_27e);
-},onBeforeCollapse:function(){
-if(opts.onBeforeCollapse.call(_27e)==false){
-return false;
-}
-if(_27f.shadow){
-_27f.shadow.hide();
-}
-},onExpand:function(){
-if(_27f.shadow){
-_27f.shadow.show();
-}
-opts.onExpand.call(_27e);
-}}));
-_27f.window=win.panel("panel");
-if(_27f.mask){
-_27f.mask.remove();
-}
-if(opts.modal){
-_27f.mask=$("<div class=\"window-mask\" style=\"display:none\"></div>").insertAfter(_27f.window);
-}
-if(_27f.shadow){
-_27f.shadow.remove();
-}
-if(opts.shadow){
-_27f.shadow=$("<div class=\"window-shadow\" style=\"display:none\"></div>").insertAfter(_27f.window);
-}
-var _283=opts.closed;
-if(opts.left==null){
-_273(_27e);
-}
-if(opts.top==null){
-_278(_27e);
-}
-_26f(_27e);
-if(!_283){
-win.window("open");
-}
-};
-function _284(_285){
-var _286=$.data(_285,"window");
-_286.window.draggable({handle:">div.panel-header>div.panel-title",disabled:_286.options.draggable==false,onStartDrag:function(e){
-if(_286.mask){
-_286.mask.css("z-index",$.fn.window.defaults.zIndex++);
-}
-if(_286.shadow){
-_286.shadow.css("z-index",$.fn.window.defaults.zIndex++);
-}
-_286.window.css("z-index",$.fn.window.defaults.zIndex++);
-if(!_286.proxy){
-_286.proxy=$("<div class=\"window-proxy\"></div>").insertAfter(_286.window);
-}
-_286.proxy.css({display:"none",zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top});
-_286.proxy._outerWidth(_286.window._outerWidth());
-_286.proxy._outerHeight(_286.window._outerHeight());
-setTimeout(function(){
-if(_286.proxy){
-_286.proxy.show();
-}
-},500);
-},onDrag:function(e){
-_286.proxy.css({display:"block",left:e.data.left,top:e.data.top});
-return false;
-},onStopDrag:function(e){
-_286.options.left=e.data.left;
-_286.options.top=e.data.top;
-$(_285).window("move");
-_286.proxy.remove();
-_286.proxy=null;
-}});
-_286.window.resizable({disabled:_286.options.resizable==false,onStartResize:function(e){
-if(_286.pmask){
-_286.pmask.remove();
-}
-_286.pmask=$("<div class=\"window-proxy-mask\"></div>").insertAfter(_286.window);
-_286.pmask.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top,width:_286.window._outerWidth(),height:_286.window._outerHeight()});
-if(_286.proxy){
-_286.proxy.remove();
-}
-_286.proxy=$("<div class=\"window-proxy\"></div>").insertAfter(_286.window);
-_286.proxy.css({zIndex:$.fn.window.defaults.zIndex++,left:e.data.left,top:e.data.top});
-_286.proxy._outerWidth(e.data.width)._outerHeight(e.data.height);
-},onResize:function(e){
-_286.proxy.css({left:e.data.left,top:e.data.top});
-_286.proxy._outerWidth(e.data.width);
-_286.proxy._outerHeight(e.data.height);
-return false;
-},onStopResize:function(e){
-$(_285).window("resize",e.data);
-_286.pmask.remove();
-_286.pmask=null;
-_286.proxy.remove();
-_286.proxy=null;
-}});
-};
-$(window).resize(function(){
-$("body>div.window-mask").css({width:$(window)._outerWidth(),height:$(window)._outerHeight()});
-setTimeout(function(){
-$("body>div.window-mask").css($.fn.window.getMaskSize());
-},50);
-});
-$.fn.window=function(_287,_288){
-if(typeof _287=="string"){
-var _289=$.fn.window.methods[_287];
-if(_289){
-return _289(this,_288);
-}else{
-return this.panel(_287,_288);
-}
-}
-_287=_287||{};
-return this.each(function(){
-var _28a=$.data(this,"window");
-if(_28a){
-$.extend(_28a.options,_287);
-}else{
-_28a=$.data(this,"window",{options:$.extend({},$.fn.window.defaults,$.fn.window.parseOptions(this),_287)});
-if(!_28a.options.inline){
-document.body.appendChild(this);
-}
-}
-_27d(this);
-_284(this);
-});
-};
-$.fn.window.methods={options:function(jq){
-var _28b=jq.panel("options");
-var _28c=$.data(jq[0],"window").options;
-return $.extend(_28c,{closed:_28b.closed,collapsed:_28b.collapsed,minimized:_28b.minimized,maximized:_28b.maximized});
-},window:function(jq){
-return $.data(jq[0],"window").window;
-},move:function(jq,_28d){
-return jq.each(function(){
-_26f(this,_28d);
-});
-},hcenter:function(jq){
-return jq.each(function(){
-_273(this,true);
-});
-},vcenter:function(jq){
-return jq.each(function(){
-_278(this,true);
-});
-},center:function(jq){
-return jq.each(function(){
-_273(this);
-_278(this);
-_26f(this);
-});
-}};
-$.fn.window.getMaskSize=function(_28e){
-var _28f=$(_28e).data("window");
-var _290=(_28f&&_28f.options.inline);
-return {width:(_290?"100%":$(document).width()),height:(_290?"100%":$(document).height())};
-};
-$.fn.window.parseOptions=function(_291){
-return $.extend({},$.fn.panel.parseOptions(_291),$.parser.parseOptions(_291,[{draggable:"boolean",resizable:"boolean",shadow:"boolean",modal:"boolean",inline:"boolean"}]));
-};
-$.fn.window.defaults=$.extend({},$.fn.panel.defaults,{zIndex:9000,draggable:true,resizable:true,shadow:true,modal:false,inline:false,title:"New Window",collapsible:true,minimizable:true,maximizable:true,closable:true,closed:false});
-})(jQuery);
-(function($){
-function _292(_293){
-var opts=$.data(_293,"dialog").options;
-opts.inited=false;
-$(_293).window($.extend({},opts,{onResize:function(w,h){
-if(opts.inited){
-_298(this);
-opts.onResize.call(this,w,h);
-}
-}}));
-var win=$(_293).window("window");
-if(opts.toolbar){
-if($.isArray(opts.toolbar)){
-$(_293).siblings("div.dialog-toolbar").remove();
-var _294=$("<div class=\"dialog-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").appendTo(win);
-var tr=_294.find("tr");
-for(var i=0;i<opts.toolbar.length;i++){
-var btn=opts.toolbar[i];
-if(btn=="-"){
-$("<td><div class=\"dialog-tool-separator\"></div></td>").appendTo(tr);
-}else{
-var td=$("<td></td>").appendTo(tr);
-var tool=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
-tool[0].onclick=eval(btn.handler||function(){
-});
-tool.linkbutton($.extend({},btn,{plain:true}));
-}
-}
-}else{
-$(opts.toolbar).addClass("dialog-toolbar").appendTo(win);
-$(opts.toolbar).show();
-}
-}else{
-$(_293).siblings("div.dialog-toolbar").remove();
-}
-if(opts.buttons){
-if($.isArray(opts.buttons)){
-$(_293).siblings("div.dialog-button").remove();
-var _295=$("<div class=\"dialog-button\"></div>").appendTo(win);
-for(var i=0;i<opts.buttons.length;i++){
-var p=opts.buttons[i];
-var _296=$("<a href=\"javascript:void(0)\"></a>").appendTo(_295);
-if(p.handler){
-_296[0].onclick=p.handler;
-}
-_296.linkbutton(p);
-}
-}else{
-$(opts.buttons).addClass("dialog-button").appendTo(win);
-$(opts.buttons).show();
-}
-}else{
-$(_293).siblings("div.dialog-button").remove();
-}
-opts.inited=true;
-var _297=opts.closed;
-win.show();
-$(_293).window("resize");
-if(_297){
-win.hide();
-}
-};
-function _298(_299,_29a){
-var t=$(_299);
-var opts=t.dialog("options");
-var _29b=opts.noheader;
-var tb=t.siblings(".dialog-toolbar");
-var bb=t.siblings(".dialog-button");
-tb.insertBefore(_299).css({position:"relative",borderTopWidth:(_29b?1:0),top:(_29b?tb.length:0)});
-bb.insertAfter(_299).css({position:"relative",top:-1});
-tb.add(bb)._outerWidth(t._outerWidth()).find(".easyui-fluid:visible").each(function(){
-$(this).triggerHandler("_resize");
-});
-var _29c=tb._outerHeight()+bb._outerHeight();
-if(!isNaN(parseInt(opts.height))){
-t._outerHeight(t._outerHeight()-_29c);
-}else{
-var _29d=t._size("min-height");
-if(_29d){
-t._size("min-height",_29d-_29c);
-}
-var _29e=t._size("max-height");
-if(_29e){
-t._size("max-height",_29e-_29c);
-}
-}
-var _29f=$.data(_299,"window").shadow;
-if(_29f){
-var cc=t.panel("panel");
-_29f.css({width:cc._outerWidth(),height:cc._outerHeight()});
-}
-};
-$.fn.dialog=function(_2a0,_2a1){
-if(typeof _2a0=="string"){
-var _2a2=$.fn.dialog.methods[_2a0];
-if(_2a2){
-return _2a2(this,_2a1);
-}else{
-return this.window(_2a0,_2a1);
-}
-}
-_2a0=_2a0||{};
-return this.each(function(){
-var _2a3=$.data(this,"dialog");
-if(_2a3){
-$.extend(_2a3.options,_2a0);
-}else{
-$.data(this,"dialog",{options:$.extend({},$.fn.dialog.defaults,$.fn.dialog.parseOptions(this),_2a0)});
-}
-_292(this);
-});
-};
-$.fn.dialog.methods={options:function(jq){
-var _2a4=$.data(jq[0],"dialog").options;
-var _2a5=jq.panel("options");
-$.extend(_2a4,{width:_2a5.width,height:_2a5.height,left:_2a5.left,top:_2a5.top,closed:_2a5.closed,collapsed:_2a5.collapsed,minimized:_2a5.minimized,maximized:_2a5.maximized});
-return _2a4;
-},dialog:function(jq){
-return jq.window("window");
-}};
-$.fn.dialog.parseOptions=function(_2a6){
-var t=$(_2a6);
-return $.extend({},$.fn.window.parseOptions(_2a6),$.parser.parseOptions(_2a6,["toolbar","buttons"]),{toolbar:(t.children(".dialog-toolbar").length?t.children(".dialog-toolbar").removeClass("dialog-toolbar"):undefined),buttons:(t.children(".dialog-button").length?t.children(".dialog-button").removeClass("dialog-button"):undefined)});
-};
-$.fn.dialog.defaults=$.extend({},$.fn.window.defaults,{title:"New Dialog",collapsible:false,minimizable:false,maximizable:false,resizable:false,toolbar:null,buttons:null});
-})(jQuery);
-(function($){
-function _2a7(){
-$(document).unbind(".messager").bind("keydown.messager",function(e){
-if(e.keyCode==27){
-$("body").children("div.messager-window").children("div.messager-body").each(function(){
-$(this).dialog("close");
-});
-}else{
-if(e.keyCode==9){
-var win=$("body").children("div.messager-window");
-if(!win.length){
-return;
-}
-var _2a8=win.find(".messager-input,.messager-button .l-btn");
-for(var i=0;i<_2a8.length;i++){
-if($(_2a8[i]).is(":focus")){
-$(_2a8[i>=_2a8.length-1?0:i+1]).focus();
-return false;
-}
-}
-}
-}
-});
-};
-function _2a9(){
-$(document).unbind(".messager");
-};
-function _2aa(_2ab){
-var opts=$.extend({},$.messager.defaults,{modal:false,shadow:false,draggable:false,resizable:false,closed:true,style:{left:"",top:"",right:0,zIndex:$.fn.window.defaults.zIndex++,bottom:-document.body.scrollTop-document.documentElement.scrollTop},title:"",width:250,height:100,minHeight:0,showType:"slide",showSpeed:600,content:_2ab.msg,timeout:4000},_2ab);
-var dlg=$("<div class=\"messager-body\"></div>").appendTo("body");
-dlg.dialog($.extend({},opts,{noheader:(opts.title?false:true),openAnimation:(opts.showType),closeAnimation:(opts.showType=="show"?"hide":opts.showType),openDuration:opts.showSpeed,closeDuration:opts.showSpeed,onOpen:function(){
-dlg.dialog("dialog").hover(function(){
-if(opts.timer){
-clearTimeout(opts.timer);
-}
-},function(){
-_2ac();
-});
-_2ac();
-function _2ac(){
-if(opts.timeout>0){
-opts.timer=setTimeout(function(){
-if(dlg.length&&dlg.data("dialog")){
-dlg.dialog("close");
-}
-},opts.timeout);
-}
-};
-if(_2ab.onOpen){
-_2ab.onOpen.call(this);
-}else{
-opts.onOpen.call(this);
-}
-},onClose:function(){
-if(opts.timer){
-clearTimeout(opts.timer);
-}
-if(_2ab.onClose){
-_2ab.onClose.call(this);
-}else{
-opts.onClose.call(this);
-}
-dlg.dialog("destroy");
-}}));
-dlg.dialog("dialog").css(opts.style);
-dlg.dialog("open");
-return dlg;
-};
-function _2ad(_2ae){
-_2a7();
-var dlg=$("<div class=\"messager-body\"></div>").appendTo("body");
-dlg.dialog($.extend({},_2ae,{noheader:(_2ae.title?false:true),onClose:function(){
-_2a9();
-if(_2ae.onClose){
-_2ae.onClose.call(this);
-}
-setTimeout(function(){
-dlg.dialog("destroy");
-},100);
-}}));
-var win=dlg.dialog("dialog").addClass("messager-window");
-win.find(".dialog-button").addClass("messager-button").find("a:first").focus();
-return dlg;
-};
-function _2af(dlg,_2b0){
-dlg.dialog("close");
-dlg.dialog("options").fn(_2b0);
-};
-$.messager={show:function(_2b1){
-return _2aa(_2b1);
-},alert:function(_2b2,msg,icon,fn){
-var opts=typeof _2b2=="object"?_2b2:{title:_2b2,msg:msg,icon:icon,fn:fn};
-var cls=opts.icon?"messager-icon messager-"+opts.icon:"";
-opts=$.extend({},$.messager.defaults,{content:"<div class=\""+cls+"\"></div>"+"<div>"+opts.msg+"</div>"+"<div style=\"clear:both;\"/>"},opts);
-if(!opts.buttons){
-opts.buttons=[{text:opts.ok,onClick:function(){
-_2af(dlg);
-}}];
-}
-var dlg=_2ad(opts);
-return dlg;
-},confirm:function(_2b3,msg,fn){
-var opts=typeof _2b3=="object"?_2b3:{title:_2b3,msg:msg,fn:fn};
-opts=$.extend({},$.messager.defaults,{content:"<div class=\"messager-icon messager-question\"></div>"+"<div>"+opts.msg+"</div>"+"<div style=\"clear:both;\"/>"},opts);
-if(!opts.buttons){
-opts.buttons=[{text:opts.ok,onClick:function(){
-_2af(dlg,true);
-}},{text:opts.cancel,onClick:function(){
-_2af(dlg,false);
-}}];
-}
-var dlg=_2ad(opts);
-return dlg;
-},prompt:function(_2b4,msg,fn){
-var opts=typeof _2b4=="object"?_2b4:{title:_2b4,msg:msg,fn:fn};
-opts=$.extend({},$.messager.defaults,{content:"<div class=\"messager-icon messager-question\"></div>"+"<div>"+opts.msg+"</div>"+"<br/>"+"<div style=\"clear:both;\"/>"+"<div><input class=\"messager-input\" type=\"text\"/></div>"},opts);
-if(!opts.buttons){
-opts.buttons=[{text:opts.ok,onClick:function(){
-_2af(dlg,dlg.find(".messager-input").val());
-}},{text:opts.cancel,onClick:function(){
-_2af(dlg);
-}}];
-}
-var dlg=_2ad(opts);
-dlg.find("input.messager-input").focus();
-return dlg;
-},progress:function(_2b5){
-var _2b6={bar:function(){
-return $("body>div.messager-window").find("div.messager-p-bar");
-},close:function(){
-var dlg=$("body>div.messager-window>div.messager-body:has(div.messager-progress)");
-if(dlg.length){
-dlg.dialog("close");
-}
-}};
-if(typeof _2b5=="string"){
-var _2b7=_2b6[_2b5];
-return _2b7();
-}
-_2b5=_2b5||{};
-var opts=$.extend({},{title:"",minHeight:0,content:undefined,msg:"",text:undefined,interval:300},_2b5);
-var dlg=_2ad($.extend({},$.messager.defaults,{content:"<div class=\"messager-progress\"><div class=\"messager-p-msg\">"+opts.msg+"</div><div class=\"messager-p-bar\"></div></div>",closable:false,doSize:false},opts,{onClose:function(){
-if(this.timer){
-clearInterval(this.timer);
-}
-if(_2b5.onClose){
-_2b5.onClose.call(this);
-}else{
-$.messager.defaults.onClose.call(this);
-}
-}}));
-var bar=dlg.find("div.messager-p-bar");
-bar.progressbar({text:opts.text});
-dlg.dialog("resize");
-if(opts.interval){
-dlg[0].timer=setInterval(function(){
-var v=bar.progressbar("getValue");
-v+=10;
-if(v>100){
-v=0;
-}
-bar.progressbar("setValue",v);
-},opts.interval);
-}
-return dlg;
-}};
-$.messager.defaults=$.extend({},$.fn.dialog.defaults,{ok:"Ok",cancel:"Cancel",width:300,height:"auto",minHeight:150,modal:true,collapsible:false,minimizable:false,maximizable:false,resizable:false,fn:function(){
-}});
-})(jQuery);
-(function($){
-function _2b8(_2b9,_2ba){
-var _2bb=$.data(_2b9,"accordion");
-var opts=_2bb.options;
-var _2bc=_2bb.panels;
-var cc=$(_2b9);
-if(_2ba){
-$.extend(opts,{width:_2ba.width,height:_2ba.height});
-}
-cc._size(opts);
-var _2bd=0;
-var _2be="auto";
-var _2bf=cc.find(">.panel>.accordion-header");
-if(_2bf.length){
-_2bd=$(_2bf[0]).css("height","")._outerHeight();
-}
-if(!isNaN(parseInt(opts.height))){
-_2be=cc.height()-_2bd*_2bf.length;
-}
-_2c0(true,_2be-_2c0(false)+1);
-function _2c0(_2c1,_2c2){
-var _2c3=0;
-for(var i=0;i<_2bc.length;i++){
-var p=_2bc[i];
-var h=p.panel("header")._outerHeight(_2bd);
-if(p.panel("options").collapsible==_2c1){
-var _2c4=isNaN(_2c2)?undefined:(_2c2+_2bd*h.length);
-p.panel("resize",{width:cc.width(),height:(_2c1?_2c4:undefined)});
-_2c3+=p.panel("panel").outerHeight()-_2bd*h.length;
-}
-}
-return _2c3;
-};
-};
-function _2c5(_2c6,_2c7,_2c8,all){
-var _2c9=$.data(_2c6,"accordion").panels;
-var pp=[];
-for(var i=0;i<_2c9.length;i++){
-var p=_2c9[i];
-if(_2c7){
-if(p.panel("options")[_2c7]==_2c8){
-pp.push(p);
-}
-}else{
-if(p[0]==$(_2c8)[0]){
-return i;
-}
-}
-}
-if(_2c7){
-return all?pp:(pp.length?pp[0]:null);
-}else{
-return -1;
-}
-};
-function _2ca(_2cb){
-return _2c5(_2cb,"collapsed",false,true);
-};
-function _2cc(_2cd){
-var pp=_2ca(_2cd);
-return pp.length?pp[0]:null;
-};
-function _2ce(_2cf,_2d0){
-return _2c5(_2cf,null,_2d0);
-};
-function _2d1(_2d2,_2d3){
-var _2d4=$.data(_2d2,"accordion").panels;
-if(typeof _2d3=="number"){
-if(_2d3<0||_2d3>=_2d4.length){
-return null;
-}else{
-return _2d4[_2d3];
-}
-}
-return _2c5(_2d2,"title",_2d3);
-};
-function _2d5(_2d6){
-var opts=$.data(_2d6,"accordion").options;
-var cc=$(_2d6);
-if(opts.border){
-cc.removeClass("accordion-noborder");
-}else{
-cc.addClass("accordion-noborder");
-}
-};
-function init(_2d7){
-var _2d8=$.data(_2d7,"accordion");
-var cc=$(_2d7);
-cc.addClass("accordion");
-_2d8.panels=[];
-cc.children("div").each(function(){
-var opts=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)});
-var pp=$(this);
-_2d8.panels.push(pp);
-_2da(_2d7,pp,opts);
-});
-cc.bind("_resize",function(e,_2d9){
-if($(this).hasClass("easyui-fluid")||_2d9){
-_2b8(_2d7);
-}
-return false;
-});
-};
-function _2da(_2db,pp,_2dc){
-var opts=$.data(_2db,"accordion").options;
-pp.panel($.extend({},{collapsible:true,minimizable:false,maximizable:false,closable:false,doSize:false,collapsed:true,headerCls:"accordion-header",bodyCls:"accordion-body"},_2dc,{onBeforeExpand:function(){
-if(_2dc.onBeforeExpand){
-if(_2dc.onBeforeExpand.call(this)==false){
-return false;
-}
-}
-if(!opts.multiple){
-var all=$.grep(_2ca(_2db),function(p){
-return p.panel("options").collapsible;
-});
-for(var i=0;i<all.length;i++){
-_2e4(_2db,_2ce(_2db,all[i]));
-}
-}
-var _2dd=$(this).panel("header");
-_2dd.addClass("accordion-header-selected");
-_2dd.find(".accordion-collapse").removeClass("accordion-expand");
-},onExpand:function(){
-if(_2dc.onExpand){
-_2dc.onExpand.call(this);
-}
-opts.onSelect.call(_2db,$(this).panel("options").title,_2ce(_2db,this));
-},onBeforeCollapse:function(){
-if(_2dc.onBeforeCollapse){
-if(_2dc.onBeforeCollapse.call(this)==false){
-return false;
-}
-}
-var _2de=$(this).panel("header");
-_2de.removeClass("accordion-header-selected");
-_2de.find(".accordion-collapse").addClass("accordion-expand");
-},onCollapse:function(){
-if(_2dc.onCollapse){
-_2dc.onCollapse.call(this);
-}
-opts.onUnselect.call(_2db,$(this).panel("options").title,_2ce(_2db,this));
-}}));
-var _2df=pp.panel("header");
-var tool=_2df.children("div.panel-tool");
-tool.children("a.panel-tool-collapse").hide();
-var t=$("<a href=\"javascript:void(0)\"></a>").addClass("accordion-collapse accordion-expand").appendTo(tool);
-t.bind("click",function(){
-_2e0(pp);
-return false;
-});
-pp.panel("options").collapsible?t.show():t.hide();
-_2df.click(function(){
-_2e0(pp);
-return false;
-});
-function _2e0(p){
-var _2e1=p.panel("options");
-if(_2e1.collapsible){
-var _2e2=_2ce(_2db,p);
-if(_2e1.collapsed){
-_2e3(_2db,_2e2);
-}else{
-_2e4(_2db,_2e2);
-}
-}
-};
-};
-function _2e3(_2e5,_2e6){
-var p=_2d1(_2e5,_2e6);
-if(!p){
-return;
-}
-_2e7(_2e5);
-var opts=$.data(_2e5,"accordion").options;
-p.panel("expand",opts.animate);
-};
-function _2e4(_2e8,_2e9){
-var p=_2d1(_2e8,_2e9);
-if(!p){
-return;
-}
-_2e7(_2e8);
-var opts=$.data(_2e8,"accordion").options;
-p.panel("collapse",opts.animate);
-};
-function _2ea(_2eb){
-var opts=$.data(_2eb,"accordion").options;
-var p=_2c5(_2eb,"selected",true);
-if(p){
-_2ec(_2ce(_2eb,p));
-}else{
-_2ec(opts.selected);
-}
-function _2ec(_2ed){
-var _2ee=opts.animate;
-opts.animate=false;
-_2e3(_2eb,_2ed);
-opts.animate=_2ee;
-};
-};
-function _2e7(_2ef){
-var _2f0=$.data(_2ef,"accordion").panels;
-for(var i=0;i<_2f0.length;i++){
-_2f0[i].stop(true,true);
-}
-};
-function add(_2f1,_2f2){
-var _2f3=$.data(_2f1,"accordion");
-var opts=_2f3.options;
-var _2f4=_2f3.panels;
-if(_2f2.selected==undefined){
-_2f2.selected=true;
-}
-_2e7(_2f1);
-var pp=$("<div></div>").appendTo(_2f1);
-_2f4.push(pp);
-_2da(_2f1,pp,_2f2);
-_2b8(_2f1);
-opts.onAdd.call(_2f1,_2f2.title,_2f4.length-1);
-if(_2f2.selected){
-_2e3(_2f1,_2f4.length-1);
-}
-};
-function _2f5(_2f6,_2f7){
-var _2f8=$.data(_2f6,"accordion");
-var opts=_2f8.options;
-var _2f9=_2f8.panels;
-_2e7(_2f6);
-var _2fa=_2d1(_2f6,_2f7);
-var _2fb=_2fa.panel("options").title;
-var _2fc=_2ce(_2f6,_2fa);
-if(!_2fa){
-return;
-}
-if(opts.onBeforeRemove.call(_2f6,_2fb,_2fc)==false){
-return;
-}
-_2f9.splice(_2fc,1);
-_2fa.panel("destroy");
-if(_2f9.length){
-_2b8(_2f6);
-var curr=_2cc(_2f6);
-if(!curr){
-_2e3(_2f6,0);
-}
-}
-opts.onRemove.call(_2f6,_2fb,_2fc);
-};
-$.fn.accordion=function(_2fd,_2fe){
-if(typeof _2fd=="string"){
-return $.fn.accordion.methods[_2fd](this,_2fe);
-}
-_2fd=_2fd||{};
-return this.each(function(){
-var _2ff=$.data(this,"accordion");
-if(_2ff){
-$.extend(_2ff.options,_2fd);
-}else{
-$.data(this,"accordion",{options:$.extend({},$.fn.accordion.defaults,$.fn.accordion.parseOptions(this),_2fd),accordion:$(this).addClass("accordion"),panels:[]});
-init(this);
-}
-_2d5(this);
-_2b8(this);
-_2ea(this);
-});
-};
-$.fn.accordion.methods={options:function(jq){
-return $.data(jq[0],"accordion").options;
-},panels:function(jq){
-return $.data(jq[0],"accordion").panels;
-},resize:function(jq,_300){
-return jq.each(function(){
-_2b8(this,_300);
-});
-},getSelections:function(jq){
-return _2ca(jq[0]);
-},getSelected:function(jq){
-return _2cc(jq[0]);
-},getPanel:function(jq,_301){
-return _2d1(jq[0],_301);
-},getPanelIndex:function(jq,_302){
-return _2ce(jq[0],_302);
-},select:function(jq,_303){
-return jq.each(function(){
-_2e3(this,_303);
-});
-},unselect:function(jq,_304){
-return jq.each(function(){
-_2e4(this,_304);
-});
-},add:function(jq,_305){
-return jq.each(function(){
-add(this,_305);
-});
-},remove:function(jq,_306){
-return jq.each(function(){
-_2f5(this,_306);
-});
-}};
-$.fn.accordion.parseOptions=function(_307){
-var t=$(_307);
-return $.extend({},$.parser.parseOptions(_307,["width","height",{fit:"boolean",border:"boolean",animate:"boolean",multiple:"boolean",selected:"number"}]));
-};
-$.fn.accordion.defaults={width:"auto",height:"auto",fit:false,border:true,animate:true,multiple:false,selected:0,onSelect:function(_308,_309){
-},onUnselect:function(_30a,_30b){
-},onAdd:function(_30c,_30d){
-},onBeforeRemove:function(_30e,_30f){
-},onRemove:function(_310,_311){
-}};
-})(jQuery);
-(function($){
-function _312(c){
-var w=0;
-$(c).children().each(function(){
-w+=$(this).outerWidth(true);
-});
-return w;
-};
-function _313(_314){
-var opts=$.data(_314,"tabs").options;
-if(opts.tabPosition=="left"||opts.tabPosition=="right"||!opts.showHeader){
-return;
-}
-var _315=$(_314).children("div.tabs-header");
-var tool=_315.children("div.tabs-tool:not(.tabs-tool-hidden)");
-var _316=_315.children("div.tabs-scroller-left");
-var _317=_315.children("div.tabs-scroller-right");
-var wrap=_315.children("div.tabs-wrap");
-var _318=_315.outerHeight();
-if(opts.plain){
-_318-=_318-_315.height();
-}
-tool._outerHeight(_318);
-var _319=_312(_315.find("ul.tabs"));
-var _31a=_315.width()-tool._outerWidth();
-if(_319>_31a){
-_316.add(_317).show()._outerHeight(_318);
-if(opts.toolPosition=="left"){
-tool.css({left:_316.outerWidth(),right:""});
-wrap.css({marginLeft:_316.outerWidth()+tool._outerWidth(),marginRight:_317._outerWidth(),width:_31a-_316.outerWidth()-_317.outerWidth()});
-}else{
-tool.css({left:"",right:_317.outerWidth()});
-wrap.css({marginLeft:_316.outerWidth(),marginRight:_317.outerWidth()+tool._outerWidth(),width:_31a-_316.outerWidth()-_317.outerWidth()});
-}
-}else{
-_316.add(_317).hide();
-if(opts.toolPosition=="left"){
-tool.css({left:0,right:""});
-wrap.css({marginLeft:tool._outerWidth(),marginRight:0,width:_31a});
-}else{
-tool.css({left:"",right:0});
-wrap.css({marginLeft:0,marginRight:tool._outerWidth(),width:_31a});
-}
-}
-};
-function _31b(_31c){
-var opts=$.data(_31c,"tabs").options;
-var _31d=$(_31c).children("div.tabs-header");
-if(opts.tools){
-if(typeof opts.tools=="string"){
-$(opts.tools).addClass("tabs-tool").appendTo(_31d);
-$(opts.tools).show();
-}else{
-_31d.children("div.tabs-tool").remove();
-var _31e=$("<div class=\"tabs-tool\"><table cellspacing=\"0\" cellpadding=\"0\" style=\"height:100%\"><tr></tr></table></div>").appendTo(_31d);
-var tr=_31e.find("tr");
-for(var i=0;i<opts.tools.length;i++){
-var td=$("<td></td>").appendTo(tr);
-var tool=$("<a href=\"javascript:void(0);\"></a>").appendTo(td);
-tool[0].onclick=eval(opts.tools[i].handler||function(){
-});
-tool.linkbutton($.extend({},opts.tools[i],{plain:true}));
-}
-}
-}else{
-_31d.children("div.tabs-tool").remove();
-}
-};
-function _31f(_320,_321){
-var _322=$.data(_320,"tabs");
-var opts=_322.options;
-var cc=$(_320);
-if(!opts.doSize){
-return;
-}
-if(_321){
-$.extend(opts,{width:_321.width,height:_321.height});
-}
-cc._size(opts);
-var _323=cc.children("div.tabs-header");
-var _324=cc.children("div.tabs-panels");
-var wrap=_323.find("div.tabs-wrap");
-var ul=wrap.find(".tabs");
-ul.children("li").removeClass("tabs-first tabs-last");
-ul.children("li:first").addClass("tabs-first");
-ul.children("li:last").addClass("tabs-last");
-if(opts.tabPosition=="left"||opts.tabPosition=="right"){
-_323._outerWidth(opts.showHeader?opts.headerWidth:0);
-_324._outerWidth(cc.width()-_323.outerWidth());
-_323.add(_324)._size("height",isNaN(parseInt(opts.height))?"":cc.height());
-wrap._outerWidth(_323.width());
-ul._outerWidth(wrap.width()).css("height","");
-}else{
-_323.children("div.tabs-scroller-left,div.tabs-scroller-right,div.tabs-tool:not(.tabs-tool-hidden)").css("display",opts.showHeader?"block":"none");
-_323._outerWidth(cc.width()).css("height","");
-if(opts.showHeader){
-_323.css("background-color","");
-wrap.css("height","");
-}else{
-_323.css("background-color","transparent");
-_323._outerHeight(0);
-wrap._outerHeight(0);
-}
-ul._outerHeight(opts.tabHeight).css("width","");
-ul._outerHeight(ul.outerHeight()-ul.height()-1+opts.tabHeight).css("width","");
-_324._size("height",isNaN(parseInt(opts.height))?"":(cc.height()-_323.outerHeight()));
-_324._size("width",cc.width());
-}
-if(_322.tabs.length){
-var d1=ul.outerWidth(true)-ul.width();
-var li=ul.children("li:first");
-var d2=li.outerWidth(true)-li.width();
-var _325=_323.width()-_323.children(".tabs-tool:not(.tabs-tool-hidden)")._outerWidth();
-var _326=Math.floor((_325-d1-d2*_322.tabs.length)/_322.tabs.length);
-$.map(_322.tabs,function(p){
-_327(p,(opts.justified&&$.inArray(opts.tabPosition,["top","bottom"])>=0)?_326:undefined);
-});
-if(opts.justified&&$.inArray(opts.tabPosition,["top","bottom"])>=0){
-var _328=_325-d1-_312(ul);
-_327(_322.tabs[_322.tabs.length-1],_326+_328);
-}
-}
-_313(_320);
-function _327(p,_329){
-var _32a=p.panel("options");
-var p_t=_32a.tab.find("a.tabs-inner");
-var _329=_329?_329:(parseInt(_32a.tabWidth||opts.tabWidth||undefined));
-if(_329){
-p_t._outerWidth(_329);
-}else{
-p_t.css("width","");
-}
-p_t._outerHeight(opts.tabHeight);
-p_t.css("lineHeight",p_t.height()+"px");
-p_t.find(".easyui-fluid:visible").triggerHandler("_resize");
-};
-};
-function _32b(_32c){
-var opts=$.data(_32c,"tabs").options;
-var tab=_32d(_32c);
-if(tab){
-var _32e=$(_32c).children("div.tabs-panels");
-var _32f=opts.width=="auto"?"auto":_32e.width();
-var _330=opts.height=="auto"?"auto":_32e.height();
-tab.panel("resize",{width:_32f,height:_330});
-}
-};
-function _331(_332){
-var tabs=$.data(_332,"tabs").tabs;
-var cc=$(_332).addClass("tabs-container");
-var _333=$("<div class=\"tabs-panels\"></div>").insertBefore(cc);
-cc.children("div").each(function(){
-_333[0].appendChild(this);
-});
-cc[0].appendChild(_333[0]);
-$("<div class=\"tabs-header\">"+"<div class=\"tabs-scroller-left\"></div>"+"<div class=\"tabs-scroller-right\"></div>"+"<div class=\"tabs-wrap\">"+"<ul class=\"tabs\"></ul>"+"</div>"+"</div>").prependTo(_332);
-cc.children("div.tabs-panels").children("div").each(function(i){
-var opts=$.extend({},$.parser.parseOptions(this),{disabled:($(this).attr("disabled")?true:undefined),selected:($(this).attr("selected")?true:undefined)});
-_340(_332,opts,$(this));
-});
-cc.children("div.tabs-header").find(".tabs-scroller-left, .tabs-scroller-right").hover(function(){
-$(this).addClass("tabs-scroller-over");
-},function(){
-$(this).removeClass("tabs-scroller-over");
-});
-cc.bind("_resize",function(e,_334){
-if($(this).hasClass("easyui-fluid")||_334){
-_31f(_332);
-_32b(_332);
-}
-return false;
-});
-};
-function _335(_336){
-var _337=$.data(_336,"tabs");
-var opts=_337.options;
-$(_336).children("div.tabs-header").unbind().bind("click",function(e){
-if($(e.target).hasClass("tabs-scroller-left")){
-$(_336).tabs("scrollBy",-opts.scrollIncrement);
-}else{
-if($(e.target).hasClass("tabs-scroller-right")){
-$(_336).tabs("scrollBy",opts.scrollIncrement);
-}else{
-var li=$(e.target).closest("li");
-if(li.hasClass("tabs-disabled")){
-return false;
-}
-var a=$(e.target).closest("a.tabs-close");
-if(a.length){
-_359(_336,_338(li));
-}else{
-if(li.length){
-var _339=_338(li);
-var _33a=_337.tabs[_339].panel("options");
-if(_33a.collapsible){
-_33a.closed?_350(_336,_339):_36d(_336,_339);
-}else{
-_350(_336,_339);
-}
-}
-}
-return false;
-}
-}
-}).bind("contextmenu",function(e){
-var li=$(e.target).closest("li");
-if(li.hasClass("tabs-disabled")){
-return;
-}
-if(li.length){
-opts.onContextMenu.call(_336,e,li.find("span.tabs-title").html(),_338(li));
-}
-});
-function _338(li){
-var _33b=0;
-li.parent().children("li").each(function(i){
-if(li[0]==this){
-_33b=i;
-return false;
-}
-});
-return _33b;
-};
-};
-function _33c(_33d){
-var opts=$.data(_33d,"tabs").options;
-var _33e=$(_33d).children("div.tabs-header");
-var _33f=$(_33d).children("div.tabs-panels");
-_33e.removeClass("tabs-header-top tabs-header-bottom tabs-header-left tabs-header-right");
-_33f.removeClass("tabs-panels-top tabs-panels-bottom tabs-panels-left tabs-panels-right");
-if(opts.tabPosition=="top"){
-_33e.insertBefore(_33f);
-}else{
-if(opts.tabPosition=="bottom"){
-_33e.insertAfter(_33f);
-_33e.addClass("tabs-header-bottom");
-_33f.addClass("tabs-panels-top");
-}else{
-if(opts.tabPosition=="left"){
-_33e.addClass("tabs-header-left");
-_33f.addClass("tabs-panels-right");
-}else{
-if(opts.tabPosition=="right"){
-_33e.addClass("tabs-header-right");
-_33f.addClass("tabs-panels-left");
-}
-}
-}
-}
-if(opts.plain==true){
-_33e.addClass("tabs-header-plain");
-}else{
-_33e.removeClass("tabs-header-plain");
-}
-_33e.removeClass("tabs-header-narrow").addClass(opts.narrow?"tabs-header-narrow":"");
-var tabs=_33e.find(".tabs");
-tabs.removeClass("tabs-pill").addClass(opts.pill?"tabs-pill":"");
-tabs.removeClass("tabs-narrow").addClass(opts.narrow?"tabs-narrow":"");
-tabs.removeClass("tabs-justified").addClass(opts.justified?"tabs-justified":"");
-if(opts.border==true){
-_33e.removeClass("tabs-header-noborder");
-_33f.removeClass("tabs-panels-noborder");
-}else{
-_33e.addClass("tabs-header-noborder");
-_33f.addClass("tabs-panels-noborder");
-}
-opts.doSize=true;
-};
-function _340(_341,_342,pp){
-_342=_342||{};
-var _343=$.data(_341,"tabs");
-var tabs=_343.tabs;
-if(_342.index==undefined||_342.index>tabs.length){
-_342.index=tabs.length;
-}
-if(_342.index<0){
-_342.index=0;
-}
-var ul=$(_341).children("div.tabs-header").find("ul.tabs");
-var _344=$(_341).children("div.tabs-panels");
-var tab=$("<li>"+"<a href=\"javascript:void(0)\" class=\"tabs-inner\">"+"<span class=\"tabs-title\"></span>"+"<span class=\"tabs-icon\"></span>"+"</a>"+"</li>");
-if(!pp){
-pp=$("<div></div>");
-}
-if(_342.index>=tabs.length){
-tab.appendTo(ul);
-pp.appendTo(_344);
-tabs.push(pp);
-}else{
-tab.insertBefore(ul.children("li:eq("+_342.index+")"));
-pp.insertBefore(_344.children("div.panel:eq("+_342.index+")"));
-tabs.splice(_342.index,0,pp);
-}
-pp.panel($.extend({},_342,{tab:tab,border:false,noheader:true,closed:true,doSize:false,iconCls:(_342.icon?_342.icon:undefined),onLoad:function(){
-if(_342.onLoad){
-_342.onLoad.call(this,arguments);
-}
-_343.options.onLoad.call(_341,$(this));
-},onBeforeOpen:function(){
-if(_342.onBeforeOpen){
-if(_342.onBeforeOpen.call(this)==false){
-return false;
-}
-}
-var p=$(_341).tabs("getSelected");
-if(p){
-if(p[0]!=this){
-$(_341).tabs("unselect",_34b(_341,p));
-p=$(_341).tabs("getSelected");
-if(p){
-return false;
-}
-}else{
-_32b(_341);
-return false;
-}
-}
-var _345=$(this).panel("options");
-_345.tab.addClass("tabs-selected");
-var wrap=$(_341).find(">div.tabs-header>div.tabs-wrap");
-var left=_345.tab.position().left;
-var _346=left+_345.tab.outerWidth();
-if(left<0||_346>wrap.width()){
-var _347=left-(wrap.width()-_345.tab.width())/2;
-$(_341).tabs("scrollBy",_347);
-}else{
-$(_341).tabs("scrollBy",0);
-}
-var _348=$(this).panel("panel");
-_348.css("display","block");
-_32b(_341);
-_348.css("display","none");
-},onOpen:function(){
-if(_342.onOpen){
-_342.onOpen.call(this);
-}
-var _349=$(this).panel("options");
-_343.selectHis.push(_349.title);
-_343.options.onSelect.call(_341,_349.title,_34b(_341,this));
-},onBeforeClose:function(){
-if(_342.onBeforeClose){
-if(_342.onBeforeClose.call(this)==false){
-return false;
-}
-}
-$(this).panel("options").tab.removeClass("tabs-selected");
-},onClose:function(){
-if(_342.onClose){
-_342.onClose.call(this);
-}
-var _34a=$(this).panel("options");
-_343.options.onUnselect.call(_341,_34a.title,_34b(_341,this));
-}}));
-$(_341).tabs("update",{tab:pp,options:pp.panel("options"),type:"header"});
-};
-function _34c(_34d,_34e){
-var _34f=$.data(_34d,"tabs");
-var opts=_34f.options;
-if(_34e.selected==undefined){
-_34e.selected=true;
-}
-_340(_34d,_34e);
-opts.onAdd.call(_34d,_34e.title,_34e.index);
-if(_34e.selected){
-_350(_34d,_34e.index);
-}
-};
-function _351(_352,_353){
-_353.type=_353.type||"all";
-var _354=$.data(_352,"tabs").selectHis;
-var pp=_353.tab;
-var opts=pp.panel("options");
-var _355=opts.title;
-$.extend(opts,_353.options,{iconCls:(_353.options.icon?_353.options.icon:undefined)});
-if(_353.type=="all"||_353.type=="body"){
-pp.panel();
-}
-if(_353.type=="all"||_353.type=="header"){
-var tab=opts.tab;
-if(opts.header){
-tab.find(".tabs-inner").html($(opts.header));
-}else{
-var _356=tab.find("span.tabs-title");
-var _357=tab.find("span.tabs-icon");
-_356.html(opts.title);
-_357.attr("class","tabs-icon");
-tab.find("a.tabs-close").remove();
-if(opts.closable){
-_356.addClass("tabs-closable");
-$("<a href=\"javascript:void(0)\" class=\"tabs-close\"></a>").appendTo(tab);
-}else{
-_356.removeClass("tabs-closable");
-}
-if(opts.iconCls){
-_356.addClass("tabs-with-icon");
-_357.addClass(opts.iconCls);
-}else{
-_356.removeClass("tabs-with-icon");
-}
-if(opts.tools){
-var _358=tab.find("span.tabs-p-tool");
-if(!_358.length){
-var _358=$("<span class=\"tabs-p-tool\"></span>").insertAfter(tab.find("a.tabs-inner"));
-}
-if($.isArray(opts.tools)){
-_358.empty();
-for(var i=0;i<opts.tools.length;i++){
-var t=$("<a href=\"javascript:void(0)\"></a>").appendTo(_358);
-t.addClass(opts.tools[i].iconCls);
-if(opts.tools[i].handler){
-t.bind("click",{handler:opts.tools[i].handler},function(e){
-if($(this).parents("li").hasClass("tabs-disabled")){
-return;
-}
-e.data.handler.call(this);
-});
-}
-}
-}else{
-$(opts.tools).children().appendTo(_358);
-}
-var pr=_358.children().length*12;
-if(opts.closable){
-pr+=8;
-}else{
-pr-=3;
-_358.css("right","5px");
-}
-_356.css("padding-right",pr+"px");
-}else{
-tab.find("span.tabs-p-tool").remove();
-_356.css("padding-right","");
-}
-}
-if(_355!=opts.title){
-for(var i=0;i<_354.length;i++){
-if(_354[i]==_355){
-_354[i]=opts.title;
-}
-}
-}
-}
-if(opts.disabled){
-opts.tab.addClass("tabs-disabled");
-}else{
-opts.tab.removeClass("tabs-disabled");
-}
-_31f(_352);
-$.data(_352,"tabs").options.onUpdate.call(_352,opts.title,_34b(_352,pp));
-};
-function _359(_35a,_35b){
-var opts=$.data(_35a,"tabs").options;
-var tabs=$.data(_35a,"tabs").tabs;
-var _35c=$.data(_35a,"tabs").selectHis;
-if(!_35d(_35a,_35b)){
-return;
-}
-var tab=_35e(_35a,_35b);
-var _35f=tab.panel("options").title;
-var _360=_34b(_35a,tab);
-if(opts.onBeforeClose.call(_35a,_35f,_360)==false){
-return;
-}
-var tab=_35e(_35a,_35b,true);
-tab.panel("options").tab.remove();
-tab.panel("destroy");
-opts.onClose.call(_35a,_35f,_360);
-_31f(_35a);
-for(var i=0;i<_35c.length;i++){
-if(_35c[i]==_35f){
-_35c.splice(i,1);
-i--;
-}
-}
-var _361=_35c.pop();
-if(_361){
-_350(_35a,_361);
-}else{
-if(tabs.length){
-_350(_35a,0);
-}
-}
-};
-function _35e(_362,_363,_364){
-var tabs=$.data(_362,"tabs").tabs;
-if(typeof _363=="number"){
-if(_363<0||_363>=tabs.length){
-return null;
-}else{
-var tab=tabs[_363];
-if(_364){
-tabs.splice(_363,1);
-}
-return tab;
-}
-}
-for(var i=0;i<tabs.length;i++){
-var tab=tabs[i];
-if(tab.panel("options").title==_363){
-if(_364){
-tabs.splice(i,1);
-}
-return tab;
-}
-}
-return null;
-};
-function _34b(_365,tab){
-var tabs=$.data(_365,"tabs").tabs;
-for(var i=0;i<tabs.length;i++){
-if(tabs[i][0]==$(tab)[0]){
-return i;
-}
-}
-return -1;
-};
-function _32d(_366){
-var tabs=$.data(_366,"tabs").tabs;
-for(var i=0;i<tabs.length;i++){
-var tab=tabs[i];
-if(tab.panel("options").tab.hasClass("tabs-selected")){
-return tab;
-}
-}
-return null;
-};
-function _367(_368){
-var _369=$.data(_368,"tabs");
-var tabs=_369.tabs;
-for(var i=0;i<tabs.length;i++){
-var opts=tabs[i].panel("options");
-if(opts.selected&&!opts.disabled){
-_350(_368,i);
-return;
-}
-}
-_350(_368,_369.options.selected);
-};
-function _350(_36a,_36b){
-var p=_35e(_36a,_36b);
-if(p&&!p.is(":visible")){
-_36c(_36a);
-if(!p.panel("options").disabled){
-p.panel("open");
-}
-}
-};
-function _36d(_36e,_36f){
-var p=_35e(_36e,_36f);
-if(p&&p.is(":visible")){
-_36c(_36e);
-p.panel("close");
-}
-};
-function _36c(_370){
-$(_370).children("div.tabs-panels").each(function(){
-$(this).stop(true,true);
-});
-};
-function _35d(_371,_372){
-return _35e(_371,_372)!=null;
-};
-function _373(_374,_375){
-var opts=$.data(_374,"tabs").options;
-opts.showHeader=_375;
-$(_374).tabs("resize");
-};
-function _376(_377,_378){
-var tool=$(_377).find(">.tabs-header>.tabs-tool");
-if(_378){
-tool.removeClass("tabs-tool-hidden").show();
-}else{
-tool.addClass("tabs-tool-hidden").hide();
-}
-$(_377).tabs("resize").tabs("scrollBy",0);
-};
-$.fn.tabs=function(_379,_37a){
-if(typeof _379=="string"){
-return $.fn.tabs.methods[_379](this,_37a);
-}
-_379=_379||{};
-return this.each(function(){
-var _37b=$.data(this,"tabs");
-if(_37b){
-$.extend(_37b.options,_379);
-}else{
-$.data(this,"tabs",{options:$.extend({},$.fn.tabs.defaults,$.fn.tabs.parseOptions(this),_379),tabs:[],selectHis:[]});
-_331(this);
-}
-_31b(this);
-_33c(this);
-_31f(this);
-_335(this);
-_367(this);
-});
-};
-$.fn.tabs.methods={options:function(jq){
-var cc=jq[0];
-var opts=$.data(cc,"tabs").options;
-var s=_32d(cc);
-opts.selected=s?_34b(cc,s):-1;
-return opts;
-},tabs:function(jq){
-return $.data(jq[0],"tabs").tabs;
-},resize:function(jq,_37c){
-return jq.each(function(){
-_31f(this,_37c);
-_32b(this);
-});
-},add:function(jq,_37d){
-return jq.each(function(){
-_34c(this,_37d);
-});
-},close:function(jq,_37e){
-return jq.each(function(){
-_359(this,_37e);
-});
-},getTab:function(jq,_37f){
-return _35e(jq[0],_37f);
-},getTabIndex:function(jq,tab){
-return _34b(jq[0],tab);
-},getSelected:function(jq){
-return _32d(jq[0]);
-},select:function(jq,_380){
-return jq.each(function(){
-_350(this,_380);
-});
-},unselect:function(jq,_381){
-return jq.each(function(){
-_36d(this,_381);
-});
-},exists:function(jq,_382){
-return _35d(jq[0],_382);
-},update:function(jq,_383){
-return jq.each(function(){
-_351(this,_383);
-});
-},enableTab:function(jq,_384){
-return jq.each(function(){
-var opts=$(this).tabs("getTab",_384).panel("options");
-opts.tab.removeClass("tabs-disabled");
-opts.disabled=false;
-});
-},disableTab:function(jq,_385){
-return jq.each(function(){
-var opts=$(this).tabs("getTab",_385).panel("options");
-opts.tab.addClass("tabs-disabled");
-opts.disabled=true;
-});
-},showHeader:function(jq){
-return jq.each(function(){
-_373(this,true);
-});
-},hideHeader:function(jq){
-return jq.each(function(){
-_373(this,false);
-});
-},showTool:function(jq){
-return jq.each(function(){
-_376(this,true);
-});
-},hideTool:function(jq){
-return jq.each(function(){
-_376(this,false);
-});
-},scrollBy:function(jq,_386){
-return jq.each(function(){
-var opts=$(this).tabs("options");
-var wrap=$(this).find(">div.tabs-header>div.tabs-wrap");
-var pos=Math.min(wrap._scrollLeft()+_386,_387());
-wrap.animate({scrollLeft:pos},opts.scrollDuration);
-function _387(){
-var w=0;
-var ul=wrap.children("ul");
-ul.children("li").each(function(){
-w+=$(this).outerWidth(true);
-});
-return w-wrap.width()+(ul.outerWidth()-ul.width());
-};
-});
-}};
-$.fn.tabs.parseOptions=function(_388){
-return $.extend({},$.parser.parseOptions(_388,["tools","toolPosition","tabPosition",{fit:"boolean",border:"boolean",plain:"boolean"},{headerWidth:"number",tabWidth:"number",tabHeight:"number",selected:"number"},{showHeader:"boolean",justified:"boolean",narrow:"boolean",pill:"boolean"}]));
-};
-$.fn.tabs.defaults={width:"auto",height:"auto",headerWidth:150,tabWidth:"auto",tabHeight:27,selected:0,showHeader:true,plain:false,fit:false,border:true,justified:false,narrow:false,pill:false,tools:null,toolPosition:"right",tabPosition:"top",scrollIncrement:100,scrollDuration:400,onLoad:function(_389){
-},onSelect:function(_38a,_38b){
-},onUnselect:function(_38c,_38d){
-},onBeforeClose:function(_38e,_38f){
-},onClose:function(_390,_391){
-},onAdd:function(_392,_393){
-},onUpdate:function(_394,_395){
-},onContextMenu:function(e,_396,_397){
-}};
-})(jQuery);
-(function($){
-var _398=false;
-function _399(_39a,_39b){
-var _39c=$.data(_39a,"layout");
-var opts=_39c.options;
-var _39d=_39c.panels;
-var cc=$(_39a);
-if(_39b){
-$.extend(opts,{width:_39b.width,height:_39b.height});
-}
-if(_39a.tagName.toLowerCase()=="body"){
-cc._size("fit");
-}else{
-cc._size(opts);
-}
-var cpos={top:0,left:0,width:cc.width(),height:cc.height()};
-_39e(_39f(_39d.expandNorth)?_39d.expandNorth:_39d.north,"n");
-_39e(_39f(_39d.expandSouth)?_39d.expandSouth:_39d.south,"s");
-_3a0(_39f(_39d.expandEast)?_39d.expandEast:_39d.east,"e");
-_3a0(_39f(_39d.expandWest)?_39d.expandWest:_39d.west,"w");
-_39d.center.panel("resize",cpos);
-function _39e(pp,type){
-if(!pp.length||!_39f(pp)){
-return;
-}
-var opts=pp.panel("options");
-pp.panel("resize",{width:cc.width(),height:opts.height});
-var _3a1=pp.panel("panel").outerHeight();
-pp.panel("move",{left:0,top:(type=="n"?0:cc.height()-_3a1)});
-cpos.height-=_3a1;
-if(type=="n"){
-cpos.top+=_3a1;
-if(!opts.split&&opts.border){
-cpos.top--;
-}
-}
-if(!opts.split&&opts.border){
-cpos.height++;
-}
-};
-function _3a0(pp,type){
-if(!pp.length||!_39f(pp)){
-return;
-}
-var opts=pp.panel("options");
-pp.panel("resize",{width:opts.width,height:cpos.height});
-var _3a2=pp.panel("panel").outerWidth();
-pp.panel("move",{left:(type=="e"?cc.width()-_3a2:0),top:cpos.top});
-cpos.width-=_3a2;
-if(type=="w"){
-cpos.left+=_3a2;
-if(!opts.split&&opts.border){
-cpos.left--;
-}
-}
-if(!opts.split&&opts.border){
-cpos.width++;
-}
-};
-};
-function init(_3a3){
-var cc=$(_3a3);
-cc.addClass("layout");
-function _3a4(cc){
-var opts=cc.layout("options");
-var _3a5=opts.onAdd;
-opts.onAdd=function(){
-};
-cc.children("div").each(function(){
-var _3a6=$.fn.layout.parsePanelOptions(this);
-if("north,south,east,west,center".indexOf(_3a6.region)>=0){
-_3a8(_3a3,_3a6,this);
-}
-});
-opts.onAdd=_3a5;
-};
-cc.children("form").length?_3a4(cc.children("form")):_3a4(cc);
-cc.append("<div class=\"layout-split-proxy-h\"></div><div class=\"layout-split-proxy-v\"></div>");
-cc.bind("_resize",function(e,_3a7){
-if($(this).hasClass("easyui-fluid")||_3a7){
-_399(_3a3);
-}
-return false;
-});
-};
-function _3a8(_3a9,_3aa,el){
-_3aa.region=_3aa.region||"center";
-var _3ab=$.data(_3a9,"layout").panels;
-var cc=$(_3a9);
-var dir=_3aa.region;
-if(_3ab[dir].length){
-return;
-}
-var pp=$(el);
-if(!pp.length){
-pp=$("<div></div>").appendTo(cc);
-}
-var _3ac=$.extend({},$.fn.layout.paneldefaults,{width:(pp.length?parseInt(pp[0].style.width)||pp.outerWidth():"auto"),height:(pp.length?parseInt(pp[0].style.height)||pp.outerHeight():"auto"),doSize:false,collapsible:true,onOpen:function(){
-var tool=$(this).panel("header").children("div.panel-tool");
-tool.children("a.panel-tool-collapse").hide();
-var _3ad={north:"up",south:"down",east:"right",west:"left"};
-if(!_3ad[dir]){
-return;
-}
-var _3ae="layout-button-"+_3ad[dir];
-var t=tool.children("a."+_3ae);
-if(!t.length){
-t=$("<a href=\"javascript:void(0)\"></a>").addClass(_3ae).appendTo(tool);
-t.bind("click",{dir:dir},function(e){
-_3ba(_3a9,e.data.dir);
-return false;
-});
-}
-$(this).panel("options").collapsible?t.show():t.hide();
-}},_3aa,{cls:((_3aa.cls||"")+" layout-panel layout-panel-"+dir),bodyCls:((_3aa.bodyCls||"")+" layout-body")});
-pp.panel(_3ac);
-_3ab[dir]=pp;
-var _3af={north:"s",south:"n",east:"w",west:"e"};
-var _3b0=pp.panel("panel");
-if(pp.panel("options").split){
-_3b0.addClass("layout-split-"+dir);
-}
-_3b0.resizable($.extend({},{handles:(_3af[dir]||""),disabled:(!pp.panel("options").split),onStartResize:function(e){
-_398=true;
-if(dir=="north"||dir=="south"){
-var _3b1=$(">div.layout-split-proxy-v",_3a9);
-}else{
-var _3b1=$(">div.layout-split-proxy-h",_3a9);
-}
-var top=0,left=0,_3b2=0,_3b3=0;
-var pos={display:"block"};
-if(dir=="north"){
-pos.top=parseInt(_3b0.css("top"))+_3b0.outerHeight()-_3b1.height();
-pos.left=parseInt(_3b0.css("left"));
-pos.width=_3b0.outerWidth();
-pos.height=_3b1.height();
-}else{
-if(dir=="south"){
-pos.top=parseInt(_3b0.css("top"));
-pos.left=parseInt(_3b0.css("left"));
-pos.width=_3b0.outerWidth();
-pos.height=_3b1.height();
-}else{
-if(dir=="east"){
-pos.top=parseInt(_3b0.css("top"))||0;
-pos.left=parseInt(_3b0.css("left"))||0;
-pos.width=_3b1.width();
-pos.height=_3b0.outerHeight();
-}else{
-if(dir=="west"){
-pos.top=parseInt(_3b0.css("top"))||0;
-pos.left=_3b0.outerWidth()-_3b1.width();
-pos.width=_3b1.width();
-pos.height=_3b0.outerHeight();
-}
-}
-}
-}
-_3b1.css(pos);
-$("<div class=\"layout-mask\"></div>").css({left:0,top:0,width:cc.width(),height:cc.height()}).appendTo(cc);
-},onResize:function(e){
-if(dir=="north"||dir=="south"){
-var _3b4=$(">div.layout-split-proxy-v",_3a9);
-_3b4.css("top",e.pageY-$(_3a9).offset().top-_3b4.height()/2);
-}else{
-var _3b4=$(">div.layout-split-proxy-h",_3a9);
-_3b4.css("left",e.pageX-$(_3a9).offset().left-_3b4.width()/2);
-}
-return false;
-},onStopResize:function(e){
-cc.children("div.layout-split-proxy-v,div.layout-split-proxy-h").hide();
-pp.panel("resize",e.data);
-_399(_3a9);
-_398=false;
-cc.find(">div.layout-mask").remove();
-}},_3aa));
-cc.layout("options").onAdd.call(_3a9,dir);
-};
-function _3b5(_3b6,_3b7){
-var _3b8=$.data(_3b6,"layout").panels;
-if(_3b8[_3b7].length){
-_3b8[_3b7].panel("destroy");
-_3b8[_3b7]=$();
-var _3b9="expand"+_3b7.substring(0,1).toUpperCase()+_3b7.substring(1);
-if(_3b8[_3b9]){
-_3b8[_3b9].panel("destroy");
-_3b8[_3b9]=undefined;
-}
-$(_3b6).layout("options").onRemove.call(_3b6,_3b7);
-}
-};
-function _3ba(_3bb,_3bc,_3bd){
-if(_3bd==undefined){
-_3bd="normal";
-}
-var _3be=$.data(_3bb,"layout").panels;
-var p=_3be[_3bc];
-var _3bf=p.panel("options");
-if(_3bf.onBeforeCollapse.call(p)==false){
-return;
-}
-var _3c0="expand"+_3bc.substring(0,1).toUpperCase()+_3bc.substring(1);
-if(!_3be[_3c0]){
-_3be[_3c0]=_3c1(_3bc);
-var ep=_3be[_3c0].panel("panel");
-if(!_3bf.expandMode){
-ep.css("cursor","default");
-}else{
-ep.bind("click",function(){
-if(_3bf.expandMode=="dock"){
-_3cc(_3bb,_3bc);
-}else{
-p.panel("expand",false).panel("open");
-var _3c2=_3c3();
-p.panel("resize",_3c2.collapse);
-p.panel("panel").animate(_3c2.expand,function(){
-$(this).unbind(".layout").bind("mouseleave.layout",{region:_3bc},function(e){
-if(_398==true){
-return;
-}
-if($("body>div.combo-p>div.combo-panel:visible").length){
-return;
-}
-_3ba(_3bb,e.data.region);
-});
-$(_3bb).layout("options").onExpand.call(_3bb,_3bc);
-});
-}
-return false;
-});
-}
-}
-var _3c4=_3c3();
-if(!_39f(_3be[_3c0])){
-_3be.center.panel("resize",_3c4.resizeC);
-}
-p.panel("panel").animate(_3c4.collapse,_3bd,function(){
-p.panel("collapse",false).panel("close");
-_3be[_3c0].panel("open").panel("resize",_3c4.expandP);
-$(this).unbind(".layout");
-$(_3bb).layout("options").onCollapse.call(_3bb,_3bc);
-});
-function _3c1(dir){
-var _3c5={"east":"left","west":"right","north":"down","south":"up"};
-var isns=(_3bf.region=="north"||_3bf.region=="south");
-var icon="layout-button-"+_3c5[dir];
-var p=$("<div></div>").appendTo(_3bb);
-p.panel($.extend({},$.fn.layout.paneldefaults,{cls:("layout-expand layout-expand-"+dir),title:"&nbsp;",iconCls:(_3bf.hideCollapsedContent?null:_3bf.iconCls),closed:true,minWidth:0,minHeight:0,doSize:false,region:_3bf.region,collapsedSize:_3bf.collapsedSize,noheader:(!isns&&_3bf.hideExpandTool),tools:((isns&&_3bf.hideExpandTool)?null:[{iconCls:icon,handler:function(){
-_3cc(_3bb,_3bc);
-return false;
-}}])}));
-if(!_3bf.hideCollapsedContent){
-var _3c6=typeof _3bf.collapsedContent=="function"?_3bf.collapsedContent.call(p[0],_3bf.title):_3bf.collapsedContent;
-isns?p.panel("setTitle",_3c6):p.html(_3c6);
-}
-p.panel("panel").hover(function(){
-$(this).addClass("layout-expand-over");
-},function(){
-$(this).removeClass("layout-expand-over");
-});
-return p;
-};
-function _3c3(){
-var cc=$(_3bb);
-var _3c7=_3be.center.panel("options");
-var _3c8=_3bf.collapsedSize;
-if(_3bc=="east"){
-var _3c9=p.panel("panel")._outerWidth();
-var _3ca=_3c7.width+_3c9-_3c8;
-if(_3bf.split||!_3bf.border){
-_3ca++;
-}
-return {resizeC:{width:_3ca},expand:{left:cc.width()-_3c9},expandP:{top:_3c7.top,left:cc.width()-_3c8,width:_3c8,height:_3c7.height},collapse:{left:cc.width(),top:_3c7.top,height:_3c7.height}};
-}else{
-if(_3bc=="west"){
-var _3c9=p.panel("panel")._outerWidth();
-var _3ca=_3c7.width+_3c9-_3c8;
-if(_3bf.split||!_3bf.border){
-_3ca++;
-}
-return {resizeC:{width:_3ca,left:_3c8-1},expand:{left:0},expandP:{left:0,top:_3c7.top,width:_3c8,height:_3c7.height},collapse:{left:-_3c9,top:_3c7.top,height:_3c7.height}};
-}else{
-if(_3bc=="north"){
-var _3cb=p.panel("panel")._outerHeight();
-var hh=_3c7.height;
-if(!_39f(_3be.expandNorth)){
-hh+=_3cb-_3c8+((_3bf.split||!_3bf.border)?1:0);
-}
-_3be.east.add(_3be.west).add(_3be.expandEast).add(_3be.expandWest).panel("resize",{top:_3c8-1,height:hh});
-return {resizeC:{top:_3c8-1,height:hh},expand:{top:0},expandP:{top:0,left:0,width:cc.width(),height:_3c8},collapse:{top:-_3cb,width:cc.width()}};
-}else{
-if(_3bc=="south"){
-var _3cb=p.panel("panel")._outerHeight();
-var hh=_3c7.height;
-if(!_39f(_3be.expandSouth)){
-hh+=_3cb-_3c8+((_3bf.split||!_3bf.border)?1:0);
-}
-_3be.east.add(_3be.west).add(_3be.expandEast).add(_3be.expandWest).panel("resize",{height:hh});
-return {resizeC:{height:hh},expand:{top:cc.height()-_3cb},expandP:{top:cc.height()-_3c8,left:0,width:cc.width(),height:_3c8},collapse:{top:cc.height(),width:cc.width()}};
-}
-}
-}
-}
-};
-};
-function _3cc(_3cd,_3ce){
-var _3cf=$.data(_3cd,"layout").panels;
-var p=_3cf[_3ce];
-var _3d0=p.panel("options");
-if(_3d0.onBeforeExpand.call(p)==false){
-return;
-}
-var _3d1="expand"+_3ce.substring(0,1).toUpperCase()+_3ce.substring(1);
-if(_3cf[_3d1]){
-_3cf[_3d1].panel("close");
-p.panel("panel").stop(true,true);
-p.panel("expand",false).panel("open");
-var _3d2=_3d3();
-p.panel("resize",_3d2.collapse);
-p.panel("panel").animate(_3d2.expand,function(){
-_399(_3cd);
-$(_3cd).layout("options").onExpand.call(_3cd,_3ce);
-});
-}
-function _3d3(){
-var cc=$(_3cd);
-var _3d4=_3cf.center.panel("options");
-if(_3ce=="east"&&_3cf.expandEast){
-return {collapse:{left:cc.width(),top:_3d4.top,height:_3d4.height},expand:{left:cc.width()-p.panel("panel")._outerWidth()}};
-}else{
-if(_3ce=="west"&&_3cf.expandWest){
-return {collapse:{left:-p.panel("panel")._outerWidth(),top:_3d4.top,height:_3d4.height},expand:{left:0}};
-}else{
-if(_3ce=="north"&&_3cf.expandNorth){
-return {collapse:{top:-p.panel("panel")._outerHeight(),width:cc.width()},expand:{top:0}};
-}else{
-if(_3ce=="south"&&_3cf.expandSouth){
-return {collapse:{top:cc.height(),width:cc.width()},expand:{top:cc.height()-p.panel("panel")._outerHeight()}};
-}
-}
-}
-}
-};
-};
-function _39f(pp){
-if(!pp){
-return false;
-}
-if(pp.length){
-return pp.panel("panel").is(":visible");
-}else{
-return false;
-}
-};
-function _3d5(_3d6){
-var _3d7=$.data(_3d6,"layout");
-var opts=_3d7.options;
-var _3d8=_3d7.panels;
-var _3d9=opts.onCollapse;
-opts.onCollapse=function(){
-};
-_3da("east");
-_3da("west");
-_3da("north");
-_3da("south");
-opts.onCollapse=_3d9;
-function _3da(_3db){
-var p=_3d8[_3db];
-if(p.length&&p.panel("options").collapsed){
-_3ba(_3d6,_3db,0);
-}
-};
-};
-function _3dc(_3dd,_3de,_3df){
-var p=$(_3dd).layout("panel",_3de);
-p.panel("options").split=_3df;
-var cls="layout-split-"+_3de;
-var _3e0=p.panel("panel").removeClass(cls);
-if(_3df){
-_3e0.addClass(cls);
-}
-_3e0.resizable({disabled:(!_3df)});
-_399(_3dd);
-};
-$.fn.layout=function(_3e1,_3e2){
-if(typeof _3e1=="string"){
-return $.fn.layout.methods[_3e1](this,_3e2);
-}
-_3e1=_3e1||{};
-return this.each(function(){
-var _3e3=$.data(this,"layout");
-if(_3e3){
-$.extend(_3e3.options,_3e1);
-}else{
-var opts=$.extend({},$.fn.layout.defaults,$.fn.layout.parseOptions(this),_3e1);
-$.data(this,"layout",{options:opts,panels:{center:$(),north:$(),south:$(),east:$(),west:$()}});
-init(this);
-}
-_399(this);
-_3d5(this);
-});
-};
-$.fn.layout.methods={options:function(jq){
-return $.data(jq[0],"layout").options;
-},resize:function(jq,_3e4){
-return jq.each(function(){
-_399(this,_3e4);
-});
-},panel:function(jq,_3e5){
-return $.data(jq[0],"layout").panels[_3e5];
-},collapse:function(jq,_3e6){
-return jq.each(function(){
-_3ba(this,_3e6);
-});
-},expand:function(jq,_3e7){
-return jq.each(function(){
-_3cc(this,_3e7);
-});
-},add:function(jq,_3e8){
-return jq.each(function(){
-_3a8(this,_3e8);
-_399(this);
-if($(this).layout("panel",_3e8.region).panel("options").collapsed){
-_3ba(this,_3e8.region,0);
-}
-});
-},remove:function(jq,_3e9){
-return jq.each(function(){
-_3b5(this,_3e9);
-_399(this);
-});
-},split:function(jq,_3ea){
-return jq.each(function(){
-_3dc(this,_3ea,true);
-});
-},unsplit:function(jq,_3eb){
-return jq.each(function(){
-_3dc(this,_3eb,false);
-});
-}};
-$.fn.layout.parseOptions=function(_3ec){
-return $.extend({},$.parser.parseOptions(_3ec,[{fit:"boolean"}]));
-};
-$.fn.layout.defaults={fit:false,onExpand:function(_3ed){
-},onCollapse:function(_3ee){
-},onAdd:function(_3ef){
-},onRemove:function(_3f0){
-}};
-$.fn.layout.parsePanelOptions=function(_3f1){
-var t=$(_3f1);
-return $.extend({},$.fn.panel.parseOptions(_3f1),$.parser.parseOptions(_3f1,["region",{split:"boolean",collpasedSize:"number",minWidth:"number",minHeight:"number",maxWidth:"number",maxHeight:"number"}]));
-};
-$.fn.layout.paneldefaults=$.extend({},$.fn.panel.defaults,{region:null,split:false,collapsedSize:28,expandMode:"float",hideExpandTool:false,hideCollapsedContent:true,collapsedContent:function(_3f2){
-var p=$(this);
-var opts=p.panel("options");
-if(opts.region=="north"||opts.region=="south"){
-return _3f2;
-}
-var size=opts.collapsedSize-2;
-var left=(size-16)/2;
-left=size-left;
-var cc=[];
-if(opts.iconCls){
-cc.push("<div class=\"panel-icon "+opts.iconCls+"\"></div>");
-}
-cc.push("<div class=\"panel-title layout-expand-title");
-cc.push(opts.iconCls?" layout-expand-with-icon":"");
-cc.push("\" style=\"left:"+left+"px\">");
-cc.push(_3f2);
-cc.push("</div>");
-return cc.join("");
-},minWidth:10,minHeight:10,maxWidth:10000,maxHeight:10000});
-})(jQuery);
-(function($){
-$(function(){
-$(document).unbind(".menu").bind("mousedown.menu",function(e){
-var m=$(e.target).closest("div.menu,div.combo-p");
-if(m.length){
-return;
-}
-$("body>div.menu-top:visible").not(".menu-inline").menu("hide");
-_3f3($("body>div.menu:visible").not(".menu-inline"));
-});
-});
-function init(_3f4){
-var opts=$.data(_3f4,"menu").options;
-$(_3f4).addClass("menu-top");
-opts.inline?$(_3f4).addClass("menu-inline"):$(_3f4).appendTo("body");
-$(_3f4).bind("_resize",function(e,_3f5){
-if($(this).hasClass("easyui-fluid")||_3f5){
-$(_3f4).menu("resize",_3f4);
-}
-return false;
-});
-var _3f6=_3f7($(_3f4));
-for(var i=0;i<_3f6.length;i++){
-_3f8(_3f6[i]);
-}
-function _3f7(menu){
-var _3f9=[];
-menu.addClass("menu");
-_3f9.push(menu);
-if(!menu.hasClass("menu-content")){
-menu.children("div").each(function(){
-var _3fa=$(this).children("div");
-if(_3fa.length){
-_3fa.appendTo("body");
-this.submenu=_3fa;
-var mm=_3f7(_3fa);
-_3f9=_3f9.concat(mm);
-}
-});
-}
-return _3f9;
-};
-function _3f8(menu){
-var wh=$.parser.parseOptions(menu[0],["width","height"]);
-menu[0].originalHeight=wh.height||0;
-if(menu.hasClass("menu-content")){
-menu[0].originalWidth=wh.width||menu._outerWidth();
-}else{
-menu[0].originalWidth=wh.width||0;
-menu.children("div").each(function(){
-var item=$(this);
-var _3fb=$.extend({},$.parser.parseOptions(this,["name","iconCls","href",{separator:"boolean"}]),{disabled:(item.attr("disabled")?true:undefined)});
-if(_3fb.separator){
-item.addClass("menu-sep");
-}
-if(!item.hasClass("menu-sep")){
-item[0].itemName=_3fb.name||"";
-item[0].itemHref=_3fb.href||"";
-var text=item.addClass("menu-item").html();
-item.empty().append($("<div class=\"menu-text\"></div>").html(text));
-if(_3fb.iconCls){
-$("<div class=\"menu-icon\"></div>").addClass(_3fb.iconCls).appendTo(item);
-}
-if(_3fb.disabled){
-_3fc(_3f4,item[0],true);
-}
-if(item[0].submenu){
-$("<div class=\"menu-rightarrow\"></div>").appendTo(item);
-}
-_3fd(_3f4,item);
-}
-});
-$("<div class=\"menu-line\"></div>").prependTo(menu);
-}
-_3fe(_3f4,menu);
-if(!menu.hasClass("menu-inline")){
-menu.hide();
-}
-_3ff(_3f4,menu);
-};
-};
-function _3fe(_400,menu){
-var opts=$.data(_400,"menu").options;
-var _401=menu.attr("style")||"";
-menu.css({display:"block",left:-10000,height:"auto",overflow:"hidden"});
-menu.find(".menu-item").each(function(){
-$(this)._outerHeight(opts.itemHeight);
-$(this).find(".menu-text").css({height:(opts.itemHeight-2)+"px",lineHeight:(opts.itemHeight-2)+"px"});
-});
-menu.removeClass("menu-noline").addClass(opts.noline?"menu-noline":"");
-var _402=menu[0].originalWidth||"auto";
-if(isNaN(parseInt(_402))){
-_402=0;
-menu.find("div.menu-text").each(function(){
-if(_402<$(this)._outerWidth()){
-_402=$(this)._outerWidth();
-}
-});
-_402+=40;
-}
-var _403=menu.outerHeight();
-var _404=menu[0].originalHeight||"auto";
-if(isNaN(parseInt(_404))){
-_404=_403;
-if(menu.hasClass("menu-top")&&opts.alignTo){
-var at=$(opts.alignTo);
-var h1=at.offset().top-$(document).scrollTop();
-var h2=$(window)._outerHeight()+$(document).scrollTop()-at.offset().top-at._outerHeight();
-_404=Math.min(_404,Math.max(h1,h2));
-}else{
-if(_404>$(window)._outerHeight()){
-_404=$(window).height();
-}
-}
-}
-menu.attr("style",_401);
-menu._size({fit:(menu[0]==_400?opts.fit:false),width:_402,minWidth:opts.minWidth,height:_404});
-menu.css("overflow",menu.outerHeight()<_403?"auto":"hidden");
-menu.children("div.menu-line")._outerHeight(_403-2);
-};
-function _3ff(_405,menu){
-if(menu.hasClass("menu-inline")){
-return;
-}
-var _406=$.data(_405,"menu");
-menu.unbind(".menu").bind("mouseenter.menu",function(){
-if(_406.timer){
-clearTimeout(_406.timer);
-_406.timer=null;
-}
-}).bind("mouseleave.menu",function(){
-if(_406.options.hideOnUnhover){
-_406.timer=setTimeout(function(){
-_407(_405,$(_405).hasClass("menu-inline"));
-},_406.options.duration);
-}
-});
-};
-function _3fd(_408,item){
-if(!item.hasClass("menu-item")){
-return;
-}
-item.unbind(".menu");
-item.bind("click.menu",function(){
-if($(this).hasClass("menu-item-disabled")){
-return;
-}
-if(!this.submenu){
-_407(_408,$(_408).hasClass("menu-inline"));
-var href=this.itemHref;
-if(href){
-location.href=href;
-}
-}
-$(this).trigger("mouseenter");
-var item=$(_408).menu("getItem",this);
-$.data(_408,"menu").options.onClick.call(_408,item);
-}).bind("mouseenter.menu",function(e){
-item.siblings().each(function(){
-if(this.submenu){
-_3f3(this.submenu);
-}
-$(this).removeClass("menu-active");
-});
-item.addClass("menu-active");
-if($(this).hasClass("menu-item-disabled")){
-item.addClass("menu-active-disabled");
-return;
-}
-var _409=item[0].submenu;
-if(_409){
-$(_408).menu("show",{menu:_409,parent:item});
-}
-}).bind("mouseleave.menu",function(e){
-item.removeClass("menu-active menu-active-disabled");
-var _40a=item[0].submenu;
-if(_40a){
-if(e.pageX>=parseInt(_40a.css("left"))){
-item.addClass("menu-active");
-}else{
-_3f3(_40a);
-}
-}else{
-item.removeClass("menu-active");
-}
-});
-};
-function _407(_40b,_40c){
-var _40d=$.data(_40b,"menu");
-if(_40d){
-if($(_40b).is(":visible")){
-_3f3($(_40b));
-if(_40c){
-$(_40b).show();
-}else{
-_40d.options.onHide.call(_40b);
-}
-}
-}
-return false;
-};
-function _40e(_40f,_410){
-var left,top;
-_410=_410||{};
-var menu=$(_410.menu||_40f);
-$(_40f).menu("resize",menu[0]);
-if(menu.hasClass("menu-top")){
-var opts=$.data(_40f,"menu").options;
-$.extend(opts,_410);
-left=opts.left;
-top=opts.top;
-if(opts.alignTo){
-var at=$(opts.alignTo);
-left=at.offset().left;
-top=at.offset().top+at._outerHeight();
-if(opts.align=="right"){
-left+=at.outerWidth()-menu.outerWidth();
-}
-}
-if(left+menu.outerWidth()>$(window)._outerWidth()+$(document)._scrollLeft()){
-left=$(window)._outerWidth()+$(document).scrollLeft()-menu.outerWidth()-5;
-}
-if(left<0){
-left=0;
-}
-top=_411(top,opts.alignTo);
-}else{
-var _412=_410.parent;
-left=_412.offset().left+_412.outerWidth()-2;
-if(left+menu.outerWidth()+5>$(window)._outerWidth()+$(document).scrollLeft()){
-left=_412.offset().left-menu.outerWidth()+2;
-}
-top=_411(_412.offset().top-3);
-}
-function _411(top,_413){
-if(top+menu.outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){
-if(_413){
-top=$(_413).offset().top-menu._outerHeight();
-}else{
-top=$(window)._outerHeight()+$(document).scrollTop()-menu.outerHeight();
-}
-}
-if(top<0){
-top=0;
-}
-return top;
-};
-menu.css({left:left,top:top});
-menu.show(0,function(){
-if(!menu[0].shadow){
-menu[0].shadow=$("<div class=\"menu-shadow\"></div>").insertAfter(menu);
-}
-menu[0].shadow.css({display:(menu.hasClass("menu-inline")?"none":"block"),zIndex:$.fn.menu.defaults.zIndex++,left:menu.css("left"),top:menu.css("top"),width:menu.outerWidth(),height:menu.outerHeight()});
-menu.css("z-index",$.fn.menu.defaults.zIndex++);
-if(menu.hasClass("menu-top")){
-$.data(menu[0],"menu").options.onShow.call(menu[0]);
-}
-});
-};
-function _3f3(menu){
-if(menu&&menu.length){
-_414(menu);
-menu.find("div.menu-item").each(function(){
-if(this.submenu){
-_3f3(this.submenu);
-}
-$(this).removeClass("menu-active");
-});
-}
-function _414(m){
-m.stop(true,true);
-if(m[0].shadow){
-m[0].shadow.hide();
-}
-m.hide();
-};
-};
-function _415(_416,text){
-var _417=null;
-var tmp=$("<div></div>");
-function find(menu){
-menu.children("div.menu-item").each(function(){
-var item=$(_416).menu("getItem",this);
-var s=tmp.empty().html(item.text).text();
-if(text==$.trim(s)){
-_417=item;
-}else{
-if(this.submenu&&!_417){
-find(this.submenu);
-}
-}
-});
-};
-find($(_416));
-tmp.remove();
-return _417;
-};
-function _3fc(_418,_419,_41a){
-var t=$(_419);
-if(!t.hasClass("menu-item")){
-return;
-}
-if(_41a){
-t.addClass("menu-item-disabled");
-if(_419.onclick){
-_419.onclick1=_419.onclick;
-_419.onclick=null;
-}
-}else{
-t.removeClass("menu-item-disabled");
-if(_419.onclick1){
-_419.onclick=_419.onclick1;
-_419.onclick1=null;
-}
-}
-};
-function _41b(_41c,_41d){
-var opts=$.data(_41c,"menu").options;
-var menu=$(_41c);
-if(_41d.parent){
-if(!_41d.parent.submenu){
-var _41e=$("<div class=\"menu\"><div class=\"menu-line\"></div></div>").appendTo("body");
-_41e.hide();
-_41d.parent.submenu=_41e;
-$("<div class=\"menu-rightarrow\"></div>").appendTo(_41d.parent);
-}
-menu=_41d.parent.submenu;
-}
-if(_41d.separator){
-var item=$("<div class=\"menu-sep\"></div>").appendTo(menu);
-}else{
-var item=$("<div class=\"menu-item\"></div>").appendTo(menu);
-$("<div class=\"menu-text\"></div>").html(_41d.text).appendTo(item);
-}
-if(_41d.iconCls){
-$("<div class=\"menu-icon\"></div>").addClass(_41d.iconCls).appendTo(item);
-}
-if(_41d.id){
-item.attr("id",_41d.id);
-}
-if(_41d.name){
-item[0].itemName=_41d.name;
-}
-if(_41d.href){
-item[0].itemHref=_41d.href;
-}
-if(_41d.onclick){
-if(typeof _41d.onclick=="string"){
-item.attr("onclick",_41d.onclick);
-}else{
-item[0].onclick=eval(_41d.onclick);
-}
-}
-if(_41d.handler){
-item[0].onclick=eval(_41d.handler);
-}
-if(_41d.disabled){
-_3fc(_41c,item[0],true);
-}
-_3fd(_41c,item);
-_3ff(_41c,menu);
-_3fe(_41c,menu);
-};
-function _41f(_420,_421){
-function _422(el){
-if(el.submenu){
-el.submenu.children("div.menu-item").each(function(){
-_422(this);
-});
-var _423=el.submenu[0].shadow;
-if(_423){
-_423.remove();
-}
-el.submenu.remove();
-}
-$(el).remove();
-};
-var menu=$(_421).parent();
-_422(_421);
-_3fe(_420,menu);
-};
-function _424(_425,_426,_427){
-var menu=$(_426).parent();
-if(_427){
-$(_426).show();
-}else{
-$(_426).hide();
-}
-_3fe(_425,menu);
-};
-function _428(_429){
-$(_429).children("div.menu-item").each(function(){
-_41f(_429,this);
-});
-if(_429.shadow){
-_429.shadow.remove();
-}
-$(_429).remove();
-};
-$.fn.menu=function(_42a,_42b){
-if(typeof _42a=="string"){
-return $.fn.menu.methods[_42a](this,_42b);
-}
-_42a=_42a||{};
-return this.each(function(){
-var _42c=$.data(this,"menu");
-if(_42c){
-$.extend(_42c.options,_42a);
-}else{
-_42c=$.data(this,"menu",{options:$.extend({},$.fn.menu.defaults,$.fn.menu.parseOptions(this),_42a)});
-init(this);
-}
-$(this).css({left:_42c.options.left,top:_42c.options.top});
-});
-};
-$.fn.menu.methods={options:function(jq){
-return $.data(jq[0],"menu").options;
-},show:function(jq,pos){
-return jq.each(function(){
-_40e(this,pos);
-});
-},hide:function(jq){
-return jq.each(function(){
-_407(this);
-});
-},destroy:function(jq){
-return jq.each(function(){
-_428(this);
-});
-},setText:function(jq,_42d){
-return jq.each(function(){
-$(_42d.target).children("div.menu-text").html(_42d.text);
-});
-},setIcon:function(jq,_42e){
-return jq.each(function(){
-$(_42e.target).children("div.menu-icon").remove();
-if(_42e.iconCls){
-$("<div class=\"menu-icon\"></div>").addClass(_42e.iconCls).appendTo(_42e.target);
-}
-});
-},getItem:function(jq,_42f){
-var t=$(_42f);
-var item={target:_42f,id:t.attr("id"),text:$.trim(t.children("div.menu-text").html()),disabled:t.hasClass("menu-item-disabled"),name:_42f.itemName,href:_42f.itemHref,onclick:_42f.onclick};
-var icon=t.children("div.menu-icon");
-if(icon.length){
-var cc=[];
-var aa=icon.attr("class").split(" ");
-for(var i=0;i<aa.length;i++){
-if(aa[i]!="menu-icon"){
-cc.push(aa[i]);
-}
-}
-item.iconCls=cc.join(" ");
-}
-return item;
-},findItem:function(jq,text){
-return _415(jq[0],text);
-},appendItem:function(jq,_430){
-return jq.each(function(){
-_41b(this,_430);
-});
-},removeItem:function(jq,_431){
-return jq.each(function(){
-_41f(this,_431);
-});
-},enableItem:function(jq,_432){
-return jq.each(function(){
-_3fc(this,_432,false);
-});
-},disableItem:function(jq,_433){
-return jq.each(function(){
-_3fc(this,_433,true);
-});
-},showItem:function(jq,_434){
-return jq.each(function(){
-_424(this,_434,true);
-});
-},hideItem:function(jq,_435){
-return jq.each(function(){
-_424(this,_435,false);
-});
-},resize:function(jq,_436){
-return jq.each(function(){
-_3fe(this,$(_436));
-});
-}};
-$.fn.menu.parseOptions=function(_437){
-return $.extend({},$.parser.parseOptions(_437,[{minWidth:"number",itemHeight:"number",duration:"number",hideOnUnhover:"boolean"},{fit:"boolean",inline:"boolean",noline:"boolean"}]));
-};
-$.fn.menu.defaults={zIndex:110000,left:0,top:0,alignTo:null,align:"left",minWidth:120,itemHeight:22,duration:100,hideOnUnhover:true,inline:false,fit:false,noline:false,onShow:function(){
-},onHide:function(){
-},onClick:function(item){
-}};
-})(jQuery);
-(function($){
-function init(_438){
-var opts=$.data(_438,"menubutton").options;
-var btn=$(_438);
-btn.linkbutton(opts);
-if(opts.hasDownArrow){
-btn.removeClass(opts.cls.btn1+" "+opts.cls.btn2).addClass("m-btn");
-btn.removeClass("m-btn-small m-btn-medium m-btn-large").addClass("m-btn-"+opts.size);
-var _439=btn.find(".l-btn-left");
-$("<span></span>").addClass(opts.cls.arrow).appendTo(_439);
-$("<span></span>").addClass("m-btn-line").appendTo(_439);
-}
-$(_438).menubutton("resize");
-if(opts.menu){
-$(opts.menu).menu({duration:opts.duration});
-var _43a=$(opts.menu).menu("options");
-var _43b=_43a.onShow;
-var _43c=_43a.onHide;
-$.extend(_43a,{onShow:function(){
-var _43d=$(this).menu("options");
-var btn=$(_43d.alignTo);
-var opts=btn.menubutton("options");
-btn.addClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1);
-_43b.call(this);
-},onHide:function(){
-var _43e=$(this).menu("options");
-var btn=$(_43e.alignTo);
-var opts=btn.menubutton("options");
-btn.removeClass((opts.plain==true)?opts.cls.btn2:opts.cls.btn1);
-_43c.call(this);
-}});
-}
-};
-function _43f(_440){
-var opts=$.data(_440,"menubutton").options;
-var btn=$(_440);
-var t=btn.find("."+opts.cls.trigger);
-if(!t.length){
-t=btn;
-}
-t.unbind(".menubutton");
-var _441=null;
-t.bind("click.menubutton",function(){
-if(!_442()){
-_443(_440);
-return false;
-}
-}).bind("mouseenter.menubutton",function(){
-if(!_442()){
-_441=setTimeout(function(){
-_443(_440);
-},opts.duration);
-return false;
-}
-}).bind("mouseleave.menubutton",function(){
-if(_441){
-clearTimeout(_441);
-}
-$(opts.menu).triggerHandler("mouseleave");
-});
-function _442(){
-return $(_440).linkbutton("options").disabled;
-};
-};
-function _443(_444){
-var opts=$(_444).menubutton("options");
-if(opts.disabled||!opts.menu){
-return;
-}
-$("body>div.menu-top").menu("hide");
-var btn=$(_444);
-var mm=$(opts.menu);
-if(mm.length){
-mm.menu("options").alignTo=btn;
-mm.menu("show",{alignTo:btn,align:opts.menuAlign});
-}
-btn.blur();
-};
-$.fn.menubutton=function(_445,_446){
-if(typeof _445=="string"){
-var _447=$.fn.menubutton.methods[_445];
-if(_447){
-return _447(this,_446);
-}else{
-return this.linkbutton(_445,_446);
-}
-}
-_445=_445||{};
-return this.each(function(){
-var _448=$.data(this,"menubutton");
-if(_448){
-$.extend(_448.options,_445);
-}else{
-$.data(this,"menubutton",{options:$.extend({},$.fn.menubutton.defaults,$.fn.menubutton.parseOptions(this),_445)});
-$(this).removeAttr("disabled");
-}
-init(this);
-_43f(this);
-});
-};
-$.fn.menubutton.methods={options:function(jq){
-var _449=jq.linkbutton("options");
-return $.extend($.data(jq[0],"menubutton").options,{toggle:_449.toggle,selected:_449.selected,disabled:_449.disabled});
-},destroy:function(jq){
-return jq.each(function(){
-var opts=$(this).menubutton("options");
-if(opts.menu){
-$(opts.menu).menu("destroy");
-}
-$(this).remove();
-});
-}};
-$.fn.menubutton.parseOptions=function(_44a){
-var t=$(_44a);
-return $.extend({},$.fn.linkbutton.parseOptions(_44a),$.parser.parseOptions(_44a,["menu",{plain:"boolean",hasDownArrow:"boolean",duration:"number"}]));
-};
-$.fn.menubutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,hasDownArrow:true,menu:null,menuAlign:"left",duration:100,cls:{btn1:"m-btn-active",btn2:"m-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn"}});
-})(jQuery);
-(function($){
-function init(_44b){
-var opts=$.data(_44b,"splitbutton").options;
-$(_44b).menubutton(opts);
-$(_44b).addClass("s-btn");
-};
-$.fn.splitbutton=function(_44c,_44d){
-if(typeof _44c=="string"){
-var _44e=$.fn.splitbutton.methods[_44c];
-if(_44e){
-return _44e(this,_44d);
-}else{
-return this.menubutton(_44c,_44d);
-}
-}
-_44c=_44c||{};
-return this.each(function(){
-var _44f=$.data(this,"splitbutton");
-if(_44f){
-$.extend(_44f.options,_44c);
-}else{
-$.data(this,"splitbutton",{options:$.extend({},$.fn.splitbutton.defaults,$.fn.splitbutton.parseOptions(this),_44c)});
-$(this).removeAttr("disabled");
-}
-init(this);
-});
-};
-$.fn.splitbutton.methods={options:function(jq){
-var _450=jq.menubutton("options");
-var _451=$.data(jq[0],"splitbutton").options;
-$.extend(_451,{disabled:_450.disabled,toggle:_450.toggle,selected:_450.selected});
-return _451;
-}};
-$.fn.splitbutton.parseOptions=function(_452){
-var t=$(_452);
-return $.extend({},$.fn.linkbutton.parseOptions(_452),$.parser.parseOptions(_452,["menu",{plain:"boolean",duration:"number"}]));
-};
-$.fn.splitbutton.defaults=$.extend({},$.fn.linkbutton.defaults,{plain:true,menu:null,duration:100,cls:{btn1:"m-btn-active s-btn-active",btn2:"m-btn-plain-active s-btn-plain-active",arrow:"m-btn-downarrow",trigger:"m-btn-line"}});
-})(jQuery);
-(function($){
-function init(_453){
-var _454=$("<span class=\"switchbutton\">"+"<span class=\"switchbutton-inner\">"+"<span class=\"switchbutton-on\"></span>"+"<span class=\"switchbutton-handle\"></span>"+"<span class=\"switchbutton-off\"></span>"+"<input class=\"switchbutton-value\" type=\"checkbox\">"+"</span>"+"</span>").insertAfter(_453);
-var t=$(_453);
-t.addClass("switchbutton-f").hide();
-var name=t.attr("name");
-if(name){
-t.removeAttr("name").attr("switchbuttonName",name);
-_454.find(".switchbutton-value").attr("name",name);
-}
-_454.bind("_resize",function(e,_455){
-if($(this).hasClass("easyui-fluid")||_455){
-_456(_453);
-}
-return false;
-});
-return _454;
-};
-function _456(_457,_458){
-var _459=$.data(_457,"switchbutton");
-var opts=_459.options;
-var _45a=_459.switchbutton;
-if(_458){
-$.extend(opts,_458);
-}
-var _45b=_45a.is(":visible");
-if(!_45b){
-_45a.appendTo("body");
-}
-_45a._size(opts);
-var w=_45a.width();
-var h=_45a.height();
-var w=_45a.outerWidth();
-var h=_45a.outerHeight();
-var _45c=parseInt(opts.handleWidth)||_45a.height();
-var _45d=w*2-_45c;
-_45a.find(".switchbutton-inner").css({width:_45d+"px",height:h+"px",lineHeight:h+"px"});
-_45a.find(".switchbutton-handle")._outerWidth(_45c)._outerHeight(h).css({marginLeft:-_45c/2+"px"});
-_45a.find(".switchbutton-on").css({width:(w-_45c/2)+"px",textIndent:(opts.reversed?"":"-")+_45c/2+"px"});
-_45a.find(".switchbutton-off").css({width:(w-_45c/2)+"px",textIndent:(opts.reversed?"-":"")+_45c/2+"px"});
-opts.marginWidth=w-_45c;
-_45e(_457,opts.checked,false);
-if(!_45b){
-_45a.insertAfter(_457);
-}
-};
-function _45f(_460){
-var _461=$.data(_460,"switchbutton");
-var opts=_461.options;
-var _462=_461.switchbutton;
-var _463=_462.find(".switchbutton-inner");
-var on=_463.find(".switchbutton-on").html(opts.onText);
-var off=_463.find(".switchbutton-off").html(opts.offText);
-var _464=_463.find(".switchbutton-handle").html(opts.handleText);
-if(opts.reversed){
-off.prependTo(_463);
-on.insertAfter(_464);
-}else{
-on.prependTo(_463);
-off.insertAfter(_464);
-}
-_462.find(".switchbutton-value")._propAttr("checked",opts.checked);
-_462.removeClass("switchbutton-disabled").addClass(opts.disabled?"switchbutton-disabled":"");
-_462.removeClass("switchbutton-reversed").addClass(opts.reversed?"switchbutton-reversed":"");
-_45e(_460,opts.checked);
-_465(_460,opts.readonly);
-$(_460).switchbutton("setValue",opts.value);
-};
-function _45e(_466,_467,_468){
-var _469=$.data(_466,"switchbutton");
-var opts=_469.options;
-opts.checked=_467;
-var _46a=_469.switchbutton.find(".switchbutton-inner");
-var _46b=_46a.find(".switchbutton-on");
-var _46c=opts.reversed?(opts.checked?opts.marginWidth:0):(opts.checked?0:opts.marginWidth);
-var dir=_46b.css("float").toLowerCase();
-var css={};
-css["margin-"+dir]=-_46c+"px";
-_468?_46a.animate(css,200):_46a.css(css);
-var _46d=_46a.find(".switchbutton-value");
-var ck=_46d.is(":checked");
-$(_466).add(_46d)._propAttr("checked",opts.checked);
-if(ck!=opts.checked){
-opts.onChange.call(_466,opts.checked);
-}
-};
-function _46e(_46f,_470){
-var _471=$.data(_46f,"switchbutton");
-var opts=_471.options;
-var _472=_471.switchbutton;
-var _473=_472.find(".switchbutton-value");
-if(_470){
-opts.disabled=true;
-$(_46f).add(_473).attr("disabled","disabled");
-_472.addClass("switchbutton-disabled");
-}else{
-opts.disabled=false;
-$(_46f).add(_473).removeAttr("disabled");
-_472.removeClass("switchbutton-disabled");
-}
-};
-function _465(_474,mode){
-var _475=$.data(_474,"switchbutton");
-var opts=_475.options;
-opts.readonly=mode==undefined?true:mode;
-_475.switchbutton.removeClass("switchbutton-readonly").addClass(opts.readonly?"switchbutton-readonly":"");
-};
-function _476(_477){
-var _478=$.data(_477,"switchbutton");
-var opts=_478.options;
-_478.switchbutton.unbind(".switchbutton").bind("click.switchbutton",function(){
-if(!opts.disabled&&!opts.readonly){
-_45e(_477,opts.checked?false:true,true);
-}
-});
-};
-$.fn.switchbutton=function(_479,_47a){
-if(typeof _479=="string"){
-return $.fn.switchbutton.methods[_479](this,_47a);
-}
-_479=_479||{};
-return this.each(function(){
-var _47b=$.data(this,"switchbutton");
-if(_47b){
-$.extend(_47b.options,_479);
-}else{
-_47b=$.data(this,"switchbutton",{options:$.extend({},$.fn.switchbutton.defaults,$.fn.switchbutton.parseOptions(this),_479),switchbutton:init(this)});
-}
-_47b.options.originalChecked=_47b.options.checked;
-_45f(this);
-_456(this);
-_476(this);
-});
-};
-$.fn.switchbutton.methods={options:function(jq){
-var _47c=jq.data("switchbutton");
-return $.extend(_47c.options,{value:_47c.switchbutton.find(".switchbutton-value").val()});
-},resize:function(jq,_47d){
-return jq.each(function(){
-_456(this,_47d);
-});
-},enable:function(jq){
-return jq.each(function(){
-_46e(this,false);
-});
-},disable:function(jq){
-return jq.each(function(){
-_46e(this,true);
-});
-},readonly:function(jq,mode){
-return jq.each(function(){
-_465(this,mode);
-});
-},check:function(jq){
-return jq.each(function(){
-_45e(this,true);
-});
-},uncheck:function(jq){
-return jq.each(function(){
-_45e(this,false);
-});
-},clear:function(jq){
-return jq.each(function(){
-_45e(this,false);
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).switchbutton("options");
-_45e(this,opts.originalChecked);
-});
-},setValue:function(jq,_47e){
-return jq.each(function(){
-$(this).val(_47e);
-$.data(this,"switchbutton").switchbutton.find(".switchbutton-value").val(_47e);
-});
-}};
-$.fn.switchbutton.parseOptions=function(_47f){
-var t=$(_47f);
-return $.extend({},$.parser.parseOptions(_47f,["onText","offText","handleText",{handleWidth:"number",reversed:"boolean"}]),{value:(t.val()||undefined),checked:(t.attr("checked")?true:undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)});
-};
-$.fn.switchbutton.defaults={handleWidth:"auto",width:60,height:26,checked:false,disabled:false,readonly:false,reversed:false,onText:"ON",offText:"OFF",handleText:"",value:"on",onChange:function(_480){
-}};
-})(jQuery);
-(function($){
-function init(_481){
-$(_481).addClass("validatebox-text");
-};
-function _482(_483){
-var _484=$.data(_483,"validatebox");
-_484.validating=false;
-if(_484.timer){
-clearTimeout(_484.timer);
-}
-$(_483).tooltip("destroy");
-$(_483).unbind();
-$(_483).remove();
-};
-function _485(_486){
-var opts=$.data(_486,"validatebox").options;
-var box=$(_486);
-box.unbind(".validatebox");
-if(opts.novalidate||box.is(":disabled")){
-return;
-}
-for(var _487 in opts.events){
-$(_486).bind(_487+".validatebox",{target:_486},opts.events[_487]);
-}
-};
-function _488(e){
-var _489=e.data.target;
-var _48a=$.data(_489,"validatebox");
-var box=$(_489);
-if($(_489).attr("readonly")){
-return;
-}
-_48a.validating=true;
-_48a.value=undefined;
-(function(){
-if(_48a.validating){
-if(_48a.value!=box.val()){
-_48a.value=box.val();
-if(_48a.timer){
-clearTimeout(_48a.timer);
-}
-_48a.timer=setTimeout(function(){
-$(_489).validatebox("validate");
-},_48a.options.delay);
-}else{
-_48b(_489);
-}
-setTimeout(arguments.callee,200);
-}
-})();
-};
-function _48c(e){
-var _48d=e.data.target;
-var _48e=$.data(_48d,"validatebox");
-if(_48e.timer){
-clearTimeout(_48e.timer);
-_48e.timer=undefined;
-}
-_48e.validating=false;
-_48f(_48d);
-};
-function _490(e){
-var _491=e.data.target;
-if($(_491).hasClass("validatebox-invalid")){
-_492(_491);
-}
-};
-function _493(e){
-var _494=e.data.target;
-var _495=$.data(_494,"validatebox");
-if(!_495.validating){
-_48f(_494);
-}
-};
-function _492(_496){
-var _497=$.data(_496,"validatebox");
-var opts=_497.options;
-$(_496).tooltip($.extend({},opts.tipOptions,{content:_497.message,position:opts.tipPosition,deltaX:opts.deltaX})).tooltip("show");
-_497.tip=true;
-};
-function _48b(_498){
-var _499=$.data(_498,"validatebox");
-if(_499&&_499.tip){
-$(_498).tooltip("reposition");
-}
-};
-function _48f(_49a){
-var _49b=$.data(_49a,"validatebox");
-_49b.tip=false;
-$(_49a).tooltip("hide");
-};
-function _49c(_49d){
-var _49e=$.data(_49d,"validatebox");
-var opts=_49e.options;
-var box=$(_49d);
-opts.onBeforeValidate.call(_49d);
-var _49f=_4a0();
-opts.onValidate.call(_49d,_49f);
-return _49f;
-function _4a1(msg){
-_49e.message=msg;
-};
-function _4a2(_4a3,_4a4){
-var _4a5=box.val();
-var _4a6=/([a-zA-Z_]+)(.*)/.exec(_4a3);
-var rule=opts.rules[_4a6[1]];
-if(rule&&_4a5){
-var _4a7=_4a4||opts.validParams||eval(_4a6[2]);
-if(!rule["validator"].call(_49d,_4a5,_4a7)){
-box.addClass("validatebox-invalid");
-var _4a8=rule["message"];
-if(_4a7){
-for(var i=0;i<_4a7.length;i++){
-_4a8=_4a8.replace(new RegExp("\\{"+i+"\\}","g"),_4a7[i]);
-}
-}
-_4a1(opts.invalidMessage||_4a8);
-if(_49e.validating){
-_492(_49d);
-}
-return false;
-}
-}
-return true;
-};
-function _4a0(){
-box.removeClass("validatebox-invalid");
-_48f(_49d);
-if(opts.novalidate||box.is(":disabled")){
-return true;
-}
-if(opts.required){
-if(box.val()==""){
-box.addClass("validatebox-invalid");
-_4a1(opts.missingMessage);
-if(_49e.validating){
-_492(_49d);
-}
-return false;
-}
-}
-if(opts.validType){
-if($.isArray(opts.validType)){
-for(var i=0;i<opts.validType.length;i++){
-if(!_4a2(opts.validType[i])){
-return false;
-}
-}
-}else{
-if(typeof opts.validType=="string"){
-if(!_4a2(opts.validType)){
-return false;
-}
-}else{
-for(var _4a9 in opts.validType){
-var _4aa=opts.validType[_4a9];
-if(!_4a2(_4a9,_4aa)){
-return false;
-}
-}
-}
-}
-}
-return true;
-};
-};
-function _4ab(_4ac,_4ad){
-var opts=$.data(_4ac,"validatebox").options;
-if(_4ad!=undefined){
-opts.novalidate=_4ad;
-}
-if(opts.novalidate){
-$(_4ac).removeClass("validatebox-invalid");
-_48f(_4ac);
-}
-_49c(_4ac);
-_485(_4ac);
-};
-$.fn.validatebox=function(_4ae,_4af){
-if(typeof _4ae=="string"){
-return $.fn.validatebox.methods[_4ae](this,_4af);
-}
-_4ae=_4ae||{};
-return this.each(function(){
-var _4b0=$.data(this,"validatebox");
-if(_4b0){
-$.extend(_4b0.options,_4ae);
-}else{
-init(this);
-$.data(this,"validatebox",{options:$.extend({},$.fn.validatebox.defaults,$.fn.validatebox.parseOptions(this),_4ae)});
-}
-_4ab(this);
-_49c(this);
-});
-};
-$.fn.validatebox.methods={options:function(jq){
-return $.data(jq[0],"validatebox").options;
-},destroy:function(jq){
-return jq.each(function(){
-_482(this);
-});
-},validate:function(jq){
-return jq.each(function(){
-_49c(this);
-});
-},isValid:function(jq){
-return _49c(jq[0]);
-},enableValidation:function(jq){
-return jq.each(function(){
-_4ab(this,false);
-});
-},disableValidation:function(jq){
-return jq.each(function(){
-_4ab(this,true);
-});
-}};
-$.fn.validatebox.parseOptions=function(_4b1){
-var t=$(_4b1);
-return $.extend({},$.parser.parseOptions(_4b1,["validType","missingMessage","invalidMessage","tipPosition",{delay:"number",deltaX:"number"}]),{required:(t.attr("required")?true:undefined),novalidate:(t.attr("novalidate")!=undefined?true:undefined)});
-};
-$.fn.validatebox.defaults={required:false,validType:null,validParams:null,delay:200,missingMessage:"This field is required.",invalidMessage:null,tipPosition:"right",deltaX:0,novalidate:false,events:{focus:_488,blur:_48c,mouseenter:_490,mouseleave:_493,click:function(e){
-var t=$(e.data.target);
-if(!t.is(":focus")){
-t.trigger("focus");
-}
-}},tipOptions:{showEvent:"none",hideEvent:"none",showDelay:0,hideDelay:0,zIndex:"",onShow:function(){
-$(this).tooltip("tip").css({color:"#000",borderColor:"#CC9933",backgroundColor:"#FFFFCC"});
-},onHide:function(){
-$(this).tooltip("destroy");
-}},rules:{email:{validator:function(_4b2){
-return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(_4b2);
-},message:"Please enter a valid email address."},url:{validator:function(_4b3){
-return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(_4b3);
-},message:"Please enter a valid URL."},length:{validator:function(_4b4,_4b5){
-var len=$.trim(_4b4).length;
-return len>=_4b5[0]&&len<=_4b5[1];
-},message:"Please enter a value between {0} and {1}."},remote:{validator:function(_4b6,_4b7){
-var data={};
-data[_4b7[1]]=_4b6;
-var _4b8=$.ajax({url:_4b7[0],dataType:"json",data:data,async:false,cache:false,type:"post"}).responseText;
-return _4b8=="true";
-},message:"Please fix this field."}},onBeforeValidate:function(){
-},onValidate:function(_4b9){
-}};
-})(jQuery);
-(function($){
-function init(_4ba){
-$(_4ba).addClass("textbox-f").hide();
-var span=$("<span class=\"textbox\">"+"<input class=\"textbox-text\" autocomplete=\"off\">"+"<input type=\"hidden\" class=\"textbox-value\">"+"</span>").insertAfter(_4ba);
-var name=$(_4ba).attr("name");
-if(name){
-span.find("input.textbox-value").attr("name",name);
-$(_4ba).removeAttr("name").attr("textboxName",name);
-}
-return span;
-};
-function _4bb(_4bc){
-var _4bd=$.data(_4bc,"textbox");
-var opts=_4bd.options;
-var tb=_4bd.textbox;
-tb.find(".textbox-text").remove();
-if(opts.multiline){
-$("<textarea class=\"textbox-text\" autocomplete=\"off\"></textarea>").prependTo(tb);
-}else{
-$("<input type=\""+opts.type+"\" class=\"textbox-text\" autocomplete=\"off\">").prependTo(tb);
-}
-tb.find(".textbox-addon").remove();
-var bb=opts.icons?$.extend(true,[],opts.icons):[];
-if(opts.iconCls){
-bb.push({iconCls:opts.iconCls,disabled:true});
-}
-if(bb.length){
-var bc=$("<span class=\"textbox-addon\"></span>").prependTo(tb);
-bc.addClass("textbox-addon-"+opts.iconAlign);
-for(var i=0;i<bb.length;i++){
-bc.append("<a href=\"javascript:void(0)\" class=\"textbox-icon "+bb[i].iconCls+"\" icon-index=\""+i+"\" tabindex=\"-1\"></a>");
-}
-}
-tb.find(".textbox-button").remove();
-if(opts.buttonText||opts.buttonIcon){
-var btn=$("<a href=\"javascript:void(0)\" class=\"textbox-button\"></a>").prependTo(tb);
-btn.addClass("textbox-button-"+opts.buttonAlign).linkbutton({text:opts.buttonText,iconCls:opts.buttonIcon});
-}
-_4be(_4bc,opts.disabled);
-_4bf(_4bc,opts.readonly);
-};
-function _4c0(_4c1){
-var tb=$.data(_4c1,"textbox").textbox;
-tb.find(".textbox-text").validatebox("destroy");
-tb.remove();
-$(_4c1).remove();
-};
-function _4c2(_4c3,_4c4){
-var _4c5=$.data(_4c3,"textbox");
-var opts=_4c5.options;
-var tb=_4c5.textbox;
-var _4c6=tb.parent();
-if(_4c4){
-opts.width=_4c4;
-}
-if(isNaN(parseInt(opts.width))){
-var c=$(_4c3).clone();
-c.css("visibility","hidden");
-c.insertAfter(_4c3);
-opts.width=c.outerWidth();
-c.remove();
-}
-var _4c7=tb.is(":visible");
-if(!_4c7){
-tb.appendTo("body");
-}
-var _4c8=tb.find(".textbox-text");
-var btn=tb.find(".textbox-button");
-var _4c9=tb.find(".textbox-addon");
-var _4ca=_4c9.find(".textbox-icon");
-tb._size(opts,_4c6);
-btn.linkbutton("resize",{height:tb.height()});
-btn.css({left:(opts.buttonAlign=="left"?0:""),right:(opts.buttonAlign=="right"?0:"")});
-_4c9.css({left:(opts.iconAlign=="left"?(opts.buttonAlign=="left"?btn._outerWidth():0):""),right:(opts.iconAlign=="right"?(opts.buttonAlign=="right"?btn._outerWidth():0):"")});
-_4ca.css({width:opts.iconWidth+"px",height:tb.height()+"px"});
-_4c8.css({paddingLeft:(_4c3.style.paddingLeft||""),paddingRight:(_4c3.style.paddingRight||""),marginLeft:_4cb("left"),marginRight:_4cb("right")});
-if(opts.multiline){
-_4c8.css({paddingTop:(_4c3.style.paddingTop||""),paddingBottom:(_4c3.style.paddingBottom||"")});
-_4c8._outerHeight(tb.height());
-}else{
-var _4cc=Math.floor((tb.height()-_4c8.height())/2);
-_4c8.css({paddingTop:_4cc+"px",paddingBottom:_4cc+"px"});
-}
-_4c8._outerWidth(tb.width()-_4ca.length*opts.iconWidth-btn._outerWidth());
-if(!_4c7){
-tb.insertAfter(_4c3);
-}
-opts.onResize.call(_4c3,opts.width,opts.height);
-function _4cb(_4cd){
-return (opts.iconAlign==_4cd?_4c9._outerWidth():0)+(opts.buttonAlign==_4cd?btn._outerWidth():0);
-};
-};
-function _4ce(_4cf){
-var opts=$(_4cf).textbox("options");
-var _4d0=$(_4cf).textbox("textbox");
-_4d0.validatebox($.extend({},opts,{deltaX:$(_4cf).textbox("getTipX"),onBeforeValidate:function(){
-var box=$(this);
-if(!box.is(":focus")){
-opts.oldInputValue=box.val();
-box.val(opts.value);
-}
-},onValidate:function(_4d1){
-var box=$(this);
-if(opts.oldInputValue!=undefined){
-box.val(opts.oldInputValue);
-opts.oldInputValue=undefined;
-}
-var tb=box.parent();
-if(_4d1){
-tb.removeClass("textbox-invalid");
-}else{
-tb.addClass("textbox-invalid");
-}
-}}));
-};
-function _4d2(_4d3){
-var _4d4=$.data(_4d3,"textbox");
-var opts=_4d4.options;
-var tb=_4d4.textbox;
-var _4d5=tb.find(".textbox-text");
-_4d5.attr("placeholder",opts.prompt);
-_4d5.unbind(".textbox");
-if(!opts.disabled&&!opts.readonly){
-_4d5.bind("blur.textbox",function(e){
-if(!tb.hasClass("textbox-focused")){
-return;
-}
-opts.value=$(this).val();
-if(opts.value==""){
-$(this).val(opts.prompt).addClass("textbox-prompt");
-}else{
-$(this).removeClass("textbox-prompt");
-}
-tb.removeClass("textbox-focused");
-}).bind("focus.textbox",function(e){
-if(tb.hasClass("textbox-focused")){
-return;
-}
-if($(this).val()!=opts.value){
-$(this).val(opts.value);
-}
-$(this).removeClass("textbox-prompt");
-tb.addClass("textbox-focused");
-});
-for(var _4d6 in opts.inputEvents){
-_4d5.bind(_4d6+".textbox",{target:_4d3},opts.inputEvents[_4d6]);
-}
-}
-var _4d7=tb.find(".textbox-addon");
-_4d7.unbind().bind("click",{target:_4d3},function(e){
-var icon=$(e.target).closest("a.textbox-icon:not(.textbox-icon-disabled)");
-if(icon.length){
-var _4d8=parseInt(icon.attr("icon-index"));
-var conf=opts.icons[_4d8];
-if(conf&&conf.handler){
-conf.handler.call(icon[0],e);
-opts.onClickIcon.call(_4d3,_4d8);
-}
-}
-});
-_4d7.find(".textbox-icon").each(function(_4d9){
-var conf=opts.icons[_4d9];
-var icon=$(this);
-if(!conf||conf.disabled||opts.disabled||opts.readonly){
-icon.addClass("textbox-icon-disabled");
-}else{
-icon.removeClass("textbox-icon-disabled");
-}
-});
-var btn=tb.find(".textbox-button");
-btn.unbind(".textbox").bind("click.textbox",function(){
-if(!btn.linkbutton("options").disabled){
-opts.onClickButton.call(_4d3);
-}
-});
-btn.linkbutton((opts.disabled||opts.readonly)?"disable":"enable");
-tb.unbind(".textbox").bind("_resize.textbox",function(e,_4da){
-if($(this).hasClass("easyui-fluid")||_4da){
-_4c2(_4d3);
-}
-return false;
-});
-};
-function _4be(_4db,_4dc){
-var _4dd=$.data(_4db,"textbox");
-var opts=_4dd.options;
-var tb=_4dd.textbox;
-if(_4dc){
-opts.disabled=true;
-$(_4db).attr("disabled","disabled");
-tb.addClass("textbox-disabled");
-tb.find(".textbox-text,.textbox-value").attr("disabled","disabled");
-}else{
-opts.disabled=false;
-tb.removeClass("textbox-disabled");
-$(_4db).removeAttr("disabled");
-tb.find(".textbox-text,.textbox-value").removeAttr("disabled");
-}
-};
-function _4bf(_4de,mode){
-var _4df=$.data(_4de,"textbox");
-var opts=_4df.options;
-opts.readonly=mode==undefined?true:mode;
-_4df.textbox.removeClass("textbox-readonly").addClass(opts.readonly?"textbox-readonly":"");
-var _4e0=_4df.textbox.find(".textbox-text");
-_4e0.removeAttr("readonly");
-if(opts.readonly||!opts.editable){
-_4e0.attr("readonly","readonly");
-}
-};
-$.fn.textbox=function(_4e1,_4e2){
-if(typeof _4e1=="string"){
-var _4e3=$.fn.textbox.methods[_4e1];
-if(_4e3){
-return _4e3(this,_4e2);
-}else{
-return this.each(function(){
-var _4e4=$(this).textbox("textbox");
-_4e4.validatebox(_4e1,_4e2);
-});
-}
-}
-_4e1=_4e1||{};
-return this.each(function(){
-var _4e5=$.data(this,"textbox");
-if(_4e5){
-$.extend(_4e5.options,_4e1);
-if(_4e1.value!=undefined){
-_4e5.options.originalValue=_4e1.value;
-}
-}else{
-_4e5=$.data(this,"textbox",{options:$.extend({},$.fn.textbox.defaults,$.fn.textbox.parseOptions(this),_4e1),textbox:init(this)});
-_4e5.options.originalValue=_4e5.options.value;
-}
-_4bb(this);
-_4d2(this);
-_4c2(this);
-_4ce(this);
-$(this).textbox("initValue",_4e5.options.value);
-});
-};
-$.fn.textbox.methods={options:function(jq){
-return $.data(jq[0],"textbox").options;
-},cloneFrom:function(jq,from){
-return jq.each(function(){
-var t=$(this);
-if(t.data("textbox")){
-return;
-}
-if(!$(from).data("textbox")){
-$(from).textbox();
-}
-var name=t.attr("name")||"";
-t.addClass("textbox-f").hide();
-t.removeAttr("name").attr("textboxName",name);
-var span=$(from).next().clone().insertAfter(t);
-span.find("input.textbox-value").attr("name",name);
-$.data(this,"textbox",{options:$.extend(true,{},$(from).textbox("options")),textbox:span});
-var _4e6=$(from).textbox("button");
-if(_4e6.length){
-t.textbox("button").linkbutton($.extend(true,{},_4e6.linkbutton("options")));
-}
-_4d2(this);
-_4ce(this);
-});
-},textbox:function(jq){
-return $.data(jq[0],"textbox").textbox.find(".textbox-text");
-},button:function(jq){
-return $.data(jq[0],"textbox").textbox.find(".textbox-button");
-},destroy:function(jq){
-return jq.each(function(){
-_4c0(this);
-});
-},resize:function(jq,_4e7){
-return jq.each(function(){
-_4c2(this,_4e7);
-});
-},disable:function(jq){
-return jq.each(function(){
-_4be(this,true);
-_4d2(this);
-});
-},enable:function(jq){
-return jq.each(function(){
-_4be(this,false);
-_4d2(this);
-});
-},readonly:function(jq,mode){
-return jq.each(function(){
-_4bf(this,mode);
-_4d2(this);
-});
-},isValid:function(jq){
-return jq.textbox("textbox").validatebox("isValid");
-},clear:function(jq){
-return jq.each(function(){
-$(this).textbox("setValue","");
-});
-},setText:function(jq,_4e8){
-return jq.each(function(){
-var opts=$(this).textbox("options");
-var _4e9=$(this).textbox("textbox");
-_4e8=_4e8==undefined?"":String(_4e8);
-if($(this).textbox("getText")!=_4e8){
-_4e9.val(_4e8);
-}
-opts.value=_4e8;
-if(!_4e9.is(":focus")){
-if(_4e8){
-_4e9.removeClass("textbox-prompt");
-}else{
-_4e9.val(opts.prompt).addClass("textbox-prompt");
-}
-}
-$(this).textbox("validate");
-});
-},initValue:function(jq,_4ea){
-return jq.each(function(){
-var _4eb=$.data(this,"textbox");
-_4eb.options.value="";
-$(this).textbox("setText",_4ea);
-_4eb.textbox.find(".textbox-value").val(_4ea);
-$(this).val(_4ea);
-});
-},setValue:function(jq,_4ec){
-return jq.each(function(){
-var opts=$.data(this,"textbox").options;
-var _4ed=$(this).textbox("getValue");
-$(this).textbox("initValue",_4ec);
-if(_4ed!=_4ec){
-opts.onChange.call(this,_4ec,_4ed);
-$(this).closest("form").trigger("_change",[this]);
-}
-});
-},getText:function(jq){
-var _4ee=jq.textbox("textbox");
-if(_4ee.is(":focus")){
-return _4ee.val();
-}else{
-return jq.textbox("options").value;
-}
-},getValue:function(jq){
-return jq.data("textbox").textbox.find(".textbox-value").val();
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).textbox("options");
-$(this).textbox("setValue",opts.originalValue);
-});
-},getIcon:function(jq,_4ef){
-return jq.data("textbox").textbox.find(".textbox-icon:eq("+_4ef+")");
-},getTipX:function(jq){
-var _4f0=jq.data("textbox");
-var opts=_4f0.options;
-var tb=_4f0.textbox;
-var _4f1=tb.find(".textbox-text");
-var _4f2=tb.find(".textbox-addon")._outerWidth();
-var _4f3=tb.find(".textbox-button")._outerWidth();
-if(opts.tipPosition=="right"){
-return (opts.iconAlign=="right"?_4f2:0)+(opts.buttonAlign=="right"?_4f3:0)+1;
-}else{
-if(opts.tipPosition=="left"){
-return (opts.iconAlign=="left"?-_4f2:0)+(opts.buttonAlign=="left"?-_4f3:0)-1;
-}else{
-return _4f2/2*(opts.iconAlign=="right"?1:-1);
-}
-}
-}};
-$.fn.textbox.parseOptions=function(_4f4){
-var t=$(_4f4);
-return $.extend({},$.fn.validatebox.parseOptions(_4f4),$.parser.parseOptions(_4f4,["prompt","iconCls","iconAlign","buttonText","buttonIcon","buttonAlign",{multiline:"boolean",editable:"boolean",iconWidth:"number"}]),{value:(t.val()||undefined),type:(t.attr("type")?t.attr("type"):undefined),disabled:(t.attr("disabled")?true:undefined),readonly:(t.attr("readonly")?true:undefined)});
-};
-$.fn.textbox.defaults=$.extend({},$.fn.validatebox.defaults,{width:"auto",height:22,prompt:"",value:"",type:"text",multiline:false,editable:true,disabled:false,readonly:false,icons:[],iconCls:null,iconAlign:"right",iconWidth:18,buttonText:"",buttonIcon:null,buttonAlign:"right",inputEvents:{blur:function(e){
-var t=$(e.data.target);
-var opts=t.textbox("options");
-t.textbox("setValue",opts.value);
-},keydown:function(e){
-if(e.keyCode==13){
-var t=$(e.data.target);
-t.textbox("setValue",t.textbox("getText"));
-}
-}},onChange:function(_4f5,_4f6){
-},onResize:function(_4f7,_4f8){
-},onClickButton:function(){
-},onClickIcon:function(_4f9){
-}});
-})(jQuery);
-(function($){
-var _4fa=0;
-function _4fb(_4fc){
-var _4fd=$.data(_4fc,"filebox");
-var opts=_4fd.options;
-opts.fileboxId="filebox_file_id_"+(++_4fa);
-$(_4fc).addClass("filebox-f").textbox(opts);
-$(_4fc).textbox("textbox").attr("readonly","readonly");
-_4fd.filebox=$(_4fc).next().addClass("filebox");
-var file=_4fe(_4fc);
-var btn=$(_4fc).filebox("button");
-if(btn.length){
-$("<label class=\"filebox-label\" for=\""+opts.fileboxId+"\"></label>").appendTo(btn);
-if(btn.linkbutton("options").disabled){
-file.attr("disabled","disabled");
-}else{
-file.removeAttr("disabled");
-}
-}
-};
-function _4fe(_4ff){
-var _500=$.data(_4ff,"filebox");
-var opts=_500.options;
-_500.filebox.find(".textbox-value").remove();
-opts.oldValue="";
-var file=$("<input type=\"file\" class=\"textbox-value\">").appendTo(_500.filebox);
-file.attr("id",opts.fileboxId).attr("name",$(_4ff).attr("textboxName")||"");
-file.change(function(){
-$(_4ff).filebox("setText",this.value);
-opts.onChange.call(_4ff,this.value,opts.oldValue);
-opts.oldValue=this.value;
-});
-return file;
-};
-$.fn.filebox=function(_501,_502){
-if(typeof _501=="string"){
-var _503=$.fn.filebox.methods[_501];
-if(_503){
-return _503(this,_502);
-}else{
-return this.textbox(_501,_502);
-}
-}
-_501=_501||{};
-return this.each(function(){
-var _504=$.data(this,"filebox");
-if(_504){
-$.extend(_504.options,_501);
-}else{
-$.data(this,"filebox",{options:$.extend({},$.fn.filebox.defaults,$.fn.filebox.parseOptions(this),_501)});
-}
-_4fb(this);
-});
-};
-$.fn.filebox.methods={options:function(jq){
-var opts=jq.textbox("options");
-return $.extend($.data(jq[0],"filebox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-},clear:function(jq){
-return jq.each(function(){
-$(this).textbox("clear");
-_4fe(this);
-});
-},reset:function(jq){
-return jq.each(function(){
-$(this).filebox("clear");
-});
-}};
-$.fn.filebox.parseOptions=function(_505){
-return $.extend({},$.fn.textbox.parseOptions(_505),{});
-};
-$.fn.filebox.defaults=$.extend({},$.fn.textbox.defaults,{buttonIcon:null,buttonText:"Choose File",buttonAlign:"right",inputEvents:{}});
-})(jQuery);
-(function($){
-function _506(_507){
-var _508=$.data(_507,"searchbox");
-var opts=_508.options;
-var _509=$.extend(true,[],opts.icons);
-_509.push({iconCls:"searchbox-button",handler:function(e){
-var t=$(e.data.target);
-var opts=t.searchbox("options");
-opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName"));
-}});
-_50a();
-var _50b=_50c();
-$(_507).addClass("searchbox-f").textbox($.extend({},opts,{icons:_509,buttonText:(_50b?_50b.text:"")}));
-$(_507).attr("searchboxName",$(_507).attr("textboxName"));
-_508.searchbox=$(_507).next();
-_508.searchbox.addClass("searchbox");
-_50d(_50b);
-function _50a(){
-if(opts.menu){
-_508.menu=$(opts.menu).menu();
-var _50e=_508.menu.menu("options");
-var _50f=_50e.onClick;
-_50e.onClick=function(item){
-_50d(item);
-_50f.call(this,item);
-};
-}else{
-if(_508.menu){
-_508.menu.menu("destroy");
-}
-_508.menu=null;
-}
-};
-function _50c(){
-if(_508.menu){
-var item=_508.menu.children("div.menu-item:first");
-_508.menu.children("div.menu-item").each(function(){
-var _510=$.extend({},$.parser.parseOptions(this),{selected:($(this).attr("selected")?true:undefined)});
-if(_510.selected){
-item=$(this);
-return false;
-}
-});
-return _508.menu.menu("getItem",item[0]);
-}else{
-return null;
-}
-};
-function _50d(item){
-if(!item){
-return;
-}
-$(_507).textbox("button").menubutton({text:item.text,iconCls:(item.iconCls||null),menu:_508.menu,menuAlign:opts.buttonAlign,plain:false});
-_508.searchbox.find("input.textbox-value").attr("name",item.name||item.text);
-$(_507).searchbox("resize");
-};
-};
-$.fn.searchbox=function(_511,_512){
-if(typeof _511=="string"){
-var _513=$.fn.searchbox.methods[_511];
-if(_513){
-return _513(this,_512);
-}else{
-return this.textbox(_511,_512);
-}
-}
-_511=_511||{};
-return this.each(function(){
-var _514=$.data(this,"searchbox");
-if(_514){
-$.extend(_514.options,_511);
-}else{
-$.data(this,"searchbox",{options:$.extend({},$.fn.searchbox.defaults,$.fn.searchbox.parseOptions(this),_511)});
-}
-_506(this);
-});
-};
-$.fn.searchbox.methods={options:function(jq){
-var opts=jq.textbox("options");
-return $.extend($.data(jq[0],"searchbox").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-},menu:function(jq){
-return $.data(jq[0],"searchbox").menu;
-},getName:function(jq){
-return $.data(jq[0],"searchbox").searchbox.find("input.textbox-value").attr("name");
-},selectName:function(jq,name){
-return jq.each(function(){
-var menu=$.data(this,"searchbox").menu;
-if(menu){
-menu.children("div.menu-item").each(function(){
-var item=menu.menu("getItem",this);
-if(item.name==name){
-$(this).triggerHandler("click");
-return false;
-}
-});
-}
-});
-},destroy:function(jq){
-return jq.each(function(){
-var menu=$(this).searchbox("menu");
-if(menu){
-menu.menu("destroy");
-}
-$(this).textbox("destroy");
-});
-}};
-$.fn.searchbox.parseOptions=function(_515){
-var t=$(_515);
-return $.extend({},$.fn.textbox.parseOptions(_515),$.parser.parseOptions(_515,["menu"]),{searcher:(t.attr("searcher")?eval(t.attr("searcher")):undefined)});
-};
-$.fn.searchbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:$.extend({},$.fn.textbox.defaults.inputEvents,{keydown:function(e){
-if(e.keyCode==13){
-e.preventDefault();
-var t=$(e.data.target);
-var opts=t.searchbox("options");
-t.searchbox("setValue",$(this).val());
-opts.searcher.call(e.data.target,t.searchbox("getValue"),t.searchbox("getName"));
-return false;
-}
-}}),buttonAlign:"left",menu:null,searcher:function(_516,name){
-}});
-})(jQuery);
-(function($){
-function _517(_518,_519){
-var opts=$.data(_518,"form").options;
-$.extend(opts,_519||{});
-var _51a=$.extend({},opts.queryParams);
-if(opts.onSubmit.call(_518,_51a)==false){
-return;
-}
-$(_518).find(".textbox-text:focus").blur();
-var _51b="easyui_frame_"+(new Date().getTime());
-var _51c=$("<iframe id="+_51b+" name="+_51b+"></iframe>").appendTo("body");
-_51c.attr("src",window.ActiveXObject?"javascript:false":"about:blank");
-_51c.css({position:"absolute",top:-1000,left:-1000});
-_51c.bind("load",cb);
-_51d(_51a);
-function _51d(_51e){
-var form=$(_518);
-if(opts.url){
-form.attr("action",opts.url);
-}
-var t=form.attr("target"),a=form.attr("action");
-form.attr("target",_51b);
-var _51f=$();
-try{
-for(var n in _51e){
-var _520=$("<input type=\"hidden\" name=\""+n+"\">").val(_51e[n]).appendTo(form);
-_51f=_51f.add(_520);
-}
-_521();
-form[0].submit();
-}
-finally{
-form.attr("action",a);
-t?form.attr("target",t):form.removeAttr("target");
-_51f.remove();
-}
-};
-function _521(){
-var f=$("#"+_51b);
-if(!f.length){
-return;
-}
-try{
-var s=f.contents()[0].readyState;
-if(s&&s.toLowerCase()=="uninitialized"){
-setTimeout(_521,100);
-}
-}
-catch(e){
-cb();
-}
-};
-var _522=10;
-function cb(){
-var f=$("#"+_51b);
-if(!f.length){
-return;
-}
-f.unbind();
-var data="";
-try{
-var body=f.contents().find("body");
-data=body.html();
-if(data==""){
-if(--_522){
-setTimeout(cb,100);
-return;
-}
-}
-var ta=body.find(">textarea");
-if(ta.length){
-data=ta.val();
-}else{
-var pre=body.find(">pre");
-if(pre.length){
-data=pre.html();
-}
-}
-}
-catch(e){
-}
-opts.success(data);
-setTimeout(function(){
-f.unbind();
-f.remove();
-},100);
-};
-};
-function load(_523,data){
-var opts=$.data(_523,"form").options;
-if(typeof data=="string"){
-var _524={};
-if(opts.onBeforeLoad.call(_523,_524)==false){
-return;
-}
-$.ajax({url:data,data:_524,dataType:"json",success:function(data){
-_525(data);
-},error:function(){
-opts.onLoadError.apply(_523,arguments);
-}});
-}else{
-_525(data);
-}
-function _525(data){
-var form=$(_523);
-for(var name in data){
-var val=data[name];
-if(!_526(name,val)){
-if(!_527(name,val)){
-form.find("input[name=\""+name+"\"]").val(val);
-form.find("textarea[name=\""+name+"\"]").val(val);
-form.find("select[name=\""+name+"\"]").val(val);
-}
-}
-}
-opts.onLoadSuccess.call(_523,data);
-form.form("validate");
-};
-function _526(name,val){
-var cc=$(_523).find("[switchbuttonName=\""+name+"\"]");
-if(cc.length){
-cc.switchbutton("uncheck");
-cc.each(function(){
-if(_528($(this).switchbutton("options").value,val)){
-$(this).switchbutton("check");
-}
-});
-return true;
-}
-cc=$(_523).find("input[name=\""+name+"\"][type=radio], input[name=\""+name+"\"][type=checkbox]");
-if(cc.length){
-cc._propAttr("checked",false);
-cc.each(function(){
-if(_528($(this).val(),val)){
-$(this)._propAttr("checked",true);
-}
-});
-return true;
-}
-return false;
-};
-function _528(v,val){
-if(v==String(val)||$.inArray(v,$.isArray(val)?val:[val])>=0){
-return true;
-}else{
-return false;
-}
-};
-function _527(name,val){
-var _529=$(_523).find("[textboxName=\""+name+"\"],[sliderName=\""+name+"\"]");
-if(_529.length){
-for(var i=0;i<opts.fieldTypes.length;i++){
-var type=opts.fieldTypes[i];
-var _52a=_529.data(type);
-if(_52a){
-if(_52a.options.multiple||_52a.options.range){
-_529[type]("setValues",val);
-}else{
-_529[type]("setValue",val);
-}
-return true;
-}
-}
-}
-return false;
-};
-};
-function _52b(_52c){
-$("input,select,textarea",_52c).each(function(){
-var t=this.type,tag=this.tagName.toLowerCase();
-if(t=="text"||t=="hidden"||t=="password"||tag=="textarea"){
-this.value="";
-}else{
-if(t=="file"){
-var file=$(this);
-if(!file.hasClass("textbox-value")){
-var _52d=file.clone().val("");
-_52d.insertAfter(file);
-if(file.data("validatebox")){
-file.validatebox("destroy");
-_52d.validatebox();
-}else{
-file.remove();
-}
-}
-}else{
-if(t=="checkbox"||t=="radio"){
-this.checked=false;
-}else{
-if(tag=="select"){
-this.selectedIndex=-1;
-}
-}
-}
-}
-});
-var form=$(_52c);
-var opts=$.data(_52c,"form").options;
-for(var i=opts.fieldTypes.length-1;i>=0;i--){
-var type=opts.fieldTypes[i];
-var _52e=form.find("."+type+"-f");
-if(_52e.length&&_52e[type]){
-_52e[type]("clear");
-}
-}
-form.form("validate");
-};
-function _52f(_530){
-_530.reset();
-var form=$(_530);
-var opts=$.data(_530,"form").options;
-for(var i=opts.fieldTypes.length-1;i>=0;i--){
-var type=opts.fieldTypes[i];
-var _531=form.find("."+type+"-f");
-if(_531.length&&_531[type]){
-_531[type]("reset");
-}
-}
-form.form("validate");
-};
-function _532(_533){
-var _534=$.data(_533,"form").options;
-$(_533).unbind(".form");
-if(_534.ajax){
-$(_533).bind("submit.form",function(){
-setTimeout(function(){
-_517(_533,_534);
-},0);
-return false;
-});
-}
-$(_533).bind("_change.form",function(e,t){
-_534.onChange.call(this,t);
-}).bind("change.form",function(e){
-var t=e.target;
-if(!$(t).hasClass("textbox-text")){
-_534.onChange.call(this,t);
-}
-});
-_535(_533,_534.novalidate);
-};
-function _536(_537,_538){
-_538=_538||{};
-var _539=$.data(_537,"form");
-if(_539){
-$.extend(_539.options,_538);
-}else{
-$.data(_537,"form",{options:$.extend({},$.fn.form.defaults,$.fn.form.parseOptions(_537),_538)});
-}
-};
-function _53a(_53b){
-if($.fn.validatebox){
-var t=$(_53b);
-t.find(".validatebox-text:not(:disabled)").validatebox("validate");
-var _53c=t.find(".validatebox-invalid");
-_53c.filter(":not(:disabled):first").focus();
-return _53c.length==0;
-}
-return true;
-};
-function _535(_53d,_53e){
-var opts=$.data(_53d,"form").options;
-opts.novalidate=_53e;
-$(_53d).find(".validatebox-text:not(:disabled)").validatebox(_53e?"disableValidation":"enableValidation");
-};
-$.fn.form=function(_53f,_540){
-if(typeof _53f=="string"){
-this.each(function(){
-_536(this);
-});
-return $.fn.form.methods[_53f](this,_540);
-}
-return this.each(function(){
-_536(this,_53f);
-_532(this);
-});
-};
-$.fn.form.methods={options:function(jq){
-return $.data(jq[0],"form").options;
-},submit:function(jq,_541){
-return jq.each(function(){
-_517(this,_541);
-});
-},load:function(jq,data){
-return jq.each(function(){
-load(this,data);
-});
-},clear:function(jq){
-return jq.each(function(){
-_52b(this);
-});
-},reset:function(jq){
-return jq.each(function(){
-_52f(this);
-});
-},validate:function(jq){
-return _53a(jq[0]);
-},disableValidation:function(jq){
-return jq.each(function(){
-_535(this,true);
-});
-},enableValidation:function(jq){
-return jq.each(function(){
-_535(this,false);
-});
-}};
-$.fn.form.parseOptions=function(_542){
-var t=$(_542);
-return $.extend({},$.parser.parseOptions(_542,[{ajax:"boolean"}]),{url:(t.attr("action")?t.attr("action"):undefined)});
-};
-$.fn.form.defaults={fieldTypes:["combobox","combotree","combogrid","datetimebox","datebox","combo","datetimespinner","timespinner","numberspinner","spinner","slider","searchbox","numberbox","textbox","switchbutton"],novalidate:false,ajax:true,url:null,queryParams:{},onSubmit:function(_543){
-return $(this).form("validate");
-},success:function(data){
-},onBeforeLoad:function(_544){
-},onLoadSuccess:function(data){
-},onLoadError:function(){
-},onChange:function(_545){
-}};
-})(jQuery);
-(function($){
-function _546(_547){
-var _548=$.data(_547,"numberbox");
-var opts=_548.options;
-$(_547).addClass("numberbox-f").textbox(opts);
-$(_547).textbox("textbox").css({imeMode:"disabled"});
-$(_547).attr("numberboxName",$(_547).attr("textboxName"));
-_548.numberbox=$(_547).next();
-_548.numberbox.addClass("numberbox");
-var _549=opts.parser.call(_547,opts.value);
-var _54a=opts.formatter.call(_547,_549);
-$(_547).numberbox("initValue",_549).numberbox("setText",_54a);
-};
-function _54b(_54c,_54d){
-var _54e=$.data(_54c,"numberbox");
-var opts=_54e.options;
-var _54d=opts.parser.call(_54c,_54d);
-var text=opts.formatter.call(_54c,_54d);
-opts.value=_54d;
-$(_54c).textbox("setText",text).textbox("setValue",_54d);
-text=opts.formatter.call(_54c,$(_54c).textbox("getValue"));
-$(_54c).textbox("setText",text);
-};
-$.fn.numberbox=function(_54f,_550){
-if(typeof _54f=="string"){
-var _551=$.fn.numberbox.methods[_54f];
-if(_551){
-return _551(this,_550);
-}else{
-return this.textbox(_54f,_550);
-}
-}
-_54f=_54f||{};
-return this.each(function(){
-var _552=$.data(this,"numberbox");
-if(_552){
-$.extend(_552.options,_54f);
-}else{
-_552=$.data(this,"numberbox",{options:$.extend({},$.fn.numberbox.defaults,$.fn.numberbox.parseOptions(this),_54f)});
-}
-_546(this);
-});
-};
-$.fn.numberbox.methods={options:function(jq){
-var opts=jq.data("textbox")?jq.textbox("options"):{};
-return $.extend($.data(jq[0],"numberbox").options,{width:opts.width,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-},fix:function(jq){
-return jq.each(function(){
-$(this).numberbox("setValue",$(this).numberbox("getText"));
-});
-},setValue:function(jq,_553){
-return jq.each(function(){
-_54b(this,_553);
-});
-},clear:function(jq){
-return jq.each(function(){
-$(this).textbox("clear");
-$(this).numberbox("options").value="";
-});
-},reset:function(jq){
-return jq.each(function(){
-$(this).textbox("reset");
-$(this).numberbox("setValue",$(this).numberbox("getValue"));
-});
-}};
-$.fn.numberbox.parseOptions=function(_554){
-var t=$(_554);
-return $.extend({},$.fn.textbox.parseOptions(_554),$.parser.parseOptions(_554,["decimalSeparator","groupSeparator","suffix",{min:"number",max:"number",precision:"number"}]),{prefix:(t.attr("prefix")?t.attr("prefix"):undefined)});
-};
-$.fn.numberbox.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{keypress:function(e){
-var _555=e.data.target;
-var opts=$(_555).numberbox("options");
-return opts.filter.call(_555,e);
-},blur:function(e){
-var _556=e.data.target;
-$(_556).numberbox("setValue",$(_556).numberbox("getText"));
-},keydown:function(e){
-if(e.keyCode==13){
-var _557=e.data.target;
-$(_557).numberbox("setValue",$(_557).numberbox("getText"));
-}
-}},min:null,max:null,precision:0,decimalSeparator:".",groupSeparator:"",prefix:"",suffix:"",filter:function(e){
-var opts=$(this).numberbox("options");
-var s=$(this).numberbox("getText");
-if(e.which==13){
-return true;
-}
-if(e.which==45){
-return (s.indexOf("-")==-1?true:false);
-}
-var c=String.fromCharCode(e.which);
-if(c==opts.decimalSeparator){
-return (s.indexOf(c)==-1?true:false);
-}else{
-if(c==opts.groupSeparator){
-return true;
-}else{
-if((e.which>=48&&e.which<=57&&e.ctrlKey==false&&e.shiftKey==false)||e.which==0||e.which==8){
-return true;
-}else{
-if(e.ctrlKey==true&&(e.which==99||e.which==118)){
-return true;
-}else{
-return false;
-}
-}
-}
-}
-},formatter:function(_558){
-if(!_558){
-return _558;
-}
-_558=_558+"";
-var opts=$(this).numberbox("options");
-var s1=_558,s2="";
-var dpos=_558.indexOf(".");
-if(dpos>=0){
-s1=_558.substring(0,dpos);
-s2=_558.substring(dpos+1,_558.length);
-}
-if(opts.groupSeparator){
-var p=/(\d+)(\d{3})/;
-while(p.test(s1)){
-s1=s1.replace(p,"$1"+opts.groupSeparator+"$2");
-}
-}
-if(s2){
-return opts.prefix+s1+opts.decimalSeparator+s2+opts.suffix;
-}else{
-return opts.prefix+s1+opts.suffix;
-}
-},parser:function(s){
-s=s+"";
-var opts=$(this).numberbox("options");
-if(parseFloat(s)!=s){
-if(opts.prefix){
-s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.prefix),"g"),""));
-}
-if(opts.suffix){
-s=$.trim(s.replace(new RegExp("\\"+$.trim(opts.suffix),"g"),""));
-}
-if(opts.groupSeparator){
-s=$.trim(s.replace(new RegExp("\\"+opts.groupSeparator,"g"),""));
-}
-if(opts.decimalSeparator){
-s=$.trim(s.replace(new RegExp("\\"+opts.decimalSeparator,"g"),"."));
-}
-s=s.replace(/\s/g,"");
-}
-var val=parseFloat(s).toFixed(opts.precision);
-if(isNaN(val)){
-val="";
-}else{
-if(typeof (opts.min)=="number"&&val<opts.min){
-val=opts.min.toFixed(opts.precision);
-}else{
-if(typeof (opts.max)=="number"&&val>opts.max){
-val=opts.max.toFixed(opts.precision);
-}
-}
-}
-return val;
-}});
-})(jQuery);
-(function($){
-function _559(_55a,_55b){
-var opts=$.data(_55a,"calendar").options;
-var t=$(_55a);
-if(_55b){
-$.extend(opts,{width:_55b.width,height:_55b.height});
-}
-t._size(opts,t.parent());
-t.find(".calendar-body")._outerHeight(t.height()-t.find(".calendar-header")._outerHeight());
-if(t.find(".calendar-menu").is(":visible")){
-_55c(_55a);
-}
-};
-function init(_55d){
-$(_55d).addClass("calendar").html("<div class=\"calendar-header\">"+"<div class=\"calendar-nav calendar-prevmonth\"></div>"+"<div class=\"calendar-nav calendar-nextmonth\"></div>"+"<div class=\"calendar-nav calendar-prevyear\"></div>"+"<div class=\"calendar-nav calendar-nextyear\"></div>"+"<div class=\"calendar-title\">"+"<span class=\"calendar-text\"></span>"+"</div>"+"</div>"+"<div class=\"calendar-body\">"+"<div class=\"calendar-menu\">"+"<div class=\"calendar-menu-year-inner\">"+"<span class=\"calendar-nav calendar-menu-prev\"></span>"+"<span><input class=\"calendar-menu-year\" type=\"text\"></input></span>"+"<span class=\"calendar-nav calendar-menu-next\"></span>"+"</div>"+"<div class=\"calendar-menu-month-inner\">"+"</div>"+"</div>"+"</div>");
-$(_55d).bind("_resize",function(e,_55e){
-if($(this).hasClass("easyui-fluid")||_55e){
-_559(_55d);
-}
-return false;
-});
-};
-function _55f(_560){
-var opts=$.data(_560,"calendar").options;
-var menu=$(_560).find(".calendar-menu");
-menu.find(".calendar-menu-year").unbind(".calendar").bind("keypress.calendar",function(e){
-if(e.keyCode==13){
-_561(true);
-}
-});
-$(_560).unbind(".calendar").bind("mouseover.calendar",function(e){
-var t=_562(e.target);
-if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){
-t.addClass("calendar-nav-hover");
-}
-}).bind("mouseout.calendar",function(e){
-var t=_562(e.target);
-if(t.hasClass("calendar-nav")||t.hasClass("calendar-text")||(t.hasClass("calendar-day")&&!t.hasClass("calendar-disabled"))){
-t.removeClass("calendar-nav-hover");
-}
-}).bind("click.calendar",function(e){
-var t=_562(e.target);
-if(t.hasClass("calendar-menu-next")||t.hasClass("calendar-nextyear")){
-_563(1);
-}else{
-if(t.hasClass("calendar-menu-prev")||t.hasClass("calendar-prevyear")){
-_563(-1);
-}else{
-if(t.hasClass("calendar-menu-month")){
-menu.find(".calendar-selected").removeClass("calendar-selected");
-t.addClass("calendar-selected");
-_561(true);
-}else{
-if(t.hasClass("calendar-prevmonth")){
-_564(-1);
-}else{
-if(t.hasClass("calendar-nextmonth")){
-_564(1);
-}else{
-if(t.hasClass("calendar-text")){
-if(menu.is(":visible")){
-menu.hide();
-}else{
-_55c(_560);
-}
-}else{
-if(t.hasClass("calendar-day")){
-if(t.hasClass("calendar-disabled")){
-return;
-}
-var _565=opts.current;
-t.closest("div.calendar-body").find(".calendar-selected").removeClass("calendar-selected");
-t.addClass("calendar-selected");
-var _566=t.attr("abbr").split(",");
-var y=parseInt(_566[0]);
-var m=parseInt(_566[1]);
-var d=parseInt(_566[2]);
-opts.current=new Date(y,m-1,d);
-opts.onSelect.call(_560,opts.current);
-if(!_565||_565.getTime()!=opts.current.getTime()){
-opts.onChange.call(_560,opts.current,_565);
-}
-if(opts.year!=y||opts.month!=m){
-opts.year=y;
-opts.month=m;
-show(_560);
-}
-}
-}
-}
-}
-}
-}
-}
-});
-function _562(t){
-var day=$(t).closest(".calendar-day");
-if(day.length){
-return day;
-}else{
-return $(t);
-}
-};
-function _561(_567){
-var menu=$(_560).find(".calendar-menu");
-var year=menu.find(".calendar-menu-year").val();
-var _568=menu.find(".calendar-selected").attr("abbr");
-if(!isNaN(year)){
-opts.year=parseInt(year);
-opts.month=parseInt(_568);
-show(_560);
-}
-if(_567){
-menu.hide();
-}
-};
-function _563(_569){
-opts.year+=_569;
-show(_560);
-menu.find(".calendar-menu-year").val(opts.year);
-};
-function _564(_56a){
-opts.month+=_56a;
-if(opts.month>12){
-opts.year++;
-opts.month=1;
-}else{
-if(opts.month<1){
-opts.year--;
-opts.month=12;
-}
-}
-show(_560);
-menu.find("td.calendar-selected").removeClass("calendar-selected");
-menu.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected");
-};
-};
-function _55c(_56b){
-var opts=$.data(_56b,"calendar").options;
-$(_56b).find(".calendar-menu").show();
-if($(_56b).find(".calendar-menu-month-inner").is(":empty")){
-$(_56b).find(".calendar-menu-month-inner").empty();
-var t=$("<table class=\"calendar-mtable\"></table>").appendTo($(_56b).find(".calendar-menu-month-inner"));
-var idx=0;
-for(var i=0;i<3;i++){
-var tr=$("<tr></tr>").appendTo(t);
-for(var j=0;j<4;j++){
-$("<td class=\"calendar-nav calendar-menu-month\"></td>").html(opts.months[idx++]).attr("abbr",idx).appendTo(tr);
-}
-}
-}
-var body=$(_56b).find(".calendar-body");
-var sele=$(_56b).find(".calendar-menu");
-var _56c=sele.find(".calendar-menu-year-inner");
-var _56d=sele.find(".calendar-menu-month-inner");
-_56c.find("input").val(opts.year).focus();
-_56d.find("td.calendar-selected").removeClass("calendar-selected");
-_56d.find("td:eq("+(opts.month-1)+")").addClass("calendar-selected");
-sele._outerWidth(body._outerWidth());
-sele._outerHeight(body._outerHeight());
-_56d._outerHeight(sele.height()-_56c._outerHeight());
-};
-function _56e(_56f,year,_570){
-var opts=$.data(_56f,"calendar").options;
-var _571=[];
-var _572=new Date(year,_570,0).getDate();
-for(var i=1;i<=_572;i++){
-_571.push([year,_570,i]);
-}
-var _573=[],week=[];
-var _574=-1;
-while(_571.length>0){
-var date=_571.shift();
-week.push(date);
-var day=new Date(date[0],date[1]-1,date[2]).getDay();
-if(_574==day){
-day=0;
-}else{
-if(day==(opts.firstDay==0?7:opts.firstDay)-1){
-_573.push(week);
-week=[];
-}
-}
-_574=day;
-}
-if(week.length){
-_573.push(week);
-}
-var _575=_573[0];
-if(_575.length<7){
-while(_575.length<7){
-var _576=_575[0];
-var date=new Date(_576[0],_576[1]-1,_576[2]-1);
-_575.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]);
-}
-}else{
-var _576=_575[0];
-var week=[];
-for(var i=1;i<=7;i++){
-var date=new Date(_576[0],_576[1]-1,_576[2]-i);
-week.unshift([date.getFullYear(),date.getMonth()+1,date.getDate()]);
-}
-_573.unshift(week);
-}
-var _577=_573[_573.length-1];
-while(_577.length<7){
-var _578=_577[_577.length-1];
-var date=new Date(_578[0],_578[1]-1,_578[2]+1);
-_577.push([date.getFullYear(),date.getMonth()+1,date.getDate()]);
-}
-if(_573.length<6){
-var _578=_577[_577.length-1];
-var week=[];
-for(var i=1;i<=7;i++){
-var date=new Date(_578[0],_578[1]-1,_578[2]+i);
-week.push([date.getFullYear(),date.getMonth()+1,date.getDate()]);
-}
-_573.push(week);
-}
-return _573;
-};
-function show(_579){
-var opts=$.data(_579,"calendar").options;
-if(opts.current&&!opts.validator.call(_579,opts.current)){
-opts.current=null;
-}
-var now=new Date();
-var _57a=now.getFullYear()+","+(now.getMonth()+1)+","+now.getDate();
-var _57b=opts.current?(opts.current.getFullYear()+","+(opts.current.getMonth()+1)+","+opts.current.getDate()):"";
-var _57c=6-opts.firstDay;
-var _57d=_57c+1;
-if(_57c>=7){
-_57c-=7;
-}
-if(_57d>=7){
-_57d-=7;
-}
-$(_579).find(".calendar-title span").html(opts.months[opts.month-1]+" "+opts.year);
-var body=$(_579).find("div.calendar-body");
-body.children("table").remove();
-var data=["<table class=\"calendar-dtable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">"];
-data.push("<thead><tr>");
-for(var i=opts.firstDay;i<opts.weeks.length;i++){
-data.push("<th>"+opts.weeks[i]+"</th>");
-}
-for(var i=0;i<opts.firstDay;i++){
-data.push("<th>"+opts.weeks[i]+"</th>");
-}
-data.push("</tr></thead>");
-data.push("<tbody>");
-var _57e=_56e(_579,opts.year,opts.month);
-for(var i=0;i<_57e.length;i++){
-var week=_57e[i];
-var cls="";
-if(i==0){
-cls="calendar-first";
-}else{
-if(i==_57e.length-1){
-cls="calendar-last";
-}
-}
-data.push("<tr class=\""+cls+"\">");
-for(var j=0;j<week.length;j++){
-var day=week[j];
-var s=day[0]+","+day[1]+","+day[2];
-var _57f=new Date(day[0],parseInt(day[1])-1,day[2]);
-var d=opts.formatter.call(_579,_57f);
-var css=opts.styler.call(_579,_57f);
-var _580="";
-var _581="";
-if(typeof css=="string"){
-_581=css;
-}else{
-if(css){
-_580=css["class"]||"";
-_581=css["style"]||"";
-}
-}
-var cls="calendar-day";
-if(!(opts.year==day[0]&&opts.month==day[1])){
-cls+=" calendar-other-month";
-}
-if(s==_57a){
-cls+=" calendar-today";
-}
-if(s==_57b){
-cls+=" calendar-selected";
-}
-if(j==_57c){
-cls+=" calendar-saturday";
-}else{
-if(j==_57d){
-cls+=" calendar-sunday";
-}
-}
-if(j==0){
-cls+=" calendar-first";
-}else{
-if(j==week.length-1){
-cls+=" calendar-last";
-}
-}
-cls+=" "+_580;
-if(!opts.validator.call(_579,_57f)){
-cls+=" calendar-disabled";
-}
-data.push("<td class=\""+cls+"\" abbr=\""+s+"\" style=\""+_581+"\">"+d+"</td>");
-}
-data.push("</tr>");
-}
-data.push("</tbody>");
-data.push("</table>");
-body.append(data.join(""));
-body.children("table.calendar-dtable").prependTo(body);
-opts.onNavigate.call(_579,opts.year,opts.month);
-};
-$.fn.calendar=function(_582,_583){
-if(typeof _582=="string"){
-return $.fn.calendar.methods[_582](this,_583);
-}
-_582=_582||{};
-return this.each(function(){
-var _584=$.data(this,"calendar");
-if(_584){
-$.extend(_584.options,_582);
-}else{
-_584=$.data(this,"calendar",{options:$.extend({},$.fn.calendar.defaults,$.fn.calendar.parseOptions(this),_582)});
-init(this);
-}
-if(_584.options.border==false){
-$(this).addClass("calendar-noborder");
-}
-_559(this);
-_55f(this);
-show(this);
-$(this).find("div.calendar-menu").hide();
-});
-};
-$.fn.calendar.methods={options:function(jq){
-return $.data(jq[0],"calendar").options;
-},resize:function(jq,_585){
-return jq.each(function(){
-_559(this,_585);
-});
-},moveTo:function(jq,date){
-return jq.each(function(){
-if(!date){
-var now=new Date();
-$(this).calendar({year:now.getFullYear(),month:now.getMonth()+1,current:date});
-return;
-}
-var opts=$(this).calendar("options");
-if(opts.validator.call(this,date)){
-var _586=opts.current;
-$(this).calendar({year:date.getFullYear(),month:date.getMonth()+1,current:date});
-if(!_586||_586.getTime()!=date.getTime()){
-opts.onChange.call(this,opts.current,_586);
-}
-}
-});
-}};
-$.fn.calendar.parseOptions=function(_587){
-var t=$(_587);
-return $.extend({},$.parser.parseOptions(_587,[{firstDay:"number",fit:"boolean",border:"boolean"}]));
-};
-$.fn.calendar.defaults={width:180,height:180,fit:false,border:true,firstDay:0,weeks:["S","M","T","W","T","F","S"],months:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],year:new Date().getFullYear(),month:new Date().getMonth()+1,current:(function(){
-var d=new Date();
-return new Date(d.getFullYear(),d.getMonth(),d.getDate());
-})(),formatter:function(date){
-return date.getDate();
-},styler:function(date){
-return "";
-},validator:function(date){
-return true;
-},onSelect:function(date){
-},onChange:function(_588,_589){
-},onNavigate:function(year,_58a){
-}};
-})(jQuery);
-(function($){
-function _58b(_58c){
-var _58d=$.data(_58c,"spinner");
-var opts=_58d.options;
-var _58e=$.extend(true,[],opts.icons);
-_58e.push({iconCls:"spinner-arrow",handler:function(e){
-_58f(e);
-}});
-$(_58c).addClass("spinner-f").textbox($.extend({},opts,{icons:_58e}));
-var _590=$(_58c).textbox("getIcon",_58e.length-1);
-_590.append("<a href=\"javascript:void(0)\" class=\"spinner-arrow-up\" tabindex=\"-1\"></a>");
-_590.append("<a href=\"javascript:void(0)\" class=\"spinner-arrow-down\" tabindex=\"-1\"></a>");
-$(_58c).attr("spinnerName",$(_58c).attr("textboxName"));
-_58d.spinner=$(_58c).next();
-_58d.spinner.addClass("spinner");
-};
-function _58f(e){
-var _591=e.data.target;
-var opts=$(_591).spinner("options");
-var up=$(e.target).closest("a.spinner-arrow-up");
-if(up.length){
-opts.spin.call(_591,false);
-opts.onSpinUp.call(_591);
-$(_591).spinner("validate");
-}
-var down=$(e.target).closest("a.spinner-arrow-down");
-if(down.length){
-opts.spin.call(_591,true);
-opts.onSpinDown.call(_591);
-$(_591).spinner("validate");
-}
-};
-$.fn.spinner=function(_592,_593){
-if(typeof _592=="string"){
-var _594=$.fn.spinner.methods[_592];
-if(_594){
-return _594(this,_593);
-}else{
-return this.textbox(_592,_593);
-}
-}
-_592=_592||{};
-return this.each(function(){
-var _595=$.data(this,"spinner");
-if(_595){
-$.extend(_595.options,_592);
-}else{
-_595=$.data(this,"spinner",{options:$.extend({},$.fn.spinner.defaults,$.fn.spinner.parseOptions(this),_592)});
-}
-_58b(this);
-});
-};
-$.fn.spinner.methods={options:function(jq){
-var opts=jq.textbox("options");
-return $.extend($.data(jq[0],"spinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-}};
-$.fn.spinner.parseOptions=function(_596){
-return $.extend({},$.fn.textbox.parseOptions(_596),$.parser.parseOptions(_596,["min","max",{increment:"number"}]));
-};
-$.fn.spinner.defaults=$.extend({},$.fn.textbox.defaults,{min:null,max:null,increment:1,spin:function(down){
-},onSpinUp:function(){
-},onSpinDown:function(){
-}});
-})(jQuery);
-(function($){
-function _597(_598){
-$(_598).addClass("numberspinner-f");
-var opts=$.data(_598,"numberspinner").options;
-$(_598).numberbox(opts).spinner(opts);
-$(_598).numberbox("setValue",opts.value);
-};
-function _599(_59a,down){
-var opts=$.data(_59a,"numberspinner").options;
-var v=parseFloat($(_59a).numberbox("getValue")||opts.value)||0;
-if(down){
-v-=opts.increment;
-}else{
-v+=opts.increment;
-}
-$(_59a).numberbox("setValue",v);
-};
-$.fn.numberspinner=function(_59b,_59c){
-if(typeof _59b=="string"){
-var _59d=$.fn.numberspinner.methods[_59b];
-if(_59d){
-return _59d(this,_59c);
-}else{
-return this.numberbox(_59b,_59c);
-}
-}
-_59b=_59b||{};
-return this.each(function(){
-var _59e=$.data(this,"numberspinner");
-if(_59e){
-$.extend(_59e.options,_59b);
-}else{
-$.data(this,"numberspinner",{options:$.extend({},$.fn.numberspinner.defaults,$.fn.numberspinner.parseOptions(this),_59b)});
-}
-_597(this);
-});
-};
-$.fn.numberspinner.methods={options:function(jq){
-var opts=jq.numberbox("options");
-return $.extend($.data(jq[0],"numberspinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-}};
-$.fn.numberspinner.parseOptions=function(_59f){
-return $.extend({},$.fn.spinner.parseOptions(_59f),$.fn.numberbox.parseOptions(_59f),{});
-};
-$.fn.numberspinner.defaults=$.extend({},$.fn.spinner.defaults,$.fn.numberbox.defaults,{spin:function(down){
-_599(this,down);
-}});
-})(jQuery);
-(function($){
-function _5a0(_5a1){
-var _5a2=0;
-if(typeof _5a1.selectionStart=="number"){
-_5a2=_5a1.selectionStart;
-}else{
-if(_5a1.createTextRange){
-var _5a3=_5a1.createTextRange();
-var s=document.selection.createRange();
-s.setEndPoint("StartToStart",_5a3);
-_5a2=s.text.length;
-}
-}
-return _5a2;
-};
-function _5a4(_5a5,_5a6,end){
-if(_5a5.setSelectionRange){
-_5a5.setSelectionRange(_5a6,end);
-}else{
-if(_5a5.createTextRange){
-var _5a7=_5a5.createTextRange();
-_5a7.collapse();
-_5a7.moveEnd("character",end);
-_5a7.moveStart("character",_5a6);
-_5a7.select();
-}
-}
-};
-function _5a8(_5a9){
-var opts=$.data(_5a9,"timespinner").options;
-$(_5a9).addClass("timespinner-f").spinner(opts);
-var _5aa=opts.formatter.call(_5a9,opts.parser.call(_5a9,opts.value));
-$(_5a9).timespinner("initValue",_5aa);
-};
-function _5ab(e){
-var _5ac=e.data.target;
-var opts=$.data(_5ac,"timespinner").options;
-var _5ad=_5a0(this);
-for(var i=0;i<opts.selections.length;i++){
-var _5ae=opts.selections[i];
-if(_5ad>=_5ae[0]&&_5ad<=_5ae[1]){
-_5af(_5ac,i);
-return;
-}
-}
-};
-function _5af(_5b0,_5b1){
-var opts=$.data(_5b0,"timespinner").options;
-if(_5b1!=undefined){
-opts.highlight=_5b1;
-}
-var _5b2=opts.selections[opts.highlight];
-if(_5b2){
-var tb=$(_5b0).timespinner("textbox");
-_5a4(tb[0],_5b2[0],_5b2[1]);
-tb.focus();
-}
-};
-function _5b3(_5b4,_5b5){
-var opts=$.data(_5b4,"timespinner").options;
-var _5b5=opts.parser.call(_5b4,_5b5);
-var text=opts.formatter.call(_5b4,_5b5);
-$(_5b4).spinner("setValue",text);
-};
-function _5b6(_5b7,down){
-var opts=$.data(_5b7,"timespinner").options;
-var s=$(_5b7).timespinner("getValue");
-var _5b8=opts.selections[opts.highlight];
-var s1=s.substring(0,_5b8[0]);
-var s2=s.substring(_5b8[0],_5b8[1]);
-var s3=s.substring(_5b8[1]);
-var v=s1+((parseInt(s2,10)||0)+opts.increment*(down?-1:1))+s3;
-$(_5b7).timespinner("setValue",v);
-_5af(_5b7);
-};
-$.fn.timespinner=function(_5b9,_5ba){
-if(typeof _5b9=="string"){
-var _5bb=$.fn.timespinner.methods[_5b9];
-if(_5bb){
-return _5bb(this,_5ba);
-}else{
-return this.spinner(_5b9,_5ba);
-}
-}
-_5b9=_5b9||{};
-return this.each(function(){
-var _5bc=$.data(this,"timespinner");
-if(_5bc){
-$.extend(_5bc.options,_5b9);
-}else{
-$.data(this,"timespinner",{options:$.extend({},$.fn.timespinner.defaults,$.fn.timespinner.parseOptions(this),_5b9)});
-}
-_5a8(this);
-});
-};
-$.fn.timespinner.methods={options:function(jq){
-var opts=jq.data("spinner")?jq.spinner("options"):{};
-return $.extend($.data(jq[0],"timespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-},setValue:function(jq,_5bd){
-return jq.each(function(){
-_5b3(this,_5bd);
-});
-},getHours:function(jq){
-var opts=$.data(jq[0],"timespinner").options;
-var vv=jq.timespinner("getValue").split(opts.separator);
-return parseInt(vv[0],10);
-},getMinutes:function(jq){
-var opts=$.data(jq[0],"timespinner").options;
-var vv=jq.timespinner("getValue").split(opts.separator);
-return parseInt(vv[1],10);
-},getSeconds:function(jq){
-var opts=$.data(jq[0],"timespinner").options;
-var vv=jq.timespinner("getValue").split(opts.separator);
-return parseInt(vv[2],10)||0;
-}};
-$.fn.timespinner.parseOptions=function(_5be){
-return $.extend({},$.fn.spinner.parseOptions(_5be),$.parser.parseOptions(_5be,["separator",{showSeconds:"boolean",highlight:"number"}]));
-};
-$.fn.timespinner.defaults=$.extend({},$.fn.spinner.defaults,{inputEvents:$.extend({},$.fn.spinner.defaults.inputEvents,{click:function(e){
-_5ab.call(this,e);
-},blur:function(e){
-var t=$(e.data.target);
-t.timespinner("setValue",t.timespinner("getText"));
-},keydown:function(e){
-if(e.keyCode==13){
-var t=$(e.data.target);
-t.timespinner("setValue",t.timespinner("getText"));
-}
-}}),formatter:function(date){
-if(!date){
-return "";
-}
-var opts=$(this).timespinner("options");
-var tt=[_5bf(date.getHours()),_5bf(date.getMinutes())];
-if(opts.showSeconds){
-tt.push(_5bf(date.getSeconds()));
-}
-return tt.join(opts.separator);
-function _5bf(_5c0){
-return (_5c0<10?"0":"")+_5c0;
-};
-},parser:function(s){
-var opts=$(this).timespinner("options");
-var date=_5c1(s);
-if(date){
-var min=_5c1(opts.min);
-var max=_5c1(opts.max);
-if(min&&min>date){
-date=min;
-}
-if(max&&max<date){
-date=max;
-}
-}
-return date;
-function _5c1(s){
-if(!s){
-return null;
-}
-var tt=s.split(opts.separator);
-return new Date(1900,0,0,parseInt(tt[0],10)||0,parseInt(tt[1],10)||0,parseInt(tt[2],10)||0);
-};
-},selections:[[0,2],[3,5],[6,8]],separator:":",showSeconds:false,highlight:0,spin:function(down){
-_5b6(this,down);
-}});
-})(jQuery);
-(function($){
-function _5c2(_5c3){
-var opts=$.data(_5c3,"datetimespinner").options;
-$(_5c3).addClass("datetimespinner-f").timespinner(opts);
-};
-$.fn.datetimespinner=function(_5c4,_5c5){
-if(typeof _5c4=="string"){
-var _5c6=$.fn.datetimespinner.methods[_5c4];
-if(_5c6){
-return _5c6(this,_5c5);
-}else{
-return this.timespinner(_5c4,_5c5);
-}
-}
-_5c4=_5c4||{};
-return this.each(function(){
-var _5c7=$.data(this,"datetimespinner");
-if(_5c7){
-$.extend(_5c7.options,_5c4);
-}else{
-$.data(this,"datetimespinner",{options:$.extend({},$.fn.datetimespinner.defaults,$.fn.datetimespinner.parseOptions(this),_5c4)});
-}
-_5c2(this);
-});
-};
-$.fn.datetimespinner.methods={options:function(jq){
-var opts=jq.timespinner("options");
-return $.extend($.data(jq[0],"datetimespinner").options,{width:opts.width,value:opts.value,originalValue:opts.originalValue,disabled:opts.disabled,readonly:opts.readonly});
-}};
-$.fn.datetimespinner.parseOptions=function(_5c8){
-return $.extend({},$.fn.timespinner.parseOptions(_5c8),$.parser.parseOptions(_5c8,[]));
-};
-$.fn.datetimespinner.defaults=$.extend({},$.fn.timespinner.defaults,{formatter:function(date){
-if(!date){
-return "";
-}
-return $.fn.datebox.defaults.formatter.call(this,date)+" "+$.fn.timespinner.defaults.formatter.call(this,date);
-},parser:function(s){
-s=$.trim(s);
-if(!s){
-return null;
-}
-var dt=s.split(" ");
-var _5c9=$.fn.datebox.defaults.parser.call(this,dt[0]);
-if(dt.length<2){
-return _5c9;
-}
-var _5ca=$.fn.timespinner.defaults.parser.call(this,dt[1]);
-return new Date(_5c9.getFullYear(),_5c9.getMonth(),_5c9.getDate(),_5ca.getHours(),_5ca.getMinutes(),_5ca.getSeconds());
-},selections:[[0,2],[3,5],[6,10],[11,13],[14,16],[17,19]]});
-})(jQuery);
-(function($){
-var _5cb=0;
-function _5cc(a,o){
-for(var i=0,len=a.length;i<len;i++){
-if(a[i]==o){
-return i;
-}
-}
-return -1;
-};
-function _5cd(a,o,id){
-if(typeof o=="string"){
-for(var i=0,len=a.length;i<len;i++){
-if(a[i][o]==id){
-a.splice(i,1);
-return;
-}
-}
-}else{
-var _5ce=_5cc(a,o);
-if(_5ce!=-1){
-a.splice(_5ce,1);
-}
-}
-};
-function _5cf(a,o,r){
-for(var i=0,len=a.length;i<len;i++){
-if(a[i][o]==r[o]){
-return;
-}
-}
-a.push(r);
-};
-function _5d0(_5d1,aa){
-return $.data(_5d1,"treegrid")?aa.slice(1):aa;
-};
-function _5d2(_5d3){
-var _5d4=$.data(_5d3,"datagrid");
-var opts=_5d4.options;
-var _5d5=_5d4.panel;
-var dc=_5d4.dc;
-var ss=null;
-if(opts.sharedStyleSheet){
-ss=typeof opts.sharedStyleSheet=="boolean"?"head":opts.sharedStyleSheet;
-}else{
-ss=_5d5.closest("div.datagrid-view");
-if(!ss.length){
-ss=dc.view;
-}
-}
-var cc=$(ss);
-var _5d6=$.data(cc[0],"ss");
-if(!_5d6){
-_5d6=$.data(cc[0],"ss",{cache:{},dirty:[]});
-}
-return {add:function(_5d7){
-var ss=["<style type=\"text/css\" easyui=\"true\">"];
-for(var i=0;i<_5d7.length;i++){
-_5d6.cache[_5d7[i][0]]={width:_5d7[i][1]};
-}
-var _5d8=0;
-for(var s in _5d6.cache){
-var item=_5d6.cache[s];
-item.index=_5d8++;
-ss.push(s+"{width:"+item.width+"}");
-}
-ss.push("</style>");
-$(ss.join("\n")).appendTo(cc);
-cc.children("style[easyui]:not(:last)").remove();
-},getRule:function(_5d9){
-var _5da=cc.children("style[easyui]:last")[0];
-var _5db=_5da.styleSheet?_5da.styleSheet:(_5da.sheet||document.styleSheets[document.styleSheets.length-1]);
-var _5dc=_5db.cssRules||_5db.rules;
-return _5dc[_5d9];
-},set:function(_5dd,_5de){
-var item=_5d6.cache[_5dd];
-if(item){
-item.width=_5de;
-var rule=this.getRule(item.index);
-if(rule){
-rule.style["width"]=_5de;
-}
-}
-},remove:function(_5df){
-var tmp=[];
-for(var s in _5d6.cache){
-if(s.indexOf(_5df)==-1){
-tmp.push([s,_5d6.cache[s].width]);
-}
-}
-_5d6.cache={};
-this.add(tmp);
-},dirty:function(_5e0){
-if(_5e0){
-_5d6.dirty.push(_5e0);
-}
-},clean:function(){
-for(var i=0;i<_5d6.dirty.length;i++){
-this.remove(_5d6.dirty[i]);
-}
-_5d6.dirty=[];
-}};
-};
-function _5e1(_5e2,_5e3){
-var _5e4=$.data(_5e2,"datagrid");
-var opts=_5e4.options;
-var _5e5=_5e4.panel;
-if(_5e3){
-$.extend(opts,_5e3);
-}
-if(opts.fit==true){
-var p=_5e5.panel("panel").parent();
-opts.width=p.width();
-opts.height=p.height();
-}
-_5e5.panel("resize",opts);
-};
-function _5e6(_5e7){
-var _5e8=$.data(_5e7,"datagrid");
-var opts=_5e8.options;
-var dc=_5e8.dc;
-var wrap=_5e8.panel;
-var _5e9=wrap.width();
-var _5ea=wrap.height();
-var view=dc.view;
-var _5eb=dc.view1;
-var _5ec=dc.view2;
-var _5ed=_5eb.children("div.datagrid-header");
-var _5ee=_5ec.children("div.datagrid-header");
-var _5ef=_5ed.find("table");
-var _5f0=_5ee.find("table");
-view.width(_5e9);
-var _5f1=_5ed.children("div.datagrid-header-inner").show();
-_5eb.width(_5f1.find("table").width());
-if(!opts.showHeader){
-_5f1.hide();
-}
-_5ec.width(_5e9-_5eb._outerWidth());
-_5eb.children()._outerWidth(_5eb.width());
-_5ec.children()._outerWidth(_5ec.width());
-var all=_5ed.add(_5ee).add(_5ef).add(_5f0);
-all.css("height","");
-var hh=Math.max(_5ef.height(),_5f0.height());
-all._outerHeight(hh);
-dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({position:"absolute",top:dc.header2._outerHeight()});
-var _5f2=dc.body2.children("table.datagrid-btable-frozen")._outerHeight();
-var _5f3=_5f2+_5ee._outerHeight()+_5ec.children(".datagrid-footer")._outerHeight();
-wrap.children(":not(.datagrid-view,.datagrid-mask,.datagrid-mask-msg)").each(function(){
-_5f3+=$(this)._outerHeight();
-});
-var _5f4=wrap.outerHeight()-wrap.height();
-var _5f5=wrap._size("minHeight")||"";
-var _5f6=wrap._size("maxHeight")||"";
-_5eb.add(_5ec).children("div.datagrid-body").css({marginTop:_5f2,height:(isNaN(parseInt(opts.height))?"":(_5ea-_5f3)),minHeight:(_5f5?_5f5-_5f4-_5f3:""),maxHeight:(_5f6?_5f6-_5f4-_5f3:"")});
-view.height(_5ec.height());
-};
-function _5f7(_5f8,_5f9,_5fa){
-var rows=$.data(_5f8,"datagrid").data.rows;
-var opts=$.data(_5f8,"datagrid").options;
-var dc=$.data(_5f8,"datagrid").dc;
-if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight||_5fa)){
-if(_5f9!=undefined){
-var tr1=opts.finder.getTr(_5f8,_5f9,"body",1);
-var tr2=opts.finder.getTr(_5f8,_5f9,"body",2);
-_5fb(tr1,tr2);
-}else{
-var tr1=opts.finder.getTr(_5f8,0,"allbody",1);
-var tr2=opts.finder.getTr(_5f8,0,"allbody",2);
-_5fb(tr1,tr2);
-if(opts.showFooter){
-var tr1=opts.finder.getTr(_5f8,0,"allfooter",1);
-var tr2=opts.finder.getTr(_5f8,0,"allfooter",2);
-_5fb(tr1,tr2);
-}
-}
-}
-_5e6(_5f8);
-if(opts.height=="auto"){
-var _5fc=dc.body1.parent();
-var _5fd=dc.body2;
-var _5fe=_5ff(_5fd);
-var _600=_5fe.height;
-if(_5fe.width>_5fd.width()){
-_600+=18;
-}
-_600-=parseInt(_5fd.css("marginTop"))||0;
-_5fc.height(_600);
-_5fd.height(_600);
-dc.view.height(dc.view2.height());
-}
-dc.body2.triggerHandler("scroll");
-function _5fb(trs1,trs2){
-for(var i=0;i<trs2.length;i++){
-var tr1=$(trs1[i]);
-var tr2=$(trs2[i]);
-tr1.css("height","");
-tr2.css("height","");
-var _601=Math.max(tr1.height(),tr2.height());
-tr1.css("height",_601);
-tr2.css("height",_601);
-}
-};
-function _5ff(cc){
-var _602=0;
-var _603=0;
-$(cc).children().each(function(){
-var c=$(this);
-if(c.is(":visible")){
-_603+=c._outerHeight();
-if(_602<c._outerWidth()){
-_602=c._outerWidth();
-}
-}
-});
-return {width:_602,height:_603};
-};
-};
-function _604(_605,_606){
-var _607=$.data(_605,"datagrid");
-var opts=_607.options;
-var dc=_607.dc;
-if(!dc.body2.children("table.datagrid-btable-frozen").length){
-dc.body1.add(dc.body2).prepend("<table class=\"datagrid-btable datagrid-btable-frozen\" cellspacing=\"0\" cellpadding=\"0\"></table>");
-}
-_608(true);
-_608(false);
-_5e6(_605);
-function _608(_609){
-var _60a=_609?1:2;
-var tr=opts.finder.getTr(_605,_606,"body",_60a);
-(_609?dc.body1:dc.body2).children("table.datagrid-btable-frozen").append(tr);
-};
-};
-function _60b(_60c,_60d){
-function _60e(){
-var _60f=[];
-var _610=[];
-$(_60c).children("thead").each(function(){
-var opt=$.parser.parseOptions(this,[{frozen:"boolean"}]);
-$(this).find("tr").each(function(){
-var cols=[];
-$(this).find("th").each(function(){
-var th=$(this);
-var col=$.extend({},$.parser.parseOptions(this,["field","align","halign","order","width",{sortable:"boolean",checkbox:"boolean",resizable:"boolean",fixed:"boolean"},{rowspan:"number",colspan:"number"}]),{title:(th.html()||undefined),hidden:(th.attr("hidden")?true:undefined),formatter:(th.attr("formatter")?eval(th.attr("formatter")):undefined),styler:(th.attr("styler")?eval(th.attr("styler")):undefined),sorter:(th.attr("sorter")?eval(th.attr("sorter")):undefined)});
-if(col.width&&String(col.width).indexOf("%")==-1){
-col.width=parseInt(col.width);
-}
-if(th.attr("editor")){
-var s=$.trim(th.attr("editor"));
-if(s.substr(0,1)=="{"){
-col.editor=eval("("+s+")");
-}else{
-col.editor=s;
-}
-}
-cols.push(col);
-});
-opt.frozen?_60f.push(cols):_610.push(cols);
-});
-});
-return [_60f,_610];
-};
-var _611=$("<div class=\"datagrid-wrap\">"+"<div class=\"datagrid-view\">"+"<div class=\"datagrid-view1\">"+"<div class=\"datagrid-header\">"+"<div class=\"datagrid-header-inner\"></div>"+"</div>"+"<div class=\"datagrid-body\">"+"<div class=\"datagrid-body-inner\"></div>"+"</div>"+"<div class=\"datagrid-footer\">"+"<div class=\"datagrid-footer-inner\"></div>"+"</div>"+"</div>"+"<div class=\"datagrid-view2\">"+"<div class=\"datagrid-header\">"+"<div class=\"datagrid-header-inner\"></div>"+"</div>"+"<div class=\"datagrid-body\"></div>"+"<div class=\"datagrid-footer\">"+"<div class=\"datagrid-footer-inner\"></div>"+"</div>"+"</div>"+"</div>"+"</div>").insertAfter(_60c);
-_611.panel({doSize:false,cls:"datagrid"});
-$(_60c).addClass("datagrid-f").hide().appendTo(_611.children("div.datagrid-view"));
-var cc=_60e();
-var view=_611.children("div.datagrid-view");
-var _612=view.children("div.datagrid-view1");
-var _613=view.children("div.datagrid-view2");
-return {panel:_611,frozenColumns:cc[0],columns:cc[1],dc:{view:view,view1:_612,view2:_613,header1:_612.children("div.datagrid-header").children("div.datagrid-header-inner"),header2:_613.children("div.datagrid-header").children("div.datagrid-header-inner"),body1:_612.children("div.datagrid-body").children("div.datagrid-body-inner"),body2:_613.children("div.datagrid-body"),footer1:_612.children("div.datagrid-footer").children("div.datagrid-footer-inner"),footer2:_613.children("div.datagrid-footer").children("div.datagrid-footer-inner")}};
-};
-function _614(_615){
-var _616=$.data(_615,"datagrid");
-var opts=_616.options;
-var dc=_616.dc;
-var _617=_616.panel;
-_616.ss=$(_615).datagrid("createStyleSheet");
-_617.panel($.extend({},opts,{id:null,doSize:false,onResize:function(_618,_619){
-if($.data(_615,"datagrid")){
-_5e6(_615);
-$(_615).datagrid("fitColumns");
-opts.onResize.call(_617,_618,_619);
-}
-},onExpand:function(){
-if($.data(_615,"datagrid")){
-$(_615).datagrid("fixRowHeight").datagrid("fitColumns");
-opts.onExpand.call(_617);
-}
-}}));
-_616.rowIdPrefix="datagrid-row-r"+(++_5cb);
-_616.cellClassPrefix="datagrid-cell-c"+_5cb;
-_61a(dc.header1,opts.frozenColumns,true);
-_61a(dc.header2,opts.columns,false);
-_61b();
-dc.header1.add(dc.header2).css("display",opts.showHeader?"block":"none");
-dc.footer1.add(dc.footer2).css("display",opts.showFooter?"block":"none");
-if(opts.toolbar){
-if($.isArray(opts.toolbar)){
-$("div.datagrid-toolbar",_617).remove();
-var tb=$("<div class=\"datagrid-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").prependTo(_617);
-var tr=tb.find("tr");
-for(var i=0;i<opts.toolbar.length;i++){
-var btn=opts.toolbar[i];
-if(btn=="-"){
-$("<td><div class=\"datagrid-btn-separator\"></div></td>").appendTo(tr);
-}else{
-var td=$("<td></td>").appendTo(tr);
-var tool=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
-tool[0].onclick=eval(btn.handler||function(){
-});
-tool.linkbutton($.extend({},btn,{plain:true}));
-}
-}
-}else{
-$(opts.toolbar).addClass("datagrid-toolbar").prependTo(_617);
-$(opts.toolbar).show();
-}
-}else{
-$("div.datagrid-toolbar",_617).remove();
-}
-$("div.datagrid-pager",_617).remove();
-if(opts.pagination){
-var _61c=$("<div class=\"datagrid-pager\"></div>");
-if(opts.pagePosition=="bottom"){
-_61c.appendTo(_617);
-}else{
-if(opts.pagePosition=="top"){
-_61c.addClass("datagrid-pager-top").prependTo(_617);
-}else{
-var ptop=$("<div class=\"datagrid-pager datagrid-pager-top\"></div>").prependTo(_617);
-_61c.appendTo(_617);
-_61c=_61c.add(ptop);
-}
-}
-_61c.pagination({total:(opts.pageNumber*opts.pageSize),pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_61d,_61e){
-opts.pageNumber=_61d||1;
-opts.pageSize=_61e;
-_61c.pagination("refresh",{pageNumber:_61d,pageSize:_61e});
-_65a(_615);
-}});
-opts.pageSize=_61c.pagination("options").pageSize;
-}
-function _61a(_61f,_620,_621){
-if(!_620){
-return;
-}
-$(_61f).show();
-$(_61f).empty();
-var _622=[];
-var _623=[];
-if(opts.sortName){
-_622=opts.sortName.split(",");
-_623=opts.sortOrder.split(",");
-}
-var t=$("<table class=\"datagrid-htable\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody></tbody></table>").appendTo(_61f);
-for(var i=0;i<_620.length;i++){
-var tr=$("<tr class=\"datagrid-header-row\"></tr>").appendTo($("tbody",t));
-var cols=_620[i];
-for(var j=0;j<cols.length;j++){
-var col=cols[j];
-var attr="";
-if(col.rowspan){
-attr+="rowspan=\""+col.rowspan+"\" ";
-}
-if(col.colspan){
-attr+="colspan=\""+col.colspan+"\" ";
-}
-var td=$("<td "+attr+"></td>").appendTo(tr);
-if(col.checkbox){
-td.attr("field",col.field);
-$("<div class=\"datagrid-header-check\"></div>").html("<input type=\"checkbox\"/>").appendTo(td);
-}else{
-if(col.field){
-td.attr("field",col.field);
-td.append("<div class=\"datagrid-cell\"><span></span><span class=\"datagrid-sort-icon\">&nbsp;</span></div>");
-td.find("span:first").html(col.title);
-var cell=td.find("div.datagrid-cell");
-var pos=_5cc(_622,col.field);
-if(pos>=0){
-cell.addClass("datagrid-sort-"+_623[pos]);
-}
-if(col.sortable){
-cell.addClass("datagrid-sort");
-}
-if(col.resizable==false){
-cell.attr("resizable","false");
-}
-if(col.width){
-var _624=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize);
-cell._outerWidth(_624-1);
-col.boxWidth=parseInt(cell[0].style.width);
-col.deltaWidth=_624-col.boxWidth;
-}else{
-col.auto=true;
-}
-cell.css("text-align",(col.halign||col.align||""));
-col.cellClass=_616.cellClassPrefix+"-"+col.field.replace(/[\.|\s]/g,"-");
-cell.addClass(col.cellClass).css("width","");
-}else{
-$("<div class=\"datagrid-cell-group\"></div>").html(col.title).appendTo(td);
-}
-}
-if(col.hidden){
-td.hide();
-}
-}
-}
-if(_621&&opts.rownumbers){
-var td=$("<td rowspan=\""+opts.frozenColumns.length+"\"><div class=\"datagrid-header-rownumber\"></div></td>");
-if($("tr",t).length==0){
-td.wrap("<tr class=\"datagrid-header-row\"></tr>").parent().appendTo($("tbody",t));
-}else{
-td.prependTo($("tr:first",t));
-}
-}
-};
-function _61b(){
-var _625=[];
-var _626=_627(_615,true).concat(_627(_615));
-for(var i=0;i<_626.length;i++){
-var col=_628(_615,_626[i]);
-if(col&&!col.checkbox){
-_625.push(["."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto"]);
-}
-}
-_616.ss.add(_625);
-_616.ss.dirty(_616.cellSelectorPrefix);
-_616.cellSelectorPrefix="."+_616.cellClassPrefix;
-};
-};
-function _629(_62a){
-var _62b=$.data(_62a,"datagrid");
-var _62c=_62b.panel;
-var opts=_62b.options;
-var dc=_62b.dc;
-var _62d=dc.header1.add(dc.header2);
-_62d.find("input[type=checkbox]").unbind(".datagrid").bind("click.datagrid",function(e){
-if(opts.singleSelect&&opts.selectOnCheck){
-return false;
-}
-if($(this).is(":checked")){
-_6c4(_62a);
-}else{
-_6ca(_62a);
-}
-e.stopPropagation();
-});
-var _62e=_62d.find("div.datagrid-cell");
-_62e.closest("td").unbind(".datagrid").bind("mouseenter.datagrid",function(){
-if(_62b.resizing){
-return;
-}
-$(this).addClass("datagrid-header-over");
-}).bind("mouseleave.datagrid",function(){
-$(this).removeClass("datagrid-header-over");
-}).bind("contextmenu.datagrid",function(e){
-var _62f=$(this).attr("field");
-opts.onHeaderContextMenu.call(_62a,e,_62f);
-});
-_62e.unbind(".datagrid").bind("click.datagrid",function(e){
-var p1=$(this).offset().left+5;
-var p2=$(this).offset().left+$(this)._outerWidth()-5;
-if(e.pageX<p2&&e.pageX>p1){
-_64f(_62a,$(this).parent().attr("field"));
-}
-}).bind("dblclick.datagrid",function(e){
-var p1=$(this).offset().left+5;
-var p2=$(this).offset().left+$(this)._outerWidth()-5;
-var cond=opts.resizeHandle=="right"?(e.pageX>p2):(opts.resizeHandle=="left"?(e.pageX<p1):(e.pageX<p1||e.pageX>p2));
-if(cond){
-var _630=$(this).parent().attr("field");
-var col=_628(_62a,_630);
-if(col.resizable==false){
-return;
-}
-$(_62a).datagrid("autoSizeColumn",_630);
-col.auto=false;
-}
-});
-var _631=opts.resizeHandle=="right"?"e":(opts.resizeHandle=="left"?"w":"e,w");
-_62e.each(function(){
-$(this).resizable({handles:_631,disabled:($(this).attr("resizable")?$(this).attr("resizable")=="false":false),minWidth:25,onStartResize:function(e){
-_62b.resizing=true;
-_62d.css("cursor",$("body").css("cursor"));
-if(!_62b.proxy){
-_62b.proxy=$("<div class=\"datagrid-resize-proxy\"></div>").appendTo(dc.view);
-}
-_62b.proxy.css({left:e.pageX-$(_62c).offset().left-1,display:"none"});
-setTimeout(function(){
-if(_62b.proxy){
-_62b.proxy.show();
-}
-},500);
-},onResize:function(e){
-_62b.proxy.css({left:e.pageX-$(_62c).offset().left-1,display:"block"});
-return false;
-},onStopResize:function(e){
-_62d.css("cursor","");
-$(this).css("height","");
-var _632=$(this).parent().attr("field");
-var col=_628(_62a,_632);
-col.width=$(this)._outerWidth();
-col.boxWidth=col.width-col.deltaWidth;
-col.auto=undefined;
-$(this).css("width","");
-$(_62a).datagrid("fixColumnSize",_632);
-_62b.proxy.remove();
-_62b.proxy=null;
-if($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")){
-_5e6(_62a);
-}
-$(_62a).datagrid("fitColumns");
-opts.onResizeColumn.call(_62a,_632,col.width);
-setTimeout(function(){
-_62b.resizing=false;
-},0);
-}});
-});
-var bb=dc.body1.add(dc.body2);
-bb.unbind();
-for(var _633 in opts.rowEvents){
-bb.bind(_633,opts.rowEvents[_633]);
-}
-dc.body1.bind("mousewheel DOMMouseScroll",function(e){
-var e1=e.originalEvent||window.event;
-var _634=e1.wheelDelta||e1.detail*(-1);
-var dg=$(e.target).closest("div.datagrid-view").children(".datagrid-f");
-var dc=dg.data("datagrid").dc;
-dc.body2.scrollTop(dc.body2.scrollTop()-_634);
-});
-dc.body2.bind("scroll",function(){
-var b1=dc.view1.children("div.datagrid-body");
-b1.scrollTop($(this).scrollTop());
-var c1=dc.body1.children(":first");
-var c2=dc.body2.children(":first");
-if(c1.length&&c2.length){
-var top1=c1.offset().top;
-var top2=c2.offset().top;
-if(top1!=top2){
-b1.scrollTop(b1.scrollTop()+top1-top2);
-}
-}
-dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft());
-dc.body2.children("table.datagrid-btable-frozen").css("left",-$(this)._scrollLeft());
-});
-};
-function _635(_636){
-return function(e){
-var tr=_637(e.target);
-if(!tr){
-return;
-}
-var _638=_639(tr);
-if($.data(_638,"datagrid").resizing){
-return;
-}
-var _63a=_63b(tr);
-if(_636){
-_63c(_638,_63a);
-}else{
-var opts=$.data(_638,"datagrid").options;
-opts.finder.getTr(_638,_63a).removeClass("datagrid-row-over");
-}
-};
-};
-function _63d(e){
-var tr=_637(e.target);
-if(!tr){
-return;
-}
-var _63e=_639(tr);
-var opts=$.data(_63e,"datagrid").options;
-var _63f=_63b(tr);
-var tt=$(e.target);
-if(tt.parent().hasClass("datagrid-cell-check")){
-if(opts.singleSelect&&opts.selectOnCheck){
-tt._propAttr("checked",!tt.is(":checked"));
-_640(_63e,_63f);
-}else{
-if(tt.is(":checked")){
-tt._propAttr("checked",false);
-_640(_63e,_63f);
-}else{
-tt._propAttr("checked",true);
-_641(_63e,_63f);
-}
-}
-}else{
-var row=opts.finder.getRow(_63e,_63f);
-var td=tt.closest("td[field]",tr);
-if(td.length){
-var _642=td.attr("field");
-opts.onClickCell.call(_63e,_63f,_642,row[_642]);
-}
-if(opts.singleSelect==true){
-_643(_63e,_63f);
-}else{
-if(opts.ctrlSelect){
-if(e.ctrlKey){
-if(tr.hasClass("datagrid-row-selected")){
-_644(_63e,_63f);
-}else{
-_643(_63e,_63f);
-}
-}else{
-if(e.shiftKey){
-$(_63e).datagrid("clearSelections");
-var _645=Math.min(opts.lastSelectedIndex||0,_63f);
-var _646=Math.max(opts.lastSelectedIndex||0,_63f);
-for(var i=_645;i<=_646;i++){
-_643(_63e,i);
-}
-}else{
-$(_63e).datagrid("clearSelections");
-_643(_63e,_63f);
-opts.lastSelectedIndex=_63f;
-}
-}
-}else{
-if(tr.hasClass("datagrid-row-selected")){
-_644(_63e,_63f);
-}else{
-_643(_63e,_63f);
-}
-}
-}
-opts.onClickRow.apply(_63e,_5d0(_63e,[_63f,row]));
-}
-};
-function _647(e){
-var tr=_637(e.target);
-if(!tr){
-return;
-}
-var _648=_639(tr);
-var opts=$.data(_648,"datagrid").options;
-var _649=_63b(tr);
-var row=opts.finder.getRow(_648,_649);
-var td=$(e.target).closest("td[field]",tr);
-if(td.length){
-var _64a=td.attr("field");
-opts.onDblClickCell.call(_648,_649,_64a,row[_64a]);
-}
-opts.onDblClickRow.apply(_648,_5d0(_648,[_649,row]));
-};
-function _64b(e){
-var tr=_637(e.target);
-if(tr){
-var _64c=_639(tr);
-var opts=$.data(_64c,"datagrid").options;
-var _64d=_63b(tr);
-var row=opts.finder.getRow(_64c,_64d);
-opts.onRowContextMenu.call(_64c,e,_64d,row);
-}else{
-var body=_637(e.target,".datagrid-body");
-if(body){
-var _64c=_639(body);
-var opts=$.data(_64c,"datagrid").options;
-opts.onRowContextMenu.call(_64c,e,-1,null);
-}
-}
-};
-function _639(t){
-return $(t).closest("div.datagrid-view").children(".datagrid-f")[0];
-};
-function _637(t,_64e){
-var tr=$(t).closest(_64e||"tr.datagrid-row");
-if(tr.length&&tr.parent().length){
-return tr;
-}else{
-return undefined;
-}
-};
-function _63b(tr){
-if(tr.attr("datagrid-row-index")){
-return parseInt(tr.attr("datagrid-row-index"));
-}else{
-return tr.attr("node-id");
-}
-};
-function _64f(_650,_651){
-var _652=$.data(_650,"datagrid");
-var opts=_652.options;
-_651=_651||{};
-var _653={sortName:opts.sortName,sortOrder:opts.sortOrder};
-if(typeof _651=="object"){
-$.extend(_653,_651);
-}
-var _654=[];
-var _655=[];
-if(_653.sortName){
-_654=_653.sortName.split(",");
-_655=_653.sortOrder.split(",");
-}
-if(typeof _651=="string"){
-var _656=_651;
-var col=_628(_650,_656);
-if(!col.sortable||_652.resizing){
-return;
-}
-var _657=col.order||"asc";
-var pos=_5cc(_654,_656);
-if(pos>=0){
-var _658=_655[pos]=="asc"?"desc":"asc";
-if(opts.multiSort&&_658==_657){
-_654.splice(pos,1);
-_655.splice(pos,1);
-}else{
-_655[pos]=_658;
-}
-}else{
-if(opts.multiSort){
-_654.push(_656);
-_655.push(_657);
-}else{
-_654=[_656];
-_655=[_657];
-}
-}
-_653.sortName=_654.join(",");
-_653.sortOrder=_655.join(",");
-}
-if(opts.onBeforeSortColumn.call(_650,_653.sortName,_653.sortOrder)==false){
-return;
-}
-$.extend(opts,_653);
-var dc=_652.dc;
-var _659=dc.header1.add(dc.header2);
-_659.find("div.datagrid-cell").removeClass("datagrid-sort-asc datagrid-sort-desc");
-for(var i=0;i<_654.length;i++){
-var col=_628(_650,_654[i]);
-_659.find("div."+col.cellClass).addClass("datagrid-sort-"+_655[i]);
-}
-if(opts.remoteSort){
-_65a(_650);
-}else{
-_65b(_650,$(_650).datagrid("getData"));
-}
-opts.onSortColumn.call(_650,opts.sortName,opts.sortOrder);
-};
-function _65c(_65d){
-var _65e=$.data(_65d,"datagrid");
-var opts=_65e.options;
-var dc=_65e.dc;
-var _65f=dc.view2.children("div.datagrid-header");
-dc.body2.css("overflow-x","");
-_660();
-_661();
-_662();
-_660(true);
-if(_65f.width()>=_65f.find("table").width()){
-dc.body2.css("overflow-x","hidden");
-}
-function _662(){
-if(!opts.fitColumns){
-return;
-}
-if(!_65e.leftWidth){
-_65e.leftWidth=0;
-}
-var _663=0;
-var cc=[];
-var _664=_627(_65d,false);
-for(var i=0;i<_664.length;i++){
-var col=_628(_65d,_664[i]);
-if(_665(col)){
-_663+=col.width;
-cc.push({field:col.field,col:col,addingWidth:0});
-}
-}
-if(!_663){
-return;
-}
-cc[cc.length-1].addingWidth-=_65e.leftWidth;
-var _666=_65f.children("div.datagrid-header-inner").show();
-var _667=_65f.width()-_65f.find("table").width()-opts.scrollbarSize+_65e.leftWidth;
-var rate=_667/_663;
-if(!opts.showHeader){
-_666.hide();
-}
-for(var i=0;i<cc.length;i++){
-var c=cc[i];
-var _668=parseInt(c.col.width*rate);
-c.addingWidth+=_668;
-_667-=_668;
-}
-cc[cc.length-1].addingWidth+=_667;
-for(var i=0;i<cc.length;i++){
-var c=cc[i];
-if(c.col.boxWidth+c.addingWidth>0){
-c.col.boxWidth+=c.addingWidth;
-c.col.width+=c.addingWidth;
-}
-}
-_65e.leftWidth=_667;
-$(_65d).datagrid("fixColumnSize");
-};
-function _661(){
-var _669=false;
-var _66a=_627(_65d,true).concat(_627(_65d,false));
-$.map(_66a,function(_66b){
-var col=_628(_65d,_66b);
-if(String(col.width||"").indexOf("%")>=0){
-var _66c=$.parser.parseValue("width",col.width,dc.view,opts.scrollbarSize)-col.deltaWidth;
-if(_66c>0){
-col.boxWidth=_66c;
-_669=true;
-}
-}
-});
-if(_669){
-$(_65d).datagrid("fixColumnSize");
-}
-};
-function _660(fit){
-var _66d=dc.header1.add(dc.header2).find(".datagrid-cell-group");
-if(_66d.length){
-_66d.each(function(){
-$(this)._outerWidth(fit?$(this).parent().width():10);
-});
-if(fit){
-_5e6(_65d);
-}
-}
-};
-function _665(col){
-if(String(col.width||"").indexOf("%")>=0){
-return false;
-}
-if(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){
-return true;
-}
-};
-};
-function _66e(_66f,_670){
-var _671=$.data(_66f,"datagrid");
-var opts=_671.options;
-var dc=_671.dc;
-var tmp=$("<div class=\"datagrid-cell\" style=\"position:absolute;left:-9999px\"></div>").appendTo("body");
-if(_670){
-_5e1(_670);
-$(_66f).datagrid("fitColumns");
-}else{
-var _672=false;
-var _673=_627(_66f,true).concat(_627(_66f,false));
-for(var i=0;i<_673.length;i++){
-var _670=_673[i];
-var col=_628(_66f,_670);
-if(col.auto){
-_5e1(_670);
-_672=true;
-}
-}
-if(_672){
-$(_66f).datagrid("fitColumns");
-}
-}
-tmp.remove();
-function _5e1(_674){
-var _675=dc.view.find("div.datagrid-header td[field=\""+_674+"\"] div.datagrid-cell");
-_675.css("width","");
-var col=$(_66f).datagrid("getColumnOption",_674);
-col.width=undefined;
-col.boxWidth=undefined;
-col.auto=true;
-$(_66f).datagrid("fixColumnSize",_674);
-var _676=Math.max(_677("header"),_677("allbody"),_677("allfooter"))+1;
-_675._outerWidth(_676-1);
-col.width=_676;
-col.boxWidth=parseInt(_675[0].style.width);
-col.deltaWidth=_676-col.boxWidth;
-_675.css("width","");
-$(_66f).datagrid("fixColumnSize",_674);
-opts.onResizeColumn.call(_66f,_674,col.width);
-function _677(type){
-var _678=0;
-if(type=="header"){
-_678=_679(_675);
-}else{
-opts.finder.getTr(_66f,0,type).find("td[field=\""+_674+"\"] div.datagrid-cell").each(function(){
-var w=_679($(this));
-if(_678<w){
-_678=w;
-}
-});
-}
-return _678;
-function _679(cell){
-return cell.is(":visible")?cell._outerWidth():tmp.html(cell.html())._outerWidth();
-};
-};
-};
-};
-function _67a(_67b,_67c){
-var _67d=$.data(_67b,"datagrid");
-var opts=_67d.options;
-var dc=_67d.dc;
-var _67e=dc.view.find("table.datagrid-btable,table.datagrid-ftable");
-_67e.css("table-layout","fixed");
-if(_67c){
-fix(_67c);
-}else{
-var ff=_627(_67b,true).concat(_627(_67b,false));
-for(var i=0;i<ff.length;i++){
-fix(ff[i]);
-}
-}
-_67e.css("table-layout","");
-_67f(_67b);
-_5f7(_67b);
-_680(_67b);
-function fix(_681){
-var col=_628(_67b,_681);
-if(col.cellClass){
-_67d.ss.set("."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto");
-}
-};
-};
-function _67f(_682){
-var dc=$.data(_682,"datagrid").dc;
-dc.view.find("td.datagrid-td-merged").each(function(){
-var td=$(this);
-var _683=td.attr("colspan")||1;
-var col=_628(_682,td.attr("field"));
-var _684=col.boxWidth+col.deltaWidth-1;
-for(var i=1;i<_683;i++){
-td=td.next();
-col=_628(_682,td.attr("field"));
-_684+=col.boxWidth+col.deltaWidth;
-}
-$(this).children("div.datagrid-cell")._outerWidth(_684);
-});
-};
-function _680(_685){
-var dc=$.data(_685,"datagrid").dc;
-dc.view.find("div.datagrid-editable").each(function(){
-var cell=$(this);
-var _686=cell.parent().attr("field");
-var col=$(_685).datagrid("getColumnOption",_686);
-cell._outerWidth(col.boxWidth+col.deltaWidth-1);
-var ed=$.data(this,"datagrid.editor");
-if(ed.actions.resize){
-ed.actions.resize(ed.target,cell.width());
-}
-});
-};
-function _628(_687,_688){
-function find(_689){
-if(_689){
-for(var i=0;i<_689.length;i++){
-var cc=_689[i];
-for(var j=0;j<cc.length;j++){
-var c=cc[j];
-if(c.field==_688){
-return c;
-}
-}
-}
-}
-return null;
-};
-var opts=$.data(_687,"datagrid").options;
-var col=find(opts.columns);
-if(!col){
-col=find(opts.frozenColumns);
-}
-return col;
-};
-function _627(_68a,_68b){
-var opts=$.data(_68a,"datagrid").options;
-var _68c=(_68b==true)?(opts.frozenColumns||[[]]):opts.columns;
-if(_68c.length==0){
-return [];
-}
-var aa=[];
-var _68d=_68e();
-for(var i=0;i<_68c.length;i++){
-aa[i]=new Array(_68d);
-}
-for(var _68f=0;_68f<_68c.length;_68f++){
-$.map(_68c[_68f],function(col){
-var _690=_691(aa[_68f]);
-if(_690>=0){
-var _692=col.field||"";
-for(var c=0;c<(col.colspan||1);c++){
-for(var r=0;r<(col.rowspan||1);r++){
-aa[_68f+r][_690]=_692;
-}
-_690++;
-}
-}
-});
-}
-return aa[aa.length-1];
-function _68e(){
-var _693=0;
-$.map(_68c[0],function(col){
-_693+=col.colspan||1;
-});
-return _693;
-};
-function _691(a){
-for(var i=0;i<a.length;i++){
-if(a[i]==undefined){
-return i;
-}
-}
-return -1;
-};
-};
-function _65b(_694,data){
-var _695=$.data(_694,"datagrid");
-var opts=_695.options;
-var dc=_695.dc;
-data=opts.loadFilter.call(_694,data);
-data.total=parseInt(data.total);
-_695.data=data;
-if(data.footer){
-_695.footer=data.footer;
-}
-if(!opts.remoteSort&&opts.sortName){
-var _696=opts.sortName.split(",");
-var _697=opts.sortOrder.split(",");
-data.rows.sort(function(r1,r2){
-var r=0;
-for(var i=0;i<_696.length;i++){
-var sn=_696[i];
-var so=_697[i];
-var col=_628(_694,sn);
-var _698=col.sorter||function(a,b){
-return a==b?0:(a>b?1:-1);
-};
-r=_698(r1[sn],r2[sn])*(so=="asc"?1:-1);
-if(r!=0){
-return r;
-}
-}
-return r;
-});
-}
-if(opts.view.onBeforeRender){
-opts.view.onBeforeRender.call(opts.view,_694,data.rows);
-}
-opts.view.render.call(opts.view,_694,dc.body2,false);
-opts.view.render.call(opts.view,_694,dc.body1,true);
-if(opts.showFooter){
-opts.view.renderFooter.call(opts.view,_694,dc.footer2,false);
-opts.view.renderFooter.call(opts.view,_694,dc.footer1,true);
-}
-if(opts.view.onAfterRender){
-opts.view.onAfterRender.call(opts.view,_694);
-}
-_695.ss.clean();
-var _699=$(_694).datagrid("getPager");
-if(_699.length){
-var _69a=_699.pagination("options");
-if(_69a.total!=data.total){
-_699.pagination("refresh",{total:data.total});
-if(opts.pageNumber!=_69a.pageNumber&&_69a.pageNumber>0){
-opts.pageNumber=_69a.pageNumber;
-_65a(_694);
-}
-}
-}
-_5f7(_694);
-dc.body2.triggerHandler("scroll");
-$(_694).datagrid("setSelectionState");
-$(_694).datagrid("autoSizeColumn");
-opts.onLoadSuccess.call(_694,data);
-};
-function _69b(_69c){
-var _69d=$.data(_69c,"datagrid");
-var opts=_69d.options;
-var dc=_69d.dc;
-dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",false);
-if(opts.idField){
-var _69e=$.data(_69c,"treegrid")?true:false;
-var _69f=opts.onSelect;
-var _6a0=opts.onCheck;
-opts.onSelect=opts.onCheck=function(){
-};
-var rows=opts.finder.getRows(_69c);
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-var _6a1=_69e?row[opts.idField]:i;
-if(_6a2(_69d.selectedRows,row)){
-_643(_69c,_6a1,true);
-}
-if(_6a2(_69d.checkedRows,row)){
-_640(_69c,_6a1,true);
-}
-}
-opts.onSelect=_69f;
-opts.onCheck=_6a0;
-}
-function _6a2(a,r){
-for(var i=0;i<a.length;i++){
-if(a[i][opts.idField]==r[opts.idField]){
-a[i]=r;
-return true;
-}
-}
-return false;
-};
-};
-function _6a3(_6a4,row){
-var _6a5=$.data(_6a4,"datagrid");
-var opts=_6a5.options;
-var rows=_6a5.data.rows;
-if(typeof row=="object"){
-return _5cc(rows,row);
-}else{
-for(var i=0;i<rows.length;i++){
-if(rows[i][opts.idField]==row){
-return i;
-}
-}
-return -1;
-}
-};
-function _6a6(_6a7){
-var _6a8=$.data(_6a7,"datagrid");
-var opts=_6a8.options;
-var data=_6a8.data;
-if(opts.idField){
-return _6a8.selectedRows;
-}else{
-var rows=[];
-opts.finder.getTr(_6a7,"","selected",2).each(function(){
-rows.push(opts.finder.getRow(_6a7,$(this)));
-});
-return rows;
-}
-};
-function _6a9(_6aa){
-var _6ab=$.data(_6aa,"datagrid");
-var opts=_6ab.options;
-if(opts.idField){
-return _6ab.checkedRows;
-}else{
-var rows=[];
-opts.finder.getTr(_6aa,"","checked",2).each(function(){
-rows.push(opts.finder.getRow(_6aa,$(this)));
-});
-return rows;
-}
-};
-function _6ac(_6ad,_6ae){
-var _6af=$.data(_6ad,"datagrid");
-var dc=_6af.dc;
-var opts=_6af.options;
-var tr=opts.finder.getTr(_6ad,_6ae);
-if(tr.length){
-if(tr.closest("table").hasClass("datagrid-btable-frozen")){
-return;
-}
-var _6b0=dc.view2.children("div.datagrid-header")._outerHeight();
-var _6b1=dc.body2;
-var _6b2=_6b1.outerHeight(true)-_6b1.outerHeight();
-var top=tr.position().top-_6b0-_6b2;
-if(top<0){
-_6b1.scrollTop(_6b1.scrollTop()+top);
-}else{
-if(top+tr._outerHeight()>_6b1.height()-18){
-_6b1.scrollTop(_6b1.scrollTop()+top+tr._outerHeight()-_6b1.height()+18);
-}
-}
-}
-};
-function _63c(_6b3,_6b4){
-var _6b5=$.data(_6b3,"datagrid");
-var opts=_6b5.options;
-opts.finder.getTr(_6b3,_6b5.highlightIndex).removeClass("datagrid-row-over");
-opts.finder.getTr(_6b3,_6b4).addClass("datagrid-row-over");
-_6b5.highlightIndex=_6b4;
-};
-function _643(_6b6,_6b7,_6b8){
-var _6b9=$.data(_6b6,"datagrid");
-var opts=_6b9.options;
-var row=opts.finder.getRow(_6b6,_6b7);
-if(opts.onBeforeSelect.apply(_6b6,_5d0(_6b6,[_6b7,row]))==false){
-return;
-}
-if(opts.singleSelect){
-_6ba(_6b6,true);
-_6b9.selectedRows=[];
-}
-if(!_6b8&&opts.checkOnSelect){
-_640(_6b6,_6b7,true);
-}
-if(opts.idField){
-_5cf(_6b9.selectedRows,opts.idField,row);
-}
-opts.finder.getTr(_6b6,_6b7).addClass("datagrid-row-selected");
-opts.onSelect.apply(_6b6,_5d0(_6b6,[_6b7,row]));
-_6ac(_6b6,_6b7);
-};
-function _644(_6bb,_6bc,_6bd){
-var _6be=$.data(_6bb,"datagrid");
-var dc=_6be.dc;
-var opts=_6be.options;
-var row=opts.finder.getRow(_6bb,_6bc);
-if(opts.onBeforeUnselect.apply(_6bb,_5d0(_6bb,[_6bc,row]))==false){
-return;
-}
-if(!_6bd&&opts.checkOnSelect){
-_641(_6bb,_6bc,true);
-}
-opts.finder.getTr(_6bb,_6bc).removeClass("datagrid-row-selected");
-if(opts.idField){
-_5cd(_6be.selectedRows,opts.idField,row[opts.idField]);
-}
-opts.onUnselect.apply(_6bb,_5d0(_6bb,[_6bc,row]));
-};
-function _6bf(_6c0,_6c1){
-var _6c2=$.data(_6c0,"datagrid");
-var opts=_6c2.options;
-var rows=opts.finder.getRows(_6c0);
-var _6c3=$.data(_6c0,"datagrid").selectedRows;
-if(!_6c1&&opts.checkOnSelect){
-_6c4(_6c0,true);
-}
-opts.finder.getTr(_6c0,"","allbody").addClass("datagrid-row-selected");
-if(opts.idField){
-for(var _6c5=0;_6c5<rows.length;_6c5++){
-_5cf(_6c3,opts.idField,rows[_6c5]);
-}
-}
-opts.onSelectAll.call(_6c0,rows);
-};
-function _6ba(_6c6,_6c7){
-var _6c8=$.data(_6c6,"datagrid");
-var opts=_6c8.options;
-var rows=opts.finder.getRows(_6c6);
-var _6c9=$.data(_6c6,"datagrid").selectedRows;
-if(!_6c7&&opts.checkOnSelect){
-_6ca(_6c6,true);
-}
-opts.finder.getTr(_6c6,"","selected").removeClass("datagrid-row-selected");
-if(opts.idField){
-for(var _6cb=0;_6cb<rows.length;_6cb++){
-_5cd(_6c9,opts.idField,rows[_6cb][opts.idField]);
-}
-}
-opts.onUnselectAll.call(_6c6,rows);
-};
-function _640(_6cc,_6cd,_6ce){
-var _6cf=$.data(_6cc,"datagrid");
-var opts=_6cf.options;
-var row=opts.finder.getRow(_6cc,_6cd);
-if(opts.onBeforeCheck.apply(_6cc,_5d0(_6cc,[_6cd,row]))==false){
-return;
-}
-if(opts.singleSelect&&opts.selectOnCheck){
-_6ca(_6cc,true);
-_6cf.checkedRows=[];
-}
-if(!_6ce&&opts.selectOnCheck){
-_643(_6cc,_6cd,true);
-}
-var tr=opts.finder.getTr(_6cc,_6cd).addClass("datagrid-row-checked");
-tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
-tr=opts.finder.getTr(_6cc,"","checked",2);
-if(tr.length==opts.finder.getRows(_6cc).length){
-var dc=_6cf.dc;
-dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",true);
-}
-if(opts.idField){
-_5cf(_6cf.checkedRows,opts.idField,row);
-}
-opts.onCheck.apply(_6cc,_5d0(_6cc,[_6cd,row]));
-};
-function _641(_6d0,_6d1,_6d2){
-var _6d3=$.data(_6d0,"datagrid");
-var opts=_6d3.options;
-var row=opts.finder.getRow(_6d0,_6d1);
-if(opts.onBeforeUncheck.apply(_6d0,_5d0(_6d0,[_6d1,row]))==false){
-return;
-}
-if(!_6d2&&opts.selectOnCheck){
-_644(_6d0,_6d1,true);
-}
-var tr=opts.finder.getTr(_6d0,_6d1).removeClass("datagrid-row-checked");
-tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",false);
-var dc=_6d3.dc;
-var _6d4=dc.header1.add(dc.header2);
-_6d4.find("input[type=checkbox]")._propAttr("checked",false);
-if(opts.idField){
-_5cd(_6d3.checkedRows,opts.idField,row[opts.idField]);
-}
-opts.onUncheck.apply(_6d0,_5d0(_6d0,[_6d1,row]));
-};
-function _6c4(_6d5,_6d6){
-var _6d7=$.data(_6d5,"datagrid");
-var opts=_6d7.options;
-var rows=opts.finder.getRows(_6d5);
-if(!_6d6&&opts.selectOnCheck){
-_6bf(_6d5,true);
-}
-var dc=_6d7.dc;
-var hck=dc.header1.add(dc.header2).find("input[type=checkbox]");
-var bck=opts.finder.getTr(_6d5,"","allbody").addClass("datagrid-row-checked").find("div.datagrid-cell-check input[type=checkbox]");
-hck.add(bck)._propAttr("checked",true);
-if(opts.idField){
-for(var i=0;i<rows.length;i++){
-_5cf(_6d7.checkedRows,opts.idField,rows[i]);
-}
-}
-opts.onCheckAll.call(_6d5,rows);
-};
-function _6ca(_6d8,_6d9){
-var _6da=$.data(_6d8,"datagrid");
-var opts=_6da.options;
-var rows=opts.finder.getRows(_6d8);
-if(!_6d9&&opts.selectOnCheck){
-_6ba(_6d8,true);
-}
-var dc=_6da.dc;
-var hck=dc.header1.add(dc.header2).find("input[type=checkbox]");
-var bck=opts.finder.getTr(_6d8,"","checked").removeClass("datagrid-row-checked").find("div.datagrid-cell-check input[type=checkbox]");
-hck.add(bck)._propAttr("checked",false);
-if(opts.idField){
-for(var i=0;i<rows.length;i++){
-_5cd(_6da.checkedRows,opts.idField,rows[i][opts.idField]);
-}
-}
-opts.onUncheckAll.call(_6d8,rows);
-};
-function _6db(_6dc,_6dd){
-var opts=$.data(_6dc,"datagrid").options;
-var tr=opts.finder.getTr(_6dc,_6dd);
-var row=opts.finder.getRow(_6dc,_6dd);
-if(tr.hasClass("datagrid-row-editing")){
-return;
-}
-if(opts.onBeforeEdit.apply(_6dc,_5d0(_6dc,[_6dd,row]))==false){
-return;
-}
-tr.addClass("datagrid-row-editing");
-_6de(_6dc,_6dd);
-_680(_6dc);
-tr.find("div.datagrid-editable").each(function(){
-var _6df=$(this).parent().attr("field");
-var ed=$.data(this,"datagrid.editor");
-ed.actions.setValue(ed.target,row[_6df]);
-});
-_6e0(_6dc,_6dd);
-opts.onBeginEdit.apply(_6dc,_5d0(_6dc,[_6dd,row]));
-};
-function _6e1(_6e2,_6e3,_6e4){
-var _6e5=$.data(_6e2,"datagrid");
-var opts=_6e5.options;
-var _6e6=_6e5.updatedRows;
-var _6e7=_6e5.insertedRows;
-var tr=opts.finder.getTr(_6e2,_6e3);
-var row=opts.finder.getRow(_6e2,_6e3);
-if(!tr.hasClass("datagrid-row-editing")){
-return;
-}
-if(!_6e4){
-if(!_6e0(_6e2,_6e3)){
-return;
-}
-var _6e8=false;
-var _6e9={};
-tr.find("div.datagrid-editable").each(function(){
-var _6ea=$(this).parent().attr("field");
-var ed=$.data(this,"datagrid.editor");
-var t=$(ed.target);
-var _6eb=t.data("textbox")?t.textbox("textbox"):t;
-_6eb.triggerHandler("blur");
-var _6ec=ed.actions.getValue(ed.target);
-if(row[_6ea]!=_6ec){
-row[_6ea]=_6ec;
-_6e8=true;
-_6e9[_6ea]=_6ec;
-}
-});
-if(_6e8){
-if(_5cc(_6e7,row)==-1){
-if(_5cc(_6e6,row)==-1){
-_6e6.push(row);
-}
-}
-}
-opts.onEndEdit.apply(_6e2,_5d0(_6e2,[_6e3,row,_6e9]));
-}
-tr.removeClass("datagrid-row-editing");
-_6ed(_6e2,_6e3);
-$(_6e2).datagrid("refreshRow",_6e3);
-if(!_6e4){
-opts.onAfterEdit.apply(_6e2,_5d0(_6e2,[_6e3,row,_6e9]));
-}else{
-opts.onCancelEdit.apply(_6e2,_5d0(_6e2,[_6e3,row]));
-}
-};
-function _6ee(_6ef,_6f0){
-var opts=$.data(_6ef,"datagrid").options;
-var tr=opts.finder.getTr(_6ef,_6f0);
-var _6f1=[];
-tr.children("td").each(function(){
-var cell=$(this).find("div.datagrid-editable");
-if(cell.length){
-var ed=$.data(cell[0],"datagrid.editor");
-_6f1.push(ed);
-}
-});
-return _6f1;
-};
-function _6f2(_6f3,_6f4){
-var _6f5=_6ee(_6f3,_6f4.index!=undefined?_6f4.index:_6f4.id);
-for(var i=0;i<_6f5.length;i++){
-if(_6f5[i].field==_6f4.field){
-return _6f5[i];
-}
-}
-return null;
-};
-function _6de(_6f6,_6f7){
-var opts=$.data(_6f6,"datagrid").options;
-var tr=opts.finder.getTr(_6f6,_6f7);
-tr.children("td").each(function(){
-var cell=$(this).find("div.datagrid-cell");
-var _6f8=$(this).attr("field");
-var col=_628(_6f6,_6f8);
-if(col&&col.editor){
-var _6f9,_6fa;
-if(typeof col.editor=="string"){
-_6f9=col.editor;
-}else{
-_6f9=col.editor.type;
-_6fa=col.editor.options;
-}
-var _6fb=opts.editors[_6f9];
-if(_6fb){
-var _6fc=cell.html();
-var _6fd=cell._outerWidth();
-cell.addClass("datagrid-editable");
-cell._outerWidth(_6fd);
-cell.html("<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td></td></tr></table>");
-cell.children("table").bind("click dblclick contextmenu",function(e){
-e.stopPropagation();
-});
-$.data(cell[0],"datagrid.editor",{actions:_6fb,target:_6fb.init(cell.find("td"),_6fa),field:_6f8,type:_6f9,oldHtml:_6fc});
-}
-}
-});
-_5f7(_6f6,_6f7,true);
-};
-function _6ed(_6fe,_6ff){
-var opts=$.data(_6fe,"datagrid").options;
-var tr=opts.finder.getTr(_6fe,_6ff);
-tr.children("td").each(function(){
-var cell=$(this).find("div.datagrid-editable");
-if(cell.length){
-var ed=$.data(cell[0],"datagrid.editor");
-if(ed.actions.destroy){
-ed.actions.destroy(ed.target);
-}
-cell.html(ed.oldHtml);
-$.removeData(cell[0],"datagrid.editor");
-cell.removeClass("datagrid-editable");
-cell.css("width","");
-}
-});
-};
-function _6e0(_700,_701){
-var tr=$.data(_700,"datagrid").options.finder.getTr(_700,_701);
-if(!tr.hasClass("datagrid-row-editing")){
-return true;
-}
-var vbox=tr.find(".validatebox-text");
-vbox.validatebox("validate");
-vbox.trigger("mouseleave");
-var _702=tr.find(".validatebox-invalid");
-return _702.length==0;
-};
-function _703(_704,_705){
-var _706=$.data(_704,"datagrid").insertedRows;
-var _707=$.data(_704,"datagrid").deletedRows;
-var _708=$.data(_704,"datagrid").updatedRows;
-if(!_705){
-var rows=[];
-rows=rows.concat(_706);
-rows=rows.concat(_707);
-rows=rows.concat(_708);
-return rows;
-}else{
-if(_705=="inserted"){
-return _706;
-}else{
-if(_705=="deleted"){
-return _707;
-}else{
-if(_705=="updated"){
-return _708;
-}
-}
-}
-}
-return [];
-};
-function _709(_70a,_70b){
-var _70c=$.data(_70a,"datagrid");
-var opts=_70c.options;
-var data=_70c.data;
-var _70d=_70c.insertedRows;
-var _70e=_70c.deletedRows;
-$(_70a).datagrid("cancelEdit",_70b);
-var row=opts.finder.getRow(_70a,_70b);
-if(_5cc(_70d,row)>=0){
-_5cd(_70d,row);
-}else{
-_70e.push(row);
-}
-_5cd(_70c.selectedRows,opts.idField,row[opts.idField]);
-_5cd(_70c.checkedRows,opts.idField,row[opts.idField]);
-opts.view.deleteRow.call(opts.view,_70a,_70b);
-if(opts.height=="auto"){
-_5f7(_70a);
-}
-$(_70a).datagrid("getPager").pagination("refresh",{total:data.total});
-};
-function _70f(_710,_711){
-var data=$.data(_710,"datagrid").data;
-var view=$.data(_710,"datagrid").options.view;
-var _712=$.data(_710,"datagrid").insertedRows;
-view.insertRow.call(view,_710,_711.index,_711.row);
-_712.push(_711.row);
-$(_710).datagrid("getPager").pagination("refresh",{total:data.total});
-};
-function _713(_714,row){
-var data=$.data(_714,"datagrid").data;
-var view=$.data(_714,"datagrid").options.view;
-var _715=$.data(_714,"datagrid").insertedRows;
-view.insertRow.call(view,_714,null,row);
-_715.push(row);
-$(_714).datagrid("getPager").pagination("refresh",{total:data.total});
-};
-function _716(_717){
-var _718=$.data(_717,"datagrid");
-var data=_718.data;
-var rows=data.rows;
-var _719=[];
-for(var i=0;i<rows.length;i++){
-_719.push($.extend({},rows[i]));
-}
-_718.originalRows=_719;
-_718.updatedRows=[];
-_718.insertedRows=[];
-_718.deletedRows=[];
-};
-function _71a(_71b){
-var data=$.data(_71b,"datagrid").data;
-var ok=true;
-for(var i=0,len=data.rows.length;i<len;i++){
-if(_6e0(_71b,i)){
-$(_71b).datagrid("endEdit",i);
-}else{
-ok=false;
-}
-}
-if(ok){
-_716(_71b);
-}
-};
-function _71c(_71d){
-var _71e=$.data(_71d,"datagrid");
-var opts=_71e.options;
-var _71f=_71e.originalRows;
-var _720=_71e.insertedRows;
-var _721=_71e.deletedRows;
-var _722=_71e.selectedRows;
-var _723=_71e.checkedRows;
-var data=_71e.data;
-function _724(a){
-var ids=[];
-for(var i=0;i<a.length;i++){
-ids.push(a[i][opts.idField]);
-}
-return ids;
-};
-function _725(ids,_726){
-for(var i=0;i<ids.length;i++){
-var _727=_6a3(_71d,ids[i]);
-if(_727>=0){
-(_726=="s"?_643:_640)(_71d,_727,true);
-}
-}
-};
-for(var i=0;i<data.rows.length;i++){
-$(_71d).datagrid("cancelEdit",i);
-}
-var _728=_724(_722);
-var _729=_724(_723);
-_722.splice(0,_722.length);
-_723.splice(0,_723.length);
-data.total+=_721.length-_720.length;
-data.rows=_71f;
-_65b(_71d,data);
-_725(_728,"s");
-_725(_729,"c");
-_716(_71d);
-};
-function _65a(_72a,_72b,cb){
-var opts=$.data(_72a,"datagrid").options;
-if(_72b){
-opts.queryParams=_72b;
-}
-var _72c=$.extend({},opts.queryParams);
-if(opts.pagination){
-$.extend(_72c,{page:opts.pageNumber||1,rows:opts.pageSize});
-}
-if(opts.sortName){
-$.extend(_72c,{sort:opts.sortName,order:opts.sortOrder});
-}
-if(opts.onBeforeLoad.call(_72a,_72c)==false){
-return;
-}
-$(_72a).datagrid("loading");
-var _72d=opts.loader.call(_72a,_72c,function(data){
-$(_72a).datagrid("loaded");
-$(_72a).datagrid("loadData",data);
-if(cb){
-cb();
-}
-},function(){
-$(_72a).datagrid("loaded");
-opts.onLoadError.apply(_72a,arguments);
-});
-if(_72d==false){
-$(_72a).datagrid("loaded");
-}
-};
-function _72e(_72f,_730){
-var opts=$.data(_72f,"datagrid").options;
-_730.type=_730.type||"body";
-_730.rowspan=_730.rowspan||1;
-_730.colspan=_730.colspan||1;
-if(_730.rowspan==1&&_730.colspan==1){
-return;
-}
-var tr=opts.finder.getTr(_72f,(_730.index!=undefined?_730.index:_730.id),_730.type);
-if(!tr.length){
-return;
-}
-var td=tr.find("td[field=\""+_730.field+"\"]");
-td.attr("rowspan",_730.rowspan).attr("colspan",_730.colspan);
-td.addClass("datagrid-td-merged");
-_731(td.next(),_730.colspan-1);
-for(var i=1;i<_730.rowspan;i++){
-tr=tr.next();
-if(!tr.length){
-break;
-}
-td=tr.find("td[field=\""+_730.field+"\"]");
-_731(td,_730.colspan);
-}
-_67f(_72f);
-function _731(td,_732){
-for(var i=0;i<_732;i++){
-td.hide();
-td=td.next();
-}
-};
-};
-$.fn.datagrid=function(_733,_734){
-if(typeof _733=="string"){
-return $.fn.datagrid.methods[_733](this,_734);
-}
-_733=_733||{};
-return this.each(function(){
-var _735=$.data(this,"datagrid");
-var opts;
-if(_735){
-opts=$.extend(_735.options,_733);
-_735.options=opts;
-}else{
-opts=$.extend({},$.extend({},$.fn.datagrid.defaults,{queryParams:{}}),$.fn.datagrid.parseOptions(this),_733);
-$(this).css("width","").css("height","");
-var _736=_60b(this,opts.rownumbers);
-if(!opts.columns){
-opts.columns=_736.columns;
-}
-if(!opts.frozenColumns){
-opts.frozenColumns=_736.frozenColumns;
-}
-opts.columns=$.extend(true,[],opts.columns);
-opts.frozenColumns=$.extend(true,[],opts.frozenColumns);
-opts.view=$.extend({},opts.view);
-$.data(this,"datagrid",{options:opts,panel:_736.panel,dc:_736.dc,ss:null,selectedRows:[],checkedRows:[],data:{total:0,rows:[]},originalRows:[],updatedRows:[],insertedRows:[],deletedRows:[]});
-}
-_614(this);
-_629(this);
-_5e1(this);
-if(opts.data){
-$(this).datagrid("loadData",opts.data);
-}else{
-var data=$.fn.datagrid.parseData(this);
-if(data.total>0){
-$(this).datagrid("loadData",data);
-}else{
-opts.view.renderEmptyRow(this);
-$(this).datagrid("autoSizeColumn");
-}
-}
-_65a(this);
-});
-};
-function _737(_738){
-var _739={};
-$.map(_738,function(name){
-_739[name]=_73a(name);
-});
-return _739;
-function _73a(name){
-function isA(_73b){
-return $.data($(_73b)[0],name)!=undefined;
-};
-return {init:function(_73c,_73d){
-var _73e=$("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_73c);
-if(_73e[name]&&name!="text"){
-return _73e[name](_73d);
-}else{
-return _73e;
-}
-},destroy:function(_73f){
-if(isA(_73f,name)){
-$(_73f)[name]("destroy");
-}
-},getValue:function(_740){
-if(isA(_740,name)){
-var opts=$(_740)[name]("options");
-if(opts.multiple){
-return $(_740)[name]("getValues").join(opts.separator);
-}else{
-return $(_740)[name]("getValue");
-}
-}else{
-return $(_740).val();
-}
-},setValue:function(_741,_742){
-if(isA(_741,name)){
-var opts=$(_741)[name]("options");
-if(opts.multiple){
-if(_742){
-$(_741)[name]("setValues",_742.split(opts.separator));
-}else{
-$(_741)[name]("clear");
-}
-}else{
-$(_741)[name]("setValue",_742);
-}
-}else{
-$(_741).val(_742);
-}
-},resize:function(_743,_744){
-if(isA(_743,name)){
-$(_743)[name]("resize",_744);
-}else{
-$(_743)._outerWidth(_744)._outerHeight(22);
-}
-}};
-};
-};
-var _745=$.extend({},_737(["text","textbox","numberbox","numberspinner","combobox","combotree","combogrid","datebox","datetimebox","timespinner","datetimespinner"]),{textarea:{init:function(_746,_747){
-var _748=$("<textarea class=\"datagrid-editable-input\"></textarea>").appendTo(_746);
-return _748;
-},getValue:function(_749){
-return $(_749).val();
-},setValue:function(_74a,_74b){
-$(_74a).val(_74b);
-},resize:function(_74c,_74d){
-$(_74c)._outerWidth(_74d);
-}},checkbox:{init:function(_74e,_74f){
-var _750=$("<input type=\"checkbox\">").appendTo(_74e);
-_750.val(_74f.on);
-_750.attr("offval",_74f.off);
-return _750;
-},getValue:function(_751){
-if($(_751).is(":checked")){
-return $(_751).val();
-}else{
-return $(_751).attr("offval");
-}
-},setValue:function(_752,_753){
-var _754=false;
-if($(_752).val()==_753){
-_754=true;
-}
-$(_752)._propAttr("checked",_754);
-}},validatebox:{init:function(_755,_756){
-var _757=$("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_755);
-_757.validatebox(_756);
-return _757;
-},destroy:function(_758){
-$(_758).validatebox("destroy");
-},getValue:function(_759){
-return $(_759).val();
-},setValue:function(_75a,_75b){
-$(_75a).val(_75b);
-},resize:function(_75c,_75d){
-$(_75c)._outerWidth(_75d)._outerHeight(22);
-}}});
-$.fn.datagrid.methods={options:function(jq){
-var _75e=$.data(jq[0],"datagrid").options;
-var _75f=$.data(jq[0],"datagrid").panel.panel("options");
-var opts=$.extend(_75e,{width:_75f.width,height:_75f.height,closed:_75f.closed,collapsed:_75f.collapsed,minimized:_75f.minimized,maximized:_75f.maximized});
-return opts;
-},setSelectionState:function(jq){
-return jq.each(function(){
-_69b(this);
-});
-},createStyleSheet:function(jq){
-return _5d2(jq[0]);
-},getPanel:function(jq){
-return $.data(jq[0],"datagrid").panel;
-},getPager:function(jq){
-return $.data(jq[0],"datagrid").panel.children("div.datagrid-pager");
-},getColumnFields:function(jq,_760){
-return _627(jq[0],_760);
-},getColumnOption:function(jq,_761){
-return _628(jq[0],_761);
-},resize:function(jq,_762){
-return jq.each(function(){
-_5e1(this,_762);
-});
-},load:function(jq,_763){
-return jq.each(function(){
-var opts=$(this).datagrid("options");
-if(typeof _763=="string"){
-opts.url=_763;
-_763=null;
-}
-opts.pageNumber=1;
-var _764=$(this).datagrid("getPager");
-_764.pagination("refresh",{pageNumber:1});
-_65a(this,_763);
-});
-},reload:function(jq,_765){
-return jq.each(function(){
-var opts=$(this).datagrid("options");
-if(typeof _765=="string"){
-opts.url=_765;
-_765=null;
-}
-_65a(this,_765);
-});
-},reloadFooter:function(jq,_766){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-var dc=$.data(this,"datagrid").dc;
-if(_766){
-$.data(this,"datagrid").footer=_766;
-}
-if(opts.showFooter){
-opts.view.renderFooter.call(opts.view,this,dc.footer2,false);
-opts.view.renderFooter.call(opts.view,this,dc.footer1,true);
-if(opts.view.onAfterRender){
-opts.view.onAfterRender.call(opts.view,this);
-}
-$(this).datagrid("fixRowHeight");
-}
-});
-},loading:function(jq){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-$(this).datagrid("getPager").pagination("loading");
-if(opts.loadMsg){
-var _767=$(this).datagrid("getPanel");
-if(!_767.children("div.datagrid-mask").length){
-$("<div class=\"datagrid-mask\" style=\"display:block\"></div>").appendTo(_767);
-var msg=$("<div class=\"datagrid-mask-msg\" style=\"display:block;left:50%\"></div>").html(opts.loadMsg).appendTo(_767);
-msg._outerHeight(40);
-msg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+"px")});
-}
-}
-});
-},loaded:function(jq){
-return jq.each(function(){
-$(this).datagrid("getPager").pagination("loaded");
-var _768=$(this).datagrid("getPanel");
-_768.children("div.datagrid-mask-msg").remove();
-_768.children("div.datagrid-mask").remove();
-});
-},fitColumns:function(jq){
-return jq.each(function(){
-_65c(this);
-});
-},fixColumnSize:function(jq,_769){
-return jq.each(function(){
-_67a(this,_769);
-});
-},fixRowHeight:function(jq,_76a){
-return jq.each(function(){
-_5f7(this,_76a);
-});
-},freezeRow:function(jq,_76b){
-return jq.each(function(){
-_604(this,_76b);
-});
-},autoSizeColumn:function(jq,_76c){
-return jq.each(function(){
-_66e(this,_76c);
-});
-},loadData:function(jq,data){
-return jq.each(function(){
-_65b(this,data);
-_716(this);
-});
-},getData:function(jq){
-return $.data(jq[0],"datagrid").data;
-},getRows:function(jq){
-return $.data(jq[0],"datagrid").data.rows;
-},getFooterRows:function(jq){
-return $.data(jq[0],"datagrid").footer;
-},getRowIndex:function(jq,id){
-return _6a3(jq[0],id);
-},getChecked:function(jq){
-return _6a9(jq[0]);
-},getSelected:function(jq){
-var rows=_6a6(jq[0]);
-return rows.length>0?rows[0]:null;
-},getSelections:function(jq){
-return _6a6(jq[0]);
-},clearSelections:function(jq){
-return jq.each(function(){
-var _76d=$.data(this,"datagrid");
-var _76e=_76d.selectedRows;
-var _76f=_76d.checkedRows;
-_76e.splice(0,_76e.length);
-_6ba(this);
-if(_76d.options.checkOnSelect){
-_76f.splice(0,_76f.length);
-}
-});
-},clearChecked:function(jq){
-return jq.each(function(){
-var _770=$.data(this,"datagrid");
-var _771=_770.selectedRows;
-var _772=_770.checkedRows;
-_772.splice(0,_772.length);
-_6ca(this);
-if(_770.options.selectOnCheck){
-_771.splice(0,_771.length);
-}
-});
-},scrollTo:function(jq,_773){
-return jq.each(function(){
-_6ac(this,_773);
-});
-},highlightRow:function(jq,_774){
-return jq.each(function(){
-_63c(this,_774);
-_6ac(this,_774);
-});
-},selectAll:function(jq){
-return jq.each(function(){
-_6bf(this);
-});
-},unselectAll:function(jq){
-return jq.each(function(){
-_6ba(this);
-});
-},selectRow:function(jq,_775){
-return jq.each(function(){
-_643(this,_775);
-});
-},selectRecord:function(jq,id){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-if(opts.idField){
-var _776=_6a3(this,id);
-if(_776>=0){
-$(this).datagrid("selectRow",_776);
-}
-}
-});
-},unselectRow:function(jq,_777){
-return jq.each(function(){
-_644(this,_777);
-});
-},checkRow:function(jq,_778){
-return jq.each(function(){
-_640(this,_778);
-});
-},uncheckRow:function(jq,_779){
-return jq.each(function(){
-_641(this,_779);
-});
-},checkAll:function(jq){
-return jq.each(function(){
-_6c4(this);
-});
-},uncheckAll:function(jq){
-return jq.each(function(){
-_6ca(this);
-});
-},beginEdit:function(jq,_77a){
-return jq.each(function(){
-_6db(this,_77a);
-});
-},endEdit:function(jq,_77b){
-return jq.each(function(){
-_6e1(this,_77b,false);
-});
-},cancelEdit:function(jq,_77c){
-return jq.each(function(){
-_6e1(this,_77c,true);
-});
-},getEditors:function(jq,_77d){
-return _6ee(jq[0],_77d);
-},getEditor:function(jq,_77e){
-return _6f2(jq[0],_77e);
-},refreshRow:function(jq,_77f){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-opts.view.refreshRow.call(opts.view,this,_77f);
-});
-},validateRow:function(jq,_780){
-return _6e0(jq[0],_780);
-},updateRow:function(jq,_781){
-return jq.each(function(){
-var opts=$.data(this,"datagrid").options;
-opts.view.updateRow.call(opts.view,this,_781.index,_781.row);
-});
-},appendRow:function(jq,row){
-return jq.each(function(){
-_713(this,row);
-});
-},insertRow:function(jq,_782){
-return jq.each(function(){
-_70f(this,_782);
-});
-},deleteRow:function(jq,_783){
-return jq.each(function(){
-_709(this,_783);
-});
-},getChanges:function(jq,_784){
-return _703(jq[0],_784);
-},acceptChanges:function(jq){
-return jq.each(function(){
-_71a(this);
-});
-},rejectChanges:function(jq){
-return jq.each(function(){
-_71c(this);
-});
-},mergeCells:function(jq,_785){
-return jq.each(function(){
-_72e(this,_785);
-});
-},showColumn:function(jq,_786){
-return jq.each(function(){
-var _787=$(this).datagrid("getPanel");
-_787.find("td[field=\""+_786+"\"]").show();
-$(this).datagrid("getColumnOption",_786).hidden=false;
-$(this).datagrid("fitColumns");
-});
-},hideColumn:function(jq,_788){
-return jq.each(function(){
-var _789=$(this).datagrid("getPanel");
-_789.find("td[field=\""+_788+"\"]").hide();
-$(this).datagrid("getColumnOption",_788).hidden=true;
-$(this).datagrid("fitColumns");
-});
-},sort:function(jq,_78a){
-return jq.each(function(){
-_64f(this,_78a);
-});
-},gotoPage:function(jq,_78b){
-return jq.each(function(){
-var _78c=this;
-var page,cb;
-if(typeof _78b=="object"){
-page=_78b.page;
-cb=_78b.callback;
-}else{
-page=_78b;
-}
-$(_78c).datagrid("options").pageNumber=page;
-$(_78c).datagrid("getPager").pagination("refresh",{pageNumber:page});
-_65a(_78c,null,function(){
-if(cb){
-cb.call(_78c,page);
-}
-});
-});
-}};
-$.fn.datagrid.parseOptions=function(_78d){
-var t=$(_78d);
-return $.extend({},$.fn.panel.parseOptions(_78d),$.parser.parseOptions(_78d,["url","toolbar","idField","sortName","sortOrder","pagePosition","resizeHandle",{sharedStyleSheet:"boolean",fitColumns:"boolean",autoRowHeight:"boolean",striped:"boolean",nowrap:"boolean"},{rownumbers:"boolean",singleSelect:"boolean",ctrlSelect:"boolean",checkOnSelect:"boolean",selectOnCheck:"boolean"},{pagination:"boolean",pageSize:"number",pageNumber:"number"},{multiSort:"boolean",remoteSort:"boolean",showHeader:"boolean",showFooter:"boolean"},{scrollbarSize:"number"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined),loadMsg:(t.attr("loadMsg")!=undefined?t.attr("loadMsg"):undefined),rowStyler:(t.attr("rowStyler")?eval(t.attr("rowStyler")):undefined)});
-};
-$.fn.datagrid.parseData=function(_78e){
-var t=$(_78e);
-var data={total:0,rows:[]};
-var _78f=t.datagrid("getColumnFields",true).concat(t.datagrid("getColumnFields",false));
-t.find("tbody tr").each(function(){
-data.total++;
-var row={};
-$.extend(row,$.parser.parseOptions(this,["iconCls","state"]));
-for(var i=0;i<_78f.length;i++){
-row[_78f[i]]=$(this).find("td:eq("+i+")").html();
-}
-data.rows.push(row);
-});
-return data;
-};
-var _790={render:function(_791,_792,_793){
-var rows=$(_791).datagrid("getRows");
-$(_792).html(this.renderTable(_791,0,rows,_793));
-},renderFooter:function(_794,_795,_796){
-var opts=$.data(_794,"datagrid").options;
-var rows=$.data(_794,"datagrid").footer||[];
-var _797=$(_794).datagrid("getColumnFields",_796);
-var _798=["<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
-for(var i=0;i<rows.length;i++){
-_798.push("<tr class=\"datagrid-row\" datagrid-row-index=\""+i+"\">");
-_798.push(this.renderRow.call(this,_794,_797,_796,i,rows[i]));
-_798.push("</tr>");
-}
-_798.push("</tbody></table>");
-$(_795).html(_798.join(""));
-},renderTable:function(_799,_79a,rows,_79b){
-var _79c=$.data(_799,"datagrid");
-var opts=_79c.options;
-if(_79b){
-if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){
-return "";
-}
-}
-var _79d=$(_799).datagrid("getColumnFields",_79b);
-var _79e=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-var css=opts.rowStyler?opts.rowStyler.call(_799,_79a,row):"";
-var _79f="";
-var _7a0="";
-if(typeof css=="string"){
-_7a0=css;
-}else{
-if(css){
-_79f=css["class"]||"";
-_7a0=css["style"]||"";
-}
-}
-var cls="class=\"datagrid-row "+(_79a%2&&opts.striped?"datagrid-row-alt ":" ")+_79f+"\"";
-var _7a1=_7a0?"style=\""+_7a0+"\"":"";
-var _7a2=_79c.rowIdPrefix+"-"+(_79b?1:2)+"-"+_79a;
-_79e.push("<tr id=\""+_7a2+"\" datagrid-row-index=\""+_79a+"\" "+cls+" "+_7a1+">");
-_79e.push(this.renderRow.call(this,_799,_79d,_79b,_79a,row));
-_79e.push("</tr>");
-_79a++;
-}
-_79e.push("</tbody></table>");
-return _79e.join("");
-},renderRow:function(_7a3,_7a4,_7a5,_7a6,_7a7){
-var opts=$.data(_7a3,"datagrid").options;
-var cc=[];
-if(_7a5&&opts.rownumbers){
-var _7a8=_7a6+1;
-if(opts.pagination){
-_7a8+=(opts.pageNumber-1)*opts.pageSize;
-}
-cc.push("<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">"+_7a8+"</div></td>");
-}
-for(var i=0;i<_7a4.length;i++){
-var _7a9=_7a4[i];
-var col=$(_7a3).datagrid("getColumnOption",_7a9);
-if(col){
-var _7aa=_7a7[_7a9];
-var css=col.styler?(col.styler(_7aa,_7a7,_7a6)||""):"";
-var _7ab="";
-var _7ac="";
-if(typeof css=="string"){
-_7ac=css;
-}else{
-if(css){
-_7ab=css["class"]||"";
-_7ac=css["style"]||"";
-}
-}
-var cls=_7ab?"class=\""+_7ab+"\"":"";
-var _7ad=col.hidden?"style=\"display:none;"+_7ac+"\"":(_7ac?"style=\""+_7ac+"\"":"");
-cc.push("<td field=\""+_7a9+"\" "+cls+" "+_7ad+">");
-var _7ad="";
-if(!col.checkbox){
-if(col.align){
-_7ad+="text-align:"+col.align+";";
-}
-if(!opts.nowrap){
-_7ad+="white-space:normal;height:auto;";
-}else{
-if(opts.autoRowHeight){
-_7ad+="height:auto;";
-}
-}
-}
-cc.push("<div style=\""+_7ad+"\" ");
-cc.push(col.checkbox?"class=\"datagrid-cell-check\"":"class=\"datagrid-cell "+col.cellClass+"\"");
-cc.push(">");
-if(col.checkbox){
-cc.push("<input type=\"checkbox\" "+(_7a7.checked?"checked=\"checked\"":""));
-cc.push(" name=\""+_7a9+"\" value=\""+(_7aa!=undefined?_7aa:"")+"\">");
-}else{
-if(col.formatter){
-cc.push(col.formatter(_7aa,_7a7,_7a6));
-}else{
-cc.push(_7aa);
-}
-}
-cc.push("</div>");
-cc.push("</td>");
-}
-}
-return cc.join("");
-},refreshRow:function(_7ae,_7af){
-this.updateRow.call(this,_7ae,_7af,{});
-},updateRow:function(_7b0,_7b1,row){
-var opts=$.data(_7b0,"datagrid").options;
-var rows=$(_7b0).datagrid("getRows");
-var _7b2=_7b3(_7b1);
-$.extend(rows[_7b1],row);
-var _7b4=_7b3(_7b1);
-var _7b5=_7b2.c;
-var _7b6=_7b4.s;
-var _7b7="datagrid-row "+(_7b1%2&&opts.striped?"datagrid-row-alt ":" ")+_7b4.c;
-function _7b3(_7b8){
-var css=opts.rowStyler?opts.rowStyler.call(_7b0,_7b8,rows[_7b8]):"";
-var _7b9="";
-var _7ba="";
-if(typeof css=="string"){
-_7ba=css;
-}else{
-if(css){
-_7b9=css["class"]||"";
-_7ba=css["style"]||"";
-}
-}
-return {c:_7b9,s:_7ba};
-};
-function _7bb(_7bc){
-var _7bd=$(_7b0).datagrid("getColumnFields",_7bc);
-var tr=opts.finder.getTr(_7b0,_7b1,"body",(_7bc?1:2));
-var _7be=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked");
-tr.html(this.renderRow.call(this,_7b0,_7bd,_7bc,_7b1,rows[_7b1]));
-tr.attr("style",_7b6).removeClass(_7b5).addClass(_7b7);
-if(_7be){
-tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
-}
-};
-_7bb.call(this,true);
-_7bb.call(this,false);
-$(_7b0).datagrid("fixRowHeight",_7b1);
-},insertRow:function(_7bf,_7c0,row){
-var _7c1=$.data(_7bf,"datagrid");
-var opts=_7c1.options;
-var dc=_7c1.dc;
-var data=_7c1.data;
-if(_7c0==undefined||_7c0==null){
-_7c0=data.rows.length;
-}
-if(_7c0>data.rows.length){
-_7c0=data.rows.length;
-}
-function _7c2(_7c3){
-var _7c4=_7c3?1:2;
-for(var i=data.rows.length-1;i>=_7c0;i--){
-var tr=opts.finder.getTr(_7bf,i,"body",_7c4);
-tr.attr("datagrid-row-index",i+1);
-tr.attr("id",_7c1.rowIdPrefix+"-"+_7c4+"-"+(i+1));
-if(_7c3&&opts.rownumbers){
-var _7c5=i+2;
-if(opts.pagination){
-_7c5+=(opts.pageNumber-1)*opts.pageSize;
-}
-tr.find("div.datagrid-cell-rownumber").html(_7c5);
-}
-if(opts.striped){
-tr.removeClass("datagrid-row-alt").addClass((i+1)%2?"datagrid-row-alt":"");
-}
-}
-};
-function _7c6(_7c7){
-var _7c8=_7c7?1:2;
-var _7c9=$(_7bf).datagrid("getColumnFields",_7c7);
-var _7ca=_7c1.rowIdPrefix+"-"+_7c8+"-"+_7c0;
-var tr="<tr id=\""+_7ca+"\" class=\"datagrid-row\" datagrid-row-index=\""+_7c0+"\"></tr>";
-if(_7c0>=data.rows.length){
-if(data.rows.length){
-opts.finder.getTr(_7bf,"","last",_7c8).after(tr);
-}else{
-var cc=_7c7?dc.body1:dc.body2;
-cc.html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"+tr+"</tbody></table>");
-}
-}else{
-opts.finder.getTr(_7bf,_7c0+1,"body",_7c8).before(tr);
-}
-};
-_7c2.call(this,true);
-_7c2.call(this,false);
-_7c6.call(this,true);
-_7c6.call(this,false);
-data.total+=1;
-data.rows.splice(_7c0,0,row);
-this.refreshRow.call(this,_7bf,_7c0);
-},deleteRow:function(_7cb,_7cc){
-var _7cd=$.data(_7cb,"datagrid");
-var opts=_7cd.options;
-var data=_7cd.data;
-function _7ce(_7cf){
-var _7d0=_7cf?1:2;
-for(var i=_7cc+1;i<data.rows.length;i++){
-var tr=opts.finder.getTr(_7cb,i,"body",_7d0);
-tr.attr("datagrid-row-index",i-1);
-tr.attr("id",_7cd.rowIdPrefix+"-"+_7d0+"-"+(i-1));
-if(_7cf&&opts.rownumbers){
-var _7d1=i;
-if(opts.pagination){
-_7d1+=(opts.pageNumber-1)*opts.pageSize;
-}
-tr.find("div.datagrid-cell-rownumber").html(_7d1);
-}
-if(opts.striped){
-tr.removeClass("datagrid-row-alt").addClass((i-1)%2?"datagrid-row-alt":"");
-}
-}
-};
-opts.finder.getTr(_7cb,_7cc).remove();
-_7ce.call(this,true);
-_7ce.call(this,false);
-data.total-=1;
-data.rows.splice(_7cc,1);
-},onBeforeRender:function(_7d2,rows){
-},onAfterRender:function(_7d3){
-var _7d4=$.data(_7d3,"datagrid");
-var opts=_7d4.options;
-if(opts.showFooter){
-var _7d5=$(_7d3).datagrid("getPanel").find("div.datagrid-footer");
-_7d5.find("div.datagrid-cell-rownumber,div.datagrid-cell-check").css("visibility","hidden");
-}
-if(opts.finder.getRows(_7d3).length==0){
-this.renderEmptyRow(_7d3);
-}
-},renderEmptyRow:function(_7d6){
-var cols=$.map($(_7d6).datagrid("getColumnFields"),function(_7d7){
-return $(_7d6).datagrid("getColumnOption",_7d7);
-});
-$.map(cols,function(col){
-col.formatter1=col.formatter;
-col.styler1=col.styler;
-col.formatter=col.styler=undefined;
-});
-var _7d8=$.data(_7d6,"datagrid").dc.body2;
-_7d8.html(this.renderTable(_7d6,0,[{}],false));
-_7d8.find("tbody *").css({height:1,borderColor:"transparent",background:"transparent"});
-var tr=_7d8.find(".datagrid-row");
-tr.removeClass("datagrid-row").removeAttr("datagrid-row-index");
-tr.find(".datagrid-cell,.datagrid-cell-check").empty();
-$.map(cols,function(col){
-col.formatter=col.formatter1;
-col.styler=col.styler1;
-col.formatter1=col.styler1=undefined;
-});
-}};
-$.fn.datagrid.defaults=$.extend({},$.fn.panel.defaults,{sharedStyleSheet:false,frozenColumns:undefined,columns:undefined,fitColumns:false,resizeHandle:"right",autoRowHeight:true,toolbar:null,striped:false,method:"post",nowrap:true,idField:null,url:null,data:null,loadMsg:"Processing, please wait ...",rownumbers:false,singleSelect:false,ctrlSelect:false,selectOnCheck:true,checkOnSelect:true,pagination:false,pagePosition:"bottom",pageNumber:1,pageSize:10,pageList:[10,20,30,40,50],queryParams:{},sortName:null,sortOrder:"asc",multiSort:false,remoteSort:true,showHeader:true,showFooter:false,scrollbarSize:18,rowEvents:{mouseover:_635(true),mouseout:_635(false),click:_63d,dblclick:_647,contextmenu:_64b},rowStyler:function(_7d9,_7da){
-},loader:function(_7db,_7dc,_7dd){
-var opts=$(this).datagrid("options");
-if(!opts.url){
-return false;
-}
-$.ajax({type:opts.method,url:opts.url,data:_7db,dataType:"json",success:function(data){
-_7dc(data);
-},error:function(){
-_7dd.apply(this,arguments);
-}});
-},loadFilter:function(data){
-if(typeof data.length=="number"&&typeof data.splice=="function"){
-return {total:data.length,rows:data};
-}else{
-return data;
-}
-},editors:_745,finder:{getTr:function(_7de,_7df,type,_7e0){
-type=type||"body";
-_7e0=_7e0||0;
-var _7e1=$.data(_7de,"datagrid");
-var dc=_7e1.dc;
-var opts=_7e1.options;
-if(_7e0==0){
-var tr1=opts.finder.getTr(_7de,_7df,type,1);
-var tr2=opts.finder.getTr(_7de,_7df,type,2);
-return tr1.add(tr2);
-}else{
-if(type=="body"){
-var tr=$("#"+_7e1.rowIdPrefix+"-"+_7e0+"-"+_7df);
-if(!tr.length){
-tr=(_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index="+_7df+"]");
-}
-return tr;
-}else{
-if(type=="footer"){
-return (_7e0==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index="+_7df+"]");
-}else{
-if(type=="selected"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-selected");
-}else{
-if(type=="highlight"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-over");
-}else{
-if(type=="checked"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked");
-}else{
-if(type=="editing"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-editing");
-}else{
-if(type=="last"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]:last");
-}else{
-if(type=="allbody"){
-return (_7e0==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]");
-}else{
-if(type=="allfooter"){
-return (_7e0==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index]");
-}
-}
-}
-}
-}
-}
-}
-}
-}
-}
-},getRow:function(_7e2,p){
-var _7e3=(typeof p=="object")?p.attr("datagrid-row-index"):p;
-return $.data(_7e2,"datagrid").data.rows[parseInt(_7e3)];
-},getRows:function(_7e4){
-return $(_7e4).datagrid("getRows");
-}},view:_790,onBeforeLoad:function(_7e5){
-},onLoadSuccess:function(){
-},onLoadError:function(){
-},onClickRow:function(_7e6,_7e7){
-},onDblClickRow:function(_7e8,_7e9){
-},onClickCell:function(_7ea,_7eb,_7ec){
-},onDblClickCell:function(_7ed,_7ee,_7ef){
-},onBeforeSortColumn:function(sort,_7f0){
-},onSortColumn:function(sort,_7f1){
-},onResizeColumn:function(_7f2,_7f3){
-},onBeforeSelect:function(_7f4,_7f5){
-},onSelect:function(_7f6,_7f7){
-},onBeforeUnselect:function(_7f8,_7f9){
-},onUnselect:function(_7fa,_7fb){
-},onSelectAll:function(rows){
-},onUnselectAll:function(rows){
-},onBeforeCheck:function(_7fc,_7fd){
-},onCheck:function(_7fe,_7ff){
-},onBeforeUncheck:function(_800,_801){
-},onUncheck:function(_802,_803){
-},onCheckAll:function(rows){
-},onUncheckAll:function(rows){
-},onBeforeEdit:function(_804,_805){
-},onBeginEdit:function(_806,_807){
-},onEndEdit:function(_808,_809,_80a){
-},onAfterEdit:function(_80b,_80c,_80d){
-},onCancelEdit:function(_80e,_80f){
-},onHeaderContextMenu:function(e,_810){
-},onRowContextMenu:function(e,_811,_812){
-}});
-})(jQuery);
-(function($){
-var _813;
-$(document).unbind(".propertygrid").bind("mousedown.propertygrid",function(e){
-var p=$(e.target).closest("div.datagrid-view,div.combo-panel");
-if(p.length){
-return;
-}
-_814(_813);
-_813=undefined;
-});
-function _815(_816){
-var _817=$.data(_816,"propertygrid");
-var opts=$.data(_816,"propertygrid").options;
-$(_816).datagrid($.extend({},opts,{cls:"propertygrid",view:(opts.showGroup?opts.groupView:opts.view),onBeforeEdit:function(_818,row){
-if(opts.onBeforeEdit.call(_816,_818,row)==false){
-return false;
-}
-var dg=$(this);
-var row=dg.datagrid("getRows")[_818];
-var col=dg.datagrid("getColumnOption","value");
-    if(row === undefined){
-        return false;
-    }else{
-        col.editor=row.editor;
-    }
-},onClickCell:function(_819,_81a,_81b){
-if(_813!=this){
-_814(_813);
-_813=this;
-}
-if(opts.editIndex!=_819){
-_814(_813);
-$(this).datagrid("beginEdit",_819);
-var ed=$(this).datagrid("getEditor",{index:_819,field:_81a});
-if(!ed){
-ed=$(this).datagrid("getEditor",{index:_819,field:"value"});
-}
-if(ed){
-var t=$(ed.target);
-var _81c=t.data("textbox")?t.textbox("textbox"):t;
-_81c.focus();
-opts.editIndex=_819;
-}
-}
-opts.onClickCell.call(_816,_819,_81a,_81b);
-},loadFilter:function(data){
-_814(this);
-return opts.loadFilter.call(this,data);
-}}));
-};
-function _814(_81d){
-var t=$(_81d);
-if(!t.length){
-return;
-}
-var opts=$.data(_81d,"propertygrid").options;
-opts.finder.getTr(_81d,null,"editing").each(function(){
-var _81e=parseInt($(this).attr("datagrid-row-index"));
-if(t.datagrid("validateRow",_81e)){
-t.datagrid("endEdit",_81e);
-}else{
-t.datagrid("cancelEdit",_81e);
-}
-});
-opts.editIndex=undefined;
-};
-$.fn.propertygrid=function(_81f,_820){
-if(typeof _81f=="string"){
-var _821=$.fn.propertygrid.methods[_81f];
-if(_821){
-return _821(this,_820);
-}else{
-return this.datagrid(_81f,_820);
-}
-}
-_81f=_81f||{};
-return this.each(function(){
-var _822=$.data(this,"propertygrid");
-if(_822){
-$.extend(_822.options,_81f);
-}else{
-var opts=$.extend({},$.fn.propertygrid.defaults,$.fn.propertygrid.parseOptions(this),_81f);
-opts.frozenColumns=$.extend(true,[],opts.frozenColumns);
-opts.columns=$.extend(true,[],opts.columns);
-$.data(this,"propertygrid",{options:opts});
-}
-_815(this);
-});
-};
-$.fn.propertygrid.methods={options:function(jq){
-return $.data(jq[0],"propertygrid").options;
-}};
-$.fn.propertygrid.parseOptions=function(_823){
-return $.extend({},$.fn.datagrid.parseOptions(_823),$.parser.parseOptions(_823,[{showGroup:"boolean"}]));
-};
-var _824=$.extend({},$.fn.datagrid.defaults.view,{render:function(_825,_826,_827){
-var _828=[];
-var _829=this.groups;
-for(var i=0;i<_829.length;i++){
-_828.push(this.renderGroup.call(this,_825,i,_829[i],_827));
-}
-$(_826).html(_828.join(""));
-},renderGroup:function(_82a,_82b,_82c,_82d){
-var _82e=$.data(_82a,"datagrid");
-var opts=_82e.options;
-var _82f=$(_82a).datagrid("getColumnFields",_82d);
-var _830=[];
-_830.push("<div class=\"datagrid-group\" group-index="+_82b+">");
-if((_82d&&(opts.rownumbers||opts.frozenColumns.length))||(!_82d&&!(opts.rownumbers||opts.frozenColumns.length))){
-_830.push("<span class=\"datagrid-group-expander\">");
-_830.push("<span class=\"datagrid-row-expander datagrid-row-collapse\">&nbsp;</span>");
-_830.push("</span>");
-}
-if(!_82d){
-_830.push("<span class=\"datagrid-group-title\">");
-_830.push(opts.groupFormatter.call(_82a,_82c.value,_82c.rows));
-_830.push("</span>");
-}
-_830.push("</div>");
-_830.push("<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>");
-var _831=_82c.startIndex;
-for(var j=0;j<_82c.rows.length;j++){
-var css=opts.rowStyler?opts.rowStyler.call(_82a,_831,_82c.rows[j]):"";
-var _832="";
-var _833="";
-if(typeof css=="string"){
-_833=css;
-}else{
-if(css){
-_832=css["class"]||"";
-_833=css["style"]||"";
-}
-}
-var cls="class=\"datagrid-row "+(_831%2&&opts.striped?"datagrid-row-alt ":" ")+_832+"\"";
-var _834=_833?"style=\""+_833+"\"":"";
-var _835=_82e.rowIdPrefix+"-"+(_82d?1:2)+"-"+_831;
-_830.push("<tr id=\""+_835+"\" datagrid-row-index=\""+_831+"\" "+cls+" "+_834+">");
-_830.push(this.renderRow.call(this,_82a,_82f,_82d,_831,_82c.rows[j]));
-_830.push("</tr>");
-_831++;
-}
-_830.push("</tbody></table>");
-return _830.join("");
-},bindEvents:function(_836){
-var _837=$.data(_836,"datagrid");
-var dc=_837.dc;
-var body=dc.body1.add(dc.body2);
-var _838=($.data(body[0],"events")||$._data(body[0],"events")).click[0].handler;
-body.unbind("click").bind("click",function(e){
-var tt=$(e.target);
-var _839=tt.closest("span.datagrid-row-expander");
-if(_839.length){
-var _83a=_839.closest("div.datagrid-group").attr("group-index");
-if(_839.hasClass("datagrid-row-collapse")){
-$(_836).datagrid("collapseGroup",_83a);
-}else{
-$(_836).datagrid("expandGroup",_83a);
-}
-}else{
-_838(e);
-}
-e.stopPropagation();
-});
-},onBeforeRender:function(_83b,rows){
-var _83c=$.data(_83b,"datagrid");
-var opts=_83c.options;
-_83d();
-var _83e=[];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-var _83f=_840(row[opts.groupField]);
-if(!_83f){
-_83f={value:row[opts.groupField],rows:[row]};
-_83e.push(_83f);
-}else{
-_83f.rows.push(row);
-}
-}
-var _841=0;
-var _842=[];
-for(var i=0;i<_83e.length;i++){
-var _83f=_83e[i];
-_83f.startIndex=_841;
-_841+=_83f.rows.length;
-_842=_842.concat(_83f.rows);
-}
-_83c.data.rows=_842;
-this.groups=_83e;
-var that=this;
-setTimeout(function(){
-that.bindEvents(_83b);
-},0);
-function _840(_843){
-for(var i=0;i<_83e.length;i++){
-var _844=_83e[i];
-if(_844.value==_843){
-return _844;
-}
-}
-return null;
-};
-function _83d(){
-if(!$("#datagrid-group-style").length){
-$("head").append("<style id=\"datagrid-group-style\">"+".datagrid-group{height:"+opts.groupHeight+"px;overflow:hidden;font-weight:bold;border-bottom:1px solid #ccc;}"+".datagrid-group-title,.datagrid-group-expander{display:inline-block;vertical-align:bottom;height:100%;line-height:"+opts.groupHeight+"px;padding:0 4px;}"+".datagrid-group-expander{width:"+opts.expanderWidth+"px;text-align:center;padding:0}"+".datagrid-row-expander{margin:"+Math.floor((opts.groupHeight-16)/2)+"px 0;display:inline-block;width:16px;height:16px;cursor:pointer}"+"</style>");
-}
-};
-}});
-$.extend($.fn.datagrid.methods,{groups:function(jq){
-return jq.datagrid("options").view.groups;
-},expandGroup:function(jq,_845){
-return jq.each(function(){
-var view=$.data(this,"datagrid").dc.view;
-var _846=view.find(_845!=undefined?"div.datagrid-group[group-index=\""+_845+"\"]":"div.datagrid-group");
-var _847=_846.find("span.datagrid-row-expander");
-if(_847.hasClass("datagrid-row-expand")){
-_847.removeClass("datagrid-row-expand").addClass("datagrid-row-collapse");
-_846.next("table").show();
-}
-$(this).datagrid("fixRowHeight");
-});
-},collapseGroup:function(jq,_848){
-return jq.each(function(){
-var view=$.data(this,"datagrid").dc.view;
-var _849=view.find(_848!=undefined?"div.datagrid-group[group-index=\""+_848+"\"]":"div.datagrid-group");
-var _84a=_849.find("span.datagrid-row-expander");
-if(_84a.hasClass("datagrid-row-collapse")){
-_84a.removeClass("datagrid-row-collapse").addClass("datagrid-row-expand");
-_849.next("table").hide();
-}
-$(this).datagrid("fixRowHeight");
-});
-}});
-$.extend(_824,{refreshGroupTitle:function(_84b,_84c){
-var _84d=$.data(_84b,"datagrid");
-var opts=_84d.options;
-var dc=_84d.dc;
-var _84e=this.groups[_84c];
-var span=dc.body2.children("div.datagrid-group[group-index="+_84c+"]").find("span.datagrid-group-title");
-span.html(opts.groupFormatter.call(_84b,_84e.value,_84e.rows));
-},insertRow:function(_84f,_850,row){
-var _851=$.data(_84f,"datagrid");
-var opts=_851.options;
-var dc=_851.dc;
-var _852=null;
-var _853;
-if(!_851.data.rows.length){
-$(_84f).datagrid("loadData",[row]);
-return;
-}
-for(var i=0;i<this.groups.length;i++){
-if(this.groups[i].value==row[opts.groupField]){
-_852=this.groups[i];
-_853=i;
-break;
-}
-}
-if(_852){
-if(_850==undefined||_850==null){
-_850=_851.data.rows.length;
-}
-if(_850<_852.startIndex){
-_850=_852.startIndex;
-}else{
-if(_850>_852.startIndex+_852.rows.length){
-_850=_852.startIndex+_852.rows.length;
-}
-}
-$.fn.datagrid.defaults.view.insertRow.call(this,_84f,_850,row);
-if(_850>=_852.startIndex+_852.rows.length){
-_854(_850,true);
-_854(_850,false);
-}
-_852.rows.splice(_850-_852.startIndex,0,row);
-}else{
-_852={value:row[opts.groupField],rows:[row],startIndex:_851.data.rows.length};
-_853=this.groups.length;
-dc.body1.append(this.renderGroup.call(this,_84f,_853,_852,true));
-dc.body2.append(this.renderGroup.call(this,_84f,_853,_852,false));
-this.groups.push(_852);
-_851.data.rows.push(row);
-}
-this.refreshGroupTitle(_84f,_853);
-function _854(_855,_856){
-var _857=_856?1:2;
-var _858=opts.finder.getTr(_84f,_855-1,"body",_857);
-var tr=opts.finder.getTr(_84f,_855,"body",_857);
-tr.insertAfter(_858);
-};
-},updateRow:function(_859,_85a,row){
-var opts=$.data(_859,"datagrid").options;
-$.fn.datagrid.defaults.view.updateRow.call(this,_859,_85a,row);
-var tb=opts.finder.getTr(_859,_85a,"body",2).closest("table.datagrid-btable");
-var _85b=parseInt(tb.prev().attr("group-index"));
-this.refreshGroupTitle(_859,_85b);
-},deleteRow:function(_85c,_85d){
-var _85e=$.data(_85c,"datagrid");
-var opts=_85e.options;
-var dc=_85e.dc;
-var body=dc.body1.add(dc.body2);
-var tb=opts.finder.getTr(_85c,_85d,"body",2).closest("table.datagrid-btable");
-var _85f=parseInt(tb.prev().attr("group-index"));
-$.fn.datagrid.defaults.view.deleteRow.call(this,_85c,_85d);
-var _860=this.groups[_85f];
-if(_860.rows.length>1){
-_860.rows.splice(_85d-_860.startIndex,1);
-this.refreshGroupTitle(_85c,_85f);
-}else{
-body.children("div.datagrid-group[group-index="+_85f+"]").remove();
-for(var i=_85f+1;i<this.groups.length;i++){
-body.children("div.datagrid-group[group-index="+i+"]").attr("group-index",i-1);
-}
-this.groups.splice(_85f,1);
-}
-var _85d=0;
-for(var i=0;i<this.groups.length;i++){
-var _860=this.groups[i];
-_860.startIndex=_85d;
-_85d+=_860.rows.length;
-}
-}});
-$.fn.propertygrid.defaults=$.extend({},$.fn.datagrid.defaults,{groupHeight:21,expanderWidth:16,singleSelect:true,remoteSort:false,fitColumns:true,loadMsg:"",frozenColumns:[[{field:"f",width:16,resizable:false}]],columns:[[{field:"name",title:"Name",width:100,sortable:true},{field:"value",title:"Value",width:100,resizable:false}]],showGroup:false,groupView:_824,groupField:"group",groupFormatter:function(_861,rows){
-return _861;
-}});
-})(jQuery);
-(function($){
-function _862(_863){
-var _864=$.data(_863,"treegrid");
-var opts=_864.options;
-$(_863).datagrid($.extend({},opts,{url:null,data:null,loader:function(){
-return false;
-},onBeforeLoad:function(){
-return false;
-},onLoadSuccess:function(){
-},onResizeColumn:function(_865,_866){
-_873(_863);
-opts.onResizeColumn.call(_863,_865,_866);
-},onBeforeSortColumn:function(sort,_867){
-if(opts.onBeforeSortColumn.call(_863,sort,_867)==false){
-return false;
-}
-},onSortColumn:function(sort,_868){
-opts.sortName=sort;
-opts.sortOrder=_868;
-if(opts.remoteSort){
-_872(_863);
-}else{
-var data=$(_863).treegrid("getData");
-_889(_863,0,data);
-}
-opts.onSortColumn.call(_863,sort,_868);
-},onClickCell:function(_869,_86a){
-opts.onClickCell.call(_863,_86a,find(_863,_869));
-},onDblClickCell:function(_86b,_86c){
-opts.onDblClickCell.call(_863,_86c,find(_863,_86b));
-},onRowContextMenu:function(e,_86d){
-opts.onContextMenu.call(_863,e,find(_863,_86d));
-}}));
-var _86e=$.data(_863,"datagrid").options;
-opts.columns=_86e.columns;
-opts.frozenColumns=_86e.frozenColumns;
-_864.dc=$.data(_863,"datagrid").dc;
-if(opts.pagination){
-var _86f=$(_863).datagrid("getPager");
-_86f.pagination({pageNumber:opts.pageNumber,pageSize:opts.pageSize,pageList:opts.pageList,onSelectPage:function(_870,_871){
-opts.pageNumber=_870;
-opts.pageSize=_871;
-_872(_863);
-}});
-opts.pageSize=_86f.pagination("options").pageSize;
-}
-};
-function _873(_874,_875){
-var opts=$.data(_874,"datagrid").options;
-var dc=$.data(_874,"datagrid").dc;
-if(!dc.body1.is(":empty")&&(!opts.nowrap||opts.autoRowHeight)){
-if(_875!=undefined){
-var _876=_877(_874,_875);
-for(var i=0;i<_876.length;i++){
-_878(_876[i][opts.idField]);
-}
-}
-}
-$(_874).datagrid("fixRowHeight",_875);
-function _878(_879){
-var tr1=opts.finder.getTr(_874,_879,"body",1);
-var tr2=opts.finder.getTr(_874,_879,"body",2);
-tr1.css("height","");
-tr2.css("height","");
-var _87a=Math.max(tr1.height(),tr2.height());
-tr1.css("height",_87a);
-tr2.css("height",_87a);
-};
-};
-function _87b(_87c){
-var dc=$.data(_87c,"datagrid").dc;
-var opts=$.data(_87c,"treegrid").options;
-if(!opts.rownumbers){
-return;
-}
-dc.body1.find("div.datagrid-cell-rownumber").each(function(i){
-$(this).html(i+1);
-});
-};
-function _87d(_87e){
-return function(e){
-$.fn.datagrid.defaults.rowEvents[_87e?"mouseover":"mouseout"](e);
-var tt=$(e.target);
-var fn=_87e?"addClass":"removeClass";
-if(tt.hasClass("tree-hit")){
-tt.hasClass("tree-expanded")?tt[fn]("tree-expanded-hover"):tt[fn]("tree-collapsed-hover");
-}
-};
-};
-function _87f(e){
-var tt=$(e.target);
-if(tt.hasClass("tree-hit")){
-var tr=tt.closest("tr.datagrid-row");
-var _880=tr.closest("div.datagrid-view").children(".datagrid-f")[0];
-_881(_880,tr.attr("node-id"));
-}else{
-$.fn.datagrid.defaults.rowEvents.click(e);
-}
-};
-function _882(_883,_884){
-var opts=$.data(_883,"treegrid").options;
-var tr1=opts.finder.getTr(_883,_884,"body",1);
-var tr2=opts.finder.getTr(_883,_884,"body",2);
-var _885=$(_883).datagrid("getColumnFields",true).length+(opts.rownumbers?1:0);
-var _886=$(_883).datagrid("getColumnFields",false).length;
-_887(tr1,_885);
-_887(tr2,_886);
-function _887(tr,_888){
-$("<tr class=\"treegrid-tr-tree\">"+"<td style=\"border:0px\" colspan=\""+_888+"\">"+"<div></div>"+"</td>"+"</tr>").insertAfter(tr);
-};
-};
-function _889(_88a,_88b,data,_88c){
-var _88d=$.data(_88a,"treegrid");
-var opts=_88d.options;
-var dc=_88d.dc;
-data=opts.loadFilter.call(_88a,data,_88b);
-var node=find(_88a,_88b);
-if(node){
-var _88e=opts.finder.getTr(_88a,_88b,"body",1);
-var _88f=opts.finder.getTr(_88a,_88b,"body",2);
-var cc1=_88e.next("tr.treegrid-tr-tree").children("td").children("div");
-var cc2=_88f.next("tr.treegrid-tr-tree").children("td").children("div");
-if(!_88c){
-node.children=[];
-}
-}else{
-var cc1=dc.body1;
-var cc2=dc.body2;
-if(!_88c){
-_88d.data=[];
-}
-}
-if(!_88c){
-cc1.empty();
-cc2.empty();
-}
-if(opts.view.onBeforeRender){
-opts.view.onBeforeRender.call(opts.view,_88a,_88b,data);
-}
-opts.view.render.call(opts.view,_88a,cc1,true);
-opts.view.render.call(opts.view,_88a,cc2,false);
-if(opts.showFooter){
-opts.view.renderFooter.call(opts.view,_88a,dc.footer1,true);
-opts.view.renderFooter.call(opts.view,_88a,dc.footer2,false);
-}
-if(opts.view.onAfterRender){
-opts.view.onAfterRender.call(opts.view,_88a);
-}
-if(!_88b&&opts.pagination){
-var _890=$.data(_88a,"treegrid").total;
-var _891=$(_88a).datagrid("getPager");
-if(_891.pagination("options").total!=_890){
-_891.pagination({total:_890});
-}
-}
-_873(_88a);
-_87b(_88a);
-$(_88a).treegrid("showLines");
-$(_88a).treegrid("setSelectionState");
-$(_88a).treegrid("autoSizeColumn");
-opts.onLoadSuccess.call(_88a,node,data);
-};
-function _872(_892,_893,_894,_895,_896){
-var opts=$.data(_892,"treegrid").options;
-var body=$(_892).datagrid("getPanel").find("div.datagrid-body");
-if(_894){
-opts.queryParams=_894;
-}
-var _897=$.extend({},opts.queryParams);
-if(opts.pagination){
-$.extend(_897,{page:opts.pageNumber,rows:opts.pageSize});
-}
-if(opts.sortName){
-$.extend(_897,{sort:opts.sortName,order:opts.sortOrder});
-}
-var row=find(_892,_893);
-if(opts.onBeforeLoad.call(_892,row,_897)==false){
-return;
-}
-var _898=body.find("tr[node-id=\""+_893+"\"] span.tree-folder");
-_898.addClass("tree-loading");
-$(_892).treegrid("loading");
-var _899=opts.loader.call(_892,_897,function(data){
-_898.removeClass("tree-loading");
-$(_892).treegrid("loaded");
-_889(_892,_893,data,_895);
-if(_896){
-_896();
-}
-},function(){
-_898.removeClass("tree-loading");
-$(_892).treegrid("loaded");
-opts.onLoadError.apply(_892,arguments);
-if(_896){
-_896();
-}
-});
-if(_899==false){
-_898.removeClass("tree-loading");
-$(_892).treegrid("loaded");
-}
-};
-function _89a(_89b){
-var rows=_89c(_89b);
-if(rows.length){
-return rows[0];
-}else{
-return null;
-}
-};
-function _89c(_89d){
-return $.data(_89d,"treegrid").data;
-};
-function _89e(_89f,_8a0){
-var row=find(_89f,_8a0);
-if(row._parentId){
-return find(_89f,row._parentId);
-}else{
-return null;
-}
-};
-function _877(_8a1,_8a2){
-var opts=$.data(_8a1,"treegrid").options;
-var body=$(_8a1).datagrid("getPanel").find("div.datagrid-view2 div.datagrid-body");
-var _8a3=[];
-if(_8a2){
-_8a4(_8a2);
-}else{
-var _8a5=_89c(_8a1);
-for(var i=0;i<_8a5.length;i++){
-_8a3.push(_8a5[i]);
-_8a4(_8a5[i][opts.idField]);
-}
-}
-function _8a4(_8a6){
-var _8a7=find(_8a1,_8a6);
-if(_8a7&&_8a7.children){
-for(var i=0,len=_8a7.children.length;i<len;i++){
-var _8a8=_8a7.children[i];
-_8a3.push(_8a8);
-_8a4(_8a8[opts.idField]);
-}
-}
-};
-return _8a3;
-};
-function _8a9(_8aa,_8ab){
-var opts=$.data(_8aa,"treegrid").options;
-var tr=opts.finder.getTr(_8aa,_8ab);
-var node=tr.children("td[field=\""+opts.treeField+"\"]");
-return node.find("span.tree-indent,span.tree-hit").length;
-};
-function find(_8ac,_8ad){
-var opts=$.data(_8ac,"treegrid").options;
-var data=$.data(_8ac,"treegrid").data;
-var cc=[data];
-while(cc.length){
-var c=cc.shift();
-for(var i=0;i<c.length;i++){
-var node=c[i];
-if(node[opts.idField]==_8ad){
-return node;
-}else{
-if(node["children"]){
-cc.push(node["children"]);
-}
-}
-}
-}
-return null;
-};
-function _8ae(_8af,_8b0){
-var opts=$.data(_8af,"treegrid").options;
-var row=find(_8af,_8b0);
-var tr=opts.finder.getTr(_8af,_8b0);
-var hit=tr.find("span.tree-hit");
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-collapsed")){
-return;
-}
-if(opts.onBeforeCollapse.call(_8af,row)==false){
-return;
-}
-hit.removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
-hit.next().removeClass("tree-folder-open");
-row.state="closed";
-tr=tr.next("tr.treegrid-tr-tree");
-var cc=tr.children("td").children("div");
-if(opts.animate){
-cc.slideUp("normal",function(){
-$(_8af).treegrid("autoSizeColumn");
-_873(_8af,_8b0);
-opts.onCollapse.call(_8af,row);
-});
-}else{
-cc.hide();
-$(_8af).treegrid("autoSizeColumn");
-_873(_8af,_8b0);
-opts.onCollapse.call(_8af,row);
-}
-};
-function _8b1(_8b2,_8b3){
-var opts=$.data(_8b2,"treegrid").options;
-var tr=opts.finder.getTr(_8b2,_8b3);
-var hit=tr.find("span.tree-hit");
-var row=find(_8b2,_8b3);
-if(hit.length==0){
-return;
-}
-if(hit.hasClass("tree-expanded")){
-return;
-}
-if(opts.onBeforeExpand.call(_8b2,row)==false){
-return;
-}
-hit.removeClass("tree-collapsed tree-collapsed-hover").addClass("tree-expanded");
-hit.next().addClass("tree-folder-open");
-var _8b4=tr.next("tr.treegrid-tr-tree");
-if(_8b4.length){
-var cc=_8b4.children("td").children("div");
-_8b5(cc);
-}else{
-_882(_8b2,row[opts.idField]);
-var _8b4=tr.next("tr.treegrid-tr-tree");
-var cc=_8b4.children("td").children("div");
-cc.hide();
-var _8b6=$.extend({},opts.queryParams||{});
-_8b6.id=row[opts.idField];
-_872(_8b2,row[opts.idField],_8b6,true,function(){
-if(cc.is(":empty")){
-_8b4.remove();
-}else{
-_8b5(cc);
-}
-});
-}
-function _8b5(cc){
-row.state="open";
-if(opts.animate){
-cc.slideDown("normal",function(){
-$(_8b2).treegrid("autoSizeColumn");
-_873(_8b2,_8b3);
-opts.onExpand.call(_8b2,row);
-});
-}else{
-cc.show();
-$(_8b2).treegrid("autoSizeColumn");
-_873(_8b2,_8b3);
-opts.onExpand.call(_8b2,row);
-}
-};
-};
-function _881(_8b7,_8b8){
-var opts=$.data(_8b7,"treegrid").options;
-var tr=opts.finder.getTr(_8b7,_8b8);
-var hit=tr.find("span.tree-hit");
-if(hit.hasClass("tree-expanded")){
-_8ae(_8b7,_8b8);
-}else{
-_8b1(_8b7,_8b8);
-}
-};
-function _8b9(_8ba,_8bb){
-var opts=$.data(_8ba,"treegrid").options;
-var _8bc=_877(_8ba,_8bb);
-if(_8bb){
-_8bc.unshift(find(_8ba,_8bb));
-}
-for(var i=0;i<_8bc.length;i++){
-_8ae(_8ba,_8bc[i][opts.idField]);
-}
-};
-function _8bd(_8be,_8bf){
-var opts=$.data(_8be,"treegrid").options;
-var _8c0=_877(_8be,_8bf);
-if(_8bf){
-_8c0.unshift(find(_8be,_8bf));
-}
-for(var i=0;i<_8c0.length;i++){
-_8b1(_8be,_8c0[i][opts.idField]);
-}
-};
-function _8c1(_8c2,_8c3){
-var opts=$.data(_8c2,"treegrid").options;
-var ids=[];
-var p=_89e(_8c2,_8c3);
-while(p){
-var id=p[opts.idField];
-ids.unshift(id);
-p=_89e(_8c2,id);
-}
-for(var i=0;i<ids.length;i++){
-_8b1(_8c2,ids[i]);
-}
-};
-function _8c4(_8c5,_8c6){
-var opts=$.data(_8c5,"treegrid").options;
-if(_8c6.parent){
-var tr=opts.finder.getTr(_8c5,_8c6.parent);
-if(tr.next("tr.treegrid-tr-tree").length==0){
-_882(_8c5,_8c6.parent);
-}
-var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell");
-var _8c7=cell.children("span.tree-icon");
-if(_8c7.hasClass("tree-file")){
-_8c7.removeClass("tree-file").addClass("tree-folder tree-folder-open");
-var hit=$("<span class=\"tree-hit tree-expanded\"></span>").insertBefore(_8c7);
-if(hit.prev().length){
-hit.prev().remove();
-}
-}
-}
-_889(_8c5,_8c6.parent,_8c6.data,true);
-};
-function _8c8(_8c9,_8ca){
-var ref=_8ca.before||_8ca.after;
-var opts=$.data(_8c9,"treegrid").options;
-var _8cb=_89e(_8c9,ref);
-_8c4(_8c9,{parent:(_8cb?_8cb[opts.idField]:null),data:[_8ca.data]});
-var _8cc=_8cb?_8cb.children:$(_8c9).treegrid("getRoots");
-for(var i=0;i<_8cc.length;i++){
-if(_8cc[i][opts.idField]==ref){
-var _8cd=_8cc[_8cc.length-1];
-_8cc.splice(_8ca.before?i:(i+1),0,_8cd);
-_8cc.splice(_8cc.length-1,1);
-break;
-}
-}
-_8ce(true);
-_8ce(false);
-_87b(_8c9);
-$(_8c9).treegrid("showLines");
-function _8ce(_8cf){
-var _8d0=_8cf?1:2;
-var tr=opts.finder.getTr(_8c9,_8ca.data[opts.idField],"body",_8d0);
-var _8d1=tr.closest("table.datagrid-btable");
-tr=tr.parent().children();
-var dest=opts.finder.getTr(_8c9,ref,"body",_8d0);
-if(_8ca.before){
-tr.insertBefore(dest);
-}else{
-var sub=dest.next("tr.treegrid-tr-tree");
-tr.insertAfter(sub.length?sub:dest);
-}
-_8d1.remove();
-};
-};
-function _8d2(_8d3,_8d4){
-var _8d5=$.data(_8d3,"treegrid");
-$(_8d3).datagrid("deleteRow",_8d4);
-_87b(_8d3);
-_8d5.total-=1;
-$(_8d3).datagrid("getPager").pagination("refresh",{total:_8d5.total});
-$(_8d3).treegrid("showLines");
-};
-function _8d6(_8d7){
-var t=$(_8d7);
-var opts=t.treegrid("options");
-if(opts.lines){
-t.treegrid("getPanel").addClass("tree-lines");
-}else{
-t.treegrid("getPanel").removeClass("tree-lines");
-return;
-}
-t.treegrid("getPanel").find("span.tree-indent").removeClass("tree-line tree-join tree-joinbottom");
-t.treegrid("getPanel").find("div.datagrid-cell").removeClass("tree-node-last tree-root-first tree-root-one");
-var _8d8=t.treegrid("getRoots");
-if(_8d8.length>1){
-_8d9(_8d8[0]).addClass("tree-root-first");
-}else{
-if(_8d8.length==1){
-_8d9(_8d8[0]).addClass("tree-root-one");
-}
-}
-_8da(_8d8);
-_8db(_8d8);
-function _8da(_8dc){
-$.map(_8dc,function(node){
-if(node.children&&node.children.length){
-_8da(node.children);
-}else{
-var cell=_8d9(node);
-cell.find(".tree-icon").prev().addClass("tree-join");
-}
-});
-if(_8dc.length){
-var cell=_8d9(_8dc[_8dc.length-1]);
-cell.addClass("tree-node-last");
-cell.find(".tree-join").removeClass("tree-join").addClass("tree-joinbottom");
-}
-};
-function _8db(_8dd){
-$.map(_8dd,function(node){
-if(node.children&&node.children.length){
-_8db(node.children);
-}
-});
-for(var i=0;i<_8dd.length-1;i++){
-var node=_8dd[i];
-var _8de=t.treegrid("getLevel",node[opts.idField]);
-var tr=opts.finder.getTr(_8d7,node[opts.idField]);
-var cc=tr.next().find("tr.datagrid-row td[field=\""+opts.treeField+"\"] div.datagrid-cell");
-cc.find("span:eq("+(_8de-1)+")").addClass("tree-line");
-}
-};
-function _8d9(node){
-var tr=opts.finder.getTr(_8d7,node[opts.idField]);
-var cell=tr.find("td[field=\""+opts.treeField+"\"] div.datagrid-cell");
-return cell;
-};
-};
-$.fn.treegrid=function(_8df,_8e0){
-if(typeof _8df=="string"){
-var _8e1=$.fn.treegrid.methods[_8df];
-if(_8e1){
-return _8e1(this,_8e0);
-}else{
-return this.datagrid(_8df,_8e0);
-}
-}
-_8df=_8df||{};
-return this.each(function(){
-var _8e2=$.data(this,"treegrid");
-if(_8e2){
-$.extend(_8e2.options,_8df);
-}else{
-_8e2=$.data(this,"treegrid",{options:$.extend({},$.fn.treegrid.defaults,$.fn.treegrid.parseOptions(this),_8df),data:[]});
-}
-_862(this);
-if(_8e2.options.data){
-$(this).treegrid("loadData",_8e2.options.data);
-}
-_872(this);
-});
-};
-$.fn.treegrid.methods={options:function(jq){
-return $.data(jq[0],"treegrid").options;
-},resize:function(jq,_8e3){
-return jq.each(function(){
-$(this).datagrid("resize",_8e3);
-});
-},fixRowHeight:function(jq,_8e4){
-return jq.each(function(){
-_873(this,_8e4);
-});
-},loadData:function(jq,data){
-return jq.each(function(){
-_889(this,data.parent,data);
-});
-},load:function(jq,_8e5){
-return jq.each(function(){
-$(this).treegrid("options").pageNumber=1;
-$(this).treegrid("getPager").pagination({pageNumber:1});
-$(this).treegrid("reload",_8e5);
-});
-},reload:function(jq,id){
-return jq.each(function(){
-var opts=$(this).treegrid("options");
-var _8e6={};
-if(typeof id=="object"){
-_8e6=id;
-}else{
-_8e6=$.extend({},opts.queryParams);
-_8e6.id=id;
-}
-if(_8e6.id){
-var node=$(this).treegrid("find",_8e6.id);
-if(node.children){
-node.children.splice(0,node.children.length);
-}
-opts.queryParams=_8e6;
-var tr=opts.finder.getTr(this,_8e6.id);
-tr.next("tr.treegrid-tr-tree").remove();
-tr.find("span.tree-hit").removeClass("tree-expanded tree-expanded-hover").addClass("tree-collapsed");
-_8b1(this,_8e6.id);
-}else{
-_872(this,null,_8e6);
-}
-});
-},reloadFooter:function(jq,_8e7){
-return jq.each(function(){
-var opts=$.data(this,"treegrid").options;
-var dc=$.data(this,"datagrid").dc;
-if(_8e7){
-$.data(this,"treegrid").footer=_8e7;
-}
-if(opts.showFooter){
-opts.view.renderFooter.call(opts.view,this,dc.footer1,true);
-opts.view.renderFooter.call(opts.view,this,dc.footer2,false);
-if(opts.view.onAfterRender){
-opts.view.onAfterRender.call(opts.view,this);
-}
-$(this).treegrid("fixRowHeight");
-}
-});
-},getData:function(jq){
-return $.data(jq[0],"treegrid").data;
-},getFooterRows:function(jq){
-return $.data(jq[0],"treegrid").footer;
-},getRoot:function(jq){
-return _89a(jq[0]);
-},getRoots:function(jq){
-return _89c(jq[0]);
-},getParent:function(jq,id){
-return _89e(jq[0],id);
-},getChildren:function(jq,id){
-return _877(jq[0],id);
-},getLevel:function(jq,id){
-return _8a9(jq[0],id);
-},find:function(jq,id){
-return find(jq[0],id);
-},isLeaf:function(jq,id){
-var opts=$.data(jq[0],"treegrid").options;
-var tr=opts.finder.getTr(jq[0],id);
-var hit=tr.find("span.tree-hit");
-return hit.length==0;
-},select:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("selectRow",id);
-});
-},unselect:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("unselectRow",id);
-});
-},collapse:function(jq,id){
-return jq.each(function(){
-_8ae(this,id);
-});
-},expand:function(jq,id){
-return jq.each(function(){
-_8b1(this,id);
-});
-},toggle:function(jq,id){
-return jq.each(function(){
-_881(this,id);
-});
-},collapseAll:function(jq,id){
-return jq.each(function(){
-_8b9(this,id);
-});
-},expandAll:function(jq,id){
-return jq.each(function(){
-_8bd(this,id);
-});
-},expandTo:function(jq,id){
-return jq.each(function(){
-_8c1(this,id);
-});
-},append:function(jq,_8e8){
-return jq.each(function(){
-_8c4(this,_8e8);
-});
-},insert:function(jq,_8e9){
-return jq.each(function(){
-_8c8(this,_8e9);
-});
-},remove:function(jq,id){
-return jq.each(function(){
-_8d2(this,id);
-});
-},pop:function(jq,id){
-var row=jq.treegrid("find",id);
-jq.treegrid("remove",id);
-return row;
-},refresh:function(jq,id){
-return jq.each(function(){
-var opts=$.data(this,"treegrid").options;
-opts.view.refreshRow.call(opts.view,this,id);
-});
-},update:function(jq,_8ea){
-return jq.each(function(){
-var opts=$.data(this,"treegrid").options;
-opts.view.updateRow.call(opts.view,this,_8ea.id,_8ea.row);
-});
-},beginEdit:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("beginEdit",id);
-$(this).treegrid("fixRowHeight",id);
-});
-},endEdit:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("endEdit",id);
-});
-},cancelEdit:function(jq,id){
-return jq.each(function(){
-$(this).datagrid("cancelEdit",id);
-});
-},showLines:function(jq){
-return jq.each(function(){
-_8d6(this);
-});
-}};
-$.fn.treegrid.parseOptions=function(_8eb){
-return $.extend({},$.fn.datagrid.parseOptions(_8eb),$.parser.parseOptions(_8eb,["treeField",{animate:"boolean"}]));
-};
-var _8ec=$.extend({},$.fn.datagrid.defaults.view,{render:function(_8ed,_8ee,_8ef){
-var opts=$.data(_8ed,"treegrid").options;
-var _8f0=$(_8ed).datagrid("getColumnFields",_8ef);
-var _8f1=$.data(_8ed,"datagrid").rowIdPrefix;
-if(_8ef){
-if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){
-return;
-}
-}
-var view=this;
-if(this.treeNodes&&this.treeNodes.length){
-var _8f2=_8f3(_8ef,this.treeLevel,this.treeNodes);
-$(_8ee).append(_8f2.join(""));
-}
-function _8f3(_8f4,_8f5,_8f6){
-var _8f7=$(_8ed).treegrid("getParent",_8f6[0][opts.idField]);
-var _8f8=(_8f7?_8f7.children.length:$(_8ed).treegrid("getRoots").length)-_8f6.length;
-var _8f9=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
-for(var i=0;i<_8f6.length;i++){
-var row=_8f6[i];
-if(row.state!="open"&&row.state!="closed"){
-row.state="open";
-}
-var css=opts.rowStyler?opts.rowStyler.call(_8ed,row):"";
-var _8fa="";
-var _8fb="";
-if(typeof css=="string"){
-_8fb=css;
-}else{
-if(css){
-_8fa=css["class"]||"";
-_8fb=css["style"]||"";
-}
-}
-var cls="class=\"datagrid-row "+(_8f8++%2&&opts.striped?"datagrid-row-alt ":" ")+_8fa+"\"";
-var _8fc=_8fb?"style=\""+_8fb+"\"":"";
-var _8fd=_8f1+"-"+(_8f4?1:2)+"-"+row[opts.idField];
-_8f9.push("<tr id=\""+_8fd+"\" node-id=\""+row[opts.idField]+"\" "+cls+" "+_8fc+">");
-_8f9=_8f9.concat(view.renderRow.call(view,_8ed,_8f0,_8f4,_8f5,row));
-_8f9.push("</tr>");
-if(row.children&&row.children.length){
-var tt=_8f3(_8f4,_8f5+1,row.children);
-var v=row.state=="closed"?"none":"block";
-_8f9.push("<tr class=\"treegrid-tr-tree\"><td style=\"border:0px\" colspan="+(_8f0.length+(opts.rownumbers?1:0))+"><div style=\"display:"+v+"\">");
-_8f9=_8f9.concat(tt);
-_8f9.push("</div></td></tr>");
-}
-}
-_8f9.push("</tbody></table>");
-return _8f9;
-};
-},renderFooter:function(_8fe,_8ff,_900){
-var opts=$.data(_8fe,"treegrid").options;
-var rows=$.data(_8fe,"treegrid").footer||[];
-var _901=$(_8fe).datagrid("getColumnFields",_900);
-var _902=["<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-row[opts.idField]=row[opts.idField]||("foot-row-id"+i);
-_902.push("<tr class=\"datagrid-row\" node-id=\""+row[opts.idField]+"\">");
-_902.push(this.renderRow.call(this,_8fe,_901,_900,0,row));
-_902.push("</tr>");
-}
-_902.push("</tbody></table>");
-$(_8ff).html(_902.join(""));
-},renderRow:function(_903,_904,_905,_906,row){
-var opts=$.data(_903,"treegrid").options;
-var cc=[];
-if(_905&&opts.rownumbers){
-cc.push("<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">0</div></td>");
-}
-for(var i=0;i<_904.length;i++){
-var _907=_904[i];
-var col=$(_903).datagrid("getColumnOption",_907);
-if(col){
-var css=col.styler?(col.styler(row[_907],row)||""):"";
-var _908="";
-var _909="";
-if(typeof css=="string"){
-_909=css;
-}else{
-if(cc){
-_908=css["class"]||"";
-_909=css["style"]||"";
-}
-}
-var cls=_908?"class=\""+_908+"\"":"";
-var _90a=col.hidden?"style=\"display:none;"+_909+"\"":(_909?"style=\""+_909+"\"":"");
-cc.push("<td field=\""+_907+"\" "+cls+" "+_90a+">");
-var _90a="";
-if(!col.checkbox){
-if(col.align){
-_90a+="text-align:"+col.align+";";
-}
-if(!opts.nowrap){
-_90a+="white-space:normal;height:auto;";
-}else{
-if(opts.autoRowHeight){
-_90a+="height:auto;";
-}
-}
-}
-cc.push("<div style=\""+_90a+"\" ");
-if(col.checkbox){
-cc.push("class=\"datagrid-cell-check ");
-}else{
-cc.push("class=\"datagrid-cell "+col.cellClass);
-}
-cc.push("\">");
-if(col.checkbox){
-if(row.checked){
-cc.push("<input type=\"checkbox\" checked=\"checked\"");
-}else{
-cc.push("<input type=\"checkbox\"");
-}
-cc.push(" name=\""+_907+"\" value=\""+(row[_907]!=undefined?row[_907]:"")+"\">");
-}else{
-var val=null;
-if(col.formatter){
-val=col.formatter(row[_907],row);
-}else{
-val=row[_907];
-}
-if(_907==opts.treeField){
-for(var j=0;j<_906;j++){
-cc.push("<span class=\"tree-indent\"></span>");
-}
-if(row.state=="closed"){
-cc.push("<span class=\"tree-hit tree-collapsed\"></span>");
-cc.push("<span class=\"tree-icon tree-folder "+(row.iconCls?row.iconCls:"")+"\"></span>");
-}else{
-if(row.children&&row.children.length){
-cc.push("<span class=\"tree-hit tree-expanded\"></span>");
-cc.push("<span class=\"tree-icon tree-folder tree-folder-open "+(row.iconCls?row.iconCls:"")+"\"></span>");
-}else{
-cc.push("<span class=\"tree-indent\"></span>");
-cc.push("<span class=\"tree-icon tree-file "+(row.iconCls?row.iconCls:"")+"\"></span>");
-}
-}
-cc.push("<span class=\"tree-title\">"+val+"</span>");
-}else{
-cc.push(val);
-}
-}
-cc.push("</div>");
-cc.push("</td>");
-}
-}
-return cc.join("");
-},refreshRow:function(_90b,id){
-this.updateRow.call(this,_90b,id,{});
-},updateRow:function(_90c,id,row){
-var opts=$.data(_90c,"treegrid").options;
-var _90d=$(_90c).treegrid("find",id);
-$.extend(_90d,row);
-var _90e=$(_90c).treegrid("getLevel",id)-1;
-var _90f=opts.rowStyler?opts.rowStyler.call(_90c,_90d):"";
-var _910=$.data(_90c,"datagrid").rowIdPrefix;
-var _911=_90d[opts.idField];
-function _912(_913){
-var _914=$(_90c).treegrid("getColumnFields",_913);
-var tr=opts.finder.getTr(_90c,id,"body",(_913?1:2));
-var _915=tr.find("div.datagrid-cell-rownumber").html();
-var _916=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked");
-tr.html(this.renderRow(_90c,_914,_913,_90e,_90d));
-tr.attr("style",_90f||"");
-tr.find("div.datagrid-cell-rownumber").html(_915);
-if(_916){
-tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
-}
-if(_911!=id){
-tr.attr("id",_910+"-"+(_913?1:2)+"-"+_911);
-tr.attr("node-id",_911);
-}
-};
-_912.call(this,true);
-_912.call(this,false);
-$(_90c).treegrid("fixRowHeight",id);
-},deleteRow:function(_917,id){
-var opts=$.data(_917,"treegrid").options;
-var tr=opts.finder.getTr(_917,id);
-tr.next("tr.treegrid-tr-tree").remove();
-tr.remove();
-var _918=del(id);
-if(_918){
-if(_918.children.length==0){
-tr=opts.finder.getTr(_917,_918[opts.idField]);
-tr.next("tr.treegrid-tr-tree").remove();
-var cell=tr.children("td[field=\""+opts.treeField+"\"]").children("div.datagrid-cell");
-cell.find(".tree-icon").removeClass("tree-folder").addClass("tree-file");
-cell.find(".tree-hit").remove();
-$("<span class=\"tree-indent\"></span>").prependTo(cell);
-}
-}
-function del(id){
-var cc;
-var _919=$(_917).treegrid("getParent",id);
-if(_919){
-cc=_919.children;
-}else{
-cc=$(_917).treegrid("getData");
-}
-for(var i=0;i<cc.length;i++){
-if(cc[i][opts.idField]==id){
-cc.splice(i,1);
-break;
-}
-}
-return _919;
-};
-},onBeforeRender:function(_91a,_91b,data){
-if($.isArray(_91b)){
-data={total:_91b.length,rows:_91b};
-_91b=null;
-}
-if(!data){
-return false;
-}
-var _91c=$.data(_91a,"treegrid");
-var opts=_91c.options;
-if(data.length==undefined){
-if(data.footer){
-_91c.footer=data.footer;
-}
-if(data.total){
-_91c.total=data.total;
-}
-data=this.transfer(_91a,_91b,data.rows);
-}else{
-function _91d(_91e,_91f){
-for(var i=0;i<_91e.length;i++){
-var row=_91e[i];
-row._parentId=_91f;
-if(row.children&&row.children.length){
-_91d(row.children,row[opts.idField]);
-}
-}
-};
-_91d(data,_91b);
-}
-var node=find(_91a,_91b);
-if(node){
-if(node.children){
-node.children=node.children.concat(data);
-}else{
-node.children=data;
-}
-}else{
-_91c.data=_91c.data.concat(data);
-}
-this.sort(_91a,data);
-this.treeNodes=data;
-this.treeLevel=$(_91a).treegrid("getLevel",_91b);
-},sort:function(_920,data){
-var opts=$.data(_920,"treegrid").options;
-if(!opts.remoteSort&&opts.sortName){
-var _921=opts.sortName.split(",");
-var _922=opts.sortOrder.split(",");
-_923(data);
-}
-function _923(rows){
-rows.sort(function(r1,r2){
-var r=0;
-for(var i=0;i<_921.length;i++){
-var sn=_921[i];
-var so=_922[i];
-var col=$(_920).treegrid("getColumnOption",sn);
-var _924=col.sorter||function(a,b){
-return a==b?0:(a>b?1:-1);
-};
-r=_924(r1[sn],r2[sn])*(so=="asc"?1:-1);
-if(r!=0){
-return r;
-}
-}
-return r;
-});
-for(var i=0;i<rows.length;i++){
-var _925=rows[i].children;
-if(_925&&_925.length){
-_923(_925);
-}
-}
-};
-},transfer:function(_926,_927,data){
-var opts=$.data(_926,"treegrid").options;
-var rows=[];
-for(var i=0;i<data.length;i++){
-rows.push(data[i]);
-}
-var _928=[];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-if(!_927){
-if(!row._parentId){
-_928.push(row);
-rows.splice(i,1);
-i--;
-}
-}else{
-if(row._parentId==_927){
-_928.push(row);
-rows.splice(i,1);
-i--;
-}
-}
-}
-var toDo=[];
-for(var i=0;i<_928.length;i++){
-toDo.push(_928[i]);
-}
-while(toDo.length){
-var node=toDo.shift();
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-if(row._parentId==node[opts.idField]){
-if(node.children){
-node.children.push(row);
-}else{
-node.children=[row];
-}
-toDo.push(row);
-rows.splice(i,1);
-i--;
-}
-}
-}
-return _928;
-}});
-$.fn.treegrid.defaults=$.extend({},$.fn.datagrid.defaults,{treeField:null,lines:false,animate:false,singleSelect:true,view:_8ec,rowEvents:$.extend({},$.fn.datagrid.defaults.rowEvents,{mouseover:_87d(true),mouseout:_87d(false),click:_87f}),loader:function(_929,_92a,_92b){
-var opts=$(this).treegrid("options");
-if(!opts.url){
-return false;
-}
-$.ajax({type:opts.method,url:opts.url,data:_929,dataType:"json",success:function(data){
-_92a(data);
-},error:function(){
-_92b.apply(this,arguments);
-}});
-},loadFilter:function(data,_92c){
-return data;
-},finder:{getTr:function(_92d,id,type,_92e){
-type=type||"body";
-_92e=_92e||0;
-var dc=$.data(_92d,"datagrid").dc;
-if(_92e==0){
-var opts=$.data(_92d,"treegrid").options;
-var tr1=opts.finder.getTr(_92d,id,type,1);
-var tr2=opts.finder.getTr(_92d,id,type,2);
-return tr1.add(tr2);
-}else{
-if(type=="body"){
-var tr=$("#"+$.data(_92d,"datagrid").rowIdPrefix+"-"+_92e+"-"+id);
-if(!tr.length){
-tr=(_92e==1?dc.body1:dc.body2).find("tr[node-id=\""+id+"\"]");
-}
-return tr;
-}else{
-if(type=="footer"){
-return (_92e==1?dc.footer1:dc.footer2).find("tr[node-id=\""+id+"\"]");
-}else{
-if(type=="selected"){
-return (_92e==1?dc.body1:dc.body2).find("tr.datagrid-row-selected");
-}else{
-if(type=="highlight"){
-return (_92e==1?dc.body1:dc.body2).find("tr.datagrid-row-over");
-}else{
-if(type=="checked"){
-return (_92e==1?dc.body1:dc.body2).find("tr.datagrid-row-checked");
-}else{
-if(type=="last"){
-return (_92e==1?dc.body1:dc.body2).find("tr:last[node-id]");
-}else{
-if(type=="allbody"){
-return (_92e==1?dc.body1:dc.body2).find("tr[node-id]");
-}else{
-if(type=="allfooter"){
-return (_92e==1?dc.footer1:dc.footer2).find("tr[node-id]");
-}
-}
-}
-}
-}
-}
-}
-}
-}
-},getRow:function(_92f,p){
-var id=(typeof p=="object")?p.attr("node-id"):p;
-return $(_92f).treegrid("find",id);
-},getRows:function(_930){
-return $(_930).treegrid("getChildren");
-}},onBeforeLoad:function(row,_931){
-},onLoadSuccess:function(row,data){
-},onLoadError:function(){
-},onBeforeCollapse:function(row){
-},onCollapse:function(row){
-},onBeforeExpand:function(row){
-},onExpand:function(row){
-},onClickRow:function(row){
-},onDblClickRow:function(row){
-},onClickCell:function(_932,row){
-},onDblClickCell:function(_933,row){
-},onContextMenu:function(e,row){
-},onBeforeEdit:function(row){
-},onAfterEdit:function(row,_934){
-},onCancelEdit:function(row){
-}});
-})(jQuery);
-(function($){
-function _935(_936){
-var opts=$.data(_936,"datalist").options;
-$(_936).datagrid($.extend({},opts,{cls:"datalist"+(opts.lines?" datalist-lines":""),frozenColumns:(opts.frozenColumns&&opts.frozenColumns.length)?opts.frozenColumns:(opts.checkbox?[[{field:"_ck",checkbox:true}]]:undefined),columns:(opts.columns&&opts.columns.length)?opts.columns:[[{field:opts.textField,width:"100%",formatter:function(_937,row,_938){
-return opts.textFormatter?opts.textFormatter(_937,row,_938):_937;
-}}]]}));
-};
-var _939=$.extend({},$.fn.datagrid.defaults.view,{render:function(_93a,_93b,_93c){
-var _93d=$.data(_93a,"datagrid");
-var opts=_93d.options;
-if(opts.groupField){
-var g=this.groupRows(_93a,_93d.data.rows);
-this.groups=g.groups;
-_93d.data.rows=g.rows;
-var _93e=[];
-for(var i=0;i<g.groups.length;i++){
-_93e.push(this.renderGroup.call(this,_93a,i,g.groups[i],_93c));
-}
-$(_93b).html(_93e.join(""));
-}else{
-$(_93b).html(this.renderTable(_93a,0,_93d.data.rows,_93c));
-}
-},renderGroup:function(_93f,_940,_941,_942){
-var _943=$.data(_93f,"datagrid");
-var opts=_943.options;
-var _944=$(_93f).datagrid("getColumnFields",_942);
-var _945=[];
-_945.push("<div class=\"datagrid-group\" group-index="+_940+">");
-if(!_942){
-_945.push("<span class=\"datagrid-group-title\">");
-_945.push(opts.groupFormatter.call(_93f,_941.value,_941.rows));
-_945.push("</span>");
-}
-_945.push("</div>");
-_945.push(this.renderTable(_93f,_941.startIndex,_941.rows,_942));
-return _945.join("");
-},groupRows:function(_946,rows){
-var _947=$.data(_946,"datagrid");
-var opts=_947.options;
-var _948=[];
-for(var i=0;i<rows.length;i++){
-var row=rows[i];
-var _949=_94a(row[opts.groupField]);
-if(!_949){
-_949={value:row[opts.groupField],rows:[row]};
-_948.push(_949);
-}else{
-_949.rows.push(row);
-}
-}
-var _94b=0;
-var rows=[];
-for(var i=0;i<_948.length;i++){
-var _949=_948[i];
-_949.startIndex=_94b;
-_94b+=_949.rows.length;
-rows=rows.concat(_949.rows);
-}
-return {groups:_948,rows:rows};
-function _94a(_94c){
-for(var i=0;i<_948.length;i++){
-var _94d=_948[i];
-if(_94d.value==_94c){
-return _94d;
-}
-}
-return null;
-};
-}});
-$.fn.datalist=function(_94e,_94f){
-if(typeof _94e=="string"){
-var _950=$.fn.datalist.methods[_94e];
-if(_950){
-return _950(this,_94f);
-}else{
-return this.datagrid(_94e,_94f);
-}
-}
-_94e=_94e||{};
-return this.each(function(){
-var _951=$.data(this,"datalist");
-if(_951){
-$.extend(_951.options,_94e);
-}else{
-var opts=$.extend({},$.fn.datalist.defaults,$.fn.datalist.parseOptions(this),_94e);
-opts.columns=$.extend(true,[],opts.columns);
-_951=$.data(this,"datalist",{options:opts});
-}
-_935(this);
-if(!_951.options.data){
-var data=$.fn.datalist.parseData(this);
-if(data.total){
-$(this).datalist("loadData",data);
-}
-}
-});
-};
-$.fn.datalist.methods={options:function(jq){
-return $.data(jq[0],"datalist").options;
-}};
-$.fn.datalist.parseOptions=function(_952){
-return $.extend({},$.fn.datagrid.parseOptions(_952),$.parser.parseOptions(_952,["valueField","textField","groupField",{checkbox:"boolean",lines:"boolean"}]));
-};
-$.fn.datalist.parseData=function(_953){
-var opts=$.data(_953,"datalist").options;
-var data={total:0,rows:[]};
-$(_953).children().each(function(){
-var _954=$.parser.parseOptions(this,["value","group"]);
-var row={};
-var html=$(this).html();
-row[opts.valueField]=_954.value!=undefined?_954.value:html;
-row[opts.textField]=html;
-if(opts.groupField){
-row[opts.groupField]=_954.group;
-}
-data.total++;
-data.rows.push(row);
-});
-return data;
-};
-$.fn.datalist.defaults=$.extend({},$.fn.datagrid.defaults,{fitColumns:true,singleSelect:true,showHeader:false,checkbox:false,lines:false,valueField:"value",textField:"text",groupField:"",view:_939,textFormatter:function(_955,row){
-return _955;
-},groupFormatter:function(_956,rows){
-return _956;
-}});
-})(jQuery);
-(function($){
-$(function(){
-$(document).unbind(".combo").bind("mousedown.combo mousewheel.combo",function(e){
-var p=$(e.target).closest("span.combo,div.combo-p,div.menu");
-if(p.length){
-_957(p);
-return;
-}
-$("body>div.combo-p>div.combo-panel:visible").panel("close");
-});
-});
-function _958(_959){
-var _95a=$.data(_959,"combo");
-var opts=_95a.options;
-if(!_95a.panel){
-_95a.panel=$("<div class=\"combo-panel\"></div>").appendTo("body");
-_95a.panel.panel({minWidth:opts.panelMinWidth,maxWidth:opts.panelMaxWidth,minHeight:opts.panelMinHeight,maxHeight:opts.panelMaxHeight,doSize:false,closed:true,cls:"combo-p",style:{position:"absolute",zIndex:10},onOpen:function(){
-var _95b=$(this).panel("options").comboTarget;
-var _95c=$.data(_95b,"combo");
-if(_95c){
-_95c.options.onShowPanel.call(_95b);
-}
-},onBeforeClose:function(){
-_957(this);
-},onClose:function(){
-var _95d=$(this).panel("options").comboTarget;
-var _95e=$(_95d).data("combo");
-if(_95e){
-_95e.options.onHidePanel.call(_95d);
-}
-}});
-}
-var _95f=$.extend(true,[],opts.icons);
-if(opts.hasDownArrow){
-_95f.push({iconCls:"combo-arrow",handler:function(e){
-_963(e.data.target);
-}});
-}
-$(_959).addClass("combo-f").textbox($.extend({},opts,{icons:_95f,onChange:function(){
-}}));
-$(_959).attr("comboName",$(_959).attr("textboxName"));
-_95a.combo=$(_959).next();
-_95a.combo.addClass("combo");
-};
-function _960(_961){
-var _962=$.data(_961,"combo");
-var opts=_962.options;
-var p=_962.panel;
-if(p.is(":visible")){
-p.panel("close");
-}
-if(!opts.cloned){
-p.panel("destroy");
-}
-$(_961).textbox("destroy");
-};
-function _963(_964){
-var _965=$.data(_964,"combo").panel;
-if(_965.is(":visible")){
-_966(_964);
-}else{
-var p=$(_964).closest("div.combo-panel");
-$("div.combo-panel:visible").not(_965).not(p).panel("close");
-$(_964).combo("showPanel");
-}
-$(_964).combo("textbox").focus();
-};
-function _957(_967){
-$(_967).find(".combo-f").each(function(){
-var p=$(this).combo("panel");
-if(p.is(":visible")){
-p.panel("close");
-}
-});
-};
-function _968(e){
-var _969=e.data.target;
-var _96a=$.data(_969,"combo");
-var opts=_96a.options;
-var _96b=_96a.panel;
-if(!opts.editable){
-_963(_969);
-}else{
-var p=$(_969).closest("div.combo-panel");
-$("div.combo-panel:visible").not(_96b).not(p).panel("close");
-}
-};
-function _96c(e){
-var _96d=e.data.target;
-var t=$(_96d);
-var _96e=t.data("combo");
-var opts=t.combo("options");
-switch(e.keyCode){
-case 38:
-opts.keyHandler.up.call(_96d,e);
-break;
-case 40:
-opts.keyHandler.down.call(_96d,e);
-break;
-case 37:
-opts.keyHandler.left.call(_96d,e);
-break;
-case 39:
-opts.keyHandler.right.call(_96d,e);
-break;
-case 13:
-e.preventDefault();
-opts.keyHandler.enter.call(_96d,e);
-return false;
-case 9:
-case 27:
-_966(_96d);
-break;
-default:
-if(opts.editable){
-if(_96e.timer){
-clearTimeout(_96e.timer);
-}
-_96e.timer=setTimeout(function(){
-var q=t.combo("getText");
-if(_96e.previousText!=q){
-_96e.previousText=q;
-t.combo("showPanel");
-opts.keyHandler.query.call(_96d,q,e);
-t.combo("validate");
-}
-},opts.delay);
-}
-}
-};
-function _96f(_970){
-var _971=$.data(_970,"combo");
-var _972=_971.combo;
-var _973=_971.panel;
-var opts=$(_970).combo("options");
-var _974=_973.panel("options");
-_974.comboTarget=_970;
-if(_974.closed){
-_973.panel("panel").show().css({zIndex:($.fn.menu?$.fn.menu.defaults.zIndex++:($.fn.window?$.fn.window.defaults.zIndex++:99)),left:-999999});
-_973.panel("resize",{width:(opts.panelWidth?opts.panelWidth:_972._outerWidth()),height:opts.panelHeight});
-_973.panel("panel").hide();
-_973.panel("open");
-}
-(function(){
-if(_973.is(":visible")){
-_973.panel("move",{left:_975(),top:_976()});
-setTimeout(arguments.callee,200);
-}
-})();
-function _975(){
-var left=_972.offset().left;
-if(opts.panelAlign=="right"){
-left+=_972._outerWidth()-_973._outerWidth();
-}
-if(left+_973._outerWidth()>$(window)._outerWidth()+$(document).scrollLeft()){
-left=$(window)._outerWidth()+$(document).scrollLeft()-_973._outerWidth();
-}
-if(left<0){
-left=0;
-}
-return left;
-};
-function _976(){
-var top=_972.offset().top+_972._outerHeight();
-if(top+_973._outerHeight()>$(window)._outerHeight()+$(document).scrollTop()){
-top=_972.offset().top-_973._outerHeight();
-}
-if(top<$(document).scrollTop()){
-top=_972.offset().top+_972._outerHeight();
-}
-return top;
-};
-};
-function _966(_977){
-var _978=$.data(_977,"combo").panel;
-_978.panel("close");
-};
-function _979(_97a,text){
-var _97b=$.data(_97a,"combo");
-var _97c=$(_97a).textbox("getText");
-if(_97c!=text){
-$(_97a).textbox("setText",text);
-_97b.previousText=text;
-}
-};
-function _97d(_97e){
-var _97f=[];
-var _980=$.data(_97e,"combo").combo;
-_980.find(".textbox-value").each(function(){
-_97f.push($(this).val());
-});
-return _97f;
-};
-function _981(_982,_983){
-var _984=$.data(_982,"combo");
-var opts=_984.options;
-var _985=_984.combo;
-if(!$.isArray(_983)){
-_983=_983.split(opts.separator);
-}
-var _986=_97d(_982);
-_985.find(".textbox-value").remove();
-var name=$(_982).attr("textboxName")||"";
-for(var i=0;i<_983.length;i++){
-var _987=$("<input type=\"hidden\" class=\"textbox-value\">").appendTo(_985);
-_987.attr("name",name);
-if(opts.disabled){
-_987.attr("disabled","disabled");
-}
-_987.val(_983[i]);
-}
-var _988=(function(){
-if(_986.length!=_983.length){
-return true;
-}
-var a1=$.extend(true,[],_986);
-var a2=$.extend(true,[],_983);
-a1.sort();
-a2.sort();
-for(var i=0;i<a1.length;i++){
-if(a1[i]!=a2[i]){
-return true;
-}
-}
-return false;
-})();
-if(_988){
-if(opts.multiple){
-opts.onChange.call(_982,_983,_986);
-}else{
-opts.onChange.call(_982,_983[0],_986[0]);
-}
-$(_982).closest("form").trigger("_change",[_982]);
-}
-};
-function _989(_98a){
-var _98b=_97d(_98a);
-return _98b[0];
-};
-function _98c(_98d,_98e){
-_981(_98d,[_98e]);
-};
-function _98f(_990){
-var opts=$.data(_990,"combo").options;
-var _991=opts.onChange;
-opts.onChange=function(){
-};
-if(opts.multiple){
-_981(_990,opts.value?opts.value:[]);
-}else{
-_98c(_990,opts.value);
-}
-opts.onChange=_991;
-};
-$.fn.combo=function(_992,_993){
-if(typeof _992=="string"){
-var _994=$.fn.combo.methods[_992];
-if(_994){
-return _994(this,_993);
-}else{
-return this.textbox(_992,_993);
-}
-}
-_992=_992||{};
-return this.each(function(){
-var _995=$.data(this,"combo");
-if(_995){
-$.extend(_995.options,_992);
-if(_992.value!=undefined){
-_995.options.originalValue=_992.value;
-}
-}else{
-_995=$.data(this,"combo",{options:$.extend({},$.fn.combo.defaults,$.fn.combo.parseOptions(this),_992),previousText:""});
-_995.options.originalValue=_995.options.value;
-}
-_958(this);
-_98f(this);
-});
-};
-$.fn.combo.methods={options:function(jq){
-var opts=jq.textbox("options");
-return $.extend($.data(jq[0],"combo").options,{width:opts.width,height:opts.height,disabled:opts.disabled,readonly:opts.readonly});
-},cloneFrom:function(jq,from){
-return jq.each(function(){
-$(this).textbox("cloneFrom",from);
-$.data(this,"combo",{options:$.extend(true,{cloned:true},$(from).combo("options")),combo:$(this).next(),panel:$(from).combo("panel")});
-$(this).addClass("combo-f").attr("comboName",$(this).attr("textboxName"));
-});
-},panel:function(jq){
-return $.data(jq[0],"combo").panel;
-},destroy:function(jq){
-return jq.each(function(){
-_960(this);
-});
-},showPanel:function(jq){
-return jq.each(function(){
-_96f(this);
-});
-},hidePanel:function(jq){
-return jq.each(function(){
-_966(this);
-});
-},clear:function(jq){
-return jq.each(function(){
-$(this).textbox("setText","");
-var opts=$.data(this,"combo").options;
-if(opts.multiple){
-$(this).combo("setValues",[]);
-}else{
-$(this).combo("setValue","");
-}
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$.data(this,"combo").options;
-if(opts.multiple){
-$(this).combo("setValues",opts.originalValue);
-}else{
-$(this).combo("setValue",opts.originalValue);
-}
-});
-},setText:function(jq,text){
-return jq.each(function(){
-_979(this,text);
-});
-},getValues:function(jq){
-return _97d(jq[0]);
-},setValues:function(jq,_996){
-return jq.each(function(){
-_981(this,_996);
-});
-},getValue:function(jq){
-return _989(jq[0]);
-},setValue:function(jq,_997){
-return jq.each(function(){
-_98c(this,_997);
-});
-}};
-$.fn.combo.parseOptions=function(_998){
-var t=$(_998);
-return $.extend({},$.fn.textbox.parseOptions(_998),$.parser.parseOptions(_998,["separator","panelAlign",{panelWidth:"number",hasDownArrow:"boolean",delay:"number",selectOnNavigation:"boolean"},{panelMinWidth:"number",panelMaxWidth:"number",panelMinHeight:"number",panelMaxHeight:"number"}]),{panelHeight:(t.attr("panelHeight")=="auto"?"auto":parseInt(t.attr("panelHeight"))||undefined),multiple:(t.attr("multiple")?true:undefined)});
-};
-$.fn.combo.defaults=$.extend({},$.fn.textbox.defaults,{inputEvents:{click:_968,keydown:_96c,paste:_96c,drop:_96c},panelWidth:null,panelHeight:200,panelMinWidth:null,panelMaxWidth:null,panelMinHeight:null,panelMaxHeight:null,panelAlign:"left",multiple:false,selectOnNavigation:true,separator:",",hasDownArrow:true,delay:200,keyHandler:{up:function(e){
-},down:function(e){
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-},query:function(q,e){
-}},onShowPanel:function(){
-},onHidePanel:function(){
-},onChange:function(_999,_99a){
-}});
-})(jQuery);
-(function($){
-var _99b=0;
-function _99c(_99d,_99e){
-var _99f=$.data(_99d,"combobox");
-var opts=_99f.options;
-var data=_99f.data;
-for(var i=0;i<data.length;i++){
-if(data[i][opts.valueField]==_99e){
-return i;
-}
-}
-return -1;
-};
-function _9a0(_9a1,_9a2){
-var opts=$.data(_9a1,"combobox").options;
-var _9a3=$(_9a1).combo("panel");
-var item=opts.finder.getEl(_9a1,_9a2);
-if(item.length){
-if(item.position().top<=0){
-var h=_9a3.scrollTop()+item.position().top;
-_9a3.scrollTop(h);
-}else{
-if(item.position().top+item.outerHeight()>_9a3.height()){
-var h=_9a3.scrollTop()+item.position().top+item.outerHeight()-_9a3.height();
-_9a3.scrollTop(h);
-}
-}
-}
-};
-function nav(_9a4,dir){
-var opts=$.data(_9a4,"combobox").options;
-var _9a5=$(_9a4).combobox("panel");
-var item=_9a5.children("div.combobox-item-hover");
-if(!item.length){
-item=_9a5.children("div.combobox-item-selected");
-}
-item.removeClass("combobox-item-hover");
-var _9a6="div.combobox-item:visible:not(.combobox-item-disabled):first";
-var _9a7="div.combobox-item:visible:not(.combobox-item-disabled):last";
-if(!item.length){
-item=_9a5.children(dir=="next"?_9a6:_9a7);
-}else{
-if(dir=="next"){
-item=item.nextAll(_9a6);
-if(!item.length){
-item=_9a5.children(_9a6);
-}
-}else{
-item=item.prevAll(_9a6);
-if(!item.length){
-item=_9a5.children(_9a7);
-}
-}
-}
-if(item.length){
-item.addClass("combobox-item-hover");
-var row=opts.finder.getRow(_9a4,item);
-if(row){
-_9a0(_9a4,row[opts.valueField]);
-if(opts.selectOnNavigation){
-_9a8(_9a4,row[opts.valueField]);
-}
-}
-}
-};
-function _9a8(_9a9,_9aa){
-var opts=$.data(_9a9,"combobox").options;
-var _9ab=$(_9a9).combo("getValues");
-if($.inArray(_9aa+"",_9ab)==-1){
-if(opts.multiple){
-_9ab.push(_9aa);
-}else{
-_9ab=[_9aa];
-}
-_9ac(_9a9,_9ab);
-opts.onSelect.call(_9a9,opts.finder.getRow(_9a9,_9aa));
-}
-};
-function _9ad(_9ae,_9af){
-var opts=$.data(_9ae,"combobox").options;
-var _9b0=$(_9ae).combo("getValues");
-var _9b1=$.inArray(_9af+"",_9b0);
-if(_9b1>=0){
-_9b0.splice(_9b1,1);
-_9ac(_9ae,_9b0);
-opts.onUnselect.call(_9ae,opts.finder.getRow(_9ae,_9af));
-}
-};
-function _9ac(_9b2,_9b3,_9b4){
-var opts=$.data(_9b2,"combobox").options;
-var _9b5=$(_9b2).combo("panel");
-if(!$.isArray(_9b3)){
-_9b3=_9b3.split(opts.separator);
-}
-_9b5.find("div.combobox-item-selected").removeClass("combobox-item-selected");
-var vv=[],ss=[];
-for(var i=0;i<_9b3.length;i++){
-var v=_9b3[i];
-var s=v;
-opts.finder.getEl(_9b2,v).addClass("combobox-item-selected");
-var row=opts.finder.getRow(_9b2,v);
-if(row){
-s=row[opts.textField];
-}
-vv.push(v);
-ss.push(s);
-}
-if(!_9b4){
-$(_9b2).combo("setText",ss.join(opts.separator));
-}
-$(_9b2).combo("setValues",vv);
-};
-function _9b6(_9b7,data,_9b8){
-var _9b9=$.data(_9b7,"combobox");
-var opts=_9b9.options;
-_9b9.data=opts.loadFilter.call(_9b7,data);
-_9b9.groups=[];
-data=_9b9.data;
-var _9ba=$(_9b7).combobox("getValues");
-var dd=[];
-var _9bb=undefined;
-for(var i=0;i<data.length;i++){
-var row=data[i];
-var v=row[opts.valueField]+"";
-var s=row[opts.textField];
-var g=row[opts.groupField];
-if(g){
-if(_9bb!=g){
-_9bb=g;
-_9b9.groups.push(g);
-dd.push("<div id=\""+(_9b9.groupIdPrefix+"_"+(_9b9.groups.length-1))+"\" class=\"combobox-group\">");
-dd.push(opts.groupFormatter?opts.groupFormatter.call(_9b7,g):g);
-dd.push("</div>");
-}
-}else{
-_9bb=undefined;
-}
-var cls="combobox-item"+(row.disabled?" combobox-item-disabled":"")+(g?" combobox-gitem":"");
-dd.push("<div id=\""+(_9b9.itemIdPrefix+"_"+i)+"\" class=\""+cls+"\">");
-dd.push(opts.formatter?opts.formatter.call(_9b7,row):s);
-dd.push("</div>");
-if(row["selected"]&&$.inArray(v,_9ba)==-1){
-_9ba.push(v);
-}
-}
-$(_9b7).combo("panel").html(dd.join(""));
-if(opts.multiple){
-_9ac(_9b7,_9ba,_9b8);
-}else{
-_9ac(_9b7,_9ba.length?[_9ba[_9ba.length-1]]:[],_9b8);
-}
-opts.onLoadSuccess.call(_9b7,data);
-};
-function _9bc(_9bd,url,_9be,_9bf){
-var opts=$.data(_9bd,"combobox").options;
-if(url){
-opts.url=url;
-}
-_9be=$.extend({},opts.queryParams,_9be||{});
-if(opts.onBeforeLoad.call(_9bd,_9be)==false){
-return;
-}
-opts.loader.call(_9bd,_9be,function(data){
-_9b6(_9bd,data,_9bf);
-},function(){
-opts.onLoadError.apply(this,arguments);
-});
-};
-function _9c0(_9c1,q){
-var _9c2=$.data(_9c1,"combobox");
-var opts=_9c2.options;
-var qq=opts.multiple?q.split(opts.separator):[q];
-if(opts.mode=="remote"){
-_9c3(qq);
-_9bc(_9c1,null,{q:q},true);
-}else{
-var _9c4=$(_9c1).combo("panel");
-_9c4.find("div.combobox-item-selected,div.combobox-item-hover").removeClass("combobox-item-selected combobox-item-hover");
-_9c4.find("div.combobox-item,div.combobox-group").hide();
-var data=_9c2.data;
-var vv=[];
-$.map(qq,function(q){
-q=$.trim(q);
-var _9c5=q;
-var _9c6=undefined;
-for(var i=0;i<data.length;i++){
-var row=data[i];
-if(opts.filter.call(_9c1,q,row)){
-var v=row[opts.valueField];
-var s=row[opts.textField];
-var g=row[opts.groupField];
-var item=opts.finder.getEl(_9c1,v).show();
-if(s.toLowerCase()==q.toLowerCase()){
-_9c5=v;
-item.addClass("combobox-item-selected");
-opts.onSelect.call(_9c1,row);
-}
-if(opts.groupField&&_9c6!=g){
-$("#"+_9c2.groupIdPrefix+"_"+$.inArray(g,_9c2.groups)).show();
-_9c6=g;
-}
-}
-}
-vv.push(_9c5);
-});
-_9c3(vv);
-}
-function _9c3(vv){
-_9ac(_9c1,opts.multiple?(q?vv:[]):vv,true);
-};
-};
-function _9c7(_9c8){
-var t=$(_9c8);
-var opts=t.combobox("options");
-var _9c9=t.combobox("panel");
-var item=_9c9.children("div.combobox-item-hover");
-if(item.length){
-var row=opts.finder.getRow(_9c8,item);
-var _9ca=row[opts.valueField];
-if(opts.multiple){
-if(item.hasClass("combobox-item-selected")){
-t.combobox("unselect",_9ca);
-}else{
-t.combobox("select",_9ca);
-}
-}else{
-t.combobox("select",_9ca);
-}
-}
-var vv=[];
-$.map(t.combobox("getValues"),function(v){
-if(_99c(_9c8,v)>=0){
-vv.push(v);
-}
-});
-t.combobox("setValues",vv);
-if(!opts.multiple){
-t.combobox("hidePanel");
-}
-};
-function _9cb(_9cc){
-var _9cd=$.data(_9cc,"combobox");
-var opts=_9cd.options;
-_99b++;
-_9cd.itemIdPrefix="_easyui_combobox_i"+_99b;
-_9cd.groupIdPrefix="_easyui_combobox_g"+_99b;
-$(_9cc).addClass("combobox-f");
-$(_9cc).combo($.extend({},opts,{onShowPanel:function(){
-$(_9cc).combo("panel").find("div.combobox-item:hidden,div.combobox-group:hidden").show();
-_9a0(_9cc,$(_9cc).combobox("getValue"));
-opts.onShowPanel.call(_9cc);
-}}));
-$(_9cc).combo("panel").unbind().bind("mouseover",function(e){
-$(this).children("div.combobox-item-hover").removeClass("combobox-item-hover");
-var item=$(e.target).closest("div.combobox-item");
-if(!item.hasClass("combobox-item-disabled")){
-item.addClass("combobox-item-hover");
-}
-e.stopPropagation();
-}).bind("mouseout",function(e){
-$(e.target).closest("div.combobox-item").removeClass("combobox-item-hover");
-e.stopPropagation();
-}).bind("click",function(e){
-var item=$(e.target).closest("div.combobox-item");
-if(!item.length||item.hasClass("combobox-item-disabled")){
-return;
-}
-var row=opts.finder.getRow(_9cc,item);
-if(!row){
-return;
-}
-var _9ce=row[opts.valueField];
-if(opts.multiple){
-if(item.hasClass("combobox-item-selected")){
-_9ad(_9cc,_9ce);
-}else{
-_9a8(_9cc,_9ce);
-}
-}else{
-_9a8(_9cc,_9ce);
-$(_9cc).combo("hidePanel");
-}
-e.stopPropagation();
-});
-};
-$.fn.combobox=function(_9cf,_9d0){
-if(typeof _9cf=="string"){
-var _9d1=$.fn.combobox.methods[_9cf];
-if(_9d1){
-return _9d1(this,_9d0);
-}else{
-return this.combo(_9cf,_9d0);
-}
-}
-_9cf=_9cf||{};
-return this.each(function(){
-var _9d2=$.data(this,"combobox");
-if(_9d2){
-$.extend(_9d2.options,_9cf);
-}else{
-_9d2=$.data(this,"combobox",{options:$.extend({},$.fn.combobox.defaults,$.fn.combobox.parseOptions(this),_9cf),data:[]});
-}
-_9cb(this);
-if(_9d2.options.data){
-_9b6(this,_9d2.options.data);
-}else{
-var data=$.fn.combobox.parseData(this);
-if(data.length){
-_9b6(this,data);
-}
-}
-_9bc(this);
-});
-};
-$.fn.combobox.methods={options:function(jq){
-var _9d3=jq.combo("options");
-return $.extend($.data(jq[0],"combobox").options,{width:_9d3.width,height:_9d3.height,originalValue:_9d3.originalValue,disabled:_9d3.disabled,readonly:_9d3.readonly});
-},getData:function(jq){
-return $.data(jq[0],"combobox").data;
-},setValues:function(jq,_9d4){
-return jq.each(function(){
-_9ac(this,_9d4);
-});
-},setValue:function(jq,_9d5){
-return jq.each(function(){
-_9ac(this,[_9d5]);
-});
-},clear:function(jq){
-return jq.each(function(){
-$(this).combo("clear");
-var _9d6=$(this).combo("panel");
-_9d6.find("div.combobox-item-selected").removeClass("combobox-item-selected");
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).combobox("options");
-if(opts.multiple){
-$(this).combobox("setValues",opts.originalValue);
-}else{
-$(this).combobox("setValue",opts.originalValue);
-}
-});
-},loadData:function(jq,data){
-return jq.each(function(){
-_9b6(this,data);
-});
-},reload:function(jq,url){
-return jq.each(function(){
-if(typeof url=="string"){
-_9bc(this,url);
-}else{
-if(url){
-var opts=$(this).combobox("options");
-opts.queryParams=url;
-}
-_9bc(this);
-}
-});
-},select:function(jq,_9d7){
-return jq.each(function(){
-_9a8(this,_9d7);
-});
-},unselect:function(jq,_9d8){
-return jq.each(function(){
-_9ad(this,_9d8);
-});
-}};
-$.fn.combobox.parseOptions=function(_9d9){
-var t=$(_9d9);
-return $.extend({},$.fn.combo.parseOptions(_9d9),$.parser.parseOptions(_9d9,["valueField","textField","groupField","mode","method","url"]));
-};
-$.fn.combobox.parseData=function(_9da){
-var data=[];
-var opts=$(_9da).combobox("options");
-$(_9da).children().each(function(){
-if(this.tagName.toLowerCase()=="optgroup"){
-var _9db=$(this).attr("label");
-$(this).children().each(function(){
-_9dc(this,_9db);
-});
-}else{
-_9dc(this);
-}
-});
-return data;
-function _9dc(el,_9dd){
-var t=$(el);
-var row={};
-row[opts.valueField]=t.attr("value")!=undefined?t.attr("value"):t.text();
-row[opts.textField]=t.text();
-row["selected"]=t.is(":selected");
-row["disabled"]=t.is(":disabled");
-if(_9dd){
-opts.groupField=opts.groupField||"group";
-row[opts.groupField]=_9dd;
-}
-data.push(row);
-};
-};
-$.fn.combobox.defaults=$.extend({},$.fn.combo.defaults,{valueField:"value",textField:"text",groupField:null,groupFormatter:function(_9de){
-return _9de;
-},mode:"local",method:"post",url:null,data:null,queryParams:{},keyHandler:{up:function(e){
-nav(this,"prev");
-e.preventDefault();
-},down:function(e){
-nav(this,"next");
-e.preventDefault();
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-_9c7(this);
-},query:function(q,e){
-_9c0(this,q);
-}},filter:function(q,row){
-var opts=$(this).combobox("options");
-return row[opts.textField].toLowerCase().indexOf(q.toLowerCase())==0;
-},formatter:function(row){
-var opts=$(this).combobox("options");
-return row[opts.textField];
-},loader:function(_9df,_9e0,_9e1){
-var opts=$(this).combobox("options");
-if(!opts.url){
-return false;
-}
-$.ajax({type:opts.method,url:opts.url,data:_9df,dataType:"json",success:function(data){
-_9e0(data);
-},error:function(){
-_9e1.apply(this,arguments);
-}});
-},loadFilter:function(data){
-return data;
-},finder:{getEl:function(_9e2,_9e3){
-var _9e4=_99c(_9e2,_9e3);
-var id=$.data(_9e2,"combobox").itemIdPrefix+"_"+_9e4;
-return $("#"+id);
-},getRow:function(_9e5,p){
-var _9e6=$.data(_9e5,"combobox");
-var _9e7=(p instanceof jQuery)?p.attr("id").substr(_9e6.itemIdPrefix.length+1):_99c(_9e5,p);
-return _9e6.data[parseInt(_9e7)];
-}},onBeforeLoad:function(_9e8){
-},onLoadSuccess:function(){
-},onLoadError:function(){
-},onSelect:function(_9e9){
-},onUnselect:function(_9ea){
-}});
-})(jQuery);
-(function($){
-function _9eb(_9ec){
-var _9ed=$.data(_9ec,"combotree");
-var opts=_9ed.options;
-var tree=_9ed.tree;
-$(_9ec).addClass("combotree-f");
-$(_9ec).combo(opts);
-var _9ee=$(_9ec).combo("panel");
-if(!tree){
-tree=$("<ul></ul>").appendTo(_9ee);
-$.data(_9ec,"combotree").tree=tree;
-}
-tree.tree($.extend({},opts,{checkbox:opts.multiple,onLoadSuccess:function(node,data){
-var _9ef=$(_9ec).combotree("getValues");
-if(opts.multiple){
-var _9f0=tree.tree("getChecked");
-for(var i=0;i<_9f0.length;i++){
-var id=_9f0[i].id;
-(function(){
-for(var i=0;i<_9ef.length;i++){
-if(id==_9ef[i]){
-return;
-}
-}
-_9ef.push(id);
-})();
-}
-}
-$(_9ec).combotree("setValues",_9ef);
-opts.onLoadSuccess.call(this,node,data);
-},onClick:function(node){
-if(opts.multiple){
-$(this).tree(node.checked?"uncheck":"check",node.target);
-}else{
-$(_9ec).combo("hidePanel");
-}
-_9f2(_9ec);
-opts.onClick.call(this,node);
-},onCheck:function(node,_9f1){
-_9f2(_9ec);
-opts.onCheck.call(this,node,_9f1);
-}}));
-};
-function _9f2(_9f3){
-var _9f4=$.data(_9f3,"combotree");
-var opts=_9f4.options;
-var tree=_9f4.tree;
-var vv=[],ss=[];
-if(opts.multiple){
-var _9f5=tree.tree("getChecked");
-for(var i=0;i<_9f5.length;i++){
-vv.push(_9f5[i].id);
-ss.push(_9f5[i].text);
-}
-}else{
-var node=tree.tree("getSelected");
-if(node){
-vv.push(node.id);
-ss.push(node.text);
-}
-}
-$(_9f3).combo("setText",ss.join(opts.separator)).combo("setValues",opts.multiple?vv:(vv.length?vv:[""]));
-};
-function _9f6(_9f7,_9f8){
-var _9f9=$.data(_9f7,"combotree");
-var opts=_9f9.options;
-var tree=_9f9.tree;
-var _9fa=tree.tree("options");
-var _9fb=_9fa.onCheck;
-var _9fc=_9fa.onSelect;
-_9fa.onCheck=_9fa.onSelect=function(){
-};
-tree.find("span.tree-checkbox").addClass("tree-checkbox0").removeClass("tree-checkbox1 tree-checkbox2");
-if(!$.isArray(_9f8)){
-_9f8=_9f8.split(opts.separator);
-}
-var vv=$.map(_9f8,function(_9fd){
-return String(_9fd);
-});
-var ss=[];
-$.map(vv,function(v){
-var node=tree.tree("find",v);
-if(node){
-tree.tree("check",node.target).tree("select",node.target);
-ss.push(node.text);
-}else{
-ss.push(v);
-}
-});
-if(opts.multiple){
-var _9fe=tree.tree("getChecked");
-$.map(_9fe,function(node){
-var id=String(node.id);
-if($.inArray(id,vv)==-1){
-vv.push(id);
-ss.push(node.text);
-}
-});
-}
-_9fa.onCheck=_9fb;
-_9fa.onSelect=_9fc;
-$(_9f7).combo("setText",ss.join(opts.separator)).combo("setValues",opts.multiple?vv:(vv.length?vv:[""]));
-};
-$.fn.combotree=function(_9ff,_a00){
-if(typeof _9ff=="string"){
-var _a01=$.fn.combotree.methods[_9ff];
-if(_a01){
-return _a01(this,_a00);
-}else{
-return this.combo(_9ff,_a00);
-}
-}
-_9ff=_9ff||{};
-return this.each(function(){
-var _a02=$.data(this,"combotree");
-if(_a02){
-$.extend(_a02.options,_9ff);
-}else{
-$.data(this,"combotree",{options:$.extend({},$.fn.combotree.defaults,$.fn.combotree.parseOptions(this),_9ff)});
-}
-_9eb(this);
-});
-};
-$.fn.combotree.methods={options:function(jq){
-var _a03=jq.combo("options");
-return $.extend($.data(jq[0],"combotree").options,{width:_a03.width,height:_a03.height,originalValue:_a03.originalValue,disabled:_a03.disabled,readonly:_a03.readonly});
-},clone:function(jq,_a04){
-var t=jq.combo("clone",_a04);
-t.data("combotree",{options:$.extend(true,{},jq.combotree("options")),tree:jq.combotree("tree")});
-return t;
-},tree:function(jq){
-return $.data(jq[0],"combotree").tree;
-},loadData:function(jq,data){
-return jq.each(function(){
-var opts=$.data(this,"combotree").options;
-opts.data=data;
-var tree=$.data(this,"combotree").tree;
-tree.tree("loadData",data);
-});
-},reload:function(jq,url){
-return jq.each(function(){
-var opts=$.data(this,"combotree").options;
-var tree=$.data(this,"combotree").tree;
-if(url){
-opts.url=url;
-}
-tree.tree({url:opts.url});
-});
-},setValues:function(jq,_a05){
-return jq.each(function(){
-_9f6(this,_a05);
-});
-},setValue:function(jq,_a06){
-return jq.each(function(){
-_9f6(this,[_a06]);
-});
-},clear:function(jq){
-return jq.each(function(){
-var tree=$.data(this,"combotree").tree;
-tree.find("div.tree-node-selected").removeClass("tree-node-selected");
-var cc=tree.tree("getChecked");
-for(var i=0;i<cc.length;i++){
-tree.tree("uncheck",cc[i].target);
-}
-$(this).combo("clear");
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).combotree("options");
-if(opts.multiple){
-$(this).combotree("setValues",opts.originalValue);
-}else{
-$(this).combotree("setValue",opts.originalValue);
-}
-});
-}};
-$.fn.combotree.parseOptions=function(_a07){
-return $.extend({},$.fn.combo.parseOptions(_a07),$.fn.tree.parseOptions(_a07));
-};
-$.fn.combotree.defaults=$.extend({},$.fn.combo.defaults,$.fn.tree.defaults,{editable:false});
-})(jQuery);
-(function($){
-function _a08(_a09){
-var _a0a=$.data(_a09,"combogrid");
-var opts=_a0a.options;
-var grid=_a0a.grid;
-$(_a09).addClass("combogrid-f").combo($.extend({},opts,{onShowPanel:function(){
-var p=$(this).combogrid("panel");
-var _a0b=p.outerHeight()-p.height();
-var _a0c=p._size("minHeight");
-var _a0d=p._size("maxHeight");
-var dg=$(this).combogrid("grid");
-dg.datagrid("resize",{width:"100%",height:(isNaN(parseInt(opts.panelHeight))?"auto":"100%"),minHeight:(_a0c?_a0c-_a0b:""),maxHeight:(_a0d?_a0d-_a0b:"")});
-var row=dg.datagrid("getSelected");
-if(row){
-dg.datagrid("scrollTo",dg.datagrid("getRowIndex",row));
-}
-opts.onShowPanel.call(this);
-}}));
-var _a0e=$(_a09).combo("panel");
-if(!grid){
-grid=$("<table></table>").appendTo(_a0e);
-_a0a.grid=grid;
-}
-grid.datagrid($.extend({},opts,{border:false,singleSelect:(!opts.multiple),onLoadSuccess:function(data){
-var _a0f=$(_a09).combo("getValues");
-var _a10=opts.onSelect;
-opts.onSelect=function(){
-};
-_a16(_a09,_a0f,_a0a.remainText);
-opts.onSelect=_a10;
-opts.onLoadSuccess.apply(_a09,arguments);
-},onClickRow:_a11,onSelect:function(_a12,row){
-_a13();
-opts.onSelect.call(this,_a12,row);
-},onUnselect:function(_a14,row){
-_a13();
-opts.onUnselect.call(this,_a14,row);
-},onSelectAll:function(rows){
-_a13();
-opts.onSelectAll.call(this,rows);
-},onUnselectAll:function(rows){
-if(opts.multiple){
-_a13();
-}
-opts.onUnselectAll.call(this,rows);
-}}));
-function _a11(_a15,row){
-_a0a.remainText=false;
-_a13();
-if(!opts.multiple){
-$(_a09).combo("hidePanel");
-}
-opts.onClickRow.call(this,_a15,row);
-};
-function _a13(){
-var vv=$.map(grid.datagrid("getSelections"),function(row){
-return row[opts.idField];
-});
-vv=vv.concat(opts.unselectedValues);
-if(!opts.multiple){
-vv=vv.length?[vv[0]]:[""];
-}
-_a16(_a09,vv,_a0a.remainText);
-};
-};
-function nav(_a17,dir){
-var _a18=$.data(_a17,"combogrid");
-var opts=_a18.options;
-var grid=_a18.grid;
-var _a19=grid.datagrid("getRows").length;
-if(!_a19){
-return;
-}
-var tr=opts.finder.getTr(grid[0],null,"highlight");
-if(!tr.length){
-tr=opts.finder.getTr(grid[0],null,"selected");
-}
-var _a1a;
-if(!tr.length){
-_a1a=(dir=="next"?0:_a19-1);
-}else{
-var _a1a=parseInt(tr.attr("datagrid-row-index"));
-_a1a+=(dir=="next"?1:-1);
-if(_a1a<0){
-_a1a=_a19-1;
-}
-if(_a1a>=_a19){
-_a1a=0;
-}
-}
-grid.datagrid("highlightRow",_a1a);
-if(opts.selectOnNavigation){
-_a18.remainText=false;
-grid.datagrid("selectRow",_a1a);
-}
-};
-function _a16(_a1b,_a1c,_a1d){
-var _a1e=$.data(_a1b,"combogrid");
-var opts=_a1e.options;
-var grid=_a1e.grid;
-var _a1f=$(_a1b).combo("getValues");
-var _a20=$(_a1b).combo("options");
-var _a21=_a20.onChange;
-_a20.onChange=function(){
-};
-var _a22=grid.datagrid("options");
-var _a23=_a22.onSelect;
-var _a24=_a22.onUnselectAll;
-_a22.onSelect=_a22.onUnselectAll=function(){
-};
-if(!$.isArray(_a1c)){
-_a1c=_a1c.split(opts.separator);
-}
-var _a25=[];
-$.map(grid.datagrid("getSelections"),function(row){
-if($.inArray(row[opts.idField],_a1c)>=0){
-_a25.push(row);
-}
-});
-grid.datagrid("clearSelections");
-grid.data("datagrid").selectedRows=_a25;
-var ss=[];
-for(var i=0;i<_a1c.length;i++){
-var _a26=_a1c[i];
-var _a27=grid.datagrid("getRowIndex",_a26);
-if(_a27>=0){
-grid.datagrid("selectRow",_a27);
-}
-ss.push(_a28(_a26,grid.datagrid("getRows"))||_a28(_a26,grid.datagrid("getSelections"))||_a28(_a26,opts.mappingRows)||_a26);
-}
-opts.unselectedValues=[];
-var _a29=$.map(_a25,function(row){
-return row[opts.idField];
-});
-$.map(_a1c,function(_a2a){
-if($.inArray(_a2a,_a29)==-1){
-opts.unselectedValues.push(_a2a);
-}
-});
-$(_a1b).combo("setValues",_a1f);
-_a20.onChange=_a21;
-_a22.onSelect=_a23;
-_a22.onUnselectAll=_a24;
-if(!_a1d){
-var s=ss.join(opts.separator);
-if($(_a1b).combo("getText")!=s){
-$(_a1b).combo("setText",s);
-}
-}
-$(_a1b).combo("setValues",_a1c);
-function _a28(_a2b,a){
-for(var i=0;i<a.length;i++){
-if(_a2b==a[i][opts.idField]){
-return a[i][opts.textField];
-}
-}
-return undefined;
-};
-};
-function _a2c(_a2d,q){
-var _a2e=$.data(_a2d,"combogrid");
-var opts=_a2e.options;
-var grid=_a2e.grid;
-_a2e.remainText=true;
-if(opts.multiple&&!q){
-_a16(_a2d,[],true);
-}else{
-_a16(_a2d,[q],true);
-}
-if(opts.mode=="remote"){
-grid.datagrid("clearSelections");
-grid.datagrid("load",$.extend({},opts.queryParams,{q:q}));
-}else{
-if(!q){
-return;
-}
-grid.datagrid("clearSelections").datagrid("highlightRow",-1);
-var rows=grid.datagrid("getRows");
-var qq=opts.multiple?q.split(opts.separator):[q];
-$.map(qq,function(q){
-q=$.trim(q);
-if(q){
-$.map(rows,function(row,i){
-if(q==row[opts.textField]){
-grid.datagrid("selectRow",i);
-}else{
-if(opts.filter.call(_a2d,q,row)){
-grid.datagrid("highlightRow",i);
-}
-}
-});
-}
-});
-}
-};
-function _a2f(_a30){
-var _a31=$.data(_a30,"combogrid");
-var opts=_a31.options;
-var grid=_a31.grid;
-var tr=opts.finder.getTr(grid[0],null,"highlight");
-_a31.remainText=false;
-if(tr.length){
-var _a32=parseInt(tr.attr("datagrid-row-index"));
-if(opts.multiple){
-if(tr.hasClass("datagrid-row-selected")){
-grid.datagrid("unselectRow",_a32);
-}else{
-grid.datagrid("selectRow",_a32);
-}
-}else{
-grid.datagrid("selectRow",_a32);
-}
-}
-var vv=[];
-$.map(grid.datagrid("getSelections"),function(row){
-vv.push(row[opts.idField]);
-});
-$(_a30).combogrid("setValues",vv);
-if(!opts.multiple){
-$(_a30).combogrid("hidePanel");
-}
-};
-$.fn.combogrid=function(_a33,_a34){
-if(typeof _a33=="string"){
-var _a35=$.fn.combogrid.methods[_a33];
-if(_a35){
-return _a35(this,_a34);
-}else{
-return this.combo(_a33,_a34);
-}
-}
-_a33=_a33||{};
-return this.each(function(){
-var _a36=$.data(this,"combogrid");
-if(_a36){
-$.extend(_a36.options,_a33);
-}else{
-_a36=$.data(this,"combogrid",{options:$.extend({},$.fn.combogrid.defaults,$.fn.combogrid.parseOptions(this),_a33)});
-}
-_a08(this);
-});
-};
-$.fn.combogrid.methods={options:function(jq){
-var _a37=jq.combo("options");
-return $.extend($.data(jq[0],"combogrid").options,{width:_a37.width,height:_a37.height,originalValue:_a37.originalValue,disabled:_a37.disabled,readonly:_a37.readonly});
-},grid:function(jq){
-return $.data(jq[0],"combogrid").grid;
-},setValues:function(jq,_a38){
-return jq.each(function(){
-var opts=$(this).combogrid("options");
-if($.isArray(_a38)){
-_a38=$.map(_a38,function(_a39){
-if(typeof _a39=="object"){
-var v=_a39[opts.idField];
-(function(){
-for(var i=0;i<opts.mappingRows.length;i++){
-if(v==opts.mappingRows[i][opts.idField]){
-return;
-}
-}
-opts.mappingRows.push(_a39);
-})();
-return v;
-}else{
-return _a39;
-}
-});
-}
-_a16(this,_a38);
-});
-},setValue:function(jq,_a3a){
-return jq.each(function(){
-$(this).combogrid("setValues",[_a3a]);
-});
-},clear:function(jq){
-return jq.each(function(){
-$(this).combogrid("grid").datagrid("clearSelections");
-$(this).combo("clear");
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).combogrid("options");
-if(opts.multiple){
-$(this).combogrid("setValues",opts.originalValue);
-}else{
-$(this).combogrid("setValue",opts.originalValue);
-}
-});
-}};
-$.fn.combogrid.parseOptions=function(_a3b){
-var t=$(_a3b);
-return $.extend({},$.fn.combo.parseOptions(_a3b),$.fn.datagrid.parseOptions(_a3b),$.parser.parseOptions(_a3b,["idField","textField","mode"]));
-};
-$.fn.combogrid.defaults=$.extend({},$.fn.combo.defaults,$.fn.datagrid.defaults,{height:22,loadMsg:null,idField:null,textField:null,unselectedValues:[],mappingRows:[],mode:"local",keyHandler:{up:function(e){
-nav(this,"prev");
-e.preventDefault();
-},down:function(e){
-nav(this,"next");
-e.preventDefault();
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-_a2f(this);
-},query:function(q,e){
-_a2c(this,q);
-}},filter:function(q,row){
-var opts=$(this).combogrid("options");
-return (row[opts.textField]||"").toLowerCase().indexOf(q.toLowerCase())==0;
-}});
-})(jQuery);
-(function($){
-function _a3c(_a3d){
-var _a3e=$.data(_a3d,"datebox");
-var opts=_a3e.options;
-$(_a3d).addClass("datebox-f").combo($.extend({},opts,{onShowPanel:function(){
-_a3f(this);
-_a40(this);
-_a41(this);
-_a4f(this,$(this).datebox("getText"),true);
-opts.onShowPanel.call(this);
-}}));
-if(!_a3e.calendar){
-var _a42=$(_a3d).combo("panel").css("overflow","hidden");
-_a42.panel("options").onBeforeDestroy=function(){
-var c=$(this).find(".calendar-shared");
-if(c.length){
-c.insertBefore(c[0].pholder);
-}
-};
-var cc=$("<div class=\"datebox-calendar-inner\"></div>").prependTo(_a42);
-if(opts.sharedCalendar){
-var c=$(opts.sharedCalendar);
-if(!c[0].pholder){
-c[0].pholder=$("<div class=\"calendar-pholder\" style=\"display:none\"></div>").insertAfter(c);
-}
-c.addClass("calendar-shared").appendTo(cc);
-if(!c.hasClass("calendar")){
-c.calendar();
-}
-_a3e.calendar=c;
-}else{
-_a3e.calendar=$("<div></div>").appendTo(cc).calendar();
-}
-$.extend(_a3e.calendar.calendar("options"),{fit:true,border:false,onSelect:function(date){
-var _a43=this.target;
-var opts=$(_a43).datebox("options");
-_a4f(_a43,opts.formatter.call(_a43,date));
-$(_a43).combo("hidePanel");
-opts.onSelect.call(_a43,date);
-}});
-}
-$(_a3d).combo("textbox").parent().addClass("datebox");
-$(_a3d).datebox("initValue",opts.value);
-function _a3f(_a44){
-var opts=$(_a44).datebox("options");
-var _a45=$(_a44).combo("panel");
-_a45.unbind(".datebox").bind("click.datebox",function(e){
-if($(e.target).hasClass("datebox-button-a")){
-var _a46=parseInt($(e.target).attr("datebox-button-index"));
-opts.buttons[_a46].handler.call(e.target,_a44);
-}
-});
-};
-function _a40(_a47){
-var _a48=$(_a47).combo("panel");
-if(_a48.children("div.datebox-button").length){
-return;
-}
-var _a49=$("<div class=\"datebox-button\"><table cellspacing=\"0\" cellpadding=\"0\" style=\"width:100%\"><tr></tr></table></div>").appendTo(_a48);
-var tr=_a49.find("tr");
-for(var i=0;i<opts.buttons.length;i++){
-var td=$("<td></td>").appendTo(tr);
-var btn=opts.buttons[i];
-var t=$("<a class=\"datebox-button-a\" href=\"javascript:void(0)\"></a>").html($.isFunction(btn.text)?btn.text(_a47):btn.text).appendTo(td);
-t.attr("datebox-button-index",i);
-}
-tr.find("td").css("width",(100/opts.buttons.length)+"%");
-};
-function _a41(_a4a){
-var _a4b=$(_a4a).combo("panel");
-var cc=_a4b.children("div.datebox-calendar-inner");
-_a4b.children()._outerWidth(_a4b.width());
-_a3e.calendar.appendTo(cc);
-_a3e.calendar[0].target=_a4a;
-if(opts.panelHeight!="auto"){
-var _a4c=_a4b.height();
-_a4b.children().not(cc).each(function(){
-_a4c-=$(this).outerHeight();
-});
-cc._outerHeight(_a4c);
-}
-_a3e.calendar.calendar("resize");
-};
-};
-function _a4d(_a4e,q){
-_a4f(_a4e,q,true);
-};
-function _a50(_a51){
-var _a52=$.data(_a51,"datebox");
-var opts=_a52.options;
-var _a53=_a52.calendar.calendar("options").current;
-if(_a53){
-_a4f(_a51,opts.formatter.call(_a51,_a53));
-$(_a51).combo("hidePanel");
-}
-};
-function _a4f(_a54,_a55,_a56){
-var _a57=$.data(_a54,"datebox");
-var opts=_a57.options;
-var _a58=_a57.calendar;
-_a58.calendar("moveTo",opts.parser.call(_a54,_a55));
-if(_a56){
-$(_a54).combo("setValue",_a55);
-}else{
-if(_a55){
-_a55=opts.formatter.call(_a54,_a58.calendar("options").current);
-}
-$(_a54).combo("setText",_a55).combo("setValue",_a55);
-}
-};
-$.fn.datebox=function(_a59,_a5a){
-if(typeof _a59=="string"){
-var _a5b=$.fn.datebox.methods[_a59];
-if(_a5b){
-return _a5b(this,_a5a);
-}else{
-return this.combo(_a59,_a5a);
-}
-}
-_a59=_a59||{};
-return this.each(function(){
-var _a5c=$.data(this,"datebox");
-if(_a5c){
-$.extend(_a5c.options,_a59);
-}else{
-$.data(this,"datebox",{options:$.extend({},$.fn.datebox.defaults,$.fn.datebox.parseOptions(this),_a59)});
-}
-_a3c(this);
-});
-};
-$.fn.datebox.methods={options:function(jq){
-var _a5d=jq.combo("options");
-return $.extend($.data(jq[0],"datebox").options,{width:_a5d.width,height:_a5d.height,originalValue:_a5d.originalValue,disabled:_a5d.disabled,readonly:_a5d.readonly});
-},cloneFrom:function(jq,from){
-return jq.each(function(){
-$(this).combo("cloneFrom",from);
-$.data(this,"datebox",{options:$.extend(true,{},$(from).datebox("options")),calendar:$(from).datebox("calendar")});
-$(this).addClass("datebox-f");
-});
-},calendar:function(jq){
-return $.data(jq[0],"datebox").calendar;
-},initValue:function(jq,_a5e){
-return jq.each(function(){
-var opts=$(this).datebox("options");
-var _a5f=opts.value;
-if(_a5f){
-_a5f=opts.formatter.call(this,opts.parser.call(this,_a5f));
-}
-$(this).combo("initValue",_a5f).combo("setText",_a5f);
-});
-},setValue:function(jq,_a60){
-return jq.each(function(){
-_a4f(this,_a60);
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).datebox("options");
-$(this).datebox("setValue",opts.originalValue);
-});
-}};
-$.fn.datebox.parseOptions=function(_a61){
-return $.extend({},$.fn.combo.parseOptions(_a61),$.parser.parseOptions(_a61,["sharedCalendar"]));
-};
-$.fn.datebox.defaults=$.extend({},$.fn.combo.defaults,{panelWidth:180,panelHeight:"auto",sharedCalendar:null,keyHandler:{up:function(e){
-},down:function(e){
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-_a50(this);
-},query:function(q,e){
-_a4d(this,q);
-}},currentText:"Today",closeText:"Close",okText:"Ok",buttons:[{text:function(_a62){
-return $(_a62).datebox("options").currentText;
-},handler:function(_a63){
-var now=new Date();
-$(_a63).datebox("calendar").calendar({year:now.getFullYear(),month:now.getMonth()+1,current:new Date(now.getFullYear(),now.getMonth(),now.getDate())});
-_a50(_a63);
-}},{text:function(_a64){
-return $(_a64).datebox("options").closeText;
-},handler:function(_a65){
-$(this).closest("div.combo-panel").panel("close");
-}}],formatter:function(date){
-var y=date.getFullYear();
-var m=date.getMonth()+1;
-var d=date.getDate();
-return (m<10?("0"+m):m)+"/"+(d<10?("0"+d):d)+"/"+y;
-},parser:function(s){
-if(!s){
-return new Date();
-}
-var ss=s.split("/");
-var m=parseInt(ss[0],10);
-var d=parseInt(ss[1],10);
-var y=parseInt(ss[2],10);
-if(!isNaN(y)&&!isNaN(m)&&!isNaN(d)){
-return new Date(y,m-1,d);
-}else{
-return new Date();
-}
-},onSelect:function(date){
-}});
-})(jQuery);
-(function($){
-function _a66(_a67){
-var _a68=$.data(_a67,"datetimebox");
-var opts=_a68.options;
-$(_a67).datebox($.extend({},opts,{onShowPanel:function(){
-var _a69=$(this).datetimebox("getValue");
-_a6f(this,_a69,true);
-opts.onShowPanel.call(this);
-},formatter:$.fn.datebox.defaults.formatter,parser:$.fn.datebox.defaults.parser}));
-$(_a67).removeClass("datebox-f").addClass("datetimebox-f");
-$(_a67).datebox("calendar").calendar({onSelect:function(date){
-opts.onSelect.call(this.target,date);
-}});
-if(!_a68.spinner){
-var _a6a=$(_a67).datebox("panel");
-var p=$("<div style=\"padding:2px\"><input></div>").insertAfter(_a6a.children("div.datebox-calendar-inner"));
-_a68.spinner=p.children("input");
-}
-_a68.spinner.timespinner({width:opts.spinnerWidth,showSeconds:opts.showSeconds,separator:opts.timeSeparator});
-$(_a67).datetimebox("initValue",opts.value);
-};
-function _a6b(_a6c){
-var c=$(_a6c).datetimebox("calendar");
-var t=$(_a6c).datetimebox("spinner");
-var date=c.calendar("options").current;
-return new Date(date.getFullYear(),date.getMonth(),date.getDate(),t.timespinner("getHours"),t.timespinner("getMinutes"),t.timespinner("getSeconds"));
-};
-function _a6d(_a6e,q){
-_a6f(_a6e,q,true);
-};
-function _a70(_a71){
-var opts=$.data(_a71,"datetimebox").options;
-var date=_a6b(_a71);
-_a6f(_a71,opts.formatter.call(_a71,date));
-$(_a71).combo("hidePanel");
-};
-function _a6f(_a72,_a73,_a74){
-var opts=$.data(_a72,"datetimebox").options;
-$(_a72).combo("setValue",_a73);
-if(!_a74){
-if(_a73){
-var date=opts.parser.call(_a72,_a73);
-$(_a72).combo("setText",opts.formatter.call(_a72,date));
-$(_a72).combo("setValue",opts.formatter.call(_a72,date));
-}else{
-$(_a72).combo("setText",_a73);
-}
-}
-var date=opts.parser.call(_a72,_a73);
-$(_a72).datetimebox("calendar").calendar("moveTo",date);
-$(_a72).datetimebox("spinner").timespinner("setValue",_a75(date));
-function _a75(date){
-function _a76(_a77){
-return (_a77<10?"0":"")+_a77;
-};
-var tt=[_a76(date.getHours()),_a76(date.getMinutes())];
-if(opts.showSeconds){
-tt.push(_a76(date.getSeconds()));
-}
-return tt.join($(_a72).datetimebox("spinner").timespinner("options").separator);
-};
-};
-$.fn.datetimebox=function(_a78,_a79){
-if(typeof _a78=="string"){
-var _a7a=$.fn.datetimebox.methods[_a78];
-if(_a7a){
-return _a7a(this,_a79);
-}else{
-return this.datebox(_a78,_a79);
-}
-}
-_a78=_a78||{};
-return this.each(function(){
-var _a7b=$.data(this,"datetimebox");
-if(_a7b){
-$.extend(_a7b.options,_a78);
-}else{
-$.data(this,"datetimebox",{options:$.extend({},$.fn.datetimebox.defaults,$.fn.datetimebox.parseOptions(this),_a78)});
-}
-_a66(this);
-});
-};
-$.fn.datetimebox.methods={options:function(jq){
-var _a7c=jq.datebox("options");
-return $.extend($.data(jq[0],"datetimebox").options,{originalValue:_a7c.originalValue,disabled:_a7c.disabled,readonly:_a7c.readonly});
-},cloneFrom:function(jq,from){
-return jq.each(function(){
-$(this).datebox("cloneFrom",from);
-$.data(this,"datetimebox",{options:$.extend(true,{},$(from).datetimebox("options")),spinner:$(from).datetimebox("spinner")});
-$(this).removeClass("datebox-f").addClass("datetimebox-f");
-});
-},spinner:function(jq){
-return $.data(jq[0],"datetimebox").spinner;
-},initValue:function(jq,_a7d){
-return jq.each(function(){
-var opts=$(this).datetimebox("options");
-var _a7e=opts.value;
-if(_a7e){
-_a7e=opts.formatter.call(this,opts.parser.call(this,_a7e));
-}
-$(this).combo("initValue",_a7e).combo("setText",_a7e);
-});
-},setValue:function(jq,_a7f){
-return jq.each(function(){
-_a6f(this,_a7f);
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).datetimebox("options");
-$(this).datetimebox("setValue",opts.originalValue);
-});
-}};
-$.fn.datetimebox.parseOptions=function(_a80){
-var t=$(_a80);
-return $.extend({},$.fn.datebox.parseOptions(_a80),$.parser.parseOptions(_a80,["timeSeparator","spinnerWidth",{showSeconds:"boolean"}]));
-};
-$.fn.datetimebox.defaults=$.extend({},$.fn.datebox.defaults,{spinnerWidth:"100%",showSeconds:true,timeSeparator:":",keyHandler:{up:function(e){
-},down:function(e){
-},left:function(e){
-},right:function(e){
-},enter:function(e){
-_a70(this);
-},query:function(q,e){
-_a6d(this,q);
-}},buttons:[{text:function(_a81){
-return $(_a81).datetimebox("options").currentText;
-},handler:function(_a82){
-var opts=$(_a82).datetimebox("options");
-_a6f(_a82,opts.formatter.call(_a82,new Date()));
-$(_a82).datetimebox("hidePanel");
-}},{text:function(_a83){
-return $(_a83).datetimebox("options").okText;
-},handler:function(_a84){
-_a70(_a84);
-}},{text:function(_a85){
-return $(_a85).datetimebox("options").closeText;
-},handler:function(_a86){
-$(_a86).datetimebox("hidePanel");
-}}],formatter:function(date){
-var h=date.getHours();
-var M=date.getMinutes();
-var s=date.getSeconds();
-function _a87(_a88){
-return (_a88<10?"0":"")+_a88;
-};
-var _a89=$(this).datetimebox("spinner").timespinner("options").separator;
-var r=$.fn.datebox.defaults.formatter(date)+" "+_a87(h)+_a89+_a87(M);
-if($(this).datetimebox("options").showSeconds){
-r+=_a89+_a87(s);
-}
-return r;
-},parser:function(s){
-if($.trim(s)==""){
-return new Date();
-}
-var dt=s.split(" ");
-var d=$.fn.datebox.defaults.parser(dt[0]);
-if(dt.length<2){
-return d;
-}
-var _a8a=$(this).datetimebox("spinner").timespinner("options").separator;
-var tt=dt[1].split(_a8a);
-var hour=parseInt(tt[0],10)||0;
-var _a8b=parseInt(tt[1],10)||0;
-var _a8c=parseInt(tt[2],10)||0;
-return new Date(d.getFullYear(),d.getMonth(),d.getDate(),hour,_a8b,_a8c);
-}});
-})(jQuery);
-(function($){
-function init(_a8d){
-var _a8e=$("<div class=\"slider\">"+"<div class=\"slider-inner\">"+"<a href=\"javascript:void(0)\" class=\"slider-handle\"></a>"+"<span class=\"slider-tip\"></span>"+"</div>"+"<div class=\"slider-rule\"></div>"+"<div class=\"slider-rulelabel\"></div>"+"<div style=\"clear:both\"></div>"+"<input type=\"hidden\" class=\"slider-value\">"+"</div>").insertAfter(_a8d);
-var t=$(_a8d);
-t.addClass("slider-f").hide();
-var name=t.attr("name");
-if(name){
-_a8e.find("input.slider-value").attr("name",name);
-t.removeAttr("name").attr("sliderName",name);
-}
-_a8e.bind("_resize",function(e,_a8f){
-if($(this).hasClass("easyui-fluid")||_a8f){
-_a90(_a8d);
-}
-return false;
-});
-return _a8e;
-};
-function _a90(_a91,_a92){
-var _a93=$.data(_a91,"slider");
-var opts=_a93.options;
-var _a94=_a93.slider;
-if(_a92){
-if(_a92.width){
-opts.width=_a92.width;
-}
-if(_a92.height){
-opts.height=_a92.height;
-}
-}
-_a94._size(opts);
-if(opts.mode=="h"){
-_a94.css("height","");
-_a94.children("div").css("height","");
-}else{
-_a94.css("width","");
-_a94.children("div").css("width","");
-_a94.children("div.slider-rule,div.slider-rulelabel,div.slider-inner")._outerHeight(_a94._outerHeight());
-}
-_a95(_a91);
-};
-function _a96(_a97){
-var _a98=$.data(_a97,"slider");
-var opts=_a98.options;
-var _a99=_a98.slider;
-var aa=opts.mode=="h"?opts.rule:opts.rule.slice(0).reverse();
-if(opts.reversed){
-aa=aa.slice(0).reverse();
-}
-_a9a(aa);
-function _a9a(aa){
-var rule=_a99.find("div.slider-rule");
-var _a9b=_a99.find("div.slider-rulelabel");
-rule.empty();
-_a9b.empty();
-for(var i=0;i<aa.length;i++){
-var _a9c=i*100/(aa.length-1)+"%";
-var span=$("<span></span>").appendTo(rule);
-span.css((opts.mode=="h"?"left":"top"),_a9c);
-if(aa[i]!="|"){
-span=$("<span></span>").appendTo(_a9b);
-span.html(aa[i]);
-if(opts.mode=="h"){
-span.css({left:_a9c,marginLeft:-Math.round(span.outerWidth()/2)});
-}else{
-span.css({top:_a9c,marginTop:-Math.round(span.outerHeight()/2)});
-}
-}
-}
-};
-};
-function _a9d(_a9e){
-var _a9f=$.data(_a9e,"slider");
-var opts=_a9f.options;
-var _aa0=_a9f.slider;
-_aa0.removeClass("slider-h slider-v slider-disabled");
-_aa0.addClass(opts.mode=="h"?"slider-h":"slider-v");
-_aa0.addClass(opts.disabled?"slider-disabled":"");
-var _aa1=_aa0.find(".slider-inner");
-_aa1.html("<a href=\"javascript:void(0)\" class=\"slider-handle\"></a>"+"<span class=\"slider-tip\"></span>");
-if(opts.range){
-_aa1.append("<a href=\"javascript:void(0)\" class=\"slider-handle\"></a>"+"<span class=\"slider-tip\"></span>");
-}
-_aa0.find("a.slider-handle").draggable({axis:opts.mode,cursor:"pointer",disabled:opts.disabled,onDrag:function(e){
-var left=e.data.left;
-var _aa2=_aa0.width();
-if(opts.mode!="h"){
-left=e.data.top;
-_aa2=_aa0.height();
-}
-if(left<0||left>_aa2){
-return false;
-}else{
-_aa3(left,this);
-return false;
-}
-},onStartDrag:function(){
-_a9f.isDragging=true;
-opts.onSlideStart.call(_a9e,opts.value);
-},onStopDrag:function(e){
-_aa3(opts.mode=="h"?e.data.left:e.data.top,this);
-opts.onSlideEnd.call(_a9e,opts.value);
-opts.onComplete.call(_a9e,opts.value);
-_a9f.isDragging=false;
-}});
-_aa0.find("div.slider-inner").unbind(".slider").bind("mousedown.slider",function(e){
-if(_a9f.isDragging||opts.disabled){
-return;
-}
-var pos=$(this).offset();
-_aa3(opts.mode=="h"?(e.pageX-pos.left):(e.pageY-pos.top));
-opts.onComplete.call(_a9e,opts.value);
-});
-function _aa3(pos,_aa4){
-var _aa5=_aa6(_a9e,pos);
-var s=Math.abs(_aa5%opts.step);
-if(s<opts.step/2){
-_aa5-=s;
-}else{
-_aa5=_aa5-s+opts.step;
-}
-if(opts.range){
-var v1=opts.value[0];
-var v2=opts.value[1];
-var m=parseFloat((v1+v2)/2);
-if(_aa4){
-var _aa7=$(_aa4).nextAll(".slider-handle").length>0;
-if(_aa5<=v2&&_aa7){
-v1=_aa5;
-}else{
-if(_aa5>=v1&&(!_aa7)){
-v2=_aa5;
-}
-}
-}else{
-if(_aa5<v1){
-v1=_aa5;
-}else{
-if(_aa5>v2){
-v2=_aa5;
-}else{
-_aa5<m?v1=_aa5:v2=_aa5;
-}
-}
-}
-$(_a9e).slider("setValues",[v1,v2]);
-}else{
-$(_a9e).slider("setValue",_aa5);
-}
-};
-};
-function _aa8(_aa9,_aaa){
-var _aab=$.data(_aa9,"slider");
-var opts=_aab.options;
-var _aac=_aab.slider;
-var _aad=$.isArray(opts.value)?opts.value:[opts.value];
-var _aae=[];
-if(!$.isArray(_aaa)){
-_aaa=$.map(String(_aaa).split(opts.separator),function(v){
-return parseFloat(v);
-});
-}
-_aac.find(".slider-value").remove();
-var name=$(_aa9).attr("sliderName")||"";
-for(var i=0;i<_aaa.length;i++){
-var _aaf=_aaa[i];
-if(_aaf<opts.min){
-_aaf=opts.min;
-}
-if(_aaf>opts.max){
-_aaf=opts.max;
-}
-var _ab0=$("<input type=\"hidden\" class=\"slider-value\">").appendTo(_aac);
-_ab0.attr("name",name);
-_ab0.val(_aaf);
-_aae.push(_aaf);
-var _ab1=_aac.find(".slider-handle:eq("+i+")");
-var tip=_ab1.next();
-var pos=_ab2(_aa9,_aaf);
-if(opts.showTip){
-tip.show();
-tip.html(opts.tipFormatter.call(_aa9,_aaf));
-}else{
-tip.hide();
-}
-if(opts.mode=="h"){
-var _ab3="left:"+pos+"px;";
-_ab1.attr("style",_ab3);
-tip.attr("style",_ab3+"margin-left:"+(-Math.round(tip.outerWidth()/2))+"px");
-}else{
-var _ab3="top:"+pos+"px;";
-_ab1.attr("style",_ab3);
-tip.attr("style",_ab3+"margin-left:"+(-Math.round(tip.outerWidth()))+"px");
-}
-}
-opts.value=opts.range?_aae:_aae[0];
-$(_aa9).val(opts.range?_aae.join(opts.separator):_aae[0]);
-if(_aad.join(",")!=_aae.join(",")){
-opts.onChange.call(_aa9,opts.value,(opts.range?_aad:_aad[0]));
-}
-};
-function _a95(_ab4){
-var opts=$.data(_ab4,"slider").options;
-var fn=opts.onChange;
-opts.onChange=function(){
-};
-_aa8(_ab4,opts.value);
-opts.onChange=fn;
-};
-function _ab2(_ab5,_ab6){
-var _ab7=$.data(_ab5,"slider");
-var opts=_ab7.options;
-var _ab8=_ab7.slider;
-var size=opts.mode=="h"?_ab8.width():_ab8.height();
-var pos=opts.converter.toPosition.call(_ab5,_ab6,size);
-if(opts.mode=="v"){
-pos=_ab8.height()-pos;
-}
-if(opts.reversed){
-pos=size-pos;
-}
-return pos.toFixed(0);
-};
-function _aa6(_ab9,pos){
-var _aba=$.data(_ab9,"slider");
-var opts=_aba.options;
-var _abb=_aba.slider;
-var size=opts.mode=="h"?_abb.width():_abb.height();
-var pos=opts.mode=="h"?(opts.reversed?(size-pos):pos):(opts.reversed?pos:(size-pos));
-var _abc=opts.converter.toValue.call(_ab9,pos,size);
-return _abc.toFixed(0);
-};
-$.fn.slider=function(_abd,_abe){
-if(typeof _abd=="string"){
-return $.fn.slider.methods[_abd](this,_abe);
-}
-_abd=_abd||{};
-return this.each(function(){
-var _abf=$.data(this,"slider");
-if(_abf){
-$.extend(_abf.options,_abd);
-}else{
-_abf=$.data(this,"slider",{options:$.extend({},$.fn.slider.defaults,$.fn.slider.parseOptions(this),_abd),slider:init(this)});
-$(this).removeAttr("disabled");
-}
-var opts=_abf.options;
-opts.min=parseFloat(opts.min);
-opts.max=parseFloat(opts.max);
-if(opts.range){
-if(!$.isArray(opts.value)){
-opts.value=$.map(String(opts.value).split(opts.separator),function(v){
-return parseFloat(v);
-});
-}
-if(opts.value.length<2){
-opts.value.push(opts.max);
-}
-}else{
-opts.value=parseFloat(opts.value);
-}
-opts.step=parseFloat(opts.step);
-opts.originalValue=opts.value;
-_a9d(this);
-_a96(this);
-_a90(this);
-});
-};
-$.fn.slider.methods={options:function(jq){
-return $.data(jq[0],"slider").options;
-},destroy:function(jq){
-return jq.each(function(){
-$.data(this,"slider").slider.remove();
-$(this).remove();
-});
-},resize:function(jq,_ac0){
-return jq.each(function(){
-_a90(this,_ac0);
-});
-},getValue:function(jq){
-return jq.slider("options").value;
-},getValues:function(jq){
-return jq.slider("options").value;
-},setValue:function(jq,_ac1){
-return jq.each(function(){
-_aa8(this,[_ac1]);
-});
-},setValues:function(jq,_ac2){
-return jq.each(function(){
-_aa8(this,_ac2);
-});
-},clear:function(jq){
-return jq.each(function(){
-var opts=$(this).slider("options");
-_aa8(this,opts.range?[opts.min,opts.max]:[opts.min]);
-});
-},reset:function(jq){
-return jq.each(function(){
-var opts=$(this).slider("options");
-$(this).slider(opts.range?"setValues":"setValue",opts.originalValue);
-});
-},enable:function(jq){
-return jq.each(function(){
-$.data(this,"slider").options.disabled=false;
-_a9d(this);
-});
-},disable:function(jq){
-return jq.each(function(){
-$.data(this,"slider").options.disabled=true;
-_a9d(this);
-});
-}};
-$.fn.slider.parseOptions=function(_ac3){
-var t=$(_ac3);
-return $.extend({},$.parser.parseOptions(_ac3,["width","height","mode",{reversed:"boolean",showTip:"boolean",range:"boolean",min:"number",max:"number",step:"number"}]),{value:(t.val()||undefined),disabled:(t.attr("disabled")?true:undefined),rule:(t.attr("rule")?eval(t.attr("rule")):undefined)});
-};
-$.fn.slider.defaults={width:"auto",height:"auto",mode:"h",reversed:false,showTip:false,disabled:false,range:false,value:0,separator:",",min:0,max:100,step:1,rule:[],tipFormatter:function(_ac4){
-return _ac4;
-},converter:{toPosition:function(_ac5,size){
-var opts=$(this).slider("options");
-return (_ac5-opts.min)/(opts.max-opts.min)*size;
-},toValue:function(pos,size){
-var opts=$(this).slider("options");
-return opts.min+(opts.max-opts.min)*(pos/size);
-}},onChange:function(_ac6,_ac7){
-},onSlideStart:function(_ac8){
-},onSlideEnd:function(_ac9){
-},onComplete:function(_aca){
-}};
-})(jQuery);
-
diff --git a/js/plotPanelControl/jquery-easyui-1.4.4/jquery.min.js b/js/plotPanelControl/jquery-easyui-1.4.4/jquery.min.js
deleted file mode 100644
index 0f60b7b..0000000
--- a/js/plotPanelControl/jquery-easyui-1.4.4/jquery.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
-
-return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){
-return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kb(a,b,c){var d,e,f=0,g=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m});
diff --git a/js/plotPanelControl/zTree/css/zTreeStyle.css b/js/plotPanelControl/zTree/css/zTreeStyle.css
deleted file mode 100644
index efca838..0000000
--- a/js/plotPanelControl/zTree/css/zTreeStyle.css
+++ /dev/null
@@ -1,97 +0,0 @@
-/*-------------------------------------
-zTree Style
-
-version:	3.5.19
-author:		Hunter.z
-email:		hunter.z@263.net
-website:	http://code.google.com/p/jquerytree/
-
--------------------------------------*/
-
-.ztree * {padding:0; margin:0; font-size:16px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
-.ztree {margin:0; padding:5px; color:#333}
-.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0}
-.ztree li ul{ margin:0; padding:0 0 0 18px}
-.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}
-
-.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; height:17px; color:#333; background-color: transparent;
-	text-decoration:none; vertical-align:top; display: inline-block}
-.ztree li a:hover {text-decoration:underline}
-.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
-.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
-.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#316AC5; color:white; height:16px; border:1px #316AC5 solid;
-	opacity:0.8; filter:alpha(opacity=80)}
-.ztree li a.tmpTargetNode_prev {}
-.ztree li a.tmpTargetNode_next {}
-.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;
-	font-size:12px; border:1px #7EC4CC solid; *border:0px}
-.ztree li span {line-height:16px; margin-right:2px}
-.ztree li span.button {line-height:0; margin:0; width:16px; height:16px; display: inline-block; vertical-align:middle;
-	border:0 none; cursor: pointer;outline:none;
-	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
-	background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
-
-.ztree li span.button.chk {width:13px; height:13px; margin:0 3px 0 0; cursor: auto}
-.ztree li span.button.chk.checkbox_false_full {background-position:0 0}
-.ztree li span.button.chk.checkbox_false_full_focus {background-position:0 -14px}
-.ztree li span.button.chk.checkbox_false_part {background-position:0 -28px}
-.ztree li span.button.chk.checkbox_false_part_focus {background-position:0 -42px}
-.ztree li span.button.chk.checkbox_false_disable {background-position:0 -56px}
-.ztree li span.button.chk.checkbox_true_full {background-position:-14px 0}
-.ztree li span.button.chk.checkbox_true_full_focus {background-position:-14px -14px}
-.ztree li span.button.chk.checkbox_true_part {background-position:-14px -28px}
-.ztree li span.button.chk.checkbox_true_part_focus {background-position:-14px -42px}
-.ztree li span.button.chk.checkbox_true_disable {background-position:-14px -56px}
-.ztree li span.button.chk.radio_false_full {background-position:-28px 0}
-.ztree li span.button.chk.radio_false_full_focus {background-position:-28px -14px}
-.ztree li span.button.chk.radio_false_part {background-position:-28px -28px}
-.ztree li span.button.chk.radio_false_part_focus {background-position:-28px -42px}
-.ztree li span.button.chk.radio_false_disable {background-position:-28px -56px}
-.ztree li span.button.chk.radio_true_full {background-position:-42px 0}
-.ztree li span.button.chk.radio_true_full_focus {background-position:-42px -14px}
-.ztree li span.button.chk.radio_true_part {background-position:-42px -28px}
-.ztree li span.button.chk.radio_true_part_focus {background-position:-42px -42px}
-.ztree li span.button.chk.radio_true_disable {background-position:-42px -56px}
-
-.ztree li span.button.switch {width:18px; height:18px}
-.ztree li span.button.root_open{background-position:-92px -54px}
-.ztree li span.button.root_close{background-position:-74px -54px}
-.ztree li span.button.roots_open{background-position:-92px 0}
-.ztree li span.button.roots_close{background-position:-74px 0}
-.ztree li span.button.center_open{background-position:-92px -18px}
-.ztree li span.button.center_close{background-position:-74px -18px}
-.ztree li span.button.bottom_open{background-position:-92px -36px}
-.ztree li span.button.bottom_close{background-position:-74px -36px}
-.ztree li span.button.noline_open{background-position:-92px -72px}
-.ztree li span.button.noline_close{background-position:-74px -72px}
-.ztree li span.button.root_docu{ background:none;}
-.ztree li span.button.roots_docu{background-position:-56px 0}
-.ztree li span.button.center_docu{background-position:-56px -18px}
-.ztree li span.button.bottom_docu{background-position:-56px -36px}
-.ztree li span.button.noline_docu{ background:none;}
-
-.ztree li span.button.ico_open{margin-right:2px; background-position:-110px -16px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.ico_close{margin-right:2px; background-position:-110px 0; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.ico_docu{margin-right:2px; background-position:-110px -32px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle}
-
-.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
-
-ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}
-
-span.tmpzTreeMove_arrow {width:16px; height:16px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;
-	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
-	background-position:-110px -80px; background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
-
-ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}
-.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}
-
-/* level style*/
-/*.ztree li span.button.level0 {
-	display:none;
-}
-.ztree li ul.level0 {
-	padding:0;
-	background:none;
-}*/
\ No newline at end of file
diff --git a/js/plotPanelControl/zTree/jquery.ztree.core.js b/js/plotPanelControl/zTree/jquery.ztree.core.js
deleted file mode 100644
index 1711dae..0000000
--- a/js/plotPanelControl/zTree/jquery.ztree.core.js
+++ /dev/null
@@ -1,1819 +0,0 @@
-/*
- * JQuery zTree core v3.5.23
- * http://zTree.me/
- *
- * Copyright (c) 2010 Hunter.z
- *
- * Licensed same as jquery - MIT License
- * http://www.opensource.org/licenses/mit-license.php
- *
- * email: hunter.z@263.net
- * Date: 2016-04-01
- */
-(function($){
-	var settings = {}, roots = {}, caches = {},
-	//default consts of core
-	_consts = {
-		className: {
-			BUTTON: "button",
-			LEVEL: "level",
-			ICO_LOADING: "ico_loading",
-			SWITCH: "switch",
-			NAME: 'node_name'
-		},
-		event: {
-			NODECREATED: "ztree_nodeCreated",
-			CLICK: "ztree_click",
-			EXPAND: "ztree_expand",
-			COLLAPSE: "ztree_collapse",
-			ASYNC_SUCCESS: "ztree_async_success",
-			ASYNC_ERROR: "ztree_async_error",
-			REMOVE: "ztree_remove",
-			SELECTED: "ztree_selected",
-			UNSELECTED: "ztree_unselected"
-		},
-		id: {
-			A: "_a",
-			ICON: "_ico",
-			SPAN: "_span",
-			SWITCH: "_switch",
-			UL: "_ul"
-		},
-		line: {
-			ROOT: "root",
-			ROOTS: "roots",
-			CENTER: "center",
-			BOTTOM: "bottom",
-			NOLINE: "noline",
-			LINE: "line"
-		},
-		folder: {
-			OPEN: "open",
-			CLOSE: "close",
-			DOCU: "docu"
-		},
-		node: {
-			CURSELECTED: "curSelectedNode"
-		}
-	},
-	//default setting of core
-	_setting = {
-		treeId: "",
-		treeObj: null,
-		view: {
-			addDiyDom: null,
-			autoCancelSelected: true,
-			dblClickExpand: true,
-			expandSpeed: "fast",
-			fontCss: {},
-			nameIsHTML: false,
-			selectedMulti: true,
-			showIcon: true,
-			showLine: true,
-			showTitle: true,
-			txtSelectedEnable: false
-		},
-		data: {
-			key: {
-				children: "children",
-				name: "name",
-				title: "",
-				url: "url",
-				icon: "icon"
-			},
-			simpleData: {
-				enable: false,
-				idKey: "id",
-				pIdKey: "pId",
-				rootPId: null
-			},
-			keep: {
-				parent: false,
-				leaf: false
-			}
-		},
-		async: {
-			enable: false,
-			contentType: "application/x-www-form-urlencoded",
-			type: "post",
-			dataType: "text",
-			url: "",
-			autoParam: [],
-			otherParam: [],
-			dataFilter: null
-		},
-		callback: {
-			beforeAsync:null,
-			beforeClick:null,
-			beforeDblClick:null,
-			beforeRightClick:null,
-			beforeMouseDown:null,
-			beforeMouseUp:null,
-			beforeExpand:null,
-			beforeCollapse:null,
-			beforeRemove:null,
-
-			onAsyncError:null,
-			onAsyncSuccess:null,
-			onNodeCreated:null,
-			onClick:null,
-			onDblClick:null,
-			onRightClick:null,
-			onMouseDown:null,
-			onMouseUp:null,
-			onExpand:null,
-			onCollapse:null,
-			onRemove:null
-		}
-	},
-	//default root of core
-	//zTree use root to save full data
-	_initRoot = function (setting) {
-		var r = data.getRoot(setting);
-		if (!r) {
-			r = {};
-			data.setRoot(setting, r);
-		}
-		r[setting.data.key.children] = [];
-		r.expandTriggerFlag = false;
-		r.curSelectedList = [];
-		r.noSelection = true;
-		r.createdNodes = [];
-		r.zId = 0;
-		r._ver = (new Date()).getTime();
-	},
-	//default cache of core
-	_initCache = function(setting) {
-		var c = data.getCache(setting);
-		if (!c) {
-			c = {};
-			data.setCache(setting, c);
-		}
-		c.nodes = [];
-		c.doms = [];
-	},
-	//default bindEvent of core
-	_bindEvent = function(setting) {
-		var o = setting.treeObj,
-		c = consts.event;
-		o.bind(c.NODECREATED, function (event, treeId, node) {
-			tools.apply(setting.callback.onNodeCreated, [event, treeId, node]);
-		});
-
-		o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) {
-			tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]);
-		});
-
-		o.bind(c.EXPAND, function (event, treeId, node) {
-			tools.apply(setting.callback.onExpand, [event, treeId, node]);
-		});
-
-		o.bind(c.COLLAPSE, function (event, treeId, node) {
-			tools.apply(setting.callback.onCollapse, [event, treeId, node]);
-		});
-
-		o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) {
-			tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]);
-		});
-
-		o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) {
-			tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]);
-		});
-
-		o.bind(c.REMOVE, function (event, treeId, treeNode) {
-			tools.apply(setting.callback.onRemove, [event, treeId, treeNode]);
-		});
-
-		o.bind(c.SELECTED, function (event, treeId, node) {
-			tools.apply(setting.callback.onSelected, [treeId, node]);
-		});
-		o.bind(c.UNSELECTED, function (event, treeId, node) {
-			tools.apply(setting.callback.onUnSelected, [treeId, node]);
-		});
-	},
-	_unbindEvent = function(setting) {
-		var o = setting.treeObj,
-		c = consts.event;
-		o.unbind(c.NODECREATED)
-		.unbind(c.CLICK)
-		.unbind(c.EXPAND)
-		.unbind(c.COLLAPSE)
-		.unbind(c.ASYNC_SUCCESS)
-		.unbind(c.ASYNC_ERROR)
-		.unbind(c.REMOVE)
-		.unbind(c.SELECTED)
-		.unbind(c.UNSELECTED);
-	},
-	//default event proxy of core
-	_eventProxy = function(event) {
-		var target = event.target,
-		setting = data.getSetting(event.data.treeId),
-		tId = "", node = null,
-		nodeEventType = "", treeEventType = "",
-		nodeEventCallback = null, treeEventCallback = null,
-		tmp = null;
-
-		if (tools.eqs(event.type, "mousedown")) {
-			treeEventType = "mousedown";
-		} else if (tools.eqs(event.type, "mouseup")) {
-			treeEventType = "mouseup";
-		} else if (tools.eqs(event.type, "contextmenu")) {
-			treeEventType = "contextmenu";
-		} else if (tools.eqs(event.type, "click")) {
-			if (tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.SWITCH) !== null) {
-				tId = tools.getNodeMainDom(target).id;
-				nodeEventType = "switchNode";
-			} else {
-				tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
-				if (tmp) {
-					tId = tools.getNodeMainDom(tmp).id;
-					nodeEventType = "clickNode";
-				}
-			}
-		} else if (tools.eqs(event.type, "dblclick")) {
-			treeEventType = "dblclick";
-			tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
-			if (tmp) {
-				tId = tools.getNodeMainDom(tmp).id;
-				nodeEventType = "switchNode";
-			}
-		}
-		if (treeEventType.length > 0 && tId.length == 0) {
-			tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]);
-			if (tmp) {tId = tools.getNodeMainDom(tmp).id;}
-		}
-		// event to node
-		if (tId.length>0) {
-			node = data.getNodeCache(setting, tId);
-			switch (nodeEventType) {
-				case "switchNode" :
-					if (!node.isParent) {
-						nodeEventType = "";
-					} else if (tools.eqs(event.type, "click")
-						|| (tools.eqs(event.type, "dblclick") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) {
-						nodeEventCallback = handler.onSwitchNode;
-					} else {
-						nodeEventType = "";
-					}
-					break;
-				case "clickNode" :
-					nodeEventCallback = handler.onClickNode;
-					break;
-			}
-		}
-		// event to zTree
-		switch (treeEventType) {
-			case "mousedown" :
-				treeEventCallback = handler.onZTreeMousedown;
-				break;
-			case "mouseup" :
-				treeEventCallback = handler.onZTreeMouseup;
-				break;
-			case "dblclick" :
-				treeEventCallback = handler.onZTreeDblclick;
-				break;
-			case "contextmenu" :
-				treeEventCallback = handler.onZTreeContextmenu;
-				break;
-		}
-		var proxyResult = {
-			stop: false,
-			node: node,
-			nodeEventType: nodeEventType,
-			nodeEventCallback: nodeEventCallback,
-			treeEventType: treeEventType,
-			treeEventCallback: treeEventCallback
-		};
-		return proxyResult
-	},
-	//default init node of core
-	_initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {
-		if (!n) return;
-		var r = data.getRoot(setting),
-		childKey = setting.data.key.children;
-		n.level = level;
-		n.tId = setting.treeId + "_" + (++r.zId);
-		n.parentTId = parentNode ? parentNode.tId : null;
-		n.open = (typeof n.open == "string") ? tools.eqs(n.open, "true") : !!n.open;
-		if (n[childKey] && n[childKey].length > 0) {
-			n.isParent = true;
-			n.zAsync = true;
-		} else {
-			n.isParent = (typeof n.isParent == "string") ? tools.eqs(n.isParent, "true") : !!n.isParent;
-			n.open = (n.isParent && !setting.async.enable) ? n.open : false;
-			n.zAsync = !n.isParent;
-		}
-		n.isFirstNode = isFirstNode;
-		n.isLastNode = isLastNode;
-		n.getParentNode = function() {return data.getNodeCache(setting, n.parentTId);};
-		n.getPreNode = function() {return data.getPreNode(setting, n);};
-		n.getNextNode = function() {return data.getNextNode(setting, n);};
-		n.getIndex = function() {return data.getNodeIndex(setting, n);};
-		n.getPath = function() {return data.getNodePath(setting, n);};
-		n.isAjaxing = false;
-		data.fixPIdKeyValue(setting, n);
-	},
-	_init = {
-		bind: [_bindEvent],
-		unbind: [_unbindEvent],
-		caches: [_initCache],
-		nodes: [_initNode],
-		proxys: [_eventProxy],
-		roots: [_initRoot],
-		beforeA: [],
-		afterA: [],
-		innerBeforeA: [],
-		innerAfterA: [],
-		zTreeTools: []
-	},
-	//method of operate data
-	data = {
-		addNodeCache: function(setting, node) {
-			data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node;
-		},
-		getNodeCacheId: function(tId) {
-			return tId.substring(tId.lastIndexOf("_")+1);
-		},
-		addAfterA: function(afterA) {
-			_init.afterA.push(afterA);
-		},
-		addBeforeA: function(beforeA) {
-			_init.beforeA.push(beforeA);
-		},
-		addInnerAfterA: function(innerAfterA) {
-			_init.innerAfterA.push(innerAfterA);
-		},
-		addInnerBeforeA: function(innerBeforeA) {
-			_init.innerBeforeA.push(innerBeforeA);
-		},
-		addInitBind: function(bindEvent) {
-			_init.bind.push(bindEvent);
-		},
-		addInitUnBind: function(unbindEvent) {
-			_init.unbind.push(unbindEvent);
-		},
-		addInitCache: function(initCache) {
-			_init.caches.push(initCache);
-		},
-		addInitNode: function(initNode) {
-			_init.nodes.push(initNode);
-		},
-		addInitProxy: function(initProxy, isFirst) {
-			if (!!isFirst) {
-				_init.proxys.splice(0,0,initProxy);
-			} else {
-				_init.proxys.push(initProxy);
-			}
-		},
-		addInitRoot: function(initRoot) {
-			_init.roots.push(initRoot);
-		},
-		addNodesData: function(setting, parentNode, index, nodes) {
-			var childKey = setting.data.key.children, params;
-			if (!parentNode[childKey]) {
-				parentNode[childKey] = [];
-				index = -1;
-			} else if (index >= parentNode[childKey].length) {
-				index = -1;
-			}
-
-			if (parentNode[childKey].length > 0 && index === 0) {
-				parentNode[childKey][0].isFirstNode = false;
-				view.setNodeLineIcos(setting, parentNode[childKey][0]);
-			} else if (parentNode[childKey].length > 0 && index < 0) {
-				parentNode[childKey][parentNode[childKey].length - 1].isLastNode = false;
-				view.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]);
-			}
-			parentNode.isParent = true;
-
-			if (index<0) {
-				parentNode[childKey] = parentNode[childKey].concat(nodes);
-			} else {
-				params = [index, 0].concat(nodes);
-				parentNode[childKey].splice.apply(parentNode[childKey], params);
-			}
-		},
-		addSelectedNode: function(setting, node) {
-			var root = data.getRoot(setting);
-			if (!data.isSelectedNode(setting, node)) {
-				root.curSelectedList.push(node);
-			}
-		},
-		addCreatedNode: function(setting, node) {
-			if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
-				var root = data.getRoot(setting);
-				root.createdNodes.push(node);
-			}
-		},
-		addZTreeTools: function(zTreeTools) {
-			_init.zTreeTools.push(zTreeTools);
-		},
-		exSetting: function(s) {
-			$.extend(true, _setting, s);
-		},
-		fixPIdKeyValue: function(setting, node) {
-			if (setting.data.simpleData.enable) {
-				node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId;
-			}
-		},
-		getAfterA: function(setting, node, array) {
-			for (var i=0, j=_init.afterA.length; i<j; i++) {
-				_init.afterA[i].apply(this, arguments);
-			}
-		},
-		getBeforeA: function(setting, node, array) {
-			for (var i=0, j=_init.beforeA.length; i<j; i++) {
-				_init.beforeA[i].apply(this, arguments);
-			}
-		},
-		getInnerAfterA: function(setting, node, array) {
-			for (var i=0, j=_init.innerAfterA.length; i<j; i++) {
-				_init.innerAfterA[i].apply(this, arguments);
-			}
-		},
-		getInnerBeforeA: function(setting, node, array) {
-			for (var i=0, j=_init.innerBeforeA.length; i<j; i++) {
-				_init.innerBeforeA[i].apply(this, arguments);
-			}
-		},
-		getCache: function(setting) {
-			return caches[setting.treeId];
-		},
-		getNodeIndex: function(setting, node) {
-			if (!node) return null;
-			var childKey = setting.data.key.children,
-			p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-			for (var i=0, l=p[childKey].length-1; i<=l; i++) {
-				if (p[childKey][i] === node) {
-					return i;
-				}
-			}
-			return -1;
-		},
-		getNextNode: function(setting, node) {
-			if (!node) return null;
-			var childKey = setting.data.key.children,
-			p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-			for (var i=0, l=p[childKey].length-1; i<=l; i++) {
-				if (p[childKey][i] === node) {
-					return (i==l ? null : p[childKey][i+1]);
-				}
-			}
-			return null;
-		},
-		getNodeByParam: function(setting, nodes, key, value) {
-			if (!nodes || !key) return null;
-			var childKey = setting.data.key.children;
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				if (nodes[i][key] == value) {
-					return nodes[i];
-				}
-				var tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value);
-				if (tmp) return tmp;
-			}
-			return null;
-		},
-		getNodeCache: function(setting, tId) {
-			if (!tId) return null;
-			var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)];
-			return n ? n : null;
-		},
-		getNodeName: function(setting, node) {
-			var nameKey = setting.data.key.name;
-			return "" + node[nameKey];
-		},
-		getNodePath: function(setting, node) {
-			if (!node) return null;
-
-			var path;
-			if(node.parentTId) {
-				path = node.getParentNode().getPath();
-			} else {
-				path = [];
-			}
-
-			if (path) {
-				path.push(node);
-			}
-
-			return path;
-		},
-		getNodeTitle: function(setting, node) {
-			var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title;
-			return "" + node[t];
-		},
-		getNodes: function(setting) {
-			return data.getRoot(setting)[setting.data.key.children];
-		},
-		getNodesByParam: function(setting, nodes, key, value) {
-			if (!nodes || !key) return [];
-			var childKey = setting.data.key.children,
-			result = [];
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				if (nodes[i][key] == value) {
-					result.push(nodes[i]);
-				}
-				result = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value));
-			}
-			return result;
-		},
-		getNodesByParamFuzzy: function(setting, nodes, key, value) {
-			if (!nodes || !key) return [];
-			var childKey = setting.data.key.children,
-			result = [];
-			value = value.toLowerCase();
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				if (typeof nodes[i][key] == "string" && nodes[i][key].toLowerCase().indexOf(value)>-1) {
-					result.push(nodes[i]);
-				}
-				result = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value));
-			}
-			return result;
-		},
-		getNodesByFilter: function(setting, nodes, filter, isSingle, invokeParam) {
-			if (!nodes) return (isSingle ? null : []);
-			var childKey = setting.data.key.children,
-			result = isSingle ? null : [];
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				if (tools.apply(filter, [nodes[i], invokeParam], false)) {
-					if (isSingle) {return nodes[i];}
-					result.push(nodes[i]);
-				}
-				var tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam);
-				if (isSingle && !!tmpResult) {return tmpResult;}
-				result = isSingle ? tmpResult : result.concat(tmpResult);
-			}
-			return result;
-		},
-		getPreNode: function(setting, node) {
-			if (!node) return null;
-			var childKey = setting.data.key.children,
-			p = node.parentTId ? node.getParentNode() : data.getRoot(setting);
-			for (var i=0, l=p[childKey].length; i<l; i++) {
-				if (p[childKey][i] === node) {
-					return (i==0 ? null : p[childKey][i-1]);
-				}
-			}
-			return null;
-		},
-		getRoot: function(setting) {
-			return setting ? roots[setting.treeId] : null;
-		},
-		getRoots: function() {
-			return roots;
-		},
-		getSetting: function(treeId) {
-			return settings[treeId];
-		},
-		getSettings: function() {
-			return settings;
-		},
-		getZTreeTools: function(treeId) {
-			var r = this.getRoot(this.getSetting(treeId));
-			return r ? r.treeTools : null;
-		},
-		initCache: function(setting) {
-			for (var i=0, j=_init.caches.length; i<j; i++) {
-				_init.caches[i].apply(this, arguments);
-			}
-		},
-		initNode: function(setting, level, node, parentNode, preNode, nextNode) {
-			for (var i=0, j=_init.nodes.length; i<j; i++) {
-				_init.nodes[i].apply(this, arguments);
-			}
-		},
-		initRoot: function(setting) {
-			for (var i=0, j=_init.roots.length; i<j; i++) {
-				_init.roots[i].apply(this, arguments);
-			}
-		},
-		isSelectedNode: function(setting, node) {
-			var root = data.getRoot(setting);
-			for (var i=0, j=root.curSelectedList.length; i<j; i++) {
-				if(node === root.curSelectedList[i]) return true;
-			}
-			return false;
-		},
-		removeNodeCache: function(setting, node) {
-			var childKey = setting.data.key.children;
-			if (node[childKey]) {
-				for (var i=0, l=node[childKey].length; i<l; i++) {
-					arguments.callee(setting, node[childKey][i]);
-				}
-			}
-			data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null;
-		},
-		removeSelectedNode: function(setting, node) {
-			var root = data.getRoot(setting);
-			for (var i=0, j=root.curSelectedList.length; i<j; i++) {
-				if(node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) {
-					root.curSelectedList.splice(i, 1);
-					setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, node]);
-					i--;j--;
-				}
-			}
-		},
-		setCache: function(setting, cache) {
-			caches[setting.treeId] = cache;
-		},
-		setRoot: function(setting, root) {
-			roots[setting.treeId] = root;
-		},
-		setZTreeTools: function(setting, zTreeTools) {
-			for (var i=0, j=_init.zTreeTools.length; i<j; i++) {
-				_init.zTreeTools[i].apply(this, arguments);
-			}
-		},
-		transformToArrayFormat: function (setting, nodes) {
-			if (!nodes) return [];
-			var childKey = setting.data.key.children,
-			r = [];
-			if (tools.isArray(nodes)) {
-				for (var i=0, l=nodes.length; i<l; i++) {
-					r.push(nodes[i]);
-					if (nodes[i][childKey])
-						r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey]));
-				}
-			} else {
-				r.push(nodes);
-				if (nodes[childKey])
-					r = r.concat(data.transformToArrayFormat(setting, nodes[childKey]));
-			}
-			return r;
-		},
-		transformTozTreeFormat: function(setting, sNodes) {
-			var i,l,
-			key = setting.data.simpleData.idKey,
-			parentKey = setting.data.simpleData.pIdKey,
-			childKey = setting.data.key.children;
-			if (!key || key=="" || !sNodes) return [];
-
-			if (tools.isArray(sNodes)) {
-				var r = [];
-				var tmpMap = [];
-				for (i=0, l=sNodes.length; i<l; i++) {
-					tmpMap[sNodes[i][key]] = sNodes[i];
-				}
-				for (i=0, l=sNodes.length; i<l; i++) {
-					if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {
-						if (!tmpMap[sNodes[i][parentKey]][childKey])
-							tmpMap[sNodes[i][parentKey]][childKey] = [];
-						tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);
-					} else {
-						r.push(sNodes[i]);
-					}
-				}
-				return r;
-			}else {
-				return [sNodes];
-			}
-		}
-	},
-	//method of event proxy
-	event = {
-		bindEvent: function(setting) {
-			for (var i=0, j=_init.bind.length; i<j; i++) {
-				_init.bind[i].apply(this, arguments);
-			}
-		},
-		unbindEvent: function(setting) {
-			for (var i=0, j=_init.unbind.length; i<j; i++) {
-				_init.unbind[i].apply(this, arguments);
-			}
-		},
-		bindTree: function(setting) {
-			var eventParam = {
-				treeId: setting.treeId
-			},
-			o = setting.treeObj;
-			if (!setting.view.txtSelectedEnable) {
-				// for can't select text
-				o.bind('selectstart', handler.onSelectStart).css({
-					"-moz-user-select":"-moz-none"
-				});
-			}
-			o.bind('click', eventParam, event.proxy);
-			o.bind('dblclick', eventParam, event.proxy);
-			o.bind('mouseover', eventParam, event.proxy);
-			o.bind('mouseout', eventParam, event.proxy);
-			o.bind('mousedown', eventParam, event.proxy);
-			o.bind('mouseup', eventParam, event.proxy);
-			o.bind('contextmenu', eventParam, event.proxy);
-		},
-		unbindTree: function(setting) {
-			var o = setting.treeObj;
-			o.unbind('selectstart', handler.onSelectStart)
-				.unbind('click', event.proxy)
-				.unbind('dblclick', event.proxy)
-				.unbind('mouseover', event.proxy)
-				.unbind('mouseout', event.proxy)
-				.unbind('mousedown', event.proxy)
-				.unbind('mouseup', event.proxy)
-				.unbind('contextmenu', event.proxy);
-		},
-		doProxy: function(e) {
-			var results = [];
-			for (var i=0, j=_init.proxys.length; i<j; i++) {
-				var proxyResult = _init.proxys[i].apply(this, arguments);
-				results.push(proxyResult);
-				if (proxyResult.stop) {
-					break;
-				}
-			}
-			return results;
-		},
-		proxy: function(e) {
-			var setting = data.getSetting(e.data.treeId);
-			if (!tools.uCanDo(setting, e)) return true;
-			var results = event.doProxy(e),
-			r = true, x = false;
-			for (var i=0, l=results.length; i<l; i++) {
-				var proxyResult = results[i];
-				if (proxyResult.nodeEventCallback) {
-					x = true;
-					r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
-				}
-				if (proxyResult.treeEventCallback) {
-					x = true;
-					r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;
-				}
-			}
-			return r;
-		}
-	},
-	//method of event handler
-	handler = {
-		onSwitchNode: function (event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (node.open) {
-				if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true;
-				data.getRoot(setting).expandTriggerFlag = true;
-				view.switchNode(setting, node);
-			} else {
-				if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true;
-				data.getRoot(setting).expandTriggerFlag = true;
-				view.switchNode(setting, node);
-			}
-			return true;
-		},
-		onClickNode: function (event, node) {
-			var setting = data.getSetting(event.data.treeId),
-			clickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1;
-			if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true;
-			if (clickFlag === 0) {
-				view.cancelPreSelectedNode(setting, node);
-			} else {
-				view.selectNode(setting, node, clickFlag === 2);
-			}
-			setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]);
-			return true;
-		},
-		onZTreeMousedown: function(event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) {
-				tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]);
-			}
-			return true;
-		},
-		onZTreeMouseup: function(event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) {
-				tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]);
-			}
-			return true;
-		},
-		onZTreeDblclick: function(event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) {
-				tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]);
-			}
-			return true;
-		},
-		onZTreeContextmenu: function(event, node) {
-			var setting = data.getSetting(event.data.treeId);
-			if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) {
-				tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]);
-			}
-			return (typeof setting.callback.onRightClick) != "function";
-		},
-		onSelectStart: function(e){
-			var n = e.originalEvent.srcElement.nodeName.toLowerCase();
-			return (n === "input" || n === "textarea" );
-		}
-	},
-	//method of tools for zTree
-	tools = {
-		apply: function(fun, param, defaultValue) {
-			if ((typeof fun) == "function") {
-				return fun.apply(zt, param?param:[]);
-			}
-			return defaultValue;
-		},
-		canAsync: function(setting, node) {
-			var childKey = setting.data.key.children;
-			return (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0)));
-		},
-		clone: function (obj){
-			if (obj === null) return null;
-			var o = tools.isArray(obj) ? [] : {};
-			for(var i in obj){
-				o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? arguments.callee(obj[i]) : obj[i]);
-			}
-			return o;
-		},
-		eqs: function(str1, str2) {
-			return str1.toLowerCase() === str2.toLowerCase();
-		},
-		isArray: function(arr) {
-			return Object.prototype.toString.apply(arr) === "[object Array]";
-		},
-		$: function(node, exp, setting) {
-			if (!!exp && typeof exp != "string") {
-				setting = exp;
-				exp = "";
-			}
-			if (typeof node == "string") {
-				return $(node, setting ? setting.treeObj.get(0).ownerDocument : null);
-			} else {
-				return $("#" + node.tId + exp, setting ? setting.treeObj : null);
-			}
-		},
-		getMDom: function (setting, curDom, targetExpr) {
-			if (!curDom) return null;
-			while (curDom && curDom.id !== setting.treeId) {
-				for (var i=0, l=targetExpr.length; curDom.tagName && i<l; i++) {
-					if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) {
-						return curDom;
-					}
-				}
-				curDom = curDom.parentNode;
-			}
-			return null;
-		},
-		getNodeMainDom:function(target) {
-			return ($(target).parent("li").get(0) || $(target).parentsUntil("li").parent().get(0));
-		},
-		isChildOrSelf: function(dom, parentId) {
-			return ( $(dom).closest("#" + parentId).length> 0 );
-		},
-		uCanDo: function(setting, e) {
-			return true;
-		}
-	},
-	//method of operate ztree dom
-	view = {
-		addNodes: function(setting, parentNode, index, newNodes, isSilent) {
-			if (setting.data.keep.leaf && parentNode && !parentNode.isParent) {
-				return;
-			}
-			if (!tools.isArray(newNodes)) {
-				newNodes = [newNodes];
-			}
-			if (setting.data.simpleData.enable) {
-				newNodes = data.transformTozTreeFormat(setting, newNodes);
-			}
-			if (parentNode) {
-				var target_switchObj = $$(parentNode, consts.id.SWITCH, setting),
-				target_icoObj = $$(parentNode, consts.id.ICON, setting),
-				target_ulObj = $$(parentNode, consts.id.UL, setting);
-
-				if (!parentNode.open) {
-					view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE);
-					view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE);
-					parentNode.open = false;
-					target_ulObj.css({
-						"display": "none"
-					});
-				}
-
-				data.addNodesData(setting, parentNode, index, newNodes);
-				view.createNodes(setting, parentNode.level + 1, newNodes, parentNode, index);
-				if (!isSilent) {
-					view.expandCollapseParentNode(setting, parentNode, true);
-				}
-			} else {
-				data.addNodesData(setting, data.getRoot(setting), index, newNodes);
-				view.createNodes(setting, 0, newNodes, null, index);
-			}
-		},
-		appendNodes: function(setting, level, nodes, parentNode, index, initFlag, openFlag) {
-			if (!nodes) return [];
-			var html = [],
-			childKey = setting.data.key.children;
-
-			var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting),
-				tmpPChild = tmpPNode[childKey],
-				isFirstNode, isLastNode;
-
-			if (!tmpPChild || index >= tmpPChild.length) {
-				index = -1;
-			}
-
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				var node = nodes[i];
-				if (initFlag) {
-					isFirstNode = ((index===0 || tmpPChild.length == nodes.length) && (i == 0));
-					isLastNode = (index < 0 && i == (nodes.length - 1));
-					data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag);
-					data.addNodeCache(setting, node);
-				}
-
-				var childHtml = [];
-				if (node[childKey] && node[childKey].length > 0) {
-					//make child html first, because checkType
-					childHtml = view.appendNodes(setting, level + 1, node[childKey], node, -1, initFlag, openFlag && node.open);
-				}
-				if (openFlag) {
-
-					view.makeDOMNodeMainBefore(html, setting, node);
-					view.makeDOMNodeLine(html, setting, node);
-					data.getBeforeA(setting, node, html);
-					view.makeDOMNodeNameBefore(html, setting, node);
-					data.getInnerBeforeA(setting, node, html);
-					view.makeDOMNodeIcon(html, setting, node);
-					data.getInnerAfterA(setting, node, html);
-					view.makeDOMNodeNameAfter(html, setting, node);
-					data.getAfterA(setting, node, html);
-					if (node.isParent && node.open) {
-						view.makeUlHtml(setting, node, html, childHtml.join(''));
-					}
-					view.makeDOMNodeMainAfter(html, setting, node);
-					data.addCreatedNode(setting, node);
-				}
-			}
-			return html;
-		},
-		appendParentULDom: function(setting, node) {
-			var html = [],
-			nObj = $$(node, setting);
-			if (!nObj.get(0) && !!node.parentTId) {
-				view.appendParentULDom(setting, node.getParentNode());
-				nObj = $$(node, setting);
-			}
-			var ulObj = $$(node, consts.id.UL, setting);
-			if (ulObj.get(0)) {
-				ulObj.remove();
-			}
-			var childKey = setting.data.key.children,
-			childHtml = view.appendNodes(setting, node.level+1, node[childKey], node, -1, false, true);
-			view.makeUlHtml(setting, node, html, childHtml.join(''));
-			nObj.append(html.join(''));
-		},
-		asyncNode: function(setting, node, isSilent, callback) {
-			var i, l;
-			if (node && !node.isParent) {
-				tools.apply(callback);
-				return false;
-			} else if (node && node.isAjaxing) {
-				return false;
-			} else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) {
-				tools.apply(callback);
-				return false;
-			}
-			if (node) {
-				node.isAjaxing = true;
-				var icoObj = $$(node, consts.id.ICON, setting);
-				icoObj.attr({"style":"", "class":consts.className.BUTTON + " " + consts.className.ICO_LOADING});
-			}
-
-			var tmpParam = {};
-			for (i = 0, l = setting.async.autoParam.length; node && i < l; i++) {
-				var pKey = setting.async.autoParam[i].split("="), spKey = pKey;
-				if (pKey.length>1) {
-					spKey = pKey[1];
-					pKey = pKey[0];
-				}
-				tmpParam[spKey] = node[pKey];
-			}
-			if (tools.isArray(setting.async.otherParam)) {
-				for (i = 0, l = setting.async.otherParam.length; i < l; i += 2) {
-					tmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1];
-				}
-			} else {
-				for (var p in setting.async.otherParam) {
-					tmpParam[p] = setting.async.otherParam[p];
-				}
-			}
-
-			var _tmpV = data.getRoot(setting)._ver;
-			$.ajax({
-				contentType: setting.async.contentType,
-                cache: false,
-				type: setting.async.type,
-				url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url),
-				data: tmpParam,
-				dataType: setting.async.dataType,
-				success: function(msg) {
-					if (_tmpV != data.getRoot(setting)._ver) {
-						return;
-					}
-					var newNodes = [];
-					try {
-						if (!msg || msg.length == 0) {
-							newNodes = [];
-						} else if (typeof msg == "string") {
-							newNodes = eval("(" + msg + ")");
-						} else {
-							newNodes = msg;
-						}
-					} catch(err) {
-						newNodes = msg;
-					}
-
-					if (node) {
-						node.isAjaxing = null;
-						node.zAsync = true;
-					}
-					view.setNodeLineIcos(setting, node);
-					if (newNodes && newNodes !== "") {
-						newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes);
-						view.addNodes(setting, node, -1, !!newNodes ? tools.clone(newNodes) : [], !!isSilent);
-					} else {
-						view.addNodes(setting, node, -1, [], !!isSilent);
-					}
-					setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]);
-					tools.apply(callback);
-				},
-				error: function(XMLHttpRequest, textStatus, errorThrown) {
-					if (_tmpV != data.getRoot(setting)._ver) {
-						return;
-					}
-					if (node) node.isAjaxing = null;
-					view.setNodeLineIcos(setting, node);
-					setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]);
-				}
-			});
-			return true;
-		},
-		cancelPreSelectedNode: function (setting, node, excludeNode) {
-			var list = data.getRoot(setting).curSelectedList,
-				i, n;
-			for (i=list.length-1; i>=0; i--) {
-				n = list[i];
-				if (node === n || (!node && (!excludeNode || excludeNode !== n))) {
-					$$(n, consts.id.A, setting).removeClass(consts.node.CURSELECTED);
-					if (node) {
-						data.removeSelectedNode(setting, node);
-						break;
-					} else {
-						list.splice(i, 1);
-						setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, n]);
-					}
-				}
-			}
-		},
-		createNodeCallback: function(setting) {
-			if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {
-				var root = data.getRoot(setting);
-				while (root.createdNodes.length>0) {
-					var node = root.createdNodes.shift();
-					tools.apply(setting.view.addDiyDom, [setting.treeId, node]);
-					if (!!setting.callback.onNodeCreated) {
-						setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]);
-					}
-				}
-			}
-		},
-		createNodes: function(setting, level, nodes, parentNode, index) {
-			if (!nodes || nodes.length == 0) return;
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children,
-			openFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0);
-			root.createdNodes = [];
-			var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, index, true, openFlag),
-				parentObj, nextObj;
-
-			if (!parentNode) {
-				parentObj = setting.treeObj;
-				//setting.treeObj.append(zTreeHtml.join(''));
-			} else {
-				var ulObj = $$(parentNode, consts.id.UL, setting);
-				if (ulObj.get(0)) {
-					parentObj = ulObj;
-					//ulObj.append(zTreeHtml.join(''));
-				}
-			}
-			if (parentObj) {
-				if (index >= 0) {
-					nextObj = parentObj.children()[index];
-				}
-				if (index >=0 && nextObj) {
-					$(nextObj).before(zTreeHtml.join(''));
-				} else {
-					parentObj.append(zTreeHtml.join(''));
-				}
-			}
-
-			view.createNodeCallback(setting);
-		},
-		destroy: function(setting) {
-			if (!setting) return;
-			data.initCache(setting);
-			data.initRoot(setting);
-			event.unbindTree(setting);
-			event.unbindEvent(setting);
-			setting.treeObj.empty();
-			delete settings[setting.treeId];
-		},
-		expandCollapseNode: function(setting, node, expandFlag, animateFlag, callback) {
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children;
-			if (!node) {
-				tools.apply(callback, []);
-				return;
-			}
-			if (root.expandTriggerFlag) {
-				var _callback = callback;
-				callback = function(){
-					if (_callback) _callback();
-					if (node.open) {
-						setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]);
-					} else {
-						setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]);
-					}
-				};
-				root.expandTriggerFlag = false;
-			}
-			if (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length>0 && !$$(node[childKey][0], setting).get(0)))) {
-				view.appendParentULDom(setting, node);
-				view.createNodeCallback(setting);
-			}
-			if (node.open == expandFlag) {
-				tools.apply(callback, []);
-				return;
-			}
-			var ulObj = $$(node, consts.id.UL, setting),
-			switchObj = $$(node, consts.id.SWITCH, setting),
-			icoObj = $$(node, consts.id.ICON, setting);
-
-			if (node.isParent) {
-				node.open = !node.open;
-				if (node.iconOpen && node.iconClose) {
-					icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
-				}
-
-				if (node.open) {
-					view.replaceSwitchClass(node, switchObj, consts.folder.OPEN);
-					view.replaceIcoClass(node, icoObj, consts.folder.OPEN);
-					if (animateFlag == false || setting.view.expandSpeed == "") {
-						ulObj.show();
-						tools.apply(callback, []);
-					} else {
-						if (node[childKey] && node[childKey].length > 0) {
-							ulObj.slideDown(setting.view.expandSpeed, callback);
-						} else {
-							ulObj.show();
-							tools.apply(callback, []);
-						}
-					}
-				} else {
-					view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE);
-					view.replaceIcoClass(node, icoObj, consts.folder.CLOSE);
-					if (animateFlag == false || setting.view.expandSpeed == "" || !(node[childKey] && node[childKey].length > 0)) {
-						ulObj.hide();
-						tools.apply(callback, []);
-					} else {
-						ulObj.slideUp(setting.view.expandSpeed, callback);
-					}
-				}
-			} else {
-				tools.apply(callback, []);
-			}
-		},
-		expandCollapseParentNode: function(setting, node, expandFlag, animateFlag, callback) {
-			if (!node) return;
-			if (!node.parentTId) {
-				view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);
-				return;
-			} else {
-				view.expandCollapseNode(setting, node, expandFlag, animateFlag);
-			}
-			if (node.parentTId) {
-				view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback);
-			}
-		},
-		expandCollapseSonNode: function(setting, node, expandFlag, animateFlag, callback) {
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children,
-			treeNodes = (node) ? node[childKey]: root[childKey],
-			selfAnimateSign = (node) ? false : animateFlag,
-			expandTriggerFlag = data.getRoot(setting).expandTriggerFlag;
-			data.getRoot(setting).expandTriggerFlag = false;
-			if (treeNodes) {
-				for (var i = 0, l = treeNodes.length; i < l; i++) {
-					if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign);
-				}
-			}
-			data.getRoot(setting).expandTriggerFlag = expandTriggerFlag;
-			view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback );
-		},
-		isSelectedNode: function (setting, node) {
-			if (!node) {
-				return false;
-			}
-			var list = data.getRoot(setting).curSelectedList,
-				i;
-			for (i=list.length-1; i>=0; i--) {
-				if (node === list[i]) {
-					return true;
-				}
-			}
-			return false;
-		},
-		makeDOMNodeIcon: function(html, setting, node) {
-			var nameStr = data.getNodeName(setting, node),
-			name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
-			html.push("<span id='", node.tId, consts.id.ICON,
-				"' title='' treeNode", consts.id.ICON," class='", view.makeNodeIcoClass(setting, node),
-				"' style='", view.makeNodeIcoStyle(setting, node), "'></span><span id='", node.tId, consts.id.SPAN,
-				"' class='", consts.className.NAME,
-				"'>",name,"</span>");
-		},
-		makeDOMNodeLine: function(html, setting, node) {
-			html.push("<span id='", node.tId, consts.id.SWITCH,	"' title='' class='", view.makeNodeLineClass(setting, node), "' treeNode", consts.id.SWITCH,"></span>");
-		},
-		makeDOMNodeMainAfter: function(html, setting, node) {
-			html.push("</li>");
-		},
-		makeDOMNodeMainBefore: function(html, setting, node) {
-			html.push("<li id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>");
-		},
-		makeDOMNodeNameAfter: function(html, setting, node) {
-			html.push("</a>");
-		},
-		makeDOMNodeNameBefore: function(html, setting, node) {
-			var title = data.getNodeTitle(setting, node),
-			url = view.makeNodeUrl(setting, node),
-			fontcss = view.makeNodeFontCss(setting, node),
-			fontStyle = [];
-			for (var f in fontcss) {
-				fontStyle.push(f, ":", fontcss[f], ";");
-			}
-			html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''),
-				"\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''),
-				"'");
-			if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"&#39;").replace(/</g,'&lt;').replace(/>/g,'&gt;'),"'");}
-			html.push(">");
-		},
-		makeNodeFontCss: function(setting, node) {
-			var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss);
-			return (fontCss && ((typeof fontCss) != "function")) ? fontCss : {};
-		},
-		makeNodeIcoClass: function(setting, node) {
-			var icoCss = ["ico"];
-			if (!node.isAjaxing) {
-				icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0];
-				if (node.isParent) {
-					icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
-				} else {
-					icoCss.push(consts.folder.DOCU);
-				}
-			}
-			return consts.className.BUTTON + " " + icoCss.join('_');
-		},
-		makeNodeIcoStyle: function(setting, node) {
-			var icoStyle = [];
-			if (!node.isAjaxing) {
-				var icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node[setting.data.key.icon];
-				if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;");
-				if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) {
-					icoStyle.push("width:0px;height:0px;");
-				}
-			}
-			return icoStyle.join('');
-		},
-		makeNodeLineClass: function(setting, node) {
-			var lineClass = [];
-			if (setting.view.showLine) {
-				if (node.level == 0 && node.isFirstNode && node.isLastNode) {
-					lineClass.push(consts.line.ROOT);
-				} else if (node.level == 0 && node.isFirstNode) {
-					lineClass.push(consts.line.ROOTS);
-				} else if (node.isLastNode) {
-					lineClass.push(consts.line.BOTTOM);
-				} else {
-					lineClass.push(consts.line.CENTER);
-				}
-			} else {
-				lineClass.push(consts.line.NOLINE);
-			}
-			if (node.isParent) {
-				lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);
-			} else {
-				lineClass.push(consts.folder.DOCU);
-			}
-			return view.makeNodeLineClassEx(node) + lineClass.join('_');
-		},
-		makeNodeLineClassEx: function(node) {
-			return consts.className.BUTTON + " " + consts.className.LEVEL + node.level + " " + consts.className.SWITCH + " ";
-		},
-		makeNodeTarget: function(node) {
-			return (node.target || "_blank");
-		},
-		makeNodeUrl: function(setting, node) {
-			var urlKey = setting.data.key.url;
-			return node[urlKey] ? node[urlKey] : null;
-		},
-		makeUlHtml: function(setting, node, html, content) {
-			html.push("<ul id='", node.tId, consts.id.UL, "' class='", consts.className.LEVEL, node.level, " ", view.makeUlLineClass(setting, node), "' style='display:", (node.open ? "block": "none"),"'>");
-			html.push(content);
-			html.push("</ul>");
-		},
-		makeUlLineClass: function(setting, node) {
-			return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : "");
-		},
-		removeChildNodes: function(setting, node) {
-			if (!node) return;
-			var childKey = setting.data.key.children,
-			nodes = node[childKey];
-			if (!nodes) return;
-
-			for (var i = 0, l = nodes.length; i < l; i++) {
-				data.removeNodeCache(setting, nodes[i]);
-			}
-			data.removeSelectedNode(setting);
-			delete node[childKey];
-
-			if (!setting.data.keep.parent) {
-				node.isParent = false;
-				node.open = false;
-				var tmp_switchObj = $$(node, consts.id.SWITCH, setting),
-				tmp_icoObj = $$(node, consts.id.ICON, setting);
-				view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU);
-				view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU);
-				$$(node, consts.id.UL, setting).remove();
-			} else {
-				$$(node, consts.id.UL, setting).empty();
-			}
-		},
-		scrollIntoView: function(dom) {
-			if (!dom) {
-				return;
-			}
-			if (dom.scrollIntoViewIfNeeded) {
-				dom.scrollIntoViewIfNeeded();
-			} else if (dom.scrollIntoView) {
-				dom.scrollIntoView(false);
-			} else {
-				try{dom.focus().blur();}catch(e){}
-			}
-		},
-		setFirstNode: function(setting, parentNode) {
-			var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
-			if ( childLength > 0) {
-				parentNode[childKey][0].isFirstNode = true;
-			}
-		},
-		setLastNode: function(setting, parentNode) {
-			var childKey = setting.data.key.children, childLength = parentNode[childKey].length;
-			if ( childLength > 0) {
-				parentNode[childKey][childLength - 1].isLastNode = true;
-			}
-		},
-		removeNode: function(setting, node) {
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children,
-			parentNode = (node.parentTId) ? node.getParentNode() : root;
-
-			node.isFirstNode = false;
-			node.isLastNode = false;
-			node.getPreNode = function() {return null;};
-			node.getNextNode = function() {return null;};
-
-			if (!data.getNodeCache(setting, node.tId)) {
-				return;
-			}
-
-			$$(node, setting).remove();
-			data.removeNodeCache(setting, node);
-			data.removeSelectedNode(setting, node);
-
-			for (var i = 0, l = parentNode[childKey].length; i < l; i++) {
-				if (parentNode[childKey][i].tId == node.tId) {
-					parentNode[childKey].splice(i, 1);
-					break;
-				}
-			}
-			view.setFirstNode(setting, parentNode);
-			view.setLastNode(setting, parentNode);
-
-			var tmp_ulObj,tmp_switchObj,tmp_icoObj,
-			childLength = parentNode[childKey].length;
-
-			//repair nodes old parent
-			if (!setting.data.keep.parent && childLength == 0) {
-				//old parentNode has no child nodes
-				parentNode.isParent = false;
-				parentNode.open = false;
-				tmp_ulObj = $$(parentNode, consts.id.UL, setting);
-				tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting);
-				tmp_icoObj = $$(parentNode, consts.id.ICON, setting);
-				view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU);
-				view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU);
-				tmp_ulObj.css("display", "none");
-
-			} else if (setting.view.showLine && childLength > 0) {
-				//old parentNode has child nodes
-				var newLast = parentNode[childKey][childLength - 1];
-				tmp_ulObj = $$(newLast, consts.id.UL, setting);
-				tmp_switchObj = $$(newLast, consts.id.SWITCH, setting);
-				tmp_icoObj = $$(newLast, consts.id.ICON, setting);
-				if (parentNode == root) {
-					if (parentNode[childKey].length == 1) {
-						//node was root, and ztree has only one root after move node
-						view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT);
-					} else {
-						var tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting);
-						view.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS);
-						view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
-					}
-				} else {
-					view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);
-				}
-				tmp_ulObj.removeClass(consts.line.LINE);
-			}
-		},
-		replaceIcoClass: function(node, obj, newName) {
-			if (!obj || node.isAjaxing) return;
-			var tmpName = obj.attr("class");
-			if (tmpName == undefined) return;
-			var tmpList = tmpName.split("_");
-			switch (newName) {
-				case consts.folder.OPEN:
-				case consts.folder.CLOSE:
-				case consts.folder.DOCU:
-					tmpList[tmpList.length-1] = newName;
-					break;
-			}
-			obj.attr("class", tmpList.join("_"));
-		},
-		replaceSwitchClass: function(node, obj, newName) {
-			if (!obj) return;
-			var tmpName = obj.attr("class");
-			if (tmpName == undefined) return;
-			var tmpList = tmpName.split("_");
-			switch (newName) {
-				case consts.line.ROOT:
-				case consts.line.ROOTS:
-				case consts.line.CENTER:
-				case consts.line.BOTTOM:
-				case consts.line.NOLINE:
-					tmpList[0] = view.makeNodeLineClassEx(node) + newName;
-					break;
-				case consts.folder.OPEN:
-				case consts.folder.CLOSE:
-				case consts.folder.DOCU:
-					tmpList[1] = newName;
-					break;
-			}
-			obj.attr("class", tmpList.join("_"));
-			if (newName !== consts.folder.DOCU) {
-				obj.removeAttr("disabled");
-			} else {
-				obj.attr("disabled", "disabled");
-			}
-		},
-		selectNode: function(setting, node, addFlag) {
-			if (!addFlag) {
-				view.cancelPreSelectedNode(setting, null, node);
-			}
-			$$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED);
-			data.addSelectedNode(setting, node);
-			setting.treeObj.trigger(consts.event.SELECTED, [setting.treeId, node]);
-		},
-		setNodeFontCss: function(setting, treeNode) {
-			var aObj = $$(treeNode, consts.id.A, setting),
-			fontCss = view.makeNodeFontCss(setting, treeNode);
-			if (fontCss) {
-				aObj.css(fontCss);
-			}
-		},
-		setNodeLineIcos: function(setting, node) {
-			if (!node) return;
-			var switchObj = $$(node, consts.id.SWITCH, setting),
-			ulObj = $$(node, consts.id.UL, setting),
-			icoObj = $$(node, consts.id.ICON, setting),
-			ulLine = view.makeUlLineClass(setting, node);
-			if (ulLine.length==0) {
-				ulObj.removeClass(consts.line.LINE);
-			} else {
-				ulObj.addClass(ulLine);
-			}
-			switchObj.attr("class", view.makeNodeLineClass(setting, node));
-			if (node.isParent) {
-				switchObj.removeAttr("disabled");
-			} else {
-				switchObj.attr("disabled", "disabled");
-			}
-			icoObj.removeAttr("style");
-			icoObj.attr("style", view.makeNodeIcoStyle(setting, node));
-			icoObj.attr("class", view.makeNodeIcoClass(setting, node));
-		},
-		setNodeName: function(setting, node) {
-			var title = data.getNodeTitle(setting, node),
-			nObj = $$(node, consts.id.SPAN, setting);
-			nObj.empty();
-			if (setting.view.nameIsHTML) {
-				nObj.html(data.getNodeName(setting, node));
-			} else {
-				nObj.text(data.getNodeName(setting, node));
-			}
-			if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) {
-				var aObj = $$(node, consts.id.A, setting);
-				aObj.attr("title", !title ? "" : title);
-			}
-		},
-		setNodeTarget: function(setting, node) {
-			var aObj = $$(node, consts.id.A, setting);
-			aObj.attr("target", view.makeNodeTarget(node));
-		},
-		setNodeUrl: function(setting, node) {
-			var aObj = $$(node, consts.id.A, setting),
-			url = view.makeNodeUrl(setting, node);
-			if (url == null || url.length == 0) {
-				aObj.removeAttr("href");
-			} else {
-				aObj.attr("href", url);
-			}
-		},
-		switchNode: function(setting, node) {
-			if (node.open || !tools.canAsync(setting, node)) {
-				view.expandCollapseNode(setting, node, !node.open);
-			} else if (setting.async.enable) {
-				if (!view.asyncNode(setting, node)) {
-					view.expandCollapseNode(setting, node, !node.open);
-					return;
-				}
-			} else if (node) {
-				view.expandCollapseNode(setting, node, !node.open);
-			}
-		}
-	};
-	// zTree defind
-	$.fn.zTree = {
-		consts : _consts,
-		_z : {
-			tools: tools,
-			view: view,
-			event: event,
-			data: data
-		},
-		getZTreeObj: function(treeId) {
-			var o = data.getZTreeTools(treeId);
-			return o ? o : null;
-		},
-		destroy: function(treeId) {
-			if (!!treeId && treeId.length > 0) {
-				view.destroy(data.getSetting(treeId));
-			} else {
-				for(var s in settings) {
-					view.destroy(settings[s]);
-				}
-			}
-		},
-		init: function(obj, zSetting, zNodes) {
-			var setting = tools.clone(_setting);
-			$.extend(true, setting, zSetting);
-			setting.treeId = obj.attr("id");
-			setting.treeObj = obj;
-			setting.treeObj.empty();
-			settings[setting.treeId] = setting;
-			//For some older browser,(e.g., ie6)
-			if(typeof document.body.style.maxHeight === "undefined") {
-				setting.view.expandSpeed = "";
-			}
-			data.initRoot(setting);
-			var root = data.getRoot(setting),
-			childKey = setting.data.key.children;
-			zNodes = zNodes ? tools.clone(tools.isArray(zNodes)? zNodes : [zNodes]) : [];
-			if (setting.data.simpleData.enable) {
-				root[childKey] = data.transformTozTreeFormat(setting, zNodes);
-			} else {
-				root[childKey] = zNodes;
-			}
-
-			data.initCache(setting);
-			event.unbindTree(setting);
-			event.bindTree(setting);
-			event.unbindEvent(setting);
-			event.bindEvent(setting);
-
-			var zTreeTools = {
-				setting : setting,
-				addNodes : function(parentNode, index, newNodes, isSilent) {
-					if (!parentNode) parentNode = null;
-					if (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null;
-
-					var i = parseInt(index, 10);
-					if (isNaN(i)) {
-						isSilent = !!newNodes;
-						newNodes = index;
-						index = -1;
-					} else {
-						index = i;
-					}
-					if (!newNodes) return null;
-
-
-					var xNewNodes = tools.clone(tools.isArray(newNodes)? newNodes: [newNodes]);
-					function addCallback() {
-						view.addNodes(setting, parentNode, index, xNewNodes, (isSilent==true));
-					}
-
-					if (tools.canAsync(setting, parentNode)) {
-						view.asyncNode(setting, parentNode, isSilent, addCallback);
-					} else {
-						addCallback();
-					}
-					return xNewNodes;
-				},
-				cancelSelectedNode : function(node) {
-					view.cancelPreSelectedNode(setting, node);
-				},
-				destroy : function() {
-					view.destroy(setting);
-				},
-				expandAll : function(expandFlag) {
-					expandFlag = !!expandFlag;
-					view.expandCollapseSonNode(setting, null, expandFlag, true);
-					return expandFlag;
-				},
-				expandNode : function(node, expandFlag, sonSign, focus, callbackFlag) {
-					if (!node || !node.isParent) return null;
-					if (expandFlag !== true && expandFlag !== false) {
-						expandFlag = !node.open;
-					}
-					callbackFlag = !!callbackFlag;
-
-					if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) {
-						return null;
-					} else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) {
-						return null;
-					}
-					if (expandFlag && node.parentTId) {
-						view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false);
-					}
-					if (expandFlag === node.open && !sonSign) {
-						return null;
-					}
-
-					data.getRoot(setting).expandTriggerFlag = callbackFlag;
-					if (!tools.canAsync(setting, node) && sonSign) {
-						view.expandCollapseSonNode(setting, node, expandFlag, true, showNodeFocus);
-					} else {
-						node.open = !expandFlag;
-						view.switchNode(this.setting, node);
-						showNodeFocus();
-					}
-					return expandFlag;
-
-					function showNodeFocus() {
-						var a = $$(node, setting).get(0);
-						if (a && focus !== false) {
-							view.scrollIntoView(a);
-						}
-					}
-				},
-				getNodes : function() {
-					return data.getNodes(setting);
-				},
-				getNodeByParam : function(key, value, parentNode) {
-					if (!key) return null;
-					return data.getNodeByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
-				},
-				getNodeByTId : function(tId) {
-					return data.getNodeCache(setting, tId);
-				},
-				getNodesByParam : function(key, value, parentNode) {
-					if (!key) return null;
-					return data.getNodesByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
-				},
-				getNodesByParamFuzzy : function(key, value, parentNode) {
-					if (!key) return null;
-					return data.getNodesByParamFuzzy(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);
-				},
-				getNodesByFilter: function(filter, isSingle, parentNode, invokeParam) {
-					isSingle = !!isSingle;
-					if (!filter || (typeof filter != "function")) return (isSingle ? null : []);
-					return data.getNodesByFilter(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), filter, isSingle, invokeParam);
-				},
-				getNodeIndex : function(node) {
-					if (!node) return null;
-					var childKey = setting.data.key.children,
-					parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);
-					for (var i=0, l = parentNode[childKey].length; i < l; i++) {
-						if (parentNode[childKey][i] == node) return i;
-					}
-					return -1;
-				},
-				getSelectedNodes : function() {
-					var r = [], list = data.getRoot(setting).curSelectedList;
-					for (var i=0, l=list.length; i<l; i++) {
-						r.push(list[i]);
-					}
-					return r;
-				},
-				isSelectedNode : function(node) {
-					return data.isSelectedNode(setting, node);
-				},
-				reAsyncChildNodes : function(parentNode, reloadType, isSilent) {
-					if (!this.setting.async.enable) return;
-					var isRoot = !parentNode;
-					if (isRoot) {
-						parentNode = data.getRoot(setting);
-					}
-					if (reloadType=="refresh") {
-						var childKey = this.setting.data.key.children;
-						for (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) {
-							data.removeNodeCache(setting, parentNode[childKey][i]);
-						}
-						data.removeSelectedNode(setting);
-						parentNode[childKey] = [];
-						if (isRoot) {
-							this.setting.treeObj.empty();
-						} else {
-							var ulObj = $$(parentNode, consts.id.UL, setting);
-							ulObj.empty();
-						}
-					}
-					view.asyncNode(this.setting, isRoot? null:parentNode, !!isSilent);
-				},
-				refresh : function() {
-					this.setting.treeObj.empty();
-					var root = data.getRoot(setting),
-					nodes = root[setting.data.key.children]
-					data.initRoot(setting);
-					root[setting.data.key.children] = nodes
-					data.initCache(setting);
-					view.createNodes(setting, 0, root[setting.data.key.children], null, -1);
-				},
-				removeChildNodes : function(node) {
-					if (!node) return null;
-					var childKey = setting.data.key.children,
-					nodes = node[childKey];
-					view.removeChildNodes(setting, node);
-					return nodes ? nodes : null;
-				},
-				removeNode : function(node, callbackFlag) {
-					if (!node) return;
-					callbackFlag = !!callbackFlag;
-					if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return;
-					view.removeNode(setting, node);
-					if (callbackFlag) {
-						this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);
-					}
-				},
-				selectNode : function(node, addFlag, isSilent) {
-					if (!node) return;
-					if (tools.uCanDo(setting)) {
-						addFlag = setting.view.selectedMulti && addFlag;
-						if (node.parentTId) {
-							view.expandCollapseParentNode(setting, node.getParentNode(), true, false, showNodeFocus);
-						} else {
-							try{$$(node, setting).focus().blur();}catch(e){}
-						}
-						view.selectNode(setting, node, addFlag);
-					}
-
-					function showNodeFocus() {
-						if (isSilent) {
-							return;
-						}
-						var a = $$(node, setting).get(0);
-						view.scrollIntoView(a);
-					}
-				},
-				transformTozTreeNodes : function(simpleNodes) {
-					return data.transformTozTreeFormat(setting, simpleNodes);
-				},
-				transformToArray : function(nodes) {
-					return data.transformToArrayFormat(setting, nodes);
-				},
-				updateNode : function(node, checkTypeFlag) {
-					if (!node) return;
-					var nObj = $$(node, setting);
-					if (nObj.get(0) && tools.uCanDo(setting)) {
-						view.setNodeName(setting, node);
-						view.setNodeTarget(setting, node);
-						view.setNodeUrl(setting, node);
-						view.setNodeLineIcos(setting, node);
-						view.setNodeFontCss(setting, node);
-					}
-				}
-			}
-			root.treeTools = zTreeTools;
-			data.setZTreeTools(setting, zTreeTools);
-
-			if (root[childKey] && root[childKey].length > 0) {
-				view.createNodes(setting, 0, root[childKey], null, -1);
-			} else if (setting.async.enable && setting.async.url && setting.async.url !== '') {
-				view.asyncNode(setting);
-			}
-			return zTreeTools;
-		}
-	};
-
-	var zt = $.fn.zTree,
-	$$ = tools.$,
-	consts = zt.consts;
-})(jQuery);
\ No newline at end of file
diff --git a/widgets/searchL/Widget.js b/widgets/searchL/Widget.js
index 4da353f..bc6f478 100644
--- a/widgets/searchL/Widget.js
+++ b/widgets/searchL/Widget.js
@@ -56,7 +56,7 @@
 					$('.searchLMain').hide();
 				})
 
-			
+
 			},
 
 			closeToolBox: function (item) {
@@ -180,11 +180,11 @@
 							, last: false //不显示尾页
 						}
 						, cols: [[
-							{ field: 'id', width: 59, align: 'center', title: '序号' }
-							, { field: 'username', width: 90, align: 'center', title: '图层名称' }
-							, { field: 'style1', width: 95, align: 'center', title: '图层属性1' }
-							, { field: 'style2', width: 95, align: 'center', title: '图层属性2' }
-							, { fixed: 'right', width: 115, align: 'center', title: '操作', toolbar: '#demoTable' }
+							{ field: 'id', width: 59, align: 'center', unresize: true, title: '序号' }
+							, { field: 'username', width: 90, align: 'center', unresize: true, title: '图层名称' }
+							, { field: 'style1', width: 95, align: 'center', unresize: true, title: '图层属性1' }
+							, { field: 'style2', width: 95, align: 'center', unresize: true, title: '图层属性2' }
+							, { fixed: 'right', width: 115, align: 'center', unresize: true, title: '操作', toolbar: '#demoTable' }
 						]],
 						data: data,
 						//,skin: 'line' //表格风格

--
Gitblit v1.9.3