[silva.ui][wim] add silva ghost asset icon
[email protected] Wed, 13 Nov 2013 11:42:28 +0100
| Newsgroups | gmane.comp.web.zope.silva.cvs |
|---|---|
| Message-ID | <[email protected]> |
author: wim
date: Wed Nov 13 11:42:16 2013 +0100
revision: 680:5c4cf7bb506f in silva.ui
branch:
details: https://hg.infrae.com/silva.ui?cmd=changeset;node=5c4cf7bb506f
modified: src/silva/ui/icon.py src/silva/ui/static/css/actions.min.css src/silva/ui/static/css/forms.min.css src/silva/ui/static/css/formwidgets.min.css src/silva/ui/static/css/jstree.min.css src/silva/ui/static/css/listing.min.css src/silva/ui/static/css/navigation.min.css src/silva/ui/static/css/smi.css src/silva/ui/static/css/smi.min.css src/silva/ui/static/css/style.min.css src/silva/ui/static/img/sprite.png src/silva/ui/static/js/infrae.deferred.min.js src/silva/ui/static/js/infrae.interfaces.min.js src/silva/ui/static/js/infrae.keyboard.min.js src/silva/ui/static/js/infrae.min.js src/silva/ui/static/js/infrae.ui.min.js src/silva/ui/static/js/infrae.views.min.js src/silva/ui/static/js/listing.columns.min.js src/silva/ui/static/js/listing.footer.min.js src/silva/ui/static/js/listing.i
tems.min.js src/silva/ui/static/js/listing.min.js src/silva/ui/static/js/listing.preview.min.js src/silva/ui/static/js/listing.selection.min.js src/silva/ui/static/js/listing.toolbar.min.js
src/silva/ui/static/js/smi.clipboard.min.js src/silva/ui/static/js/smi.form.min.js src/silva/ui/static/js/smi.min.js src/silva/ui/static/js/smi.navigation.min.js src/silva/ui/static/js/smi.notification.min.js src/silva/ui/static/js/smi.ui.min.js src/silva/ui/static/js/smi.workspace.min.js src/silva/ui/static/js/thirdparty/jquery.hotkeys.min.js src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.css src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.js src/silva/ui/static/js/thirdparty/jquery.jstree.min.js src/silva/ui/static/js/thirdparty/jquery.observehashchange.min.js src/silva/ui/static/js/thirdparty/jquery.tablednd.min.js src/silva/ui/static/js/thirdparty/jquery.tipsy.min.css src/silva/ui/static/js/thirdparty/jquery.tipsy.min.js
added:
removed:
log: add silva ghost asset icon
diffstat:
src/silva/ui/icon.py | 1 +
src/silva/ui/static/css/actions.min.css | 2 +-
src/silva/ui/static/css/forms.min.css | 2 +-
src/silva/ui/static/css/formwidgets.min.css | 2 +-
src/silva/ui/static/css/jstree.min.css | 2 +-
src/silva/ui/static/css/listing.min.css | 2 +-
src/silva/ui/static/css/navigation.min.css | 2 +-
src/silva/ui/static/css/smi.css | 1 +
src/silva/ui/static/css/smi.min.css | 2 +-
src/silva/ui/static/css/style.min.css | 2 +-
src/silva/ui/static/img/sprite.png | Bin
src/silva/ui/static/js/infrae.deferred.min.js | 2 +-
src/silva/ui/static/js/infrae.interfaces.min.js | 2 +-
src/silva/ui/static/js/infrae.keyboard.min.js | 2 +-
src/silva/ui/static/js/infrae.min.js | 2 +-
src/silva/ui/static/js/infrae.ui.min.js | 2 +-
src/silva/ui/static/js/infrae.views.min.js | 2 +-
src/silva/ui/static/js/listing.columns.min.js | 2 +-
src/silva/ui/static/js/listing.footer.min.js | 2 +-
src/silva/ui/static/js/listing.items.min.js | 2 +-
src/silva/ui/static/js/listing.min.js | 2 +-
src/silva/ui/static/js/listing.preview.min.js | 2 +-
src/silva/ui/static/js/listing.selection.min.js | 2 +-
src/silva/ui/static/js/listing.toolbar.min.js | 2 +-
src/silva/ui/static/js/smi.clipboard.min.js | 2 +-
src/silva/ui/static/js/smi.form.min.js | 2 +-
src/silva/ui/static/js/smi.min.js | 2 +-
src/silva/ui/static/js/smi.navigation.min.js | 2 +-
src/silva/ui/static/js/smi.notification.min.js | 2 +-
src/silva/ui/static/js/smi.ui.min.js | 2 +-
src/silva/ui/static/js/smi.workspace.min.js | 2 +-
src/silva/ui/static/js/thirdparty/jquery.hotkeys.min.js | 2 +-
src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.css | 2 +-
src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.js | 2 +-
src/silva/ui/static/js/thirdparty/jquery.jstree.min.js | 4 ++--
src/silva/ui/static/js/thirdparty/jquery.observehashchange.min.js | 2 +-
src/silva/ui/static/js/thirdparty/jquery.tablednd.min.js | 2 +-
src/silva/ui/static/js/thirdparty/jquery.tipsy.min.css | 2 +-
src/silva/ui/static/js/thirdparty/jquery.tipsy.min.js | 2 +-
39 files changed, 39 insertions(+), 37 deletions(-)
diffs (314 lines):
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/icon.py
--- a/src/silva/ui/icon.py Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/icon.py Wed Nov 13 11:42:16 2013 +0100
@@ -16,6 +16,7 @@
'Silva File': 'silva_file',
'Silva Find': 'silva_find',
'Silva Folder': 'silva_folder',
+ 'Silva Ghost Asset': 'silva_ghostasset',
'Silva Ghost Folder': 'silva_ghostfolder',
'Silva Ghost': 'silva_ghost',
'Silva Image': 'silva_image',
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/actions.min.css
--- a/src/silva/ui/static/css/actions.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/actions.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-div.actions{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:#fff url(../img/gradient20m.png) repeat-x top;border:1px #777 solid;color:#000;float:left;height:20px;line-height:20px;margin:2px 5px;position:relative}div.actions ol{list-style:none;margin-left:0}div.actions ol li{float:left}div.actions ol li a{display:block;border-right:1px #777 solid;line-height:20px;padding:0;white-space:nowrap}div.actions ol li a span{padding:0 4px}div.actions ol li.last-action a{border-right:0}div.actions ol li.last-action a:hover,div.actions ol li.last-action a.active{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}div.actions ol li a.inactive{color:#999}div.actions ol li a.active,div.actions ol li a:hover{border-color:#888;-webkit-bo
rder-radius:0;-moz-border-radius:0;border-radius:0}div.actions ol li a.active,div.actions ol li a:hover{background-color:#EAEAEA;background-image:-webkit-gradient(linear,left top,left bottom
,from(#EAEAEA),to(#FFF));background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:-o-linear-gradient(top,#EAEAEA,#FFFF);background-image:-ms-linear-gradient(top,#EAEAEA,#FFF);background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:linear-gradient(top,#EAEAEA,#FFF);color:#111}div.actions .dropdown{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:#A0A0A0 0 2px 8px;-moz-box-shadow:#A0A0A0 0 2px 8px;box-shadow:#A0A0A0 0 2px 8px;position:absolute;background:#fff;border:1px #999 solid;display:none;z-index:50;top:22px}div.actions .dropdown li{float:none}div.actions .dropdown li div.action-icon{margin-right:-20px}div.actions .dropdown li span.have-icon{margin-left:20px}div.actions .dropdown ol li a:hover{background:url(../img/g
radient-tab-selected.png) repeat-x;color:#fff!important;text-shadow:#373737 1px 1px 1px}div.actions div.dropdown-icon{float:right;border-left:1px #999 dotted;margin:0 0 0 2px;padding:2px 2px
2px 0}div.actions div.action-icon{padding:2px 0 2px 4px;float:left}
\ No newline at end of file
+div.actions{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:#fff url(../img/gradient20m.png) repeat-x top;border:1px #777 solid;color:#000;float:left;height:20px;line-height:20px;margin:2px 5px;position:relative}div.actions ol{list-style:none;margin-left:0}div.actions ol li{float:left}div.actions ol li a{display:block;border-right:1px #777 solid;line-height:20px;padding:0;white-space:nowrap}div.actions ol li a span{padding:0 4px}div.actions ol li.last-action a{border-right:0}div.actions ol li.last-action a.active,div.actions ol li.last-action a:hover{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}div.actions ol li a.inactive{color:#999}div.actions ol li a.active,div.actions ol li a:hover{border-color:#888;-webkit-bo
rder-radius:0;-moz-border-radius:0;border-radius:0;background-color:#EAEAEA;background-image:-webkit-gradient(linear,left top,left bottom,from(#EAEAEA),to(#FFF));background-image:-moz-linear
-gradient(top,#EAEAEA,#FFF);background-image:-o-linear-gradient(top,#EAEAEA,#FFFF);background-image:-ms-linear-gradient(top,#EAEAEA,#FFF);background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:linear-gradient(top,#EAEAEA,#FFF);color:#111}div.actions .dropdown{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:#A0A0A0 0 2px 8px;-moz-box-shadow:#A0A0A0 0 2px 8px;box-shadow:#A0A0A0 0 2px 8px;position:absolute;background:#fff;border:1px #999 solid;display:none;z-index:50;top:22px}div.actions .dropdown li{float:none}div.actions .dropdown li div.action-icon{margin-right:-20px}div.actions .dropdown li span.have-icon{margin-left:20px}div.actions .dropdown ol li a:hover{background:url(../img/gradient-tab-selected.png) repeat-x;color:#fff!importa
nt;text-shadow:#373737 1px 1px 1px}div.actions div.dropdown-icon{float:right;border-left:1px #999 dotted;margin:0 0 0 2px;padding:2px 2px 2px 0}div.actions div.action-icon{padding:2px 0 2px
4px;float:left}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/forms.min.css
--- a/src/silva/ui/static/css/forms.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/forms.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-#workspace form{color:#000;clear:both}#workspace .forms{margin:0 10px}#workspace .forms-two-columns{position:absolute;top:0;left:0;right:250px}#workspace .form-content h3{border-bottom:1px solid #222;color:#222;font-weight:400;font-size:125%;margin:15px 0 10px 0}#workspace .form-content h4{background-color:#EFEFEF;background-image:-webkit-gradient(linear,left top,left bottom,from(#F9F9F9),to(#EFEFEF));background-image:-moz-linear-gradient(top,#F9F9F9,#EFEFEF);background-image:-o-linear-gradient(top,#F9F9F9,#EFEFEF);background-image:-ms-linear-gradient(top,#F9F9F9,#EFEFEF);background-image:linear-gradient(top,#F9F9F9,#EFEFEF);border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#000;font-size:110%;font-weight:400;margin:5px 5px 5px 0;padd
ing:1px 6px 0 6px}#workspace .form-content h5{background-color:#999;background-image:-webkit-gradient(linear,left top,left bottom,from(#999),to(#777));background-image:-moz-linear-gradient(t
op,#999,#777);background-image:-o-linear-gradient(top,#999,#777);background-image:-ms-linear-gradient(top,#999,#777);background-image:-moz-linear-gradient(top,#999,#777);background-image:linear-gradient(top,#999,#777);border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#FFF;font-size:110%;margin:5px 5px 5px 0;padding:2px 6px 0 6px}#workspace .form-content .form-head p{color:#000;padding:2px 5px}.form-content .form-label{display:block;float:left;margin-right:25px;vertical-align:top;width:225px}.form-content .form-section .form-label label,.form-content .form-section .form-checkbox label{font-weight:700;font-size:105%}.form-content .form-section .form-label p,.form-content .form-section .form-checkbox p{font-size:90%;color:#777;margin-top
:3px}.form-content .form-focus .form-label p,.form-content .form-focus .form-checkbox p{color:#000;margin-top:3px}.form-content .form-section:hover .form-label p,.form-content .form-section:
hover .form-checkbox p{color:#000}.form-content .form-field{display:block;float:left}.form-content .form-field .field:focus{border:1px solid #444;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#form-metadataformgroup .form-content .form-field .field{width:325px}#form-metadataformgroup .form-content .form-field .field:hover{border-color:#222;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#form #approval-history .form-label{float:none;padding:3px;width:100%}#form #approval-history .form-content .form-section{margin:5px;padding:0 5px 25px}#form #approval-history .form-content .form-batch{border-style:none}#form #approval-history .form-content .form-section .form-label label{display:block}#form #approval-history .form-content ol{list-style-type:none;mar
gin-left:0}#form #approval-history .label{font-weight:700}#form #approval-history .form-field{padding:3px}#form #approval-history div.batching a{text-decoration:underline}input,textarea,sele
ct{border:1px solid #777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:2px}input[type="submit"]{background:url(../img/gradient20m.png) repeat-x scroll center bottom #FFF;color:#000;margin:8px 2px 0 0}input[type="submit"]:hover{background:#FFF}input:focus,textarea:focus{border:1px solid #000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:2px 2px 3px #A0A0A0;-moz-box-shadow:2px 2px 3px #A0A0A0;box-shadow:2px 2px 3px #A0A0A0}.form-checkbox input{margin:0 4px 4px 0}.form-content .form-batch{border-left:2px solid #CCC;padding:3px 6px}.form-content .form-body .form-focus{border-left:2px solid rgba(0,0,0,.6);padding-left:7px}.form-content .form-section{padding:10px 8px;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-m
oz-border-radius:3px;border-radius:3px;margin:3px 5px}.form-content .form-footer{border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;height:30p
x;margin:0 5px 20px 5px}#workspace .form-content .form-table th,#workspace .form-content .form-table td{text-align:left;padding:2px}#workspace .form-content .form-table tr.even{background-color:#f3f7fb}#workspace .form-content .form-table .form-controls td{background-color:#FFF;background-image:-webkit-gradient(linear,left top,left bottom,from(#FFF),to(#F9F9F9));background-image:-moz-linear-gradient(top,#FFF,#F9F9F9);background-image:-o-linear-gradient(top,#FFF,#F9F9F9);background-image:-ms-linear-gradient(top,#FFF,#F9F9F9);background-image:-moz-linear-gradient(top,#FFF,#F9F9F9);background-image:linear-gradient(top,#fff,#F9F9F9);border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}#workspace .form-content .form-table tr.form-controls td a{m
argin:3px 0 3px 4px}#workspace .form-table .footer-fields{float:left}#workspace .form-table .footer-fields label,#workspace .form-table .footer-fields .required{vertical-align:middle;margin-
left:3px}#workspace .form-content .form-table select{margin-right:5px}.form-content .form-required,.form-content .form-acquirable,.form-acquired-label,span.required{border:1px solid rgba(0,0,0,.1);-webkit-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;color:#FFF;display:inline-block;font-size:9px;font-weight:700;height:10px;text-align:center;text-transform:capitalize;vertical-align:top}.form-content .form-required,.form-content .form-acquirable{float:right;width:60px}span.required{width:60px}.form-content .form-required,span.required{background-color:#de2a2a}.form-content .form-acquirable{background-color:#faa937;margin-top:4px}.form-acquired-label{background:#46a545;width:80px}p.form-acquired{color:#777;font-size:95%;margin-top:4px;width:325px}.form-section .form-focus p.f
orm-acquired,.form-section:hover p.form-acquired{color:#000}.form-content .form-error-message{position:relative;float:left}.form-content .form-error{border-left:3px solid #DE2A2A;padding-lef
t:6px}.form-content .form-error-detail{background:#FFF5F5;border:1px solid #DE2A2A;-webkit-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;color:#DE2A2A;display:block;padding:4px;position:absolute;left:18px;width:225px;z-index:150;-webkit-box-shadow:2px 2px 3px #A0A0A0;-moz-box-shadow:2px 2px 3px #A0A0A0;box-shadow:2px 2px 3px #A0A0A0}.form-content .form-error-detail:before{content:' ';border:5px solid;border-color:transparent #DE2A2A transparent transparent;position:absolute;left:-11px;top:6px;height:0;width:0}.form-content .form-error-detail:after{content:' ';border:5px solid;border-color:transparent #FFF5F5 transparent transparent;position:absolute;left:-10px;top:6px;height:0;width:0}.form-content a.form-control,.form-content a.form-button{-webkit-border-radius:3px;-moz-b
order-radius:3px;border-radius:3px;background:#fff url(../img/gradient20m.png) repeat-x bottom;border:1px #777 solid;float:left;margin:5px 0 0 6px;padding:1px 5px}.form-content a.form-contro
l:hover,.form-content a.form-button:hover{background-color:#FFF;background-image:-webkit-gradient(linear,left top,left bottom,from(#EAEAEA),to(#FFF));background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:-o-linear-gradient(top,#EAEAEA,#FFF);background-image:-ms-linear-gradient(top,#EAEAEA,#FFF);background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:linear-gradient(top,#EAEAEA,#FFF)}.form-content a.form-control ins,.form-content a.form-button ins{float:left}#workspace .header .tabs li.top-level:hover{background-color:#FFF;background-image:-webkit-gradient(linear,left top,left bottom,from(#EAEAEA),to(#FFF));background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:-o-linear-gradient(top,#EAEAEA,#FFF);background-image:-ms-linear-gradient(to
p,#EAEAEA,#FFF);background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:linear-gradient(top,#EAEAEA,#FFF);color:#000}.ui-dialog .form-fields-container .form-content .form-se
ction .form-field{display:block;position:relative}.ui-dialog .form-fields-container .form-content .form-required{float:right}.ui-dialog .form-fields-container .form-content .form-section .form-label{display:block;float:left}.ui-dialog .form-fields-container .form-content .form-section .form-label label{display:inline;margin:0;float:left}.ui-dialog .form-fields-container .form-content .form-section .form-error-message{float:left;position:relative}.ui-dialog .ui-widget div.actions{background:#FFF;border:1px solid #FFF}.ui-dialog .ui-widget div.actions .last-action{margin-left:10px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.ui-dialog #form-field-content{padding:5px}.ui-dialog #form-field-content a.form-button{margin:8px 0 3px 3px}.ui-dialog .form-section .form-label{
margin-right:20px;width:300px}.ui-dialog .form-section .form-label p{clear:left}.ui-dialog .ui-dialog-buttonpane button,.ui-dialog .ui-widget div.actions .last-action{-webkit-border-radius:3
px;-moz-border-radius:3px;border-radius:3px;background:#fff url(../img/gradient20m.png) repeat-x bottom;border:1px #777 solid;float:left}.ui-dialog .ui-dialog-buttonpane button{margin:5px 0 0 6px;padding:1px 5px}.ui-dialog .ui-widget div.actions .last-action :hover,.ui-dialog .ui-dialog-buttonpane button:hover{background-color:#FFF;background-image:-webkit-gradient(linear,left top,left bottom,from(#EAEAEA),to(#FFF));background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:-o-linear-gradient(top,#EAEAEA,#FFF);background-image:-ms-linear-gradient(top,#EAEAEA,#FFF);background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:linear-gradient(top,#EAEAEA,#FFF)}.ui-dialog .ui-dialog-buttonpane button .ui-button-text{padding:2px}.form-content a.field-uri{text-decorati
on:underline}#workspace .portlets{position:absolute;top:0;right:5px;width:240px;bottom:0}#workspace .portlet h4{background:transparent;border-style:solid;border-width:0 0 1px 0;border-color:
#111;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;display:inline-block;padding:0;margin:5px 0 5px 0}#workspace .portlet{margin:5px 0}#workspace .portlet .external-controls{padding:5px 20px 32px 5px}@media screen and (max-width: 650px){#workspace .portlets{ display:none}#workspace .forms-two-columns{right:0}}#cke_dialog_contents_46 .cke_dialog_ui_input_text{padding:0}table.cke_dialog_contents td.cke_dialog_ui_vbox_child input.cke_dialog_ui_input_text{height:24px}.cke_skin_silva div.cke_dialog_ui_input_text,.cke_skin_silva div.cke_dialog_ui_input_password,.cke_skin_silvadiv.cke_dialog_ui_input_textarea{padding:0!important}.portlets p span.orientation{display:block;margin-top:.3em;border:1px dotted black;text-align:center}.portlets p span.portrait{width:4.5em;height:6em}.port
lets p span.landscape{width:6.5em;height:3.5em}.portlets p span.square{width:4em;height:4em}.portlets .references .item{clear:both;margin:2px 5px}.portlets .references .item a.edit-screen{fl
oat:right;cursor:pointer}.portlets .references .item img{float:left;margin-right:9px;cursor:inherit}.portlets .references .item p{margin-left:20px;padding-top:2px}
\ No newline at end of file
+#workspace form{color:#000;clear:both}#workspace .forms{margin:0 10px}#workspace .forms-two-columns{position:absolute;top:0;left:0;right:250px}#workspace .form-content h3{border-bottom:1px solid #222;color:#222;font-weight:400;font-size:125%;margin:15px 0 10px}#workspace .form-content h4{background-color:#EFEFEF;background-image:-webkit-gradient(linear,left top,left bottom,from(#F9F9F9),to(#EFEFEF));background-image:-moz-linear-gradient(top,#F9F9F9,#EFEFEF);background-image:-o-linear-gradient(top,#F9F9F9,#EFEFEF);background-image:-ms-linear-gradient(top,#F9F9F9,#EFEFEF);background-image:linear-gradient(top,#F9F9F9,#EFEFEF);border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#000;font-size:110%;font-weight:400;margin:5px 5px 5px 0;paddin
g:1px 6px 0}#workspace .form-content h5{background-color:#999;background-image:-webkit-gradient(linear,left top,left bottom,from(#999),to(#777));background-image:-moz-linear-gradient(top,#99
9,#777);background-image:-o-linear-gradient(top,#999,#777);background-image:-ms-linear-gradient(top,#999,#777);background-image:-moz-linear-gradient(top,#999,#777);background-image:linear-gradient(top,#999,#777);border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#FFF;font-size:110%;margin:5px 5px 5px 0;padding:2px 6px 0}#workspace .form-content .form-head p{color:#000;padding:2px 5px}.form-content .form-label{display:block;float:left;margin-right:25px;vertical-align:top;width:225px}.form-content .form-section .form-checkbox label,.form-content .form-section .form-label label{font-weight:700;font-size:105%}.form-content .form-section .form-checkbox p,.form-content .form-section .form-label p{font-size:90%;color:#777;margin-top:3px}.form
-content .form-focus .form-checkbox p,.form-content .form-focus .form-label p{color:#000;margin-top:3px}.form-content .form-section:hover .form-checkbox p,.form-content .form-section:hover .
form-label p{color:#000}.form-content .form-field{display:block;float:left}.form-content .form-field .field:focus{border:1px solid #444;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#form-metadataformgroup .form-content .form-field .field{width:325px}#form-metadataformgroup .form-content .form-field .field:hover{border-color:#222;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}#form #approval-history .form-label{float:none;padding:3px;width:100%}#form #approval-history .form-content .form-section{margin:5px;padding:0 5px 25px}#form #approval-history .form-content .form-batch{border-style:none}#form #approval-history .form-content .form-section .form-label label{display:block}#form #approval-history .form-content ol{list-style-type:none;margin-left:0
}#form #approval-history .label{font-weight:700}#form #approval-history .form-field{padding:3px}#form #approval-history div.batching a{text-decoration:underline}input,select,textarea{border:
1px solid #777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:2px}input[type=submit]{background:url(../img/gradient20m.png) repeat-x scroll center bottom #FFF;color:#000;margin:8px 2px 0 0}input[type=submit]:hover{background:#FFF}input:focus,textarea:focus{border:1px solid #000;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:2px 2px 3px #A0A0A0;-moz-box-shadow:2px 2px 3px #A0A0A0;box-shadow:2px 2px 3px #A0A0A0}.form-checkbox input{margin:0 4px 4px 0}.form-content .form-batch{border-left:2px solid #CCC;padding:3px 6px}.form-content .form-body .form-focus{border-left:2px solid rgba(0,0,0,.6);padding-left:7px}.form-content .form-section{padding:10px 8px;border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radi
us:3px;border-radius:3px;margin:3px 5px}.form-content .form-footer{border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;height:30px;margin:0 5px
20px}#workspace .form-content .form-table td,#workspace .form-content .form-table th{text-align:left;padding:2px}#workspace .form-content .form-table tr.even{background-color:#f3f7fb}#workspace .form-content .form-table .form-controls td{background-color:#FFF;background-image:-webkit-gradient(linear,left top,left bottom,from(#FFF),to(#F9F9F9));background-image:-moz-linear-gradient(top,#FFF,#F9F9F9);background-image:-o-linear-gradient(top,#FFF,#F9F9F9);background-image:-ms-linear-gradient(top,#FFF,#F9F9F9);background-image:-moz-linear-gradient(top,#FFF,#F9F9F9);background-image:linear-gradient(top,#fff,#F9F9F9);border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}#workspace .form-content .form-table tr.form-controls td a{margin:3px 0 3px 4p
x}#workspace .form-table .footer-fields{float:left}#workspace .form-table .footer-fields .required,#workspace .form-table .footer-fields label{vertical-align:middle;margin-left:3px}#workspac
e .form-content .form-table select{margin-right:5px}.form-acquired-label,.form-content .form-acquirable,.form-content .form-required,span.required{border:1px solid rgba(0,0,0,.1);-webkit-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;color:#FFF;display:inline-block;font-size:9px;font-weight:700;height:10px;text-align:center;text-transform:capitalize;vertical-align:top}.form-content .form-acquirable,.form-content .form-required{float:right;width:60px}span.required{width:60px}.form-content .form-required,span.required{background-color:#de2a2a}.form-content .form-acquirable{background-color:#faa937;margin-top:4px}.form-acquired-label{background:#46a545;width:80px}p.form-acquired{color:#777;font-size:95%;margin-top:4px;width:325px}.form-section .form-focus p.form-acquired,.form
-section:hover p.form-acquired{color:#000}.form-content .form-error-message{position:relative;float:left}.form-content .form-error{border-left:3px solid #DE2A2A;padding-left:6px}.form-conten
t .form-error-detail{background:#FFF5F5;border:1px solid #DE2A2A;-webkit-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;color:#DE2A2A;display:block;padding:4px;position:absolute;left:18px;width:225px;z-index:150;-webkit-box-shadow:2px 2px 3px #A0A0A0;-moz-box-shadow:2px 2px 3px #A0A0A0;box-shadow:2px 2px 3px #A0A0A0}.form-content .form-error-detail:before{content:' ';border:5px solid;border-color:transparent #DE2A2A transparent transparent;position:absolute;left:-11px;top:6px;height:0;width:0}.form-content .form-error-detail:after{content:' ';border:5px solid;border-color:transparent #FFF5F5 transparent transparent;position:absolute;left:-10px;top:6px;height:0;width:0}.form-content a.form-button,.form-content a.form-control{-webkit-border-radius:3px;-moz-border-radius:3px;b
order-radius:3px;background:#fff url(../img/gradient20m.png) repeat-x bottom;border:1px #777 solid;float:left;margin:5px 0 0 6px;padding:1px 5px}.form-content a.form-button:hover,.form-conte
nt a.form-control:hover{background-color:#FFF;background-image:-webkit-gradient(linear,left top,left bottom,from(#EAEAEA),to(#FFF));background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:-o-linear-gradient(top,#EAEAEA,#FFF);background-image:-ms-linear-gradient(top,#EAEAEA,#FFF);background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:linear-gradient(top,#EAEAEA,#FFF)}.form-content a.form-button ins,.form-content a.form-control ins{float:left}#workspace .header .tabs li.top-level:hover{background-color:#FFF;background-image:-webkit-gradient(linear,left top,left bottom,from(#EAEAEA),to(#FFF));background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:-o-linear-gradient(top,#EAEAEA,#FFF);background-image:-ms-linear-gradient(top,#EAEAEA,#FFF);ba
ckground-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:linear-gradient(top,#EAEAEA,#FFF);color:#000}.ui-dialog .form-fields-container .form-content .form-section .form-field{
display:block;position:relative}.ui-dialog .form-fields-container .form-content .form-required{float:right}.ui-dialog .form-fields-container .form-content .form-section .form-label{display:block;float:left}.ui-dialog .form-fields-container .form-content .form-section .form-label label{display:inline;margin:0;float:left}.ui-dialog .form-fields-container .form-content .form-section .form-error-message{float:left;position:relative}.ui-dialog .ui-widget div.actions{background:#FFF;border:1px solid #FFF}.ui-dialog .ui-widget div.actions .last-action{margin-left:10px}.ui-dialog #form-field-content{padding:5px}.ui-dialog #form-field-content a.form-button{margin:8px 0 3px 3px}.ui-dialog .form-section .form-label{margin-right:20px;width:300px}.ui-dialog .form-section .form-label p{clear:left}.ui-d
ialog .ui-dialog-buttonpane button,.ui-dialog .ui-widget div.actions .last-action{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:#fff url(../img/gradient20m.pn
g) repeat-x bottom;border:1px #777 solid;float:left}.ui-dialog .ui-dialog-buttonpane button{margin:5px 0 0 6px;padding:1px 5px}.ui-dialog .ui-dialog-buttonpane button:hover,.ui-dialog .ui-widget div.actions .last-action :hover{background-color:#FFF;background-image:-webkit-gradient(linear,left top,left bottom,from(#EAEAEA),to(#FFF));background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:-o-linear-gradient(top,#EAEAEA,#FFF);background-image:-ms-linear-gradient(top,#EAEAEA,#FFF);background-image:-moz-linear-gradient(top,#EAEAEA,#FFF);background-image:linear-gradient(top,#EAEAEA,#FFF)}.ui-dialog .ui-dialog-buttonpane button .ui-button-text{padding:2px}.form-content a.field-uri{text-decoration:underline}#workspace .portlets{position:absolute;top:0;right:5px;width:240px;botto
m:0}#workspace .portlet h4{background:0 0;border-style:solid;border-width:0 0 1px;border-color:#111;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;display:inline-block;padding:
0;margin:5px 0}#workspace .portlet{margin:5px 0}#workspace .portlet .external-controls{padding:5px 20px 32px 5px}@media screen and (max-width:650px){#workspace .portlets{display:none}#workspace .forms-two-columns{right:0}}#cke_dialog_contents_46 .cke_dialog_ui_input_text{padding:0}table.cke_dialog_contents td.cke_dialog_ui_vbox_child input.cke_dialog_ui_input_text{height:24px}.cke_skin_silva div.cke_dialog_ui_input_password,.cke_skin_silva div.cke_dialog_ui_input_text,.cke_skin_silva div.cke_dialog_ui_input_textarea{padding:0!important}.portlets p span.orientation{display:block;margin-top:.3em;border:1px dotted #000;text-align:center}.portlets p span.portrait{width:4.5em;height:6em}.portlets p span.landscape{width:6.5em;height:3.5em}.portlets p span.square{width:4em;height:4em}.portlets .
references .item{clear:both;margin:2px 5px}.portlets .references .item a.edit-screen{float:right;cursor:pointer}.portlets .references .item img{float:left;margin-right:9px;cursor:inherit}.po
rtlets .references .item p{margin-left:20px;padding-top:2px}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/formwidgets.min.css
--- a/src/silva/ui/static/css/formwidgets.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/formwidgets.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-.field-combobox{position:relative;display:inline-block}.field-combobox .combobox-values{display:none}.field-combobox .combobox-input{height:20px;line-height:20px;border:1px solid #999;border-right:0;border-radius:3px 0 0 3px;padding:0 2px}.field-combobox .combobox-opener{float:right;height:16px;padding:2px;width:1.4em;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;border:1px solid #999;background:#fff url(../img/gradient20m.png) repeat-x top}.field-combobox .combobox-opener:hover{background:#fff}.ui-autocomplete{max-height:125px;overflow-y:auto;overflow-x:hidden;-webkit-box-shadow:#A0A0A0 0 2px 8px;-moz-box-shadow:#A0A0A0 0 2px 8px;box-shadow:#A0A0A0 0 2px 8px;-moz-user-select:none}.ui-autocomplete ins.icon{padding:2px 1px}.ui-multiselect{font-s
ize:.8em}.ui-multiselect div.ui-multiselect-container{position:relative;float:left;height:228px;padding:0;margin:0;border:solid 1px #CCC;background:#FFF}.ui-multiselect ul{-moz-user-select:n
one;position:relative;display:block;max-height:200px;overflow:auto;overflow-x:hidden;padding:0;margin:0;border:0;list-style:none}.ui-multiselect li{margin:0;padding:0;cursor:default;line-height:20px;height:20px;font-size:11px;list-style:none}.ui-multiselect li a{color:#999;text-decoration:none;padding:0;display:block;float:left;cursor:pointer}.ui-multiselect li.ui-draggable-dragging{padding-left:10px}.ui-multiselect div.ui-multiselect-available{border-left:0}.ui-multiselect .ui-state-default{border:0;margin-bottom:1px;position:relative;padding-left:20px}.ui-multiselect .ui-state-hover{border:0}.ui-multiselect .ui-widget-header{border:0;font-size:11px;margin-bottom:1px}.ui-multiselect .add-all{float:right;padding:7px}.ui-multiselect .remove-all{float:right;padding:7px}.ui-multiselect .sear
ch{float:left;padding:4px}.ui-multiselect .count{float:left;padding:7px}.ui-multiselect li span.ui-icon-arrowthick-2-n-s{position:absolute;left:2px}.ui-multiselect li a.ui-multiselect-action
{position:absolute;right:2px;top:2px}.ui-multiselect input.search{height:14px;padding:1px;opacity:.5;margin:4px;width:100px}.form-content div.field-table table{border-spacing:4px;border-collapse:collapse}.form-content div.field-table table div.field-collection{margin:5px}.form-content div.field-collection-line{clear:both}.form-content div.field-collection-line div.field-object{margin:15px;clear:both}.form-content .field-collection-lines div.line-actions{float:left;width:70px}div.line-data{float:left;margin-bottom:5px}.form-content .field-collection-lines td.line-actions{width:20px}.form-content .field-collection-lines td.ordering-actions{width:70px}.form-content button.field-collection-move-up{background-image:url(../img/sprite.png);background-position:-80px -122px!important;background-co
lor:transparent;height:20px;width:20px;border:0;float:left}.form-content button.field-collection-move-down{background-image:url(../img/sprite.png);background-position:-100px -122px!important
;background-color:transparent;height:20px;width:20px;border:0;float:right}.form-content input.field-collection-line-selector{float:right;height:20px;width:20px;border:0;margin:3px 5px 3px 5px}.form-content .field-collection .multi-actions{clear:both}.form-content .field-collection input.field-collection-add-line{background-color:#F1F1F1;background-image:url(../img/sprite.png);background-repeat:no-repeat;background-position:0 -181px;padding:1px 5px 1px 17px;margin:5px 0 0 6px}.form-content .field-collection input.field-collection-add-line:hover{background-color:#FFF}.form-content .field-collection input.field-collection-remove-line{background-color:#F1F1F1;background-image:url(../img/sprite.png);background-repeat:no-repeat;background-position:0 -161px;padding:1px 5px 1px 17px;margin:5px 0
0 6px}.form-content .field-collection input.field-collection-remove-line:hover{background-color:#FFF}
\ No newline at end of file
+.field-combobox{position:relative;display:inline-block}.field-combobox .combobox-values{display:none}.field-combobox .combobox-input{height:20px;line-height:20px;border:1px solid #999;border-right:0;border-radius:3px 0 0 3px;padding:0 2px}.field-combobox .combobox-opener{float:right;height:16px;padding:2px;width:1.4em;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;border:1px solid #999;background:#fff url(../img/gradient20m.png) repeat-x top}.field-combobox .combobox-opener:hover{background:#fff}.ui-autocomplete{max-height:125px;overflow-y:auto;overflow-x:hidden;-webkit-box-shadow:#A0A0A0 0 2px 8px;-moz-box-shadow:#A0A0A0 0 2px 8px;box-shadow:#A0A0A0 0 2px 8px;-moz-user-select:none}.ui-autocomplete ins.icon{padding:2px 1px}.ui-multiselect{font-s
ize:.8em}.ui-multiselect div.ui-multiselect-container{position:relative;float:left;height:228px;padding:0;margin:0;border:solid 1px #CCC;background:#FFF}.ui-multiselect ul{-moz-user-select:n
one;position:relative;display:block;max-height:200px;overflow:auto;overflow-x:hidden;padding:0;margin:0;border:0;list-style:none}.ui-multiselect li{margin:0;padding:0;cursor:default;line-height:20px;height:20px;font-size:11px;list-style:none}.ui-multiselect li a{color:#999;text-decoration:none;padding:0;display:block;float:left;cursor:pointer}.ui-multiselect li.ui-draggable-dragging{padding-left:10px}.ui-multiselect div.ui-multiselect-available{border-left:0}.ui-multiselect .ui-state-default{border:0;margin-bottom:1px;position:relative;padding-left:20px}.ui-multiselect .ui-state-hover{border:0}.ui-multiselect .ui-widget-header{border:0;font-size:11px;margin-bottom:1px}.ui-multiselect .add-all,.ui-multiselect .remove-all{float:right;padding:7px}.ui-multiselect .search{float:left;padding:4p
x}.ui-multiselect .count{float:left;padding:7px}.ui-multiselect li span.ui-icon-arrowthick-2-n-s{position:absolute;left:2px}.ui-multiselect li a.ui-multiselect-action{position:absolute;right
:2px;top:2px}.ui-multiselect input.search{height:14px;padding:1px;opacity:.5;margin:4px;width:100px}.form-content div.field-table table{border-spacing:4px;border-collapse:collapse}.form-content div.field-table table div.field-collection{margin:5px}.form-content div.field-collection-line{clear:both}.form-content div.field-collection-line div.field-object{margin:15px;clear:both}.form-content .field-collection-lines div.line-actions{float:left;width:70px}div.line-data{float:left;margin-bottom:5px}.form-content .field-collection-lines td.line-actions{width:20px}.form-content .field-collection-lines td.ordering-actions{width:70px}.form-content button.field-collection-move-up{background-image:url(../img/sprite.png);background-position:-80px -122px!important;background-color:transparent;height:2
0px;width:20px;border:0;float:left}.form-content button.field-collection-move-down{background-image:url(../img/sprite.png);background-position:-100px -122px!important;background-color:transp
arent;height:20px;width:20px;border:0;float:right}.form-content input.field-collection-line-selector{float:right;height:20px;width:20px;border:0;margin:3px 5px}.form-content .field-collection .multi-actions{clear:both}.form-content .field-collection input.field-collection-add-line{background-color:#F1F1F1;background-image:url(../img/sprite.png);background-repeat:no-repeat;background-position:0 -181px;padding:1px 5px 1px 17px;margin:5px 0 0 6px}.form-content .field-collection input.field-collection-add-line:hover{background-color:#FFF}.form-content .field-collection input.field-collection-remove-line{background-color:#F1F1F1;background-image:url(../img/sprite.png);background-repeat:no-repeat;background-position:0 -161px;padding:1px 5px 1px 17px;margin:5px 0 0 6px}.form-content .field-colle
ction input.field-collection-remove-line:hover{background-color:#FFF}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/jstree.min.css
--- a/src/silva/ui/static/css/jstree.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/jstree.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-.jstree li,.jstree ins{background-image:url(../img/sprite.png);background-repeat:no-repeat;background-color:transparent}.jstree li{background-position:-180px 0;background-repeat:repeat-y}.jstree li.jstree-last{background:transparent}.jstree>ul>li.jstree-open>ins{background-position:-120px 0!important}.jstree>ul>li.jstree-closed>ins{background-position:-100px 0!important}.jstree .jstree-open>ins{background-position:-80px 0;cursor:pointer}.jstree .jstree-closed>ins{background-position:-60px 0;cursor:pointer}.jstree .jstree-leaf>ins{background-position:-140px 0}.jstree .jstree-hovered{background:#d2e5f9}.jstree .jstree-clicked{font-weight:700}.jstree a ins.jstree-icon{background-position:-160px 0}.jstree a.jstree-loading .icon{background:url(../img/loading.gif) center center no-repeat!import
ant}.jstree .jstree-no-icons .jstree-checkbox{display:inline-block}.jstree .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree .jstree-checked>a>.jstree-checkbox{background
-position:-20px -120px}.jstree .jstree-unchecked>a>.jstree-checkbox{background-position:0 -120px}.jstree .jstree-undetermined>a>.jstree-checkbox{background-position:-40px -120px}.jstree .jstree-checked>a>.jstree-checkbox:hover{background-position:-20px -120px}.jstree .jstree-unchecked>a>.jstree-checkbox:hover{background-position:0 -120px}.jstree .jstree-undetermined>a>.jstree-checkbox:hover{background-position:-40px -120px}
\ No newline at end of file
+.jstree ins,.jstree li{background-image:url(../img/sprite.png);background-repeat:no-repeat;background-color:transparent}.jstree li{background-position:-180px 0;background-repeat:repeat-y}.jstree li.jstree-last{background:0 0}.jstree>ul>li.jstree-open>ins{background-position:-120px 0!important}.jstree>ul>li.jstree-closed>ins{background-position:-100px 0!important}.jstree .jstree-open>ins{background-position:-80px 0;cursor:pointer}.jstree .jstree-closed>ins{background-position:-60px 0;cursor:pointer}.jstree .jstree-leaf>ins{background-position:-140px 0}.jstree .jstree-hovered{background:#d2e5f9}.jstree .jstree-clicked{font-weight:700}.jstree a ins.jstree-icon{background-position:-160px 0}.jstree a.jstree-loading .icon{background:url(../img/loading.gif) center center no-repeat!important}.jst
ree .jstree-no-icons .jstree-checkbox{display:inline-block}.jstree .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree .jstree-checked>a>.jstree-checkbox{background-positio
n:-20px -120px}.jstree .jstree-unchecked>a>.jstree-checkbox{background-position:0 -120px}.jstree .jstree-undetermined>a>.jstree-checkbox{background-position:-40px -120px}.jstree .jstree-checked>a>.jstree-checkbox:hover{background-position:-20px -120px}.jstree .jstree-unchecked>a>.jstree-checkbox:hover{background-position:0 -120px}.jstree .jstree-undetermined>a>.jstree-checkbox:hover{background-position:-40px -120px}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/listing.min.css
--- a/src/silva/ui/static/css/listing.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/listing.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-#workspace .content .listing-header{background:#eee url(../img/gradient25.png) repeat-x bottom;border-bottom:1px #999 solid;height:25x;overflow:hidden;padding-right:17px;position:relative}#workspace .listing-header .filter{display:none}#workspace .listing-header .selector{float:left}#workspace .listing-header .selector ins{width:20px;height:20px;display:block;background-image:url(../img/sprite.png)}#workspace .listing-header .selector ins.none{background-position:-0px -120px}#workspace .listing-header .selector ins.single{background-position:-40px -120px}#workspace .listing-header .selector ins.partial{background-position:-40px -120px}#workspace .listing-header .selector ins.all{background-position:-20px -120px}#workspace .listing-header .selector ins.disabled{background-position:-60px -1
20px}#workspace .content table{width:100%;border-collapse:collapse}#workspace .content #form-userrole table{border-collapse:separate}#workspace .content .listing-header th{line-height:24px;c
olor:#666}#workspace .content .listing td,#workspace .content .listing-header th{padding:0 5px 0 5px;line-height:24px;text-align:left;white-space:nowrap;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}#workspace .content .listing td.hasdropdown{overflow:visible}#workspace .content .listing td.status_public{padding-right:1px}#workspace .content .listing td.status_next{padding-left:1px}#workspace .content .listing tr.item input{width:100%;-webkit-border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;border:1px #999 solid;padding:2px}#workspace .content .listing{-ms-overflow-x:hidden;top:25px;bottom:25px;right:0;left:0;overflow-x:hidden;overflow-y:scroll;position:absolute}#workspace .content .listing dt{padding-left:8px;padding-right:8px;
line-height:24px;border-bottom:1px solid #999}#workspace .content .listing dt h4{padding-left:12px}#workspace .content .listing dt ins.ui-icon{margin:4px 4px 0 0;float:left}#workspace .conte
nt .listing td img{float:left}#workspace .content .listing dd.collapsed{display:none}#workspace .content .listing .static tr:nth-child(even){background-color:#f3f7fb}#workspace .content .listing .static tr.hover{background-color:#d2e5f9}#workspace .content .listing .static tr.selected{background-color:#4d96e6;color:#fff}#workspace .content .listing .static tr.selected.hover{background-color:#5fa2ea}#workspace .content .listing tr.hidden{display:none}#workspace .content .listing td.moveable{cursor:move;margin:4px 5px}#workspace .content .listing .filtering td.moveable{cursor:inherit;background:0}#workspace .content .listing tr.moving{background-color:#4d96e6!important;color:#fff}#workspace .content .listing tr.empty td{padding:0 8px}#workspace .listing-footer{background:#fff url(../img/gra
dient25.png) repeat-x top;border-top:1px #999 solid;bottom:0;color:#333;height:25px;left:0;line-height:25px;position:absolute;right:0}#workspace .listing-footer p{padding:0 10px;display:inli
ne}#workspace .listing-footer-content{display:none}#workspace .listing-footer .clipboard-info{padding:0 15px;float:right;position:relative}#workspace .listing-footer .clipboard-info ins{margin-top:4px;float:left}#workspace .listing-footer .clipboard-info .clipboard-content{-webkit-border-radius:3px 3px 0 0;-o-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;position:absolute;width:200px;bottom:25px;right:0;display:block;background:#fff;border:1px #999 solid;margin-left:0;list-style:none;display:none}
\ No newline at end of file
+#workspace .content .listing-header{background:#eee url(../img/gradient25.png) repeat-x bottom;border-bottom:1px #999 solid;height:25x;overflow:hidden;padding-right:17px;position:relative}#workspace .listing-header .filter{display:none}#workspace .listing-header .selector{float:left}#workspace .listing-header .selector ins{width:20px;height:20px;display:block;background-image:url(../img/sprite.png)}#workspace .listing-header .selector ins.none{background-position:-0px -120px}#workspace .listing-header .selector ins.partial,#workspace .listing-header .selector ins.single{background-position:-40px -120px}#workspace .listing-header .selector ins.all{background-position:-20px -120px}#workspace .listing-header .selector ins.disabled{background-position:-60px -120px}#workspace .content table{wi
dth:100%;border-collapse:collapse}#workspace .content #form-userrole table{border-collapse:separate}#workspace .content .listing-header th{color:#666}#workspace .content .listing td,#workspa
ce .content .listing-header th{padding:0 5px;line-height:24px;text-align:left;white-space:nowrap;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}#workspace .content .listing td.hasdropdown{overflow:visible}#workspace .content .listing td.status_public{padding-right:1px}#workspace .content .listing td.status_next{padding-left:1px}#workspace .content .listing tr.item input{width:100%;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;border:1px #999 solid;padding:2px}#workspace .content .listing{-ms-overflow-x:hidden;top:25px;bottom:25px;right:0;left:0;overflow-x:hidden;overflow-y:scroll;position:absolute}#workspace .content .listing dt{padding-left:8px;padding-right:8px;line-height:24px;border-bottom:1px solid #999}#workspace .content .listing dt h4{padding-lef
t:12px}#workspace .content .listing dt ins.ui-icon{margin:4px 4px 0 0;float:left}#workspace .content .listing td img{float:left}#workspace .content .listing dd.collapsed{display:none}#worksp
ace .content .listing .static tr:nth-child(even){background-color:#f3f7fb}#workspace .content .listing .static tr.hover{background-color:#d2e5f9}#workspace .content .listing .static tr.selected{background-color:#4d96e6;color:#fff}#workspace .content .listing .static tr.selected.hover{background-color:#5fa2ea}#workspace .content .listing tr.hidden{display:none}#workspace .content .listing td.moveable{cursor:move;margin:4px 5px}#workspace .content .listing .filtering td.moveable{cursor:inherit;background:0 0}#workspace .content .listing tr.moving{background-color:#4d96e6!important;color:#fff}#workspace .content .listing tr.empty td{padding:0 8px}#workspace .listing-footer{background:#fff url(../img/gradient25.png) repeat-x top;border-top:1px #999 solid;bottom:0;color:#333;height:25px;left:0
;line-height:25px;position:absolute;right:0}#workspace .listing-footer p{padding:0 10px;display:inline}#workspace .listing-footer-content{display:none}#workspace .listing-footer .clipboard-i
nfo{padding:0 15px;float:right;position:relative}#workspace .listing-footer .clipboard-info ins{margin-top:4px;float:left}#workspace .listing-footer .clipboard-info .clipboard-content{-webkit-border-radius:3px 3px 0 0;-o-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;position:absolute;width:200px;bottom:25px;right:0;background:#fff;border:1px #999 solid;margin-left:0;list-style:none;display:none}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/navigation.min.css
--- a/src/silva/ui/static/css/navigation.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/navigation.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-#navigation{position:absolute;top:0;bottom:0;left:0;width:280px;background:#fff;-webkit-box-shadow:#1c2e3d 0 3px 10px;-moz-box-shadow:#1c2e3d 0 3px 10px;box-shadow:#1c2e3d 0 3px 10px}#navigation .header{height:59px;line-height:60px;background:url(../img/gradient50.png) repeat-x bottom;border-bottom:1px solid #999;color:#fff;padding:0 8px;text-align:center}#navigation .tree{position:absolute;top:60px;bottom:0;left:0;right:0;overflow:auto;-ms-overflow-x:hidden;overflow-x:hidden}#navigation .tree ul{list-style:none;margin:0;padding:3px 0 3px 3px;width:999px}#navigation .tree ul li a{display:block;height:20px;line-height:20px;color:#111;padding:0}#navigation .tree ul li a.jstree-clicked{color:#111}#navigation .tree ins{float:left;width:20px;height:20px}@-moz-document url-prefix(){#navigation
.tree{ overflow-x:auto}#navigation .tree ul{width:auto}}
\ No newline at end of file
+#navigation{position:absolute;top:0;bottom:0;left:0;width:280px;background:#fff;-webkit-box-shadow:#1c2e3d 0 3px 10px;-moz-box-shadow:#1c2e3d 0 3px 10px;box-shadow:#1c2e3d 0 3px 10px}#navigation .header{height:59px;line-height:60px;background:url(../img/gradient50.png) repeat-x bottom;border-bottom:1px solid #999;color:#fff;padding:0 8px;text-align:center}#navigation .tree{position:absolute;top:60px;bottom:0;left:0;right:0;overflow:auto;-ms-overflow-x:hidden;overflow-x:hidden}#navigation .tree ul{list-style:none;margin:0;padding:3px 0 3px 3px;width:999px}#navigation .tree ul li a{display:block;height:20px;line-height:20px;color:#111;padding:0}#navigation .tree ul li a.jstree-clicked{color:#111}#navigation .tree ins{float:left;width:20px;height:20px}@-moz-document url-prefix(){#navigation
.tree{overflow-x:auto}#navigation .tree ul{width:auto}}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/smi.css
--- a/src/silva/ui/static/css/smi.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/smi.css Wed Nov 13 11:42:16 2013 +0100
@@ -485,6 +485,7 @@
ins.silva_file { background-position:-100px -21px!important; }
ins.silva_find { background-position:-120px -21px!important; }
ins.silva_folder { background-position:-40px -21px!important; }
+ins.silva_ghostasset { background-position:-20px -81px!important; }
ins.silva_ghostfolder { background-position:-20px -41px!important; }
ins.silva_ghost { background-position: 0 -41px!important; }
ins.silva_image { background-position:-80px -21px!important; }
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/smi.min.css
--- a/src/silva/ui/static/css/smi.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/smi.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-html{background:#7996ac;overflow:hidden}a{text-decoration:none;cursor:pointer;color:inherit}a ins{cursor:pointer}a span{cursor:pointer}input,textarea{cursor:text}#loading-message{display:none;padding:2px 0;position:fixed;right:50%;top:0;z-index:200}#content-url{display:none}#smi-text{position:absolute;top:20%;left:15%;width:70%;height:250px;-webkit-box-shadow:#1c2e3d 0 3px 10px;-moz-box-shadow:#1c2e3d 0 3px 10px;box-shadow:#1c2e3d 0 3px 10px;background:#fff;bottom:0;cursor:default;z-index:800}#smi-text .smi-text-content{padding:1em}div.jGrowl{z-index:13000}div.jGrowl div.error{background-color:#c00}div.batching a,div.batching span{display:block;float:left;margin:0 .25em}div.batching a.previous ins{float:left;margin-right:.2em}div.batching a.next ins{float:right;margin-left:.2em}div.batchi
ng a.current{font-weight:700}#main{position:absolute;top:20px;bottom:20px;left:20px;right:20px}#smi-cover{position:absolute;width:100%;height:100%;z-index:600}#smi-handle{position:absolute;t
op:46%;bottom:0;left:288px;width:4px;height:40px;background-color:#666;z-index:700;cursor:move;-webkit-box-shadow:#1c2e3d 0 3px 10px;-moz-box-shadow:#1c2e3d 0 3px 10px;box-shadow:#1c2e3d 0 3px 10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}#workspace{-webkit-box-shadow:#1c2e3d 0 3px 10px;-moz-box-shadow:#1c2e3d 0 3px 10px;box-shadow:#1c2e3d 0 3px 10px;background:#fff;bottom:0;left:300px;position:absolute;right:0;top:0;cursor:default}.focus.highlight{outline:2px #fb0 solid}.message ins.ui-icon{float:left}#workspace .header{background:url(../img/gradient50.png) repeat-x bottom;border-bottom:1px #999 solid;color:#111;height:66px;line-height:24px;padding:0 10px 33px 10px}#workspace .header a{color:#111}#workspace .header h2{clear:both;color:#666;font-size:1.3em;paddin
g:8px 0 4px 0;height:24px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#workspace .header h2 ins.icon{background-color:transparent;background-image:url(../img/sprite.png);backgr
ound-repeat:no-repeat;display:block;float:left;height:20px;margin-right:4px;width:20px}#workspace .header .toolbar .view-toolbar{float:right;margin:4px}#workspace .compact-header{height:0}#workspace .compact-header h2{float:left;clear:right;padding:6px;max-width:80%}#workspace .compact-header .toolbar{position:absolute;right:120px;background:url(../img/gradient50.png) repeat-x bottom}#workspace .compact-header .toolbar .selector{float:right}#workspace .header .tabs{float:left;list-style:none;margin:0;padding:0}#workspace .header .subtabs{-webkit-border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;-webkit-box-shadow:#A0A0A0 0 2px 8px;-moz-box-shadow:#A0A0A0 0 2px 8px;box-shadow:#A0A0A0 0 2px 8px;position:absolute;width:210px;top:32px;background:#f
ff;border:1px #AAA solid;margin:0;list-style:none;display:none;z-index:1200}#workspace .header .tabs li{position:relative}#workspace .header .tabs li a{display:block;padding:0 5px}#workspace
.header .compact-tabs li ins.tab-logo,#workspace .header .user-menu li ins.tab-logo{background-color:transparent;background-image:url(../img/menu_lines_icon.png);background-repeat:no-repeat;display:block;float:left;height:18px;width:24px;margin:5px 0 3px 4px}#workspace .header .user-menu li ins.tab-logo{background-image:url(../img/member_icon_transp_bg_bw.png);margin:4px;margin-right:0}#workspace .header li div.tab-icon{float:left}#workspace .header .tabs li.sub-level a.active{color:#fff;background-color:#4d96e6}#workspace .header .tabs li.sub-level a:hover{background:url(../img/gradient-tab-selected.png) repeat-x;color:#fff;text-shadow:#373737 1px 1px 1px}#workspace .header .tabs li.top-level{-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-web
kit-box-shadow:inset 0 0 2px #aaa;-moz-box-shadow:inset 0 0 2px #aaa;box-shadow:inset 0 0 2px #aaa;background:url(../img/gradient-tab.png) repeat-x;color:#222;display:block;float:left;margin
-right:10px;border:1px solid #777;border-top:0}#workspace .header .tabs a.top-entry{height:26px;line-height:26px;padding:0}#workspace .header .tabs a .subtab-icon{float:right}#workspace .header .tabs a.top-entry .subtab-icon ins{background:url(../img/sprite.png) no-repeat;background-position:-117px -96px;display:block;height:26px}#workspace .header .tabs a.top-label .subtab-icon ins{background-position:-124px -96px;width:18px}#workspace .header .tabs a.top-label.active .subtab-icon ins{background-position:-124px -116px}#workspace .header .tabs a.top-screen .subtab-icon{border-left:1px solid #555}#workspace .header .tabs a.top-screen .subtab-icon ins{height:26px;width:26px}#workspace .header .tabs a.top-entry span{float:left;display:block;height:26px;padding:0 10px 0 10px}#workspace .heade
r .tabs a.top-entry.active{color:#fff;text-shadow:#373737 1px 1px 1px;font-weight:700}#workspace .header .tabs a.top-screen.active span,#workspace .header .tabs a.top-label.active{background
:url(../img/gradient-tab-selected.png) repeat-x}#workspace .header .actions{margin:5px 5px 5px 0}#workspace .header .compact-tabs,#workspace .header .user-menu{display:none;position:absolute;top:0;right:56px}#workspace .header .user-menu{right:0}#workspace .header .view-actions{position:absolute;top:0;right:61px;display:none}#workspace .header .admin-actions{margin:5px 10px 0 0}#workspace .header .admin-actions li a{padding:2px 2px}#workspace .content{position:absolute;top:100px;bottom:0;left:0;right:0;overflow:hidden;overflow-y:auto}#workspace .extended-content{top:34px}#workspace .iframe-view{overflow-x:inherit;overflow-y:inherit;text-align:center}@media screen and (orientation: portrait){#navigation{ display:none!important}#smi-handle{display:none!important}#workspace{left:0!important}
}@media screen and (max-width: 900px){#navigation{ display:none!important}#smi-handle{display:none!important}#workspace{left:0!important}}ins.icon{width:20px;height:20px;display:block;float:
left;background-image:url(../img/sprite.png);margin-right:5px}ins.loading{background:#fff url(../img/loading.gif) no-repeat center center!important}ins.form_check{width:12px;height:16px;background-position:-44px -142px}ins.form_warning{width:12px;height:16px;background-position:-84px -142px}ins.form_cancel{width:12px;height:16px;background-position:-124px -141px}ins.form_close{width:12px;height:16px;background-position:-64px -142px}ins.ui-icon-arrowreturnthick-1-w{width:12px;height:16px;background-image:url(../img/sprite.png)!important;background-position:-124px -141px;margin-right:5px}ins.ui-icon-check{background-image:url(../img/sprite.png)!important;background-position:-44px -142px}ins.ui-icon-radio-on{width:12px;height:16px;background-image:url(../img/sprite.png)!important;background-
position:-44px -142px;margin-right:5px}ins.ui-icon-close{width:12px;height:16px;background-image:url(../img/sprite.png)!important;background-position:-64px -142px;margin-right:5px}.user-menu
ins.ui-icon,.compact-tabs ins.ui-icon{background-image:url(../jqueryui/images/ui-icons_222222_256x240.png)!important;width:12px;height:12px;margin-right:5px;margin-top:5px}.user-menu ins.ui-icon-configuration{background-position:-195px -115px}.user-menu ins.ui-icon-preferences{background-position:-178px -113px}.user-menu ins.ui-icon-about{background-position:-18px -146px}.user-menu ins.ui-icon-manage{background-position:-226px -98px}.user-menu ins.ui-icon-services{background-position:-114px -98px}.user-menu ins.ui-icon-logout{background-position:-3px -177px}ins.silva_autotoc{background-position:-100px -41px!important}ins.silva_csvsource{background-position:-120px -41px!important}ins.silva_document{background-position:0 -21px!important}ins.silva_page{background-position:-20px -21px!import
ant}ins.silva_file{background-position:-100px -21px!important}ins.silva_find{background-position:-120px -21px!important}ins.silva_folder{background-position:-40px -21px!important}ins.silva_g
hostfolder{background-position:-20px -41px!important}ins.silva_ghost{background-position:0 -41px!important}ins.silva_image{background-position:-80px -21px!important}ins.silva_indexer{background-position:-40px -41px!important}ins.silva_link{background-position:-60px -41px!important}ins.silva_permanentredirectlink{background-position:-80px -41px!important}ins.silva_publication{background-position:-60px -21px!important}ins.silva_root{background-position:-160px -121px!important}ins.silva_sourceasset{background-position:-140px -41px!important}ins.silva_agendaitem{background-position:-20px -61px!important}ins.silva_agendapage{background-position:-40px -61px!important}ins.silva_agendafilter{background-position:-120px -61px!important}ins.silva_agendaviewer{background-position:-100px -61px!importa
nt}ins.silva_newsitem{background-position:0 -81px!important}ins.silva_newspage{background-position:0 -61px!important}ins.silva_newsfilter{background-position:-80px -61px!important}ins.silva_
newscategoryfilter{background-position:-160px -61px!important}ins.silva_newsviewer{background-position:-60px -61px!important}ins.silva_newspublication{background-position:-160px -41px!important}ins.silva_rssaggregator{background-position:-140px -61px!important}ins.state{background-image:url(../img/sprite.png);display:block;float:left;width:10px!important;height:10px!important}ins.state.draft{background-position:-5px -105px}ins.state.unapproved{background-position:-5px -105px}ins.state.pending{background-position:-25px -105px}ins.state.approved{background-position:-45px -105px}ins.state.published{background-position:-65px -105px}ins.state.closed{background-position:-85px -105px}ins.state.last_closed{background-position:-85px -105px}#form div.versioning-state-cell ins.state{margin:3px 3px 0
0}#form div.versioning-state-cell{display:block;padding-left:3px}#form div.versioning-state-cell a{text-decoration:underline}body .ui-state-default,body .ui-state-active{background:inherit;
color:inherit;border:inherit}body .ui-widget .ui-button-text{line-height:inherit}body .ui-widget{font-family:sans-serif;font-size:inherit}body .upload-file .upload-progress{width:200px;height:10px}body .ui-dialog{-webkit-box-shadow:#A0A0A0 0 2px 8px;-moz-box-shadow:#A0A0A0 0 2px 8px;box-shadow:#A0A0A0 0 2px 8px}.icon.silva_dotted_horizontal{background-image:url(../img/sprite.png);background-position:-158px -87px!important;background-repeat:no-repeat}
\ No newline at end of file
+html{background:#7996ac;overflow:hidden}a{text-decoration:none;cursor:pointer;color:inherit}a ins,a span{cursor:pointer}input,textarea{cursor:text}#loading-message{display:none;padding:2px 0;position:fixed;right:50%;top:0;z-index:200}#content-url{display:none}#smi-text{position:absolute;top:20%;left:15%;width:70%;height:250px;-webkit-box-shadow:#1c2e3d 0 3px 10px;-moz-box-shadow:#1c2e3d 0 3px 10px;box-shadow:#1c2e3d 0 3px 10px;background:#fff;bottom:0;cursor:default;z-index:800}#smi-text .smi-text-content{padding:1em}div.jGrowl{z-index:13000}div.jGrowl div.error{background-color:#c00}div.batching a,div.batching span{display:block;float:left;margin:0 .25em}div.batching a.previous ins{float:left;margin-right:.2em}div.batching a.next ins{float:right;margin-left:.2em}div.batching a.current{fo
nt-weight:700}#main{position:absolute;top:20px;bottom:20px;left:20px;right:20px}#smi-cover{position:absolute;width:100%;height:100%;z-index:600}#smi-handle{position:absolute;top:46%;bottom:0
;left:288px;width:4px;height:40px;background-color:#666;z-index:700;cursor:move;-webkit-box-shadow:#1c2e3d 0 3px 10px;-moz-box-shadow:#1c2e3d 0 3px 10px;box-shadow:#1c2e3d 0 3px 10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}#workspace{-webkit-box-shadow:#1c2e3d 0 3px 10px;-moz-box-shadow:#1c2e3d 0 3px 10px;box-shadow:#1c2e3d 0 3px 10px;background:#fff;bottom:0;left:300px;position:absolute;right:0;top:0;cursor:default}.focus.highlight{outline:2px #fb0 solid}.message ins.ui-icon{float:left}#workspace .header{background:url(../img/gradient50.png) repeat-x bottom;border-bottom:1px #999 solid;color:#111;height:66px;line-height:24px;padding:0 10px 33px}#workspace .header a{color:#111}#workspace .header h2{clear:both;color:#666;font-size:1.3em;padding:8px 0 4px;height:2
4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#workspace .header h2 ins.icon{background-color:transparent;background-image:url(../img/sprite.png);background-repeat:no-repeat;
display:block;float:left;height:20px;margin-right:4px;width:20px}#workspace .header .toolbar .view-toolbar{float:right;margin:4px}#workspace .compact-header{height:0}#workspace .compact-header h2{float:left;clear:right;padding:6px;max-width:80%}#workspace .compact-header .toolbar{position:absolute;right:120px;background:url(../img/gradient50.png) repeat-x bottom}#workspace .compact-header .toolbar .selector{float:right}#workspace .header .tabs{float:left;list-style:none;margin:0;padding:0}#workspace .header .subtabs{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:#A0A0A0 0 2px 8px;-moz-box-shadow:#A0A0A0 0 2px 8px;box-shadow:#A0A0A0 0 2px 8px;position:absolute;width:210px;top:32px;background:#fff;border:1px #AAA solid;margin:0;list-style:none;display:
none;z-index:1200}#workspace .header .tabs li{position:relative}#workspace .header .tabs li a{display:block;padding:0 5px}#workspace .header .compact-tabs li ins.tab-logo,#workspace .header
.user-menu li ins.tab-logo{background-color:transparent;background-image:url(../img/menu_lines_icon.png);background-repeat:no-repeat;display:block;float:left;height:18px;width:24px;margin:5px 0 3px 4px}#workspace .header .user-menu li ins.tab-logo{background-image:url(../img/member_icon_transp_bg_bw.png);margin:4px;margin-right:0}#workspace .header li div.tab-icon{float:left}#workspace .header .tabs li.sub-level a.active{color:#fff;background-color:#4d96e6}#workspace .header .tabs li.sub-level a:hover{background:url(../img/gradient-tab-selected.png) repeat-x;color:#fff;text-shadow:#373737 1px 1px 1px}#workspace .header .tabs li.top-level{-webkit-border-radius:0 0 3px 3px;-moz-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-webkit-box-shadow:inset 0 0 2px #aaa;-moz-box-shadow:inset 0
0 2px #aaa;box-shadow:inset 0 0 2px #aaa;background:url(../img/gradient-tab.png) repeat-x;color:#222;display:block;float:left;margin-right:10px;border:1px solid #777;border-top:0}#workspace
.header .tabs a.top-entry{height:26px;line-height:26px;padding:0}#workspace .header .tabs a .subtab-icon{float:right}#workspace .header .tabs a.top-entry .subtab-icon ins{background:url(../img/sprite.png) no-repeat;background-position:-117px -96px;display:block;height:26px}#workspace .header .tabs a.top-label .subtab-icon ins{background-position:-124px -96px;width:18px}#workspace .header .tabs a.top-label.active .subtab-icon ins{background-position:-124px -116px}#workspace .header .tabs a.top-screen .subtab-icon{border-left:1px solid #555}#workspace .header .tabs a.top-screen .subtab-icon ins{height:26px;width:26px}#workspace .header .tabs a.top-entry span{float:left;display:block;height:26px;padding:0 10px}#workspace .header .tabs a.top-entry.active{color:#fff;text-shadow:#373737 1px 1px
1px;font-weight:700}#workspace .header .tabs a.top-label.active,#workspace .header .tabs a.top-screen.active span{background:url(../img/gradient-tab-selected.png) repeat-x}#workspace .heade
r .actions{margin:5px 5px 5px 0}#workspace .header .compact-tabs,#workspace .header .user-menu{display:none;position:absolute;top:0;right:56px}#workspace .header .user-menu{right:0}#workspace .header .view-actions{position:absolute;top:0;right:61px;display:none}#workspace .header .admin-actions{margin:5px 10px 0 0}#workspace .header .admin-actions li a{padding:2px}#workspace .content{position:absolute;top:100px;bottom:0;left:0;right:0;overflow:hidden;overflow-y:auto}#workspace .extended-content{top:34px}#workspace .iframe-view{overflow-x:inherit;overflow-y:inherit;text-align:center}@media screen and (orientation:portrait){#navigation,#smi-handle{display:none!important}#workspace{left:0!important}}@media screen and (max-width:900px){#navigation,#smi-handle{display:none!important}#workspace
{left:0!important}}ins.icon{width:20px;height:20px;display:block;float:left;background-image:url(../img/sprite.png);margin-right:5px}ins.loading{background:#fff url(../img/loading.gif) no-re
peat center center!important}ins.form_check{width:12px;height:16px;background-position:-44px -142px}ins.form_warning{width:12px;height:16px;background-position:-84px -142px}ins.form_cancel{width:12px;height:16px;background-position:-124px -141px}ins.form_close{width:12px;height:16px;background-position:-64px -142px}ins.ui-icon-arrowreturnthick-1-w{width:12px;height:16px;background-image:url(../img/sprite.png)!important;background-position:-124px -141px;margin-right:5px}ins.ui-icon-check{background-image:url(../img/sprite.png)!important;background-position:-44px -142px}ins.ui-icon-radio-on{width:12px;height:16px;background-image:url(../img/sprite.png)!important;background-position:-44px -142px;margin-right:5px}ins.ui-icon-close{width:12px;height:16px;background-image:url(../img/sprite.png)
!important;background-position:-64px -142px;margin-right:5px}.compact-tabs ins.ui-icon,.user-menu ins.ui-icon{background-image:url(../jqueryui/images/ui-icons_222222_256x240.png)!important;w
idth:12px;height:12px;margin-right:5px;margin-top:5px}.user-menu ins.ui-icon-configuration{background-position:-195px -115px}.user-menu ins.ui-icon-preferences{background-position:-178px -113px}.user-menu ins.ui-icon-about{background-position:-18px -146px}.user-menu ins.ui-icon-manage{background-position:-226px -98px}.user-menu ins.ui-icon-services{background-position:-114px -98px}.user-menu ins.ui-icon-logout{background-position:-3px -177px}ins.silva_autotoc{background-position:-100px -41px!important}ins.silva_csvsource{background-position:-120px -41px!important}ins.silva_document{background-position:0 -21px!important}ins.silva_page{background-position:-20px -21px!important}ins.silva_file{background-position:-100px -21px!important}ins.silva_find{background-position:-120px -21px!important
}ins.silva_folder{background-position:-40px -21px!important}ins.silva_ghostasset{background-position:-20px -81px!important}ins.silva_ghostfolder{background-position:-20px -41px!important}ins
.silva_ghost{background-position:0 -41px!important}ins.silva_image{background-position:-80px -21px!important}ins.silva_indexer{background-position:-40px -41px!important}ins.silva_link{background-position:-60px -41px!important}ins.silva_permanentredirectlink{background-position:-80px -41px!important}ins.silva_publication{background-position:-60px -21px!important}ins.silva_root{background-position:-160px -121px!important}ins.silva_sourceasset{background-position:-140px -41px!important}ins.silva_agendaitem{background-position:-20px -61px!important}ins.silva_agendapage{background-position:-40px -61px!important}ins.silva_agendafilter{background-position:-120px -61px!important}ins.silva_agendaviewer{background-position:-100px -61px!important}ins.silva_newsitem{background-position:0 -81px!import
ant}ins.silva_newspage{background-position:0 -61px!important}ins.silva_newsfilter{background-position:-80px -61px!important}ins.silva_newscategoryfilter{background-position:-160px -61px!impo
rtant}ins.silva_newsviewer{background-position:-60px -61px!important}ins.silva_newspublication{background-position:-160px -41px!important}ins.silva_rssaggregator{background-position:-140px -61px!important}ins.state{background-image:url(../img/sprite.png);display:block;float:left;width:10px!important;height:10px!important}ins.state.draft,ins.state.unapproved{background-position:-5px -105px}ins.state.pending{background-position:-25px -105px}ins.state.approved{background-position:-45px -105px}ins.state.published{background-position:-65px -105px}ins.state.closed,ins.state.last_closed{background-position:-85px -105px}#form div.versioning-state-cell ins.state{margin:3px 3px 0 0}#form div.versioning-state-cell{display:block;padding-left:3px}#form div.versioning-state-cell a{text-decoration:under
line}body .ui-state-active,body .ui-state-default{background:inherit;color:inherit;border:inherit}body .ui-widget .ui-button-text{line-height:inherit}body .ui-widget{font-family:sans-serif;f
ont-size:inherit}body .upload-file .upload-progress{width:200px;height:10px}body .ui-dialog{-webkit-box-shadow:#A0A0A0 0 2px 8px;-moz-box-shadow:#A0A0A0 0 2px 8px;box-shadow:#A0A0A0 0 2px 8px}.icon.silva_dotted_horizontal{background-image:url(../img/sprite.png);background-position:-158px -87px!important;background-repeat:no-repeat}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/css/style.min.css
--- a/src/silva/ui/static/css/style.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/css/style.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{color:#000;text-decoration:none}mark{color:#0
00;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{}hr{display:block;height:1px;border:0;border-top:1px s
olid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}body{font:13px/1.231 sans-serif;*font-size:small}select,input,textarea,button{font:99% sans-serif}pre,code,kbd,samp{font-family:monospace,sans-serif}body,select,input,textarea{color:#444}h1,h2,h3,h4,h5,h6{font-weight:700}html{overflow-y:scroll}a:hover,a:active{outline:0}ul,ol{margin-left:1.8em}ol{list-style-type:decimal}nav ul,nav li{margin:0}small{font-size:85%}strong,th{font-weight:700}td,td img{vertical-align:top}sub{vertical-align:sub;font-size:smaller}sup{vertical-align:super;font-size:smaller}pre{padding:15px;white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word}textarea{overflow:auto}.ie6 legend,.ie7 legend{margin-left:-7px}input[type="radio"]{vertical-align:text-bottom;margin-right:5px}inp
ut[type="checkbox"]{vertical-align:bottom}.ie7 input[type="checkbox"]{vertical-align:baseline}.ie6 input{vertical-align:text-bottom}label,input[type=button],input[type=submit],button{cursor:
pointer}button,input,select,textarea{margin:0}input:valid,textarea:valid{}input:invalid,textarea:invalid{}.no-boxshadow input:invalid,.no-boxshadow textarea:invalid{background-color:#f0dddd}::-moz-selection{background:#336aa2;color:#fff;text-shadow:none}::selection{background:#336aa2;color:#fff;text-shadow:none}a:link{-webkit-tap-highlight-color:#336aa2}button{width:auto;overflow:visible}.ie7 img{-ms-interpolation-mode:bicubic}.ir{display:block;text-indent:-999em;overflow:hidden;background-repeat:no-repeat;text-align:left;direction:ltr}.hidden{display:none;visibility:hidden}.visuallyhidden{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.invisible{visibility:hidden}.clearfix:before,.clearfix:after,.container:before,.container:after{content:"\0020";display
:block;height:0;visibility:hidden}.clearfix:after,.container:after{clear:both}.clearfix,.container{zoom:1}@media print{*{ background:transparent!important;color:#444!important;text-shadow:no
ne!important}a,a:visited{color:#444!important;text-decoration:underline}a:after{content:" (" attr(href) ")"}abbr:after{content:" (" attr(title) ")"}.ir a:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}
\ No newline at end of file
+abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:0 0}ins{color:#000;text-decoration:none}mark{color:#000;font-style:it
alic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;
padding:0}input,select{vertical-align:middle}body{font:13px/1.231 sans-serif;*font-size:small}button,input,select,textarea{font:99% sans-serif}code,kbd,pre,samp{font-family:monospace,sans-serif}body,input,select,textarea{color:#444}h1,h2,h3,h4,h5,h6{font-weight:700}html{overflow-y:scroll}a:active,a:hover{outline:0}ol,ul{margin-left:1.8em}ol{list-style-type:decimal}nav li,nav ul{margin:0}small{font-size:85%}strong,th{font-weight:700}td,td img{vertical-align:top}sub{vertical-align:sub;font-size:smaller}sup{vertical-align:super;font-size:smaller}pre{padding:15px;white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word}textarea{overflow:auto}.ie6 legend,.ie7 legend{margin-left:-7px}input[type=radio]{vertical-align:text-bottom;margin-right:5px}input[type=checkbox]{vertica
l-align:bottom}.ie7 input[type=checkbox]{vertical-align:baseline}.ie6 input{vertical-align:text-bottom}button,input[type=button],input[type=submit],label{cursor:pointer}button,input,select,t
extarea{margin:0}.no-boxshadow input:invalid,.no-boxshadow textarea:invalid{background-color:#f0dddd}::-moz-selection{background:#336aa2;color:#fff;text-shadow:none}::selection{background:#336aa2;color:#fff;text-shadow:none}a:link{-webkit-tap-highlight-color:#336aa2}button{width:auto;overflow:visible}.ie7 img{-ms-interpolation-mode:bicubic}.ir{display:block;text-indent:-999em;overflow:hidden;background-repeat:no-repeat;text-align:left;direction:ltr}.hidden{display:none;visibility:hidden}.visuallyhidden{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.invisible{visibility:hidden}.clearfix:after,.clearfix:before,.container:after,.container:before{content:"\0020";display:block;height:0;visibility:hidden}.clearfix:after,.container:after{clear:both}.clearfix,.
container{zoom:1}@media print{*{background:transparent!important;color:#444!important;text-shadow:none!important}a,a:visited{color:#444!important;text-decoration:underline}a:after{content:"
(" attr(href) ")"}abbr:after{content:" (" attr(title) ")"}.ir a:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/img/sprite.png
Binary file src/silva/ui/static/img/sprite.png has changed
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/infrae.deferred.min.js
--- a/src/silva/ui/static/js/infrae.deferred.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/infrae.deferred.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function(infrae,$){var module={};$.extend(module,{Callbacks:function(callbacks,context_provider){callbacks||(callbacks=[]);var saved=[];return{add:function(callback,invoke){return invoke&&context_provider&&callback.apply(context_provider()),callbacks.push(callback),callback},push:function(){saved.push(callbacks),callbacks=[]},pop:function(){saved.length>0&&(callbacks=saved.pop())},clone:function(){return module.Callbacks([].concat(callbacks),context_provider)},context:function(callback){context_provider=callback},invoke:function(context,args){var index=callbacks.length;if(!args&&context_provider){var value=context_provider();context?args=[value]:context=value}for(args||(args=[]);index--;)callbacks[index].apply(context,args)}}},SemaphoreCallbacks:function(){var value=0,callbacks=[],last_a
rgs=void 0;return{use:function(){value+=1,last_args=void 0},release:function(args){if(!value||!(value-=1)){for(;callbacks.length;)callbacks.pop()(args);last_args=args}},call:function(callbac
k){value?callbacks.push(callback):callback(last_args)}}},LazyCallbacks:function(){var timeout=null,jobs=[],Job=function(array,callback){var deferred=$.Deferred(),results=[],index=0,len=array.length,job={run:function(){for(var start=+new Date;len>index;)if(results.push(callback(array[index])),index+=1,+new Date-start>50)return timeout=setTimeout(job.run,25),void 0;timeout=null,jobs.shift(),jobs.length&&jobs[0].run(),deferred.resolve(results)},deferred:deferred};return job};return{reset:function(){var index=jobs.length;for(timeout&&(clearTimeout(timeout),timeout=null);index--;)jobs[index].deferred.reject();jobs=[]},add:function(array,callback){var idle=0===jobs.length,job=Job(array,callback);return jobs.push(job),idle&&job.run(),job.deferred.promise()}}},FluxCapacitor:function(){var handler
s=[{incoming:module.Callbacks(),outgoing:module.Callbacks(),failing:module.Callbacks()}],data=[];return{events:{incoming:function(callback){return infrae.utils.apply_on_each(data,callback),h
andlers[0].incoming.add(callback)},outgoing:function(callback){return handlers[0].outgoing.add(callback)},failing:function(callback){return handlers[0].failing.add(callback)},push:function(){var copy={};for(var name in handlers[0])copy[name]=handlers[0][name].clone();handlers.unshift(copy)},pop:function(){handlers.length>1&&handlers.shift()}},add:function(element){return $.inArray(element,data)>-1?!1:(handlers[0].incoming.invoke(element),data.push(element),!0)},each:function(callback){return infrae.utils.apply_on_each(data,callback)},map:function(callback){return infrae.utils.apply_on_map(data,callback)},remove:function(element,failed){var index=$.inArray(element,data);return 0>index?!1:(data.splice(index,1),(failed?handlers[0].failing:handlers[0].outgoing).invoke(element),!0)},clear:func
tion(failed){return infrae.utils.each(data,(failed?handlers[0].failing:handlers[0].outgoing).invoke),data=[],!0}}}}),infrae.deferred=module})(infrae,jQuery);
\ No newline at end of file
+!function(infrae,$){var module={};$.extend(module,{Callbacks:function(callbacks,context_provider){callbacks||(callbacks=[]);var saved=[];return{add:function(callback,invoke){return invoke&&context_provider&&callback.apply(context_provider()),callbacks.push(callback),callback},push:function(){saved.push(callbacks),callbacks=[]},pop:function(){saved.length>0&&(callbacks=saved.pop())},clone:function(){return module.Callbacks([].concat(callbacks),context_provider)},context:function(callback){context_provider=callback},invoke:function(context,args){var index=callbacks.length;if(!args&&context_provider){var value=context_provider();context?args=[value]:context=value}for(args||(args=[]);index--;)callbacks[index].apply(context,args)}}},SemaphoreCallbacks:function(){var value=0,callbacks=[],last_a
rgs=void 0;return{use:function(){value+=1,last_args=void 0},release:function(args){if(!value||!(value-=1)){for(;callbacks.length;)callbacks.pop()(args);last_args=args}},call:function(callbac
k){value?callbacks.push(callback):callback(last_args)}}},LazyCallbacks:function(){var timeout=null,jobs=[],Job=function(array,callback){var deferred=$.Deferred(),results=[],index=0,len=array.length,job={run:function(){for(var start=+new Date;len>index;)if(results.push(callback(array[index])),index+=1,+new Date-start>50)return timeout=setTimeout(job.run,25),void 0;timeout=null,jobs.shift(),jobs.length&&jobs[0].run(),deferred.resolve(results)},deferred:deferred};return job};return{reset:function(){var index=jobs.length;for(timeout&&(clearTimeout(timeout),timeout=null);index--;)jobs[index].deferred.reject();jobs=[]},add:function(array,callback){var idle=0===jobs.length,job=Job(array,callback);return jobs.push(job),idle&&job.run(),job.deferred.promise()}}},FluxCapacitor:function(){var handler
s=[{incoming:module.Callbacks(),outgoing:module.Callbacks(),failing:module.Callbacks()}],data=[];return{events:{incoming:function(callback){return infrae.utils.apply_on_each(data,callback),h
andlers[0].incoming.add(callback)},outgoing:function(callback){return handlers[0].outgoing.add(callback)},failing:function(callback){return handlers[0].failing.add(callback)},push:function(){var copy={};for(var name in handlers[0])copy[name]=handlers[0][name].clone();handlers.unshift(copy)},pop:function(){handlers.length>1&&handlers.shift()}},add:function(element){return $.inArray(element,data)>-1?!1:(handlers[0].incoming.invoke(element),data.push(element),!0)},each:function(callback){return infrae.utils.apply_on_each(data,callback)},map:function(callback){return infrae.utils.apply_on_map(data,callback)},remove:function(element,failed){var index=$.inArray(element,data);return 0>index?!1:(data.splice(index,1),(failed?handlers[0].failing:handlers[0].outgoing).invoke(element),!0)},clear:func
tion(failed){return infrae.utils.each(data,(failed?handlers[0].failing:handlers[0].outgoing).invoke),data=[],!0}}}}),infrae.deferred=module}(infrae,jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/infrae.interfaces.min.js
--- a/src/silva/ui/static/js/infrae.interfaces.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/infrae.interfaces.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function(infrae,$){var module={},interfaces={};$.extend(module,{clear:function(){interfaces={}},register:function(name,bases){if(interfaces[name])throw{message:"Duplicate registration of interface "+name};bases||(bases=[]),interfaces[name]=bases},implemented_by:function(object){if(void 0===object)return[];if(void 0===object.ifaces)return[typeof object];for(var result=[],bases=[].concat(object.ifaces);bases.length;){var base=bases.shift();if(0>$.inArray(base,result)){result.push(base);var base_bases=interfaces[base];base_bases&&(bases=bases.concat(base_bases))}}return result.push(typeof object),result},is_implemented_by:function(base,object){return $.inArray(base,module.implemented_by(object))>-1}}),infrae.interfaces=module})(infrae,jQuery);
\ No newline at end of file
+!function(infrae,$){var module={},interfaces={};$.extend(module,{clear:function(){interfaces={}},register:function(name,bases){if(interfaces[name])throw{message:"Duplicate registration of interface "+name};bases||(bases=[]),interfaces[name]=bases},implemented_by:function(object){if(void 0===object)return[];if(void 0===object.ifaces)return[typeof object];for(var result=[],bases=[].concat(object.ifaces);bases.length;){var base=bases.shift();if($.inArray(base,result)<0){result.push(base);var base_bases=interfaces[base];base_bases&&(bases=bases.concat(base_bases))}}return result.push(typeof object),result},is_implemented_by:function(base,object){return $.inArray(base,module.implemented_by(object))>-1}}),infrae.interfaces=module}(infrae,jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/infrae.keyboard.min.js
--- a/src/silva/ui/static/js/infrae.keyboard.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/infrae.keyboard.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function(infrae,$){var module={ShortcutManager:function(document){var handlers={},zones={},order=[],selected=0,active=!1,current_name=function(){return order.length?order[selected]:null},current_zone=function(){var current=current_name();return current?zones[current]:null},current_handlers=function(){var current=current_name();return current?handlers[current]:{}},manager={create:function(name,zone,select){void 0==zones[name]&&(zones[name]=zone,order.push(name),handlers[name]={},select&&(manager.disable(!0),selected=order.length-1,manager.activate()))},remove:function(name,group){if(void 0!=zones[name])if(void 0==group)current_name()==name&&(manager.disable(),selected=0),order.splice($.inArray(name,order),1),delete zones[name],delete handlers[name];else if(void 0!=handlers[name][group]&&c
urrent_name()==name){for(var key in handlers[name][group])key&&$(document).unbind("keydown",handlers[name][group][key]);delete handlers[name][group]}},bind:function(name,group,keys,callback)
{var is_current=current_name()===name;void 0==group&&(group="default");for(var i=0;keys.length>i;i++){var key=keys[i];void 0==handlers[name][group]&&(handlers[name][group]={}),handlers[name][group][key]=callback,is_current&&$(document).bind("keydown",key,callback)}},activate:function(event){if(!active){var handlers=current_handlers(),zone=current_zone();event&&($(document).focus(),zone.addClass("focus"),zone.trigger("focus-keyboard"));for(var group in handlers)if(group)for(var key in handlers[group])key&&$(document).bind("keydown",key,handlers[group][key]);active=!0}},disable:function(event){if(active){var handlers=current_handlers(),zone=current_zone();for(var group in handlers)if(group)for(var key in handlers[group])key&&$(document).unbind("keydown",handlers[group][key]);event&&(zone.tr
igger("blur-keyboard"),zone.removeClass("focus")),active=!1}}},make_switcher=function(direction){return function(){if(order.length){manager.disable(!0),selected=(selected+direction)%order.le
ngth,0>selected&&(selected=order.length-1),manager.activate(!0);var zone=current_zone();return zone.addClass("highlight"),setTimeout(function(){zone.removeClass("highlight")},1e3),!1}}};return $(document).bind("keydown","ctrl+shift+left",make_switcher(-1)),$(document).bind("keydown","ctrl+shift+right",make_switcher(1)),$(document).bind("keydown","ctrl+left",make_switcher(-1)),$(document).bind("keydown","ctrl+right",make_switcher(1)),manager}};infrae.keyboard=module})(infrae,jQuery);
\ No newline at end of file
+!function(infrae,$){var module={ShortcutManager:function(document){var handlers={},zones={},order=[],selected=0,active=!1,current_name=function(){return order.length?order[selected]:null},current_zone=function(){var current=current_name();return current?zones[current]:null},current_handlers=function(){var current=current_name();return current?handlers[current]:{}},manager={create:function(name,zone,select){void 0==zones[name]&&(zones[name]=zone,order.push(name),handlers[name]={},select&&(manager.disable(!0),selected=order.length-1,manager.activate()))},remove:function(name,group){if(void 0!=zones[name])if(void 0==group)current_name()==name&&(manager.disable(),selected=0),order.splice($.inArray(name,order),1),delete zones[name],delete handlers[name];else if(void 0!=handlers[name][group]&&c
urrent_name()==name){for(var key in handlers[name][group])key&&$(document).unbind("keydown",handlers[name][group][key]);delete handlers[name][group]}},bind:function(name,group,keys,callback)
{var is_current=current_name()===name;void 0==group&&(group="default");for(var i=0;i<keys.length;i++){var key=keys[i];void 0==handlers[name][group]&&(handlers[name][group]={}),handlers[name][group][key]=callback,is_current&&$(document).bind("keydown",key,callback)}},activate:function(event){if(!active){var handlers=current_handlers(),zone=current_zone();event&&($(document).focus(),zone.addClass("focus"),zone.trigger("focus-keyboard"));for(var group in handlers)if(group)for(var key in handlers[group])key&&$(document).bind("keydown",key,handlers[group][key]);active=!0}},disable:function(event){if(active){var handlers=current_handlers(),zone=current_zone();for(var group in handlers)if(group)for(var key in handlers[group])key&&$(document).unbind("keydown",handlers[group][key]);event&&(zone.tr
igger("blur-keyboard"),zone.removeClass("focus")),active=!1}}},make_switcher=function(direction){return function(){if(order.length){manager.disable(!0),selected=(selected+direction)%order.le
ngth,0>selected&&(selected=order.length-1),manager.activate(!0);var zone=current_zone();return zone.addClass("highlight"),setTimeout(function(){zone.removeClass("highlight")},1e3),!1}}};return $(document).bind("keydown","ctrl+shift+left",make_switcher(-1)),$(document).bind("keydown","ctrl+shift+right",make_switcher(1)),$(document).bind("keydown","ctrl+left",make_switcher(-1)),$(document).bind("keydown","ctrl+right",make_switcher(1)),manager}};infrae.keyboard=module}(infrae,jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/infrae.min.js
--- a/src/silva/ui/static/js/infrae.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/infrae.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function(window){var infrae={};window.infrae=infrae})(window),function(infrae,$){var module={},predicates={};$.extend(predicates,{or:function(){for(var max=arguments.length,index=1;max>index;){if(predicates[arguments[index][0]].apply(this,arguments[index])===!0)return!0;index+=1}return!1},and:function(){for(var max=arguments.length,index=1;max>index;){if(predicates[arguments[index][0]].apply(this,arguments[index])!==!0)return!1;index+=1}return!0},not:function(){return!predicates[arguments[1][0]].apply(this,arguments[1])},equal:function(){for(var value=this[arguments[1]],max=arguments.length,index=2;max>index;){if(arguments[index]==value)return!0;index+=1}return!1},provides:function(){for(var max=arguments.length,index=1;max>index;){if(infrae.interfaces.is_implemented_by(arguments[index],
this))return!0;index+=1}return!1}}),$.extend(module,{test:function(data,conditions){return predicates[conditions[0]].apply(data,conditions)},each:function(array,callback){var index,len;for(i
ndex=0,len=array.length;len>index;index++)callback(array[index])},apply_on_each:function(array,callback){var index,len;for(index=0,len=array.length;len>index;index++)callback.apply(array[index])},map:function(array,callback,result){var index,len;for(void 0===result&&(result=[]),index=0,len=array.length;len>index;index++)result.push(callback(array[index]));return result},map_concat:function(array,callback,result){var index,len;for(void 0===result&&(result=[]),index=0,len=array.length;len>index;index++)result=result.concat(callback(array[index]));return result},lazy_map:function(array,callback,result){var index=0,len=array.length,deferred=$.Deferred();void 0===result&&(result=[]);var work=function(){for(var start=+new Date;len>index;index++)if(result.push(callback(array[index])),+new Date-s
tart>50)return setTimeout(work,50),void 0;deferred.resolve(result)};return work(),deferred.promise()},apply_on_map:function(array,callback,result){var index,len;for(void 0===result&&(result=
[]),index=0,len=array.length;len>index;index++)result.push(callback.apply(array[index]));return result}}),infrae.utils=module}(infrae,jQuery);
\ No newline at end of file
+!function(window){var infrae={};window.infrae=infrae}(window),function(infrae,$){var module={},predicates={};$.extend(predicates,{or:function(){for(var max=arguments.length,index=1;max>index;){if(predicates[arguments[index][0]].apply(this,arguments[index])===!0)return!0;index+=1}return!1},and:function(){for(var max=arguments.length,index=1;max>index;){if(predicates[arguments[index][0]].apply(this,arguments[index])!==!0)return!1;index+=1}return!0},not:function(){return!predicates[arguments[1][0]].apply(this,arguments[1])},equal:function(){for(var value=this[arguments[1]],max=arguments.length,index=2;max>index;){if(arguments[index]==value)return!0;index+=1}return!1},provides:function(){for(var max=arguments.length,index=1;max>index;){if(infrae.interfaces.is_implemented_by(arguments[index],t
his))return!0;index+=1}return!1}}),$.extend(module,{test:function(data,conditions){return predicates[conditions[0]].apply(data,conditions)},each:function(array,callback){var index,len;for(in
dex=0,len=array.length;len>index;index++)callback(array[index])},apply_on_each:function(array,callback){var index,len;for(index=0,len=array.length;len>index;index++)callback.apply(array[index])},map:function(array,callback,result){var index,len;for(void 0===result&&(result=[]),index=0,len=array.length;len>index;index++)result.push(callback(array[index]));return result},map_concat:function(array,callback,result){var index,len;for(void 0===result&&(result=[]),index=0,len=array.length;len>index;index++)result=result.concat(callback(array[index]));return result},lazy_map:function(array,callback,result){var index=0,len=array.length,deferred=$.Deferred();void 0===result&&(result=[]);var work=function(){for(var start=+new Date;len>index;index++)if(result.push(callback(array[index])),+new Date-st
art>50)return setTimeout(work,50),void 0;deferred.resolve(result)};return work(),deferred.promise()},apply_on_map:function(array,callback,result){var index,len;for(void 0===result&&(result=[
]),index=0,len=array.length;len>index;index++)result.push(callback.apply(array[index]));return result}}),infrae.utils=module}(infrae,jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/infrae.ui.min.js
--- a/src/silva/ui/static/js/infrae.ui.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/infrae.ui.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function(infrae,$){var module={},dialog_options={maxFactor:.8,minFactor:0,threshold:15,maxWidth:0,maxHeight:0,minWidth:0,maxHeight:0,position:["center","center"]};$.extend(module,{icon:function($content,icon){0>icon.indexOf(".")?$content.addClass(icon):$content.attr("style","background:url("+icon+") no-repeat center center;")},selection:{disable:function($content){return $content.disableSelection()},enable:function($content){return $content.enableSelection()}},ShowDialog:function($dialog,options){var $window=$(window),$widget=$dialog.dialog("widget");if(void 0!==options)for(var name in dialog_options)void 0===options[name]&&(options[name]=dialog_options[name]);else options=dialog_options;var resize=function(initial){var window_width=$window.width(),window_height=$window.height(),widget_w
idth=$widget.width(),widget_height=$widget.height(),min_width=Math.ceil(window_width*options.minFactor),min_height=Math.ceil(window_height*options.minFactor),max_width=Math.ceil(window_width
*options.maxFactor),max_height=Math.ceil(window_height*options.maxFactor),popup_position=$widget.position(),need_reposition=initial===!0,changed_size=!1;options.maxWidth&&(max_width=Math.min(options.maxWidth,max_width)),options.maxHeight&&(max_height=Math.min(options.maxHeight,max_height)),options.minWidth&&(min_width=Math.max(options.minWidth,min_width)),options.minHeight&&(min_height=Math.max(options.minHeight,min_height)),min_height>widget_height?($dialog.dialog("option","height",min_height),widget_height=min_height,changed_size=!0,min_height>max_height&&(max_height=min_height)):widget_height>max_height&&($dialog.dialog("option","height",max_height),widget_height=max_height,changed_size=!0),popup_position.top&&0>window_height-(popup_position.top+widget_height+options.threshold)&&(need_
reposition=!0),min_width>widget_width?($dialog.dialog("option","width",min_width),widget_width=min_width,changed_size=!0,min_width>max_width&&(max_width=min_width)):widget_width>max_width&&(
$dialog.dialog("option","width",max_width),widget_width=max_width,changed_size=!0),popup_position.left&&0>window_width-(popup_position.left+widget_width+options.threshold)&&(need_reposition=!0),$dialog.dialog("option","maxHeight",max_height),$dialog.dialog("option","maxWidth",max_width),$dialog.dialog("option","minHeight",min_height),$dialog.dialog("option","minWidth",min_width),need_reposition&&$dialog.dialog("option","position",options.position),changed_size&&$dialog.trigger("infrae-ui-dialog-resized",{height:widget_height,width:widget_width})},handler=function(event){event.target===window?setTimeout(resize,0):event.target===$widget.get(0)&&$dialog.trigger("infrae-ui-dialog-resized",{height:$widget.height(),width:$widget.width()})};$window.bind("resize.infrae-ui-dialog",handler),$dialog
.one("dialogclose",function(){$window.unbind("resize.infrae-ui-dialog",handler),$dialog.unbind("infrae-ui-dialog-resize")}),$dialog.bind("infrae-ui-dialog-resize",function(){resize()}),$dial
og.dialog("open"),resize(!0)},ResizeDialog:function($dialog){$dialog.dialog("isOpen")&&$dialog.trigger("infrae-ui-dialog-resize")},ConfirmationDialog:function(data){var deferred=$.Deferred(),$message=$("<div></div>"),configuration={autoOpen:!1,modal:!0,buttons:{},zIndex:12e3};return data.title&&$message.attr("title",data.title),$message.html(data.message),data.buttons||(data.buttons={Cancel:function(){return!1},Continue:function(){return!0}},data.not_cancellable&&delete data.buttons.Cancel),$.each(data.buttons,function(name,callback){configuration.buttons[name]=function(){var result=callback();void 0!==result.then?result.then(deferred.resolve,deferred.reject):result?deferred.resolve():deferred.reject()}}),$message.bind("dialogclose",function(){$message.remove(),deferred.reject()}),deferre
d.always(function(){$message.dialog("close")}),$message.dialog(configuration),infrae.ui.ShowDialog($message),deferred.promise()},scroll:function($content,speed,direction,distance,interval){v
ar target,position=$content.scrollTop();switch(direction){case"up":target=position-distance,interval&&(target-=target%interval);break;case"down":target=position+distance,interval&&0!=position%interval&&(target+=interval-target%interval);break;case"absolute":default:target=distance}return $content.stop(!0,!0),$content.animate({scrollTop:target},speed),$content.promise()},update_table_columns:function($table,options,$reference){return"object"!=typeof options.fixed&&(options.fixed={}),$table.each(function(){var $table=$(this),colComputedWidths={},fixedWidths={},totalWidth=0;if(void 0!==$reference){var regex=/([0-9]+)([em%]*)/;$reference.find("colgroup col").each(function(i){var match=$(this).attr("width").match(regex);match&&(colComputedWidths[i]=match[1],fixedWidths[i]=match[2])})}else $tab
le.css("table-layout","auto"),$table.find("tr:visible:first td").each(function(i){options.fixed[i]?(colComputedWidths[i]=options.fixed[i],fixedWidths[i]=null):colComputedWidths[i]=$(this).ou
terWidth(),totalWidth+=colComputedWidths[i]});$table.css("table-layout","fixed"),$table.find("colgroup col").each(function(i){var newColWidth;void 0!==fixedWidths[i]?(newColWidth=colComputedWidths[i],fixedWidths[i]&&(newColWidth+=fixedWidths[i])):newColWidth=Math.round(100*(colComputedWidths[i]/totalWidth))+"%",$(this).attr("width",newColWidth)})})}}),infrae.ui=module})(infrae,jQuery);
\ No newline at end of file
+!function(infrae,$){var module={},dialog_options={maxFactor:.8,minFactor:0,threshold:15,maxWidth:0,maxHeight:0,minWidth:0,maxHeight:0,position:["center","center"]};$.extend(module,{icon:function($content,icon){icon.indexOf(".")<0?$content.addClass(icon):$content.attr("style","background:url("+icon+") no-repeat center center;")},selection:{disable:function($content){return $content.disableSelection()},enable:function($content){return $content.enableSelection()}},ShowDialog:function($dialog,options){var $window=$(window),$widget=$dialog.dialog("widget");if(void 0!==options)for(var name in dialog_options)void 0===options[name]&&(options[name]=dialog_options[name]);else options=dialog_options;var resize=function(initial){var window_width=$window.width(),window_height=$window.height(),widget_w
idth=$widget.width(),widget_height=$widget.height(),min_width=Math.ceil(window_width*options.minFactor),min_height=Math.ceil(window_height*options.minFactor),max_width=Math.ceil(window_width
*options.maxFactor),max_height=Math.ceil(window_height*options.maxFactor),popup_position=$widget.position(),need_reposition=initial===!0,changed_size=!1;options.maxWidth&&(max_width=Math.min(options.maxWidth,max_width)),options.maxHeight&&(max_height=Math.min(options.maxHeight,max_height)),options.minWidth&&(min_width=Math.max(options.minWidth,min_width)),options.minHeight&&(min_height=Math.max(options.minHeight,min_height)),min_height>widget_height?($dialog.dialog("option","height",min_height),widget_height=min_height,changed_size=!0,min_height>max_height&&(max_height=min_height)):widget_height>max_height&&($dialog.dialog("option","height",max_height),widget_height=max_height,changed_size=!0),popup_position.top&&window_height-(popup_position.top+widget_height+options.threshold)<0&&(need_
reposition=!0),min_width>widget_width?($dialog.dialog("option","width",min_width),widget_width=min_width,changed_size=!0,min_width>max_width&&(max_width=min_width)):widget_width>max_width&&(
$dialog.dialog("option","width",max_width),widget_width=max_width,changed_size=!0),popup_position.left&&window_width-(popup_position.left+widget_width+options.threshold)<0&&(need_reposition=!0),$dialog.dialog("option","maxHeight",max_height),$dialog.dialog("option","maxWidth",max_width),$dialog.dialog("option","minHeight",min_height),$dialog.dialog("option","minWidth",min_width),need_reposition&&$dialog.dialog("option","position",options.position),changed_size&&$dialog.trigger("infrae-ui-dialog-resized",{height:widget_height,width:widget_width})},handler=function(event){event.target===window?setTimeout(resize,0):event.target===$widget.get(0)&&$dialog.trigger("infrae-ui-dialog-resized",{height:$widget.height(),width:$widget.width()})};$window.bind("resize.infrae-ui-dialog",handler),$dialog
.one("dialogclose",function(){$window.unbind("resize.infrae-ui-dialog",handler),$dialog.unbind("infrae-ui-dialog-resize")}),$dialog.bind("infrae-ui-dialog-resize",function(){resize()}),$dial
og.dialog("open"),resize(!0)},ResizeDialog:function($dialog){$dialog.dialog("isOpen")&&$dialog.trigger("infrae-ui-dialog-resize")},ConfirmationDialog:function(data){var deferred=$.Deferred(),$message=$("<div></div>"),configuration={autoOpen:!1,modal:!0,buttons:{},zIndex:12e3};return data.title&&$message.attr("title",data.title),$message.html(data.message),data.buttons||(data.buttons={Cancel:function(){return!1},Continue:function(){return!0}},data.not_cancellable&&delete data.buttons.Cancel),$.each(data.buttons,function(name,callback){configuration.buttons[name]=function(){var result=callback();void 0!==result.then?result.then(deferred.resolve,deferred.reject):result?deferred.resolve():deferred.reject()}}),$message.bind("dialogclose",function(){$message.remove(),deferred.reject()}),deferre
d.always(function(){$message.dialog("close")}),$message.dialog(configuration),infrae.ui.ShowDialog($message),deferred.promise()},scroll:function($content,speed,direction,distance,interval){v
ar target,position=$content.scrollTop();switch(direction){case"up":target=position-distance,interval&&(target-=target%interval);break;case"down":target=position+distance,interval&&position%interval!=0&&(target+=interval-target%interval);break;case"absolute":default:target=distance}return $content.stop(!0,!0),$content.animate({scrollTop:target},speed),$content.promise()},update_table_columns:function($table,options,$reference){return"object"!=typeof options.fixed&&(options.fixed={}),$table.each(function(){var $table=$(this),colComputedWidths={},fixedWidths={},totalWidth=0;if(void 0!==$reference){var regex=/([0-9]+)([em%]*)/;$reference.find("colgroup col").each(function(i){var match=$(this).attr("width").match(regex);match&&(colComputedWidths[i]=match[1],fixedWidths[i]=match[2])})}else $tab
le.css("table-layout","auto"),$table.find("tr:visible:first td").each(function(i){options.fixed[i]?(colComputedWidths[i]=options.fixed[i],fixedWidths[i]=null):colComputedWidths[i]=$(this).ou
terWidth(),totalWidth+=colComputedWidths[i]});$table.css("table-layout","fixed"),$table.find("colgroup col").each(function(i){var newColWidth;void 0!==fixedWidths[i]?(newColWidth=colComputedWidths[i],fixedWidths[i]&&(newColWidth+=fixedWidths[i])):newColWidth=Math.round(colComputedWidths[i]/totalWidth*100)+"%",$(this).attr("width",newColWidth)})})}}),infrae.ui=module}(infrae,jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/infrae.views.min.js
--- a/src/silva/ui/static/js/infrae.views.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/infrae.views.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae,jsontemplate){var BUNDLE_RE=/^:bundle:/;$.ajaxSetup({cache:!1});var HTMLResourceTracker=function(){var urls=[],analyze_url=function(original){var parts=original.split("/"),last=parts[parts.length-1];if(last.match(BUNDLE_RE)){parts.pop();var i,files=last.substr(8).split(";"),prefix=parts.join("/"),result=[];for(i=0;files.length>i;i++)result.push({url:[prefix,files[i]].join("/"),file:files[i],prefix:prefix});return result}return[{url:original,file:null,prefix:original}]};return{register:function(new_url){var i,new_urls=analyze_url(new_url);for(i=0;new_urls.length>i;i++)0>$.inArray(new_urls[i].url,urls)&&urls.push(new_urls[i].url)},validate:function(new_url){var i,prefix,files,new_urls=analyze_url(new_url),missing_urls={},result=[];for(i=0;new_urls.length>i;i++)0>$.inArray
(new_urls[i].url,urls)&&(prefix=new_urls[i].prefix,void 0===missing_urls[prefix]&&(missing_urls[prefix]=[]),missing_urls[prefix].push(new_urls[i]));for(prefix in missing_urls)if(1==missing_u
rls[prefix].length&&null===missing_urls[prefix][0].file)result.push(missing_urls[prefix][0].url);else{for(files=[],i=0;missing_urls[prefix].length>i;i++)files.push(missing_urls[prefix][i].file);result.push([prefix,":bundle:"+files.join(";")].join("/"))}return result}}},module={HTMLResourceManager:function($document){var data={css:HTMLResourceTracker(),js:HTMLResourceTracker()},root=$document.get(0),head=root.getElementsByTagName("head")[0],resources={load_js:function(scripts){var urls=infrae.utils.map_concat(scripts,data.js.validate);return urls.length?$.when.apply($,infrae.utils.map(urls,function(url){var script_tag=root.createElement("script"),promise=$.Deferred();return script_tag.async="async",script_tag.type="text/javascript",script_tag.readyState?script_tag.onreadystatechange=functi
on(){("loaded"==script_tag.readyState||"complete"==script_tag.readyState)&&(script_tag.onreadystatechange=null,promise.resolve())}:script_tag.onload=function(){promise.resolve()},script_tag.
src=url,head.appendChild(script_tag),data.js.register(url),promise})):$.Deferred().resolve()},load_css:function(csses){var urls=infrae.utils.map_concat(csses,data.css.validate);return urls.length?$.when.apply($,infrae.utils.map(urls,function(url){var link_tag=root.createElement("link");return link_tag.rel="stylesheet",link_tag.type="text/css",link_tag.href=url,head.appendChild(link_tag),data.css.register(url),$.Deferred().resolve()})):$.Deferred().resolve()}};return $document.ready(function(){$("script").each(function(){var src=$(this).attr("src");void 0!=src&&data.js.register(src)}),$("link").each(function(){var $link=$(this);if("stylesheet"==$link.attr("rel")&&"text/css"==$link.attr("type")){var src=$link.attr("href");void 0!=src&&data.css.register(src)}})}),resources}},template_cache={
},View=function($content,data,factory,args,reject){var view={$content:$content,data:data};$.extend(view,factory.apply($content,args));var render=function(template){view.template_append||($co
ntent.triggerHandler("cleanup-infrae-views"),(view.cleanup||view.iframe)&&$content.one("cleanup-infrae-views",function(){view.cleanup&&view.cleanup(),view.iframe&&($(window).unbind("resize.infrae-views-iframe"),$(window).unbind("workspace-resize-smi.infrae-views-iframe"),$content.removeClass("iframe-view"))}));var deferred=$.Deferred(),$context=$content,resolve=function(){void 0!=reject?deferred.rejectWith(view,reject):deferred.resolveWith(view)},finalizer=function(){var done=null;return void 0!=view.render&&(done=view.render($context),done&&done.promise)?(done.promise().done(resolve),void 0):(resolve(),void 0)};if(view.iframe){if(view.template_append)throw{message:"Cannot use iframe and template_append together"};var $iframe=$('<iframe src="">');view.$iframe=$iframe;var resize=function()
{var height=$content.innerHeight(),width=$content.innerWidth();view.resize_iframe&&view.resize_iframe(width,height)||($iframe.height(height),$iframe.width(width))};resize(),$(window).bind("r
esize.infrae-views-iframe",resize),$(window).bind("workspace-resize-smi.infrae-views-iframe",resize),$content.addClass("iframe-view"),$content.html($iframe);var iframe_window=$iframe.get(0).contentWindow,iframe_document=iframe_window.document;if(view.$window=$(iframe_window),view.$document=$(iframe_document),void 0!==template){view.ready=$.Deferred();var loader=function(){view.ready.resolve(view)};0>template.indexOf("<html")&&0>template.indexOf("<HTML")&&(template="<html><body>"+template+"</body></html>"),iframe_document.write(template),iframe_document.close(),"complete"==iframe_document.readyState?loader():iframe_window.addEventListener?iframe_window.addEventListener("load",loader,!1):iframe_window.attachEvent("onload",loader)}}else void 0!==template&&(view.template_append?($context=$(te
mplate),$content.append($context)):$content.html(template));return finalizer(),deferred.promise()};return function(){var template=void 0,jsont_url=view.template_data&&data.jsont_url||view.js
ont_url;if(jsont_url)return view.template_nocache||(template=template_cache[jsont_url],void 0===template)?$.ajax({type:"GET",url:jsont_url}).then(function(payload){var template=new jsontemplate.Template(payload,{});return template_cache[jsont_url]=template,render(template.expand(data))}):render(template.expand(view));var html_url=view.template_data&&data.html_url||view.html_url;if(html_url)return view.template_nocache||(template=template_cache[html_url],void 0===template)?$.ajax({type:"GET",url:html_url}).then(function(payload){return template_cache[html_url]=payload,render(payload)}):render(template);var jsont=view.template_data&&data.jsont||view.jsont;if(void 0!==jsont)return template=template_cache[jsont],void 0===template&&(template=new jsontemplate.Template(jsont,{}),template_cache[j
sont]=template),render(template.expand(view));var html=view.template_data&&data.html||view.html;return void 0!==html?render(html):render()}};$.extend(module,{Registry:function(){var views={}
,count=0,render_best_view=function($content,data,options){var ifaces=options.ifaces||infrae.interfaces.implemented_by(data),named_views=views[options.name],to_render=null,args=[$content,data].concat(options.args),reject=options.reject;if(named_views)for(var i=0;ifaces.length>i;i++){var definitions=named_views[ifaces[i]];if(definitions&&definitions.length){to_render=View($content,data,definitions[0].factory,args,reject);break}}return null!=to_render?to_render():(window.console&&console.log&&console.log("failed view lookup for options",options,"and",data),$.Deferred().reject({status:604}))},render_all_views=function($content,data,options){var named_views=views[options.name];if(void 0==named_views)return[];var ifaces=options.ifaces||infrae.interfaces.implemented_by(data),seen_definitions=[],
to_render=[],args=[$content,data].concat(options.args),reject=options.reject;return infrae.utils.each(ifaces,function(iface){var definitions=named_views[iface];definitions&&infrae.utils.each
(definitions,function(definition){if(0>$.inArray(definition.__view_uid__,seen_definitions)){if(seen_definitions.push(definition.__view_uid__),void 0!=definition.available&&!definition.available.apply(definition,args))return;to_render.push([definition.order,View($content,data,definition.factory,args,reject)])}})}),to_render.sort(function(v1,v2){return v1[0]-v2[0]}),$.each(to_render,function(i,data){data[1]()}),null},render_url=function($content,url,options){return $.ajax({type:"GET",url:url,dataType:"json"}).then(function(data){return render_best_view($content,data,options)})},registry={register:function(definition){void 0==definition.name&&(definition.name="default"),void 0==definition.order&&(definition.order=0),definition.__view_uid__=""+count,count+=1;var add=function(definition,iface)
{views[definition.name]||(views[definition.name]={}),views[definition.name][iface]||(views[definition.name][iface]=[]),views[definition.name][iface].unshift(definition)};definition.ifaces?in
frae.utils.each(definition.ifaces,function(iface){add(definition,iface)}):add(definition,definition.iface||"object")},render:function($content,options){if(options.name||(options.name="default"),options.data)return render_best_view($content,options.data,options);if(options.every)return render_all_views($content,options.every,options);if(options.url)return render_url($content,options.url,options);throw{message:"Missing required options"}}};return registry}});var default_registry=module.Registry();$.extend(module,{view:function(definition){default_registry.register(definition)},render:function($content,options){return default_registry.render($content,options)}}),$.fn.render=function(options){return default_registry.render($(this),options)},infrae.views=module})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae,jsontemplate){var BUNDLE_RE=/^:bundle:/;$.ajaxSetup({cache:!1});var HTMLResourceTracker=function(){var urls=[],analyze_url=function(original){var parts=original.split("/"),last=parts[parts.length-1];if(last.match(BUNDLE_RE)){parts.pop();var i,files=last.substr(8).split(";"),prefix=parts.join("/"),result=[];for(i=0;i<files.length;i++)result.push({url:[prefix,files[i]].join("/"),file:files[i],prefix:prefix});return result}return[{url:original,file:null,prefix:original}]};return{register:function(new_url){var i,new_urls=analyze_url(new_url);for(i=0;i<new_urls.length;i++)$.inArray(new_urls[i].url,urls)<0&&urls.push(new_urls[i].url)},validate:function(new_url){var i,prefix,files,new_urls=analyze_url(new_url),missing_urls={},result=[];for(i=0;i<new_urls.length;i++)$.inArray(n
ew_urls[i].url,urls)<0&&(prefix=new_urls[i].prefix,void 0===missing_urls[prefix]&&(missing_urls[prefix]=[]),missing_urls[prefix].push(new_urls[i]));for(prefix in missing_urls)if(1==missing_u
rls[prefix].length&&null===missing_urls[prefix][0].file)result.push(missing_urls[prefix][0].url);else{for(files=[],i=0;i<missing_urls[prefix].length;i++)files.push(missing_urls[prefix][i].file);result.push([prefix,":bundle:"+files.join(";")].join("/"))}return result}}},module={HTMLResourceManager:function($document){var data={css:HTMLResourceTracker(),js:HTMLResourceTracker()},root=$document.get(0),head=root.getElementsByTagName("head")[0],resources={load_js:function(scripts){var urls=infrae.utils.map_concat(scripts,data.js.validate);return urls.length?$.when.apply($,infrae.utils.map(urls,function(url){var script_tag=root.createElement("script"),promise=$.Deferred();return script_tag.async="async",script_tag.type="text/javascript",script_tag.readyState?script_tag.onreadystatechange=functi
on(){("loaded"==script_tag.readyState||"complete"==script_tag.readyState)&&(script_tag.onreadystatechange=null,promise.resolve())}:script_tag.onload=function(){promise.resolve()},script_tag.
src=url,head.appendChild(script_tag),data.js.register(url),promise})):$.Deferred().resolve()},load_css:function(csses){var urls=infrae.utils.map_concat(csses,data.css.validate);return urls.length?$.when.apply($,infrae.utils.map(urls,function(url){var link_tag=root.createElement("link");return link_tag.rel="stylesheet",link_tag.type="text/css",link_tag.href=url,head.appendChild(link_tag),data.css.register(url),$.Deferred().resolve()})):$.Deferred().resolve()}};return $document.ready(function(){$("script").each(function(){var src=$(this).attr("src");void 0!=src&&data.js.register(src)}),$("link").each(function(){var $link=$(this);if("stylesheet"==$link.attr("rel")&&"text/css"==$link.attr("type")){var src=$link.attr("href");void 0!=src&&data.css.register(src)}})}),resources}},template_cache={
},View=function($content,data,factory,args,reject){var view={$content:$content,data:data};$.extend(view,factory.apply($content,args));var render=function(template){view.template_append||($co
ntent.triggerHandler("cleanup-infrae-views"),(view.cleanup||view.iframe)&&$content.one("cleanup-infrae-views",function(){view.cleanup&&view.cleanup(),view.iframe&&($(window).unbind("resize.infrae-views-iframe"),$(window).unbind("workspace-resize-smi.infrae-views-iframe"),$content.removeClass("iframe-view"))}));var deferred=$.Deferred(),$context=$content,resolve=function(){void 0!=reject?deferred.rejectWith(view,reject):deferred.resolveWith(view)},finalizer=function(){var done=null;return void 0!=view.render&&(done=view.render($context),done&&done.promise)?(done.promise().done(resolve),void 0):(resolve(),void 0)};if(view.iframe){if(view.template_append)throw{message:"Cannot use iframe and template_append together"};var $iframe=$('<iframe src="">');view.$iframe=$iframe;var resize=function()
{var height=$content.innerHeight(),width=$content.innerWidth();view.resize_iframe&&view.resize_iframe(width,height)||($iframe.height(height),$iframe.width(width))};resize(),$(window).bind("r
esize.infrae-views-iframe",resize),$(window).bind("workspace-resize-smi.infrae-views-iframe",resize),$content.addClass("iframe-view"),$content.html($iframe);var iframe_window=$iframe.get(0).contentWindow,iframe_document=iframe_window.document;if(view.$window=$(iframe_window),view.$document=$(iframe_document),void 0!==template){view.ready=$.Deferred();var loader=function(){view.ready.resolve(view)};template.indexOf("<html")<0&&template.indexOf("<HTML")<0&&(template="<html><body>"+template+"</body></html>"),iframe_document.write(template),iframe_document.close(),"complete"==iframe_document.readyState?loader():iframe_window.addEventListener?iframe_window.addEventListener("load",loader,!1):iframe_window.attachEvent("onload",loader)}}else void 0!==template&&(view.template_append?($context=$(te
mplate),$content.append($context)):$content.html(template));return finalizer(),deferred.promise()};return function(){var template=void 0,jsont_url=view.template_data&&data.jsont_url||view.js
ont_url;if(jsont_url)return view.template_nocache||(template=template_cache[jsont_url],void 0===template)?$.ajax({type:"GET",url:jsont_url}).then(function(payload){var template=new jsontemplate.Template(payload,{});return template_cache[jsont_url]=template,render(template.expand(data))}):render(template.expand(view));var html_url=view.template_data&&data.html_url||view.html_url;if(html_url)return view.template_nocache||(template=template_cache[html_url],void 0===template)?$.ajax({type:"GET",url:html_url}).then(function(payload){return template_cache[html_url]=payload,render(payload)}):render(template);var jsont=view.template_data&&data.jsont||view.jsont;if(void 0!==jsont)return template=template_cache[jsont],void 0===template&&(template=new jsontemplate.Template(jsont,{}),template_cache[j
sont]=template),render(template.expand(view));var html=view.template_data&&data.html||view.html;return void 0!==html?render(html):render()}};$.extend(module,{Registry:function(){var views={}
,count=0,render_best_view=function($content,data,options){var ifaces=options.ifaces||infrae.interfaces.implemented_by(data),named_views=views[options.name],to_render=null,args=[$content,data].concat(options.args),reject=options.reject;if(named_views)for(var i=0;i<ifaces.length;i++){var definitions=named_views[ifaces[i]];if(definitions&&definitions.length){to_render=View($content,data,definitions[0].factory,args,reject);break}}return null!=to_render?to_render():(window.console&&console.log&&console.log("failed view lookup for options",options,"and",data),$.Deferred().reject({status:604}))},render_all_views=function($content,data,options){var named_views=views[options.name];if(void 0==named_views)return[];var ifaces=options.ifaces||infrae.interfaces.implemented_by(data),seen_definitions=[],
to_render=[],args=[$content,data].concat(options.args),reject=options.reject;return infrae.utils.each(ifaces,function(iface){var definitions=named_views[iface];definitions&&infrae.utils.each
(definitions,function(definition){if($.inArray(definition.__view_uid__,seen_definitions)<0){if(seen_definitions.push(definition.__view_uid__),void 0!=definition.available&&!definition.available.apply(definition,args))return;to_render.push([definition.order,View($content,data,definition.factory,args,reject)])}})}),to_render.sort(function(v1,v2){return v1[0]-v2[0]}),$.each(to_render,function(i,data){data[1]()}),null},render_url=function($content,url,options){return $.ajax({type:"GET",url:url,dataType:"json"}).then(function(data){return render_best_view($content,data,options)})},registry={register:function(definition){void 0==definition.name&&(definition.name="default"),void 0==definition.order&&(definition.order=0),definition.__view_uid__=count.toString(),count+=1;var add=function(definitio
n,iface){views[definition.name]||(views[definition.name]={}),views[definition.name][iface]||(views[definition.name][iface]=[]),views[definition.name][iface].unshift(definition)};definition.i
faces?infrae.utils.each(definition.ifaces,function(iface){add(definition,iface)}):add(definition,definition.iface||"object")},render:function($content,options){if(options.name||(options.name="default"),options.data)return render_best_view($content,options.data,options);if(options.every)return render_all_views($content,options.every,options);if(options.url)return render_url($content,options.url,options);throw{message:"Missing required options"}}};return registry}});var default_registry=module.Registry();$.extend(module,{view:function(definition){default_registry.register(definition)},render:function($content,options){return default_registry.render($content,options)}}),$.fn.render=function(options){return default_registry.render($(this),options)},infrae.views=module}(jQuery,infrae,jsontempl
ate);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/listing.columns.min.js
--- a/src/silva/ui/static/js/listing.columns.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/listing.columns.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae){var columns=infrae.views.Registry();columns.register({name:"icon",factory:function($content,data,column,value){var template='<a class="preview-icon"><ins class="icon"></ins></a>';return column.action&&(template='<a class="open-screen preview-icon" href="{data.path|htmltag}" rel="{column.action|htmltag}"><ins class="icon"></ins></a>'),{column:column,jsont:template,render:function(){infrae.ui.icon($content.find("ins"),value)}}}}),columns.register({name:"text",factory:function($content,data,column,value){var template="{value}";return column.action&&(void 0===column.action_match||infrae.utils.test(data,column.action_match))&&(template='<a class="open-screen" rel="{column.action|htmltag}" href="{data.path|htmltag}">{value}</a>'),{value:value,jsont:template,column:column}}})
,columns.register({name:"move",factory:function($content,data,column,value){return{render:function(){value&&$content.addClass("moveable icon silva_dotted_horizontal")}}}}),columns.register({
name:"goto",factory:function($content,data,column,value){for(var entries=[],i=0,len=column.menu.length;len>i;i++){var entry=column.menu[i];(void 0===entry.item_match||infrae.utils.test(data,entry.item_match))&&entries.push('<li><a class="ui-state-default open-screen" href="'+data.path+'" rel="'+entry.screen+'"><span>'+entry.caption+"</span></a></li>")}return{column:column,value:value,dropdown:entries.join(""),jsont:'<div class="actions"><ol><li class="last-action"><a class="ui-state-default open-screen" rel="{column.index.screen|htmltag}" href="{data.path|htmltag}"><div class="dropdown-icon"><ins class="ui-icon ui-icon-triangle-1-s" /></div><span>{column.index.caption}</span></a><div class="dropdown"><ol>{dropdown}</ol></div></li></ol></div>',render:function(){$content.addClass("hasdropdo
wn active")}}}}),columns.register({name:"workflow",factory:function($content,data,column,value){if(null!==value){var state=["state",value].join(" ");return{state:state,description:column.sta
tus[value],jsont:'<ins class="{state|htmltag}" title="{description|htmltag}"></ins>',render:function(){$content.addClass(column.name)}}}return{html:""}}}),infrae.smi.listing.columns=columns})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae){var columns=infrae.views.Registry();columns.register({name:"icon",factory:function($content,data,column,value){var template='<a class="preview-icon"><ins class="icon"></ins></a>';return column.action&&(template='<a class="open-screen preview-icon" href="{data.path|htmltag}" rel="{column.action|htmltag}"><ins class="icon"></ins></a>'),{column:column,jsont:template,render:function(){infrae.ui.icon($content.find("ins"),value)}}}}),columns.register({name:"text",factory:function($content,data,column,value){var template="{value}";return column.action&&(void 0===column.action_match||infrae.utils.test(data,column.action_match))&&(template='<a class="open-screen" rel="{column.action|htmltag}" href="{data.path|htmltag}">{value}</a>'),{value:value,jsont:template,column:column}}})
,columns.register({name:"move",factory:function($content,data,column,value){return{render:function(){value&&$content.addClass("moveable icon silva_dotted_horizontal")}}}}),columns.register({
name:"goto",factory:function($content,data,column,value){for(var entries=[],i=0,len=column.menu.length;len>i;i++){var entry=column.menu[i];(void 0===entry.item_match||infrae.utils.test(data,entry.item_match))&&entries.push('<li><a class="ui-state-default open-screen" href="'+data.path+'" rel="'+entry.screen+'"><span>'+entry.caption+"</span></a></li>")}return{column:column,value:value,dropdown:entries.join(""),jsont:'<div class="actions"><ol><li class="last-action"><a class="ui-state-default open-screen" rel="{column.index.screen|htmltag}" href="{data.path|htmltag}"><div class="dropdown-icon"><ins class="ui-icon ui-icon-triangle-1-s" /></div><span>{column.index.caption}</span></a><div class="dropdown"><ol>{dropdown}</ol></div></li></ol></div>',render:function(){$content.addClass("hasdropdo
wn active")}}}}),columns.register({name:"workflow",factory:function($content,data,column,value){if(null!==value){var state=["state",value].join(" ");return{state:state,description:column.sta
tus[value],jsont:'<ins class="{state|htmltag}" title="{description|htmltag}"></ins>',render:function(){$content.addClass(column.name)}}}return{html:""}}}),infrae.smi.listing.columns=columns}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/listing.footer.min.js
--- a/src/silva/ui/static/js/listing.footer.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/listing.footer.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae){infrae.views.view({iface:"content",name:"clipboarditem.smilisting",factory:function($content,data,state){return{render:function(){var $item=$('<li class="clipboard-item '+state+'"></li>');if(data.title)if(data.path){var $link=$('<a class="open-screen"></a>');$link.attr("href",data.path),$link.text(data.title),$item.append($link)}else $item.text(data.title);if(data.icon){var $icon=$('<ins class="icon"></icon>');infrae.ui.icon($icon,data.icon),$item.prepend($icon)}$content.append($item)}}}});var render_clipboard=function($info,smi){var $popup=$info.children(".clipboard-content"),$detail=$info.children("a"),$icon=$detail.children("ins"),$count=$detail.children(".count"),is_uptodate=!1,update=function(){$popup.empty(),$.each(smi.clipboard.cutted,function(i,item){$popup.ren
der({data:item,name:"clipboarditem.smilisting",args:["cutted"]})}),$.each(smi.clipboard.copied,function(i,item){$popup.render({data:item,name:"clipboarditem.smilisting",args:["copied"]})}),i
s_uptodate=!0},onchange=function(){var length=smi.clipboard.length();$count.text(""+length),$popup.is(":visible")?update():is_uptodate=!1,length?$icon.show():$icon.hide()};onchange(),$("body").bind("contentchange-smiclipboard",onchange);var toggle=function(){var is_visible=$popup.is(":visible"),is_unfoldable=$icon.is(":visible");is_uptodate||is_visible||update(),(is_visible||is_unfoldable)&&$popup.fadeToggle()};$detail.bind("click",function(){return toggle(),!1}),$popup.bind("mouseleave",function(){$popup.fadeOut()})},render_counters=function($counters,listing){listing.events.content(function(){for(var name in this){var $counter=$counters.find("."+name+" .count");$counter.text(""+this[name])}})};infrae.views.view({iface:"listing",name:"footer",factory:function($content,data,smi,listing){r
eturn{render:function(){infrae.ui.selection.disable($content),render_clipboard($content.find(".clipboard-info"),smi),render_counters($content.find(".counters"),listing),$content.children(".l
isting-footer-loading").hide(),$content.children(".listing-footer-content").show()}}}})})(jQuery,infrae);
\ No newline at end of file
+!function($,infrae){infrae.views.view({iface:"content",name:"clipboarditem.smilisting",factory:function($content,data,state){return{render:function(){var $item=$('<li class="clipboard-item '+state+'"></li>');if(data.title)if(data.path){var $link=$('<a class="open-screen"></a>');$link.attr("href",data.path),$link.text(data.title),$item.append($link)}else $item.text(data.title);if(data.icon){var $icon=$('<ins class="icon"></icon>');infrae.ui.icon($icon,data.icon),$item.prepend($icon)}$content.append($item)}}}});var render_clipboard=function($info,smi){var $popup=$info.children(".clipboard-content"),$detail=$info.children("a"),$icon=$detail.children("ins"),$count=$detail.children(".count"),is_uptodate=!1,update=function(){$popup.empty(),$.each(smi.clipboard.cutted,function(i,item){$popup.ren
der({data:item,name:"clipboarditem.smilisting",args:["cutted"]})}),$.each(smi.clipboard.copied,function(i,item){$popup.render({data:item,name:"clipboarditem.smilisting",args:["copied"]})}),i
s_uptodate=!0},onchange=function(){var length=smi.clipboard.length();$count.text(length.toString()),$popup.is(":visible")?update():is_uptodate=!1,length?$icon.show():$icon.hide()};onchange(),$("body").bind("contentchange-smiclipboard",onchange);var toggle=function(){var is_visible=$popup.is(":visible"),is_unfoldable=$icon.is(":visible");is_uptodate||is_visible||update(),(is_visible||is_unfoldable)&&$popup.fadeToggle()};$detail.bind("click",function(){return toggle(),!1}),$popup.bind("mouseleave",function(){$popup.fadeOut()})},render_counters=function($counters,listing){listing.events.content(function(){for(var name in this){var $counter=$counters.find("."+name+" .count");$counter.text(this[name].toString())}})};infrae.views.view({iface:"listing",name:"footer",factory:function($content,dat
a,smi,listing){return{render:function(){infrae.ui.selection.disable($content),render_clipboard($content.find(".clipboard-info"),smi),render_counters($content.find(".counters"),listing),$cont
ent.children(".listing-footer-loading").hide(),$content.children(".listing-footer-content").show()}}}})}(jQuery,infrae);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/listing.items.min.js
--- a/src/silva/ui/static/js/listing.items.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/listing.items.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae){var toggle_header=function($header,$container,configuration){var $marker=$header.children("ins.ui-icon"),toggle_marker=function(){$marker.hasClass("ui-icon-triangle-1-e")?($marker.removeClass("ui-icon-triangle-1-e"),$marker.addClass("ui-icon-triangle-1-s")):($marker.removeClass("ui-icon-triangle-1-s"),$marker.addClass("ui-icon-triangle-1-e"))},toggle_collapsing=function(){configuration.collapsed=!configuration.collapsed,toggle_marker(),$header.toggleClass("collapsed"),$container.toggleClass("collapsed"),$header.trigger("collapsingchange-smilisting")};configuration.collapsed&&(toggle_marker(),$header.addClass("collapsed"),$container.addClass("collapsed"),$header.trigger("collapsingchange-smilisting")),$header.bind("click",function(){return toggle_collapsing(),!1})},sort
_items=function($container,$table,callback){var original=null;$container.tableDnD({dragHandle:"moveable",onDragClass:"moving",onAllowDrop:function(row,candidate){return 0!=$(candidate).data(
"smilisting").moveable},onDragStart:function(row){return $table.hasClass("filtering")?!1:(original=$(row).parent("tr").index(),$table.trigger("resetselection-smilisting"),$table.removeClass("static"),void 0)},onDrop:function(row){var $line=$(row),position=$line.index(),data=$line.data("smilisting");position!=original?(position>original&&(original-=1),$container.children("tr.item:first").data("smilisting").moveable||(position-=1),callback([{name:"content",value:data.id},{name:"position",value:position}]).then(function(success){return success||(original>position&&(original-=1),$line.detach(),$line.insertAfter($container.children("tr.item:eq("+original+")"))),$table.addClass("static"),success})):$table.addClass("static")}})};infrae.views.view({iface:"listing-items",name:"listing-container",f
actory:function($listing,data,configuration,api){var insert_line=function($line,data,position){if(position>-1){var $after=api.$container.children().eq(position);$after.length?$after.before($
line):api.$container.append($line)}else api.$container.append($line)},render_line=function(data){var $line=$('<tr class="item"></tr>'),line={};$line.attr("id","list"+(""+data.id));var render_cell=function(column){var $cell=$("<td></td>");column.view&&($cell.bind("refreshcell-smilisting",function(event,data){var $cell=$(this),value=null;column.name&&(value=data[column.name]),infrae.smi.listing.columns.render($cell,{data:data,name:column.view,ifaces:["object"],args:[column,value]}),event.stopPropagation(),event.preventDefault()}),void 0!==column.name&&void 0!==column.renameable&&($cell.addClass("renameable"),$cell.bind("renamecell-smilisting",function(event,data){if(event.stopPropagation(),event.preventDefault(),void 0===column.renameable.item_match||infrae.utils.test(data,column.renameable
.item_match)){var $cell=$(this),$field=$('<input class="renaming" type="text" />');$field.attr("name",column.name),$field.val(data[column.name]),$cell.empty(),$cell.append($field)}}))),$line
.append($cell)};return infrae.utils.each(configuration.columns,render_cell),$.extend(line,{update:function(data){if(void 0!=data){if($line.data("smilisting",data),data.position>-1){var new_position=data.position,$first=api.$container.children("tr.item:first");$first.length&&$first.data("smilisting").moveable&&(new_position-=1),new_position>0&&api.$container.children().index($line)!=new_position&&($line.detach(),insert_line($line,data,new_position))}}else data=$line.data("smilisting");$line.children().each(function(){$(this).triggerHandler("refreshcell-smilisting",data)})},rename:function(){var data=$line.data("smilisting");$line.find("td.renameable").each(function(){$(this).triggerHandler("renamecell-smilisting",data)})},values:function(){var $inputs=$line.find("input.renaming");if(!$inpu
ts.length)return void 0;var data=$line.data("smilisting"),values={id:data.id};return $inputs.each(function(){var $input=$(this);values[$input.attr("name")]=$input.val()}),values}}),line.upda
te(data),$line.data("smilisting-line",line),insert_line($line,data,data.position),$line.get(0)};return $.extend(api,{title:configuration.title,add:function(lines,initial){var deferred=$.Deferred();return lines.length?(initial||api.$table.children(".empty").remove(),api.$table.prepend("<colgroup>"+Array(configuration.columns.length+1).join("<col></col>")+"</colgroup>"),this.add=function(lines){return api.worker.add(lines,render_line)},api.add(lines)):(initial&&api.$table.append('<tr class="empty"><td colpsan="'+configuration.columns.length+'">There are no items here.</td></tr>'),deferred.resolve([]),deferred.promise())},$container:null,$table:null}),$.extend({template_append:!0,jsont:'<dt class="ui-state-default"><ins class="ui-icon ui-icon-triangle-1-s"></ins>{title}</dt><dd><table class=
"static"><tbody></tbody></table></dd>',render:function($content){return api.$table=$content.find("table"),api.$container=api.$table.find("tbody"),toggle_header($content.filter("dt"),$content
.filter("dd"),configuration),api.sort&&sort_items(api.$container,api.$table,api.sort),api.add(data.items,!0)}},api)}})})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae){var toggle_header=function($header,$container,configuration){var $marker=$header.children("ins.ui-icon"),toggle_marker=function(){$marker.hasClass("ui-icon-triangle-1-e")?($marker.removeClass("ui-icon-triangle-1-e"),$marker.addClass("ui-icon-triangle-1-s")):($marker.removeClass("ui-icon-triangle-1-s"),$marker.addClass("ui-icon-triangle-1-e"))},toggle_collapsing=function(){configuration.collapsed=!configuration.collapsed,toggle_marker(),$header.toggleClass("collapsed"),$container.toggleClass("collapsed"),$header.trigger("collapsingchange-smilisting")};configuration.collapsed&&(toggle_marker(),$header.addClass("collapsed"),$container.addClass("collapsed"),$header.trigger("collapsingchange-smilisting")),$header.bind("click",function(){return toggle_collapsing(),!1})},sort
_items=function($container,$table,callback){var original=null;$container.tableDnD({dragHandle:"moveable",onDragClass:"moving",onAllowDrop:function(row,candidate){return 0!=$(candidate).data(
"smilisting").moveable},onDragStart:function(row){return $table.hasClass("filtering")?!1:(original=$(row).parent("tr").index(),$table.trigger("resetselection-smilisting"),$table.removeClass("static"),void 0)},onDrop:function(row){var $line=$(row),position=$line.index(),data=$line.data("smilisting");position!=original?(position>original&&(original-=1),$container.children("tr.item:first").data("smilisting").moveable||(position-=1),callback([{name:"content",value:data.id},{name:"position",value:position}]).then(function(success){return success||(original>position&&(original-=1),$line.detach(),$line.insertAfter($container.children("tr.item:eq("+original+")"))),$table.addClass("static"),success})):$table.addClass("static")}})};infrae.views.view({iface:"listing-items",name:"listing-container",f
actory:function($listing,data,configuration,api){var insert_line=function($line,data,position){if(position>-1){var $after=api.$container.children().eq(position);$after.length?$after.before($
line):api.$container.append($line)}else api.$container.append($line)},render_line=function(data){var $line=$('<tr class="item"></tr>'),line={};$line.attr("id","list"+data.id.toString());var render_cell=function(column){var $cell=$("<td></td>");column.view&&($cell.bind("refreshcell-smilisting",function(event,data){var $cell=$(this),value=null;column.name&&(value=data[column.name]),infrae.smi.listing.columns.render($cell,{data:data,name:column.view,ifaces:["object"],args:[column,value]}),event.stopPropagation(),event.preventDefault()}),void 0!==column.name&&void 0!==column.renameable&&($cell.addClass("renameable"),$cell.bind("renamecell-smilisting",function(event,data){if(event.stopPropagation(),event.preventDefault(),void 0===column.renameable.item_match||infrae.utils.test(data,column.rena
meable.item_match)){var $cell=$(this),$field=$('<input class="renaming" type="text" />');$field.attr("name",column.name),$field.val(data[column.name]),$cell.empty(),$cell.append($field)}})))
,$line.append($cell)};return infrae.utils.each(configuration.columns,render_cell),$.extend(line,{update:function(data){if(void 0!=data){if($line.data("smilisting",data),data.position>-1){var new_position=data.position,$first=api.$container.children("tr.item:first");$first.length&&$first.data("smilisting").moveable&&(new_position-=1),new_position>0&&api.$container.children().index($line)!=new_position&&($line.detach(),insert_line($line,data,new_position))}}else data=$line.data("smilisting");$line.children().each(function(){$(this).triggerHandler("refreshcell-smilisting",data)})},rename:function(){var data=$line.data("smilisting");$line.find("td.renameable").each(function(){$(this).triggerHandler("renamecell-smilisting",data)})},values:function(){var $inputs=$line.find("input.renaming");if(
!$inputs.length)return void 0;var data=$line.data("smilisting"),values={id:data.id};return $inputs.each(function(){var $input=$(this);values[$input.attr("name")]=$input.val()}),values}}),lin
e.update(data),$line.data("smilisting-line",line),insert_line($line,data,data.position),$line.get(0)};return $.extend(api,{title:configuration.title,add:function(lines,initial){var deferred=$.Deferred();return lines.length?(initial||api.$table.children(".empty").remove(),api.$table.prepend("<colgroup>"+Array(configuration.columns.length+1).join("<col></col>")+"</colgroup>"),this.add=function(lines){return api.worker.add(lines,render_line)},api.add(lines)):(initial&&api.$table.append('<tr class="empty"><td colpsan="'+configuration.columns.length+'">There are no items here.</td></tr>'),deferred.resolve([]),deferred.promise())},$container:null,$table:null}),$.extend({template_append:!0,jsont:'<dt class="ui-state-default"><ins class="ui-icon ui-icon-triangle-1-s"></ins>{title}</dt><dd><table
class="static"><tbody></tbody></table></dd>',render:function($content){return api.$table=$content.find("table"),api.$container=api.$table.find("tbody"),toggle_header($content.filter("dt"),$c
ontent.filter("dd"),configuration),api.sort&&sort_items(api.$container,api.$table,api.sort),api.add(data.items,!0)}},api)}})}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/listing.min.js
--- a/src/silva/ui/static/js/listing.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/listing.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae,jsontemplate){var render_multi_selector=function($selector,listing,shortcuts){var status="none",set_status=function(new_status){$selector.removeClass(status),$selector.addClass(new_status),status=new_status};listing.events.status(function(){0==this.selection.length?set_status("none"):this.selection.length==this.length?set_status("all"):1==this.selection.length?set_status("single"):set_status("partial")});var switch_status=function(){return"none"==status?listing.select_all():listing.unselect_all(),!1},clear_status=function(){return listing.unselect_all(),!1};$selector.bind("click",switch_status),shortcuts.bind("listing",null,["ctrl+a"],switch_status),shortcuts.bind("listing",null,["esc"],clear_status)},render_listing_header=function($content,configuration,listing,shortcu
ts){var first_configuration=configuration.listing[0],$table=$content.find("div.listing-header table"),$header=$table.find("tr");$table.prepend("<colgroup>"+Array(first_configuration.columns.
length+1).join("<col></col>")+"</colgroup>"),$.each(first_configuration.columns,function(index,column){var $cell=$("<th></th>");index||($cell.html('<div class="selector"><ins class="none"></ins></div>'),render_multi_selector($cell.find("ins"),listing,shortcuts)),column.caption&&$cell.text(column.caption),$header.append($cell)}),infrae.ui.selection.disable($header)},render_selection=function($viewport,$containers,selector,smi){var last_selected_index=null,$hovered_row=null,shortcuts=smi.shortcuts,get_hovered_row=function(){return null===$hovered_row&&($hovered_row=$containers.first().find("tr.item:first"),$hovered_row.addClass("hover")),$hovered_row},clear_hovered_row=function(){null!==$hovered_row&&$hovered_row.removeClass("hover"),$hovered_row=null},set_hovered_row=function($row){$row.le
ngth&&(clear_hovered_row(),$hovered_row=$row,$hovered_row.addClass("hover"))},mouved_mouse=!0;$containers.bind("mousemove",function(){mouved_mouse=!0}),$containers.delegate("tr.item","mousee
nter",function(){mouved_mouse&&set_hovered_row($(this))}),$containers.delegate("tr.item","mouseleave",function(){mouved_mouse&&clear_hovered_row()}),$containers.bind("resetselection-smilisting",function(){clear_hovered_row(),last_selected_index=null});var select_row=function($row,multiple){if(null!==last_selected_index&&multiple){var current_index=$row.index();if(current_index!=last_selected_index){var start=0,end=0;current_index>last_selected_index?(start=last_selected_index+1,end=current_index+1):(start=current_index,end=last_selected_index);var $lines=$row.parent().children().slice(start,end).filter(".item:visible");selector($lines)}last_selected_index=current_index}else last_selected_index=$row.index(),selector($row)};$containers.delegate("tr.item","click",!1);var opened_dropdown=null
;$containers.delegate("tr.item div.dropdown","mouseleave",function(){null!==opened_dropdown&&(opened_dropdown.fadeOut("fast"),opened_dropdown=null)}),$containers.delegate("tr.item div.dropdo
wn-icon","mousedown",function(event){return null!==opened_dropdown&&opened_dropdown.fadeOut("fast"),opened_dropdown=$(event.target).parents("a").next(),opened_dropdown.fadeToggle(),event.preventDefault(),event.stopPropagation(),!1}),$containers.delegate("tr.item a.open-screen","mousedown",function(event){return smi.open_screen_from_link($(event.currentTarget)),event.stopPropagation(),event.preventDefault(),!1}),$containers.tipsy({gravity:"w",delegate:"ins.state"}),$containers.delegate("tr.item","mousedown",function(event){var target=$(event.target);return target.is('input[type="text"]')?(target.focus(),void 0):(select_row($(this),event.shiftKey),event.preventDefault(),event.stopPropagation(),!1)}),shortcuts.bind("listing",null,["space","shift+space"],function(event){return select_row(get_
hovered_row(),event.shiftKey),!1});var scroll_line_into_view=function($line){var target,limit,top=$line.position().top,height=$line.outerHeight();25>top?(target=$viewport.scrollTop()-25+top,
infrae.ui.scroll($viewport,"fast","absolute",target)):(limit=$viewport.innerHeight()-height-25,top>limit&&(target=$viewport.scrollTop()+(top-limit),infrae.ui.scroll($viewport,"fast","absolute",target)))};shortcuts.bind("listing",null,["up","shift+up"],function(event){for(var $row=get_hovered_row(),$candidate=$row.prev();$candidate.length&&!$candidate.is(":visible");)$candidate=$candidate.prev();return $candidate.length&&(mouved_mouse=!1,set_hovered_row($candidate),event.shiftKey&&select_row($candidate),scroll_line_into_view($candidate)),!1}),shortcuts.bind("listing",null,["down","shift+down"],function(event){for(var $row=get_hovered_row(),$candidate=$row.next();$candidate.length&&!$candidate.is(":visible");)$candidate=$candidate.next();return $candidate.length&&(mouved_mouse=!1,set_hovere
d_row($candidate),event.shiftKey&&select_row($candidate),scroll_line_into_view($candidate)),!1})},worker=infrae.deferred.LazyCallbacks(),get_dom_line=function(id){return document.getElementB
yId("list"+(""+id))},get_lines=function(ids){if(ids.length){for(var index=ids.length-1,$lines=$(get_dom_line(ids[index]));index--;)$lines=$lines.add(get_dom_line(ids[index]));return $lines}return $([])},new_transaction=function(){var finalizer=[];return{require:function(callback){0>$.inArray(callback,finalizer)&&finalizer.push(callback)},commit:function(){setTimeout(function(){for(;finalizer.length;)finalizer.pop()()},0)}}};$(document).bind("load-smilisting",function(event,data){data.smi;var configuration=data.configuration;infrae.views.view({iface:"listing",name:"content",factory:function($content,data,smi){var listing={},selection=infrae.smi.listing.Selection(),$containers=$([]),by_name={},events={status:infrae.deferred.Callbacks(),content:infrae.deferred.Callbacks()};events.content.con
text(function(){var info={};for(var name in by_name)info[name]=by_name[name].$container.children("tr.item").length;return info}),events.status.context(function(){var status=selection.status(
);return $.extend(status,{content:data.content,clipboard:{length:smi.clipboard.length(),cutted:smi.clipboard.cutted,copied:smi.clipboard.copied},get_transaction:function(){var transaction=new_transaction();return $.extend(transaction,{rename:{rename:function(deferred){selection.rename(deferred)&&transaction.require(events.status.invoke)},collect:function(success){selection.collect(success),transaction.require(events.status.invoke)}},listing:{add:function(data){var promises=[];for(var name in by_name){var lines=data[name];lines&&lines.length&&promises.push(by_name[name].add(lines))}return promises.length?$.when.apply(null,promises).then(function(lines){var $added=$(lines);return $added.length&&(selection.select($added),transaction.require(events.content.invoke),transaction.require(events.s
tatus.invoke)),$added}):null},update:function(lines){return lines.length?worker.add(lines,function(data){var line=get_dom_line(data.id);return $(line).data("smilisting-line").update(data),li
ne}).then(function(lines){return transaction.require(events.status.invoke),$(lines)}):null},remove:function(ids){var $lines=get_lines(ids);return $lines.length&&(selection.remove($lines),transaction.require(events.content.invoke),transaction.require(events.status.invoke)),null}},clipboard:{cut:function(data){return smi.clipboard.cut(data),transaction.require(events.status.invoke),null},copy:function(data){return smi.clipboard.copy(data),transaction.require(events.status.invoke),null},update:function(data){smi.clipboard.update(data),transaction.require(events.status.invoke)},remove:function(data){return smi.clipboard.remove(data),transaction.require(events.status.invoke),null},clear:function(){return smi.clipboard.clear(),null}}}),transaction},query:configuration.query}),status});var updat
e_container_sizes=function(){var $header=$content.find("div.listing-header table"),$reference=null,layout=null,others=[],other_layouts=[];if(infrae.utils.each(configuration.listing,function(
section){var $table,container=by_name[section.name];void 0!==container&&($table=container.$table,$table.is(":visible")&&$table.find("tr.item").length&&(null===$reference?($reference=$table,layout=section.layout):(others.push($table),other_layouts.push(section.layout))))}),null!==$reference){var update=infrae.ui.update_table_columns;update($reference,layout),update($header,{},$reference);for(var i=0;others.length>i;i++)update(others[i],other_layouts[i],$reference)}};return events.content.add(update_container_sizes),$.extend(listing,{html_url:smi.options.listing.templates.content,events:{content:function(callback){events.content.add(callback,!0)},status:function(callback){events.status.add(callback,!0)}},filter_lines:function(value){if(value){var pattern=RegExp(value,"i");$.each(configurati
on.listing,function(i,configuration){var $container=by_name[configuration.name].$container,$table=by_name[configuration.name].$table;$table.addClass("filtering"),$container.children(".item")
.each(function(){var $line=$(this);configuration.filter(pattern,$line.data("smilisting"))?$line.show():$line.hide()})})}else $.each(configuration.listing,function(i,configuration){var $container=by_name[configuration.name].$container,$table=by_name[configuration.name].$table;$table.removeClass("filtering"),$container.children(".item").show()});events.status.invoke()},unselect_all:function(){selection.unselect($containers.children("tr.item.selected:visible"))&&events.status.invoke()},select_all:function(){selection.select($containers.children("tr.item:visible"))&&events.status.invoke()},render:function(){var $listing=$content.find("dl.listing");smi.shortcuts.create("listing",$content,!0),render_listing_header($content,configuration,listing,smi.shortcuts);var promises=[];$.each(configuratio
n.listing,function(i,configuration){var api={worker:worker};(!configuration.content_match||infrae.utils.test(data.content,configuration.content_match))&&(configuration.sortable&&infrae.utils
.test(data.content,configuration.sortable.content_match)&&(api.sort=configuration.sortable.sort),promises.push(infrae.views.render($listing,{data:data.items[configuration.name],name:"listing-container",args:[configuration,api]})),$containers=$containers.add(api.$container),by_name[configuration.name]=api)}),render_selection($listing,$containers,function($items){selection.toggle($items)&&events.status.invoke()},smi),update_container_sizes(),$content.bind("collapsingchange-smilisting",function(){update_container_sizes(),events.status.invoke()}),$.when.apply(null,promises).done(function(){update_container_sizes(),$content.find(".listing-footer").render({data:data,name:"footer",args:[smi,listing]})})},cleanup:function(){worker.reset(),smi.shortcuts.remove("listing"),$content.unbind("collapsin
gchange-smilisting"),$content.empty()}}),listing}})}),$(document).bind("load-smiplugins",function(event,smi){$.ajax({url:smi.options.listing.configuration,async:!1,dataType:"json",success:fu
nction(configuration){var url_template=new jsontemplate.Template(smi.options.listing.action,{});for(var iface in configuration.ifaces)infrae.interfaces.register(iface,configuration.ifaces[iface]);$.extend(configuration,{query:function(action,data){return smi.ajax.query(url_template.expand({path:smi.opened.path,action:action}),data)}}),$.each(configuration.listing,function(i,section){var names=[];$.each(section.columns,function(e,column){column.filterable&&names.push(column.name)}),$.extend(section,{filter:function(pattern,data){for(var i=0,len=names.length;len>i;i++)if(data[names[i]].match(pattern))return!0;return!1}}),section.sortable&&$.extend(section.sortable,{sort:function(data){return configuration.query(section.sortable.action,data)}})}),$(document).trigger("load-smilisting",{smi:sm
i,configuration:configuration})}})}),infrae.smi.listing={}})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae,jsontemplate){var render_multi_selector=function($selector,listing,shortcuts){var status="none",set_status=function(new_status){$selector.removeClass(status),$selector.addClass(new_status),status=new_status};listing.events.status(function(){0==this.selection.length?set_status("none"):this.selection.length==this.length?set_status("all"):1==this.selection.length?set_status("single"):set_status("partial")});var switch_status=function(){return"none"==status?listing.select_all():listing.unselect_all(),!1},clear_status=function(){return listing.unselect_all(),!1};$selector.bind("click",switch_status),shortcuts.bind("listing",null,["ctrl+a"],switch_status),shortcuts.bind("listing",null,["esc"],clear_status)},render_listing_header=function($content,configuration,listing,shortcu
ts){var first_configuration=configuration.listing[0],$table=$content.find("div.listing-header table"),$header=$table.find("tr");$table.prepend("<colgroup>"+Array(first_configuration.columns.
length+1).join("<col></col>")+"</colgroup>"),$.each(first_configuration.columns,function(index,column){var $cell=$("<th></th>");index||($cell.html('<div class="selector"><ins class="none"></ins></div>'),render_multi_selector($cell.find("ins"),listing,shortcuts)),column.caption&&$cell.text(column.caption),$header.append($cell)}),infrae.ui.selection.disable($header)},render_selection=function($viewport,$containers,selector,smi){var last_selected_index=null,$hovered_row=null,shortcuts=smi.shortcuts,get_hovered_row=function(){return null===$hovered_row&&($hovered_row=$containers.first().find("tr.item:first"),$hovered_row.addClass("hover")),$hovered_row},clear_hovered_row=function(){null!==$hovered_row&&$hovered_row.removeClass("hover"),$hovered_row=null},set_hovered_row=function($row){$row.le
ngth&&(clear_hovered_row(),$hovered_row=$row,$hovered_row.addClass("hover"))},mouved_mouse=!0;$containers.bind("mousemove",function(){mouved_mouse=!0}),$containers.delegate("tr.item","mousee
nter",function(){mouved_mouse&&set_hovered_row($(this))}),$containers.delegate("tr.item","mouseleave",function(){mouved_mouse&&clear_hovered_row()}),$containers.bind("resetselection-smilisting",function(){clear_hovered_row(),last_selected_index=null});var select_row=function($row,multiple){if(null!==last_selected_index&&multiple){var current_index=$row.index();if(current_index!=last_selected_index){var start=0,end=0;current_index>last_selected_index?(start=last_selected_index+1,end=current_index+1):(start=current_index,end=last_selected_index);var $lines=$row.parent().children().slice(start,end).filter(".item:visible");selector($lines)}last_selected_index=current_index}else last_selected_index=$row.index(),selector($row)};$containers.delegate("tr.item","click",!1);var opened_dropdown=null
;$containers.delegate("tr.item div.dropdown","mouseleave",function(){null!==opened_dropdown&&(opened_dropdown.fadeOut("fast"),opened_dropdown=null)}),$containers.delegate("tr.item div.dropdo
wn-icon","mousedown",function(event){return null!==opened_dropdown&&opened_dropdown.fadeOut("fast"),opened_dropdown=$(event.target).parents("a").next(),opened_dropdown.fadeToggle(),event.preventDefault(),event.stopPropagation(),!1}),$containers.delegate("tr.item a.open-screen","mousedown",function(event){return smi.open_screen_from_link($(event.currentTarget)),event.stopPropagation(),event.preventDefault(),!1}),$containers.tipsy({gravity:"w",delegate:"ins.state"}),$containers.delegate("tr.item","mousedown",function(event){var target=$(event.target);return target.is('input[type="text"]')?(target.focus(),void 0):(select_row($(this),event.shiftKey),event.preventDefault(),event.stopPropagation(),!1)}),shortcuts.bind("listing",null,["space","shift+space"],function(event){return select_row(get_
hovered_row(),event.shiftKey),!1});var scroll_line_into_view=function($line){var target,limit,top=$line.position().top,height=$line.outerHeight();25>top?(target=$viewport.scrollTop()-25+top,
infrae.ui.scroll($viewport,"fast","absolute",target)):(limit=$viewport.innerHeight()-height-25,top>limit&&(target=$viewport.scrollTop()+(top-limit),infrae.ui.scroll($viewport,"fast","absolute",target)))};shortcuts.bind("listing",null,["up","shift+up"],function(event){for(var $row=get_hovered_row(),$candidate=$row.prev();$candidate.length&&!$candidate.is(":visible");)$candidate=$candidate.prev();return $candidate.length&&(mouved_mouse=!1,set_hovered_row($candidate),event.shiftKey&&select_row($candidate),scroll_line_into_view($candidate)),!1}),shortcuts.bind("listing",null,["down","shift+down"],function(event){for(var $row=get_hovered_row(),$candidate=$row.next();$candidate.length&&!$candidate.is(":visible");)$candidate=$candidate.next();return $candidate.length&&(mouved_mouse=!1,set_hovere
d_row($candidate),event.shiftKey&&select_row($candidate),scroll_line_into_view($candidate)),!1})},worker=infrae.deferred.LazyCallbacks(),get_dom_line=function(id){return document.getElementB
yId("list"+id.toString())},get_lines=function(ids){if(ids.length){for(var index=ids.length-1,$lines=$(get_dom_line(ids[index]));index--;)$lines=$lines.add(get_dom_line(ids[index]));return $lines}return $([])},new_transaction=function(){var finalizer=[];return{require:function(callback){$.inArray(callback,finalizer)<0&&finalizer.push(callback)},commit:function(){setTimeout(function(){for(;finalizer.length;)finalizer.pop()()},0)}}};$(document).bind("load-smilisting",function(event,data){var configuration=(data.smi,data.configuration);infrae.views.view({iface:"listing",name:"content",factory:function($content,data,smi){var listing={},selection=infrae.smi.listing.Selection(),$containers=$([]),by_name={},events={status:infrae.deferred.Callbacks(),content:infrae.deferred.Callbacks()};events.con
tent.context(function(){var info={};for(var name in by_name)info[name]=by_name[name].$container.children("tr.item").length;return info}),events.status.context(function(){var status=selection
.status();return $.extend(status,{content:data.content,clipboard:{length:smi.clipboard.length(),cutted:smi.clipboard.cutted,copied:smi.clipboard.copied},get_transaction:function(){var transaction=new_transaction();return $.extend(transaction,{rename:{rename:function(deferred){selection.rename(deferred)&&transaction.require(events.status.invoke)},collect:function(success){selection.collect(success),transaction.require(events.status.invoke)}},listing:{add:function(data){var promises=[];for(var name in by_name){var lines=data[name];lines&&lines.length&&promises.push(by_name[name].add(lines))}return promises.length?$.when.apply(null,promises).then(function(lines){var $added=$(lines);return $added.length&&(selection.select($added),transaction.require(events.content.invoke),transaction.require(
events.status.invoke)),$added}):null},update:function(lines){return lines.length?worker.add(lines,function(data){var line=get_dom_line(data.id);return $(line).data("smilisting-line").update(
data),line}).then(function(lines){return transaction.require(events.status.invoke),$(lines)}):null},remove:function(ids){var $lines=get_lines(ids);return $lines.length&&(selection.remove($lines),transaction.require(events.content.invoke),transaction.require(events.status.invoke)),null}},clipboard:{cut:function(data){return smi.clipboard.cut(data),transaction.require(events.status.invoke),null},copy:function(data){return smi.clipboard.copy(data),transaction.require(events.status.invoke),null},update:function(data){smi.clipboard.update(data),transaction.require(events.status.invoke)},remove:function(data){return smi.clipboard.remove(data),transaction.require(events.status.invoke),null},clear:function(){return smi.clipboard.clear(),null}}}),transaction},query:configuration.query}),status});v
ar update_container_sizes=function(){var $header=$content.find("div.listing-header table"),$reference=null,layout=null,others=[],other_layouts=[];if(infrae.utils.each(configuration.listing,f
unction(section){var $table,container=by_name[section.name];void 0!==container&&($table=container.$table,$table.is(":visible")&&$table.find("tr.item").length&&(null===$reference?($reference=$table,layout=section.layout):(others.push($table),other_layouts.push(section.layout))))}),null!==$reference){var update=infrae.ui.update_table_columns;update($reference,layout),update($header,{},$reference);for(var i=0;i<others.length;i++)update(others[i],other_layouts[i],$reference)}};return events.content.add(update_container_sizes),$.extend(listing,{html_url:smi.options.listing.templates.content,events:{content:function(callback){events.content.add(callback,!0)},status:function(callback){events.status.add(callback,!0)}},filter_lines:function(value){if(value){var pattern=new RegExp(value,"i");$.each
(configuration.listing,function(i,configuration){var $container=by_name[configuration.name].$container,$table=by_name[configuration.name].$table;$table.addClass("filtering"),$container.child
ren(".item").each(function(){var $line=$(this);configuration.filter(pattern,$line.data("smilisting"))?$line.show():$line.hide()})})}else $.each(configuration.listing,function(i,configuration){var $container=by_name[configuration.name].$container,$table=by_name[configuration.name].$table;$table.removeClass("filtering"),$container.children(".item").show()});events.status.invoke()},unselect_all:function(){selection.unselect($containers.children("tr.item.selected:visible"))&&events.status.invoke()},select_all:function(){selection.select($containers.children("tr.item:visible"))&&events.status.invoke()},render:function(){var $listing=$content.find("dl.listing");smi.shortcuts.create("listing",$content,!0),render_listing_header($content,configuration,listing,smi.shortcuts);var promises=[];$.each(
configuration.listing,function(i,configuration){var api={worker:worker};(!configuration.content_match||infrae.utils.test(data.content,configuration.content_match))&&(configuration.sortable&&
infrae.utils.test(data.content,configuration.sortable.content_match)&&(api.sort=configuration.sortable.sort),promises.push(infrae.views.render($listing,{data:data.items[configuration.name],name:"listing-container",args:[configuration,api]})),$containers=$containers.add(api.$container),by_name[configuration.name]=api)}),render_selection($listing,$containers,function($items){selection.toggle($items)&&events.status.invoke()},smi),update_container_sizes(),$content.bind("collapsingchange-smilisting",function(){update_container_sizes(),events.status.invoke()}),$.when.apply(null,promises).done(function(){update_container_sizes(),$content.find(".listing-footer").render({data:data,name:"footer",args:[smi,listing]})})},cleanup:function(){worker.reset(),smi.shortcuts.remove("listing"),$content.unbin
d("collapsingchange-smilisting"),$content.empty()}}),listing}})}),$(document).bind("load-smiplugins",function(event,smi){$.ajax({url:smi.options.listing.configuration,async:!1,dataType:"json
",success:function(configuration){var url_template=new jsontemplate.Template(smi.options.listing.action,{});for(var iface in configuration.ifaces)infrae.interfaces.register(iface,configuration.ifaces[iface]);$.extend(configuration,{query:function(action,data){return smi.ajax.query(url_template.expand({path:smi.opened.path,action:action}),data)}}),$.each(configuration.listing,function(i,section){var names=[];$.each(section.columns,function(e,column){column.filterable&&names.push(column.name)}),$.extend(section,{filter:function(pattern,data){for(var i=0,len=names.length;len>i;i++)if(data[names[i]].match(pattern))return!0;return!1}}),section.sortable&&$.extend(section.sortable,{sort:function(data){return configuration.query(section.sortable.action,data)}})}),$(document).trigger("load-smilist
ing",{smi:smi,configuration:configuration})}})}),infrae.smi.listing={}}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/listing.preview.min.js
--- a/src/silva/ui/static/js/listing.preview.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/listing.preview.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae,jsontemplate){$(document).bind("load-smilisting",function(event,data){var smi=data.smi;if(void 0!==smi.options.listing.preview){var url_template=new jsontemplate.Template(smi.options.listing.preview,{}),preview_template=new jsontemplate.Template('{.section title}<h2>{title|html}</h2>{.end}{.section preview}<div class="preview">{preview}</div>{.end}<div class="type"><span>{type}</span></div>',{}),timer=null,$target=$([]),clear_preview=function(){null!==timer&&(clearTimeout(timer),timer=null),$target.length&&($target.tipsy("hide"),$target=$([]))};$(document).on("mouseenter",".listing tr.item a.preview-icon",function(event){clear_preview(),$target=$(event.target),timer=setTimeout(function(){var info=$target.closest("tr.item").data("smilisting");void 0!==info&&$.ajax({url:u
rl_template.expand({path:info.path})}).done(function(data){$target.is(":visible")&&($target.tipsy({trigger:"manual",html:!0,delayIn:0,title:function(){return preview_template.expand(data)},g
ravity:"w"}),$target.tipsy("show"))})},1e3)}),$(document).on("mouseleave",".listing tr.item a.preview-icon",clear_preview)}})})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae,jsontemplate){$(document).bind("load-smilisting",function(event,data){var smi=data.smi;if(void 0!==smi.options.listing.preview){var url_template=new jsontemplate.Template(smi.options.listing.preview,{}),preview_template=new jsontemplate.Template('{.section title}<h2>{title|html}</h2>{.end}{.section preview}<div class="preview">{preview}</div>{.end}<div class="type"><span>{type}</span></div>',{}),timer=null,$target=$([]),clear_preview=function(){null!==timer&&(clearTimeout(timer),timer=null),$target.length&&($target.tipsy("hide"),$target=$([]))};$(document).on("mouseenter",".listing tr.item a.preview-icon",function(event){clear_preview(),$target=$(event.target),timer=setTimeout(function(){var info=$target.closest("tr.item").data("smilisting");void 0!==info&&$.ajax({url:u
rl_template.expand({path:info.path})}).done(function(data){$target.is(":visible")&&($target.tipsy({trigger:"manual",html:!0,delayIn:0,title:function(){return preview_template.expand(data)},g
ravity:"w"}),$target.tipsy("show"))})},1e3)}),$(document).on("mouseleave",".listing tr.item a.preview-icon",clear_preview)}})}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/listing.selection.min.js
--- a/src/silva/ui/static/js/listing.selection.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/listing.selection.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae){var Selection=function(){var selection=infrae.deferred.FluxCapacitor(),renaming=null,renames=infrae.deferred.FluxCapacitor();return selection.events.incoming(function(){$(this).addClass("selected")}),selection.events.outgoing(function(){$(this).removeClass("selected")}),selection.events.failing(function(){$(this).remove()}),renames.events.incoming(function(){$(this).data("smilisting-line").rename()}),renames.events.outgoing(function(){$(this).data("smilisting-line").update()}),{select:function($items){var changed=!1;return $items.length&&$items.each(function(){changed|=selection.add(this)}),changed},unselect:function($items){var changed=!1;return $items.each(function(){changed|=selection.remove(this)}),changed},remove:function($items){var changed=!1;return $items.each(
function(){changed|=selection.remove(this,!0)}),changed},toggle:function($items){var changed=!1;return $items.each(function(){changed|=$(this).hasClass("selected")?selection.remove(this):sel
ection.add(this)}),changed},rename:function(deferred){return null===renaming?(renaming=deferred,selection.events.push(),selection.events.incoming(function(){renames.add(this)}),selection.events.failing(selection.events.outgoing(function(){renames.remove(this,!0)})),selection.events.outgoing(function(){$(this).data("smilisting-line").update()}),!0):!1},collect:function(success){if(null!==renaming){var promise=renaming.promise();if(success){var values=renames.map(function(){return $(this).data("smilisting-line").values(["identifier","title"])});selection.events.pop(),renames.clear(),renaming.resolve(values)}else selection.events.pop(),renames.clear(!1),renaming.reject();return renaming=null,promise}return null},status:function(){var ifaces=[],data=[];return selection.each(function(){var $it
em=$(this);if($item.is(":visible")){for(var local_data=$item.data("smilisting"),e=0;local_data.ifaces.length>e;e++)0>$.inArray(local_data.ifaces[e],ifaces)&&ifaces.push(local_data.ifaces[e])
;data.push(local_data)}}),{ifaces:ifaces,selection:{length:data.length,items:data},input:{status:null!=renaming}}}}};infrae.smi.listing.Selection=Selection})(jQuery,infrae);
\ No newline at end of file
+!function($,infrae){var Selection=function(){var selection=infrae.deferred.FluxCapacitor(),renaming=null,renames=infrae.deferred.FluxCapacitor();return selection.events.incoming(function(){$(this).addClass("selected")}),selection.events.outgoing(function(){$(this).removeClass("selected")}),selection.events.failing(function(){$(this).remove()}),renames.events.incoming(function(){$(this).data("smilisting-line").rename()}),renames.events.outgoing(function(){$(this).data("smilisting-line").update()}),{select:function($items){var changed=!1;return $items.length&&$items.each(function(){changed|=selection.add(this)}),changed},unselect:function($items){var changed=!1;return $items.each(function(){changed|=selection.remove(this)}),changed},remove:function($items){var changed=!1;return $items.each(
function(){changed|=selection.remove(this,!0)}),changed},toggle:function($items){var changed=!1;return $items.each(function(){changed|=$(this).hasClass("selected")?selection.remove(this):sel
ection.add(this)}),changed},rename:function(deferred){return null===renaming?(renaming=deferred,selection.events.push(),selection.events.incoming(function(){renames.add(this)}),selection.events.failing(selection.events.outgoing(function(){renames.remove(this,!0)})),selection.events.outgoing(function(){$(this).data("smilisting-line").update()}),!0):!1},collect:function(success){if(null!==renaming){var promise=renaming.promise();if(success){var values=renames.map(function(){return $(this).data("smilisting-line").values(["identifier","title"])});selection.events.pop(),renames.clear(),renaming.resolve(values)}else selection.events.pop(),renames.clear(!1),renaming.reject();return renaming=null,promise}return null},status:function(){var ifaces=[],data=[];return selection.each(function(){var $it
em=$(this);if($item.is(":visible")){for(var local_data=$item.data("smilisting"),e=0;e<local_data.ifaces.length;e++)$.inArray(local_data.ifaces[e],ifaces)<0&&ifaces.push(local_data.ifaces[e])
;data.push(local_data)}}),{ifaces:ifaces,selection:{length:data.length,items:data},input:{status:null!=renaming}}}}};infrae.smi.listing.Selection=Selection}(jQuery,infrae);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/listing.toolbar.min.js
--- a/src/silva/ui/static/js/listing.toolbar.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/listing.toolbar.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae,jsontemplate){var predicates_evaluator=function(predicates){var conditions=[];for(var predicate in predicates)switch(predicate){case"content_match":conditions.push(function($content,data){return infrae.utils.test(data.content,predicates.content_match)});break;case"items_match":conditions.push(function($content,data){for(var items=data.selection.items,index=items.length;index--;)if(infrae.utils.test(items[index],predicates.items_match))return!0;return!1});break;case"min_items":conditions.push(function($content,data){return data.selection.length>=predicates.min_items});break;case"max_items":conditions.push(function($content,data){return data.selection.length<=predicates.max_items});break;case"clipboard_min_items":conditions.push(function($content,data){return data.clipboa
rd.length>=predicates.clipboard_min_items});break;case"input_mode":conditions.push(function($content,data){return data.input.status==predicates.input_mode})}return function(){for(var i=0;con
ditions.length>i;i++)if(!conditions[i].apply(this,arguments))return!1;return!0}};infrae.views.view({iface:["listing-changes"],factory:function($content,data,transaction){return{render:function(){var promises=[],wait=function(promise){null!==promise&&promises.push(promise)};for(var action in data.actions)switch(action){case"remove":wait(transaction.clipboard.remove(data.actions.remove)),wait(transaction.listing.remove(data.actions.remove));break;case"update":wait(transaction.clipboard.update(data.actions.update)),wait(transaction.listing.update(data.actions.update));break;case"add":wait(transaction.listing.add(data.actions.add));break;case"clear_clipboard":wait(transaction.clipboard.clear())}promises.length?$.when.apply(this,promises).done(transaction.commit):transaction.commit()}}}});var
button_template=new jsontemplate.Template('<li><a class="ui-state-default" {.section description}title="{description}"{.end}>{.section icon}<div class="action-icon"><ins class="ui-icon ui-ic
on-{icon|htmltag}"></ins></div>{.end}<span {.section icon}class="have-icon"{.end}>{title|html}</span></a></li>',{}),build_actions_renderer=function(group_definitions,shortcuts){var renderers=[],build_group=function(definitions){var group=infrae.views.Registry(),build_button=function(definition){var button={order:definition.order,ifaces:definition.ifaces};if(null!=definition.title)button.factory=function($content,data){var view={render:function(){var $action=$(button_template.expand(definition));if(void 0!=view.action){var action=function(){return definition.confirmation?infrae.ui.ConfirmationDialog(definition.confirmation).done(view.action):view.action(),!1};$action.children("a").bind("click",action),definition.accesskey&&shortcuts.bind("listing","actions",definition.accesskey,action)}$co
ntent.append($action)}};if(void 0!=definition.action)for(var action_type in definition.action)switch(action_type){case"rest":view.action=function(){var payload=[];switch(definition.action.re
st.send){case"selected_ids":infrae.utils.map(data.selection.items,function(item){return{name:"content",value:item.id}},payload);break;case"clipboard_ids":infrae.utils.map(data.clipboard.cutted,function(item){return{name:"cutted",value:item.id}},payload),infrae.utils.map(data.clipboard.copied,function(item){return{name:"copied",value:item.id}},payload)}data.query(definition.action.rest.action,payload).then(function(result){return $content.render({data:result,args:[data.get_transaction()]})})};break;case"cut":view.action=function(){var transaction=data.get_transaction();transaction.clipboard.cut(data.selection.items),transaction.commit()};break;case"copy":view.action=function(){var transaction=data.get_transaction();transaction.clipboard.copy(data.selection.items),transaction.commit()};brea
k;case"input":view.action=function(){var save=$.Deferred(),transaction=data.get_transaction();save.done(function(values){var count=0,payload=[];return infrae.utils.each(values,function(value
){if(void 0!==value){for(var name in value)payload.push({name:"values."+count+"."+name,value:value[name]});count+=1}}),count?(payload.push({name:"values",value:count}),data.query(definition.action.input.action,payload).then(function(result){return $content.render({data:result,args:[transaction]})})):$.Deferred().reject()}),transaction.rename.rename(save),transaction.commit()};break;case"input_mode":view.action=function(){var transaction=data.get_transaction();transaction.rename.collect(definition.action.input_mode),transaction.commit()};break;case"form":view.action=function(){var url=$("#content-url").attr("href"),payload=[];return infrae.utils.map(data.selection.items,function(item){return{name:definition.action.form.identifier,value:item.id}},payload),$content.SMIFormPopup({url:url+"/++
rest++"+definition.action.form.name,payload:payload}).done(function(form_data){return form_data.extra?$content.render({data:form_data.extra.content,args:[data.get_transaction()]}):form_data}
)}}return view};else{var subgroup=build_group(definition.actions);button.factory=function($content,data){return{render:function(){var $dropdown=$('<div class="dropdown"><ol></ol></div');subgroup.render($dropdown.children("ol"),{every:data});var $first=$dropdown.find("li:first");if($first.length){var $action=$first.detach();if($dropdown.find("li:first").length){var $trigger=$action.children("a"),$opener=$('<div class="dropdown-icon"><ins class="ui-icon ui-icon-triangle-1-s"></ins></div>');$opener.bind("click",function(){return $dropdown.fadeToggle(),!1}),$dropdown.bind("mouseleave",function(){$dropdown.fadeOut("fast")}),$trigger.prepend($opener),$action.append($dropdown)}$content.append($action)}}}}}definition.available&&(button.available=predicates_evaluator(definition.available)),group.r
egister(button)};return infrae.utils.each(definitions,build_button),group};return $.each(group_definitions,function(i,definition){var group=build_group(definition.actions),available=predicat
es_evaluator(definition.available);renderers.push(function($content,data){if(available($content,data)){var $actions=$('<div class="actions"><ol></ol></div>'),$container=$actions.children("ol");$actions.tipsy({delegate:"a"}),infrae.ui.selection.disable($actions),group.render($container,{every:data});var $last=$container.children("li:last");$last.length&&($last.addClass("last-action"),$content.append($actions))}})}),function($content,listing){listing.events.status(function(){shortcuts.remove("listing","actions"),$content.children("div.actions").remove();for(var index=0;renderers.length>index;index++)renderers[index]($content,this)})}},render_filter=function($filter,shortcuts,listing){var timeout=null;listing.events.content(function(){var $parent=$filter.parent();for(var name in this)if(this
[name])return $parent.show(),void 0;$parent.hide()}),shortcuts.bind("listing",null,["ctrl+f"],function(){return $filter.is(":visible")?($filter.focus(),!1):void 0}),$filter.bind("keyup",func
tion(event){var clear=!1;return 13==event.keyCode?($filter.blur(),void 0):(27==event.keyCode&&(clear=!0,$filter.blur()),timeout&&clearTimeout(timeout),timeout=setTimeout(function(){var value="";clear?$filter.val(""):value=$filter.val(),listing.filter_lines(value),timeout=null},100),void 0)})};$(document).bind("load-smilisting",function(event,data){var configuration=data.configuration,smi=data.smi,shortcuts=smi.shortcuts,render_actions=build_actions_renderer(configuration.actions,shortcuts);infrae.views.view({iface:"listing",name:"toolbar",factory:function($content,data,smi,listing){return{html_url:smi.options.listing.templates.toolbar,render:function(){render_actions($content,listing),render_filter($content.find(".filter input"),shortcuts,listing)},cleanup:function(){$content.unbind("acti
onrefresh-smilisting"),$content.empty()}}}})})})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae,jsontemplate){var predicates_evaluator=function(predicates){var conditions=[];for(var predicate in predicates)switch(predicate){case"content_match":conditions.push(function($content,data){return infrae.utils.test(data.content,predicates.content_match)});break;case"items_match":conditions.push(function($content,data){for(var items=data.selection.items,index=items.length;index--;)if(infrae.utils.test(items[index],predicates.items_match))return!0;return!1});break;case"min_items":conditions.push(function($content,data){return data.selection.length>=predicates.min_items});break;case"max_items":conditions.push(function($content,data){return data.selection.length<=predicates.max_items});break;case"clipboard_min_items":conditions.push(function($content,data){return data.clipboa
rd.length>=predicates.clipboard_min_items});break;case"input_mode":conditions.push(function($content,data){return data.input.status==predicates.input_mode})}return function(){for(var i=0;i<c
onditions.length;i++)if(!conditions[i].apply(this,arguments))return!1;return!0}};infrae.views.view({iface:["listing-changes"],factory:function($content,data,transaction){return{render:function(){var promises=[],wait=function(promise){null!==promise&&promises.push(promise)};for(var action in data.actions)switch(action){case"remove":wait(transaction.clipboard.remove(data.actions.remove)),wait(transaction.listing.remove(data.actions.remove));break;case"update":wait(transaction.clipboard.update(data.actions.update)),wait(transaction.listing.update(data.actions.update));break;case"add":wait(transaction.listing.add(data.actions.add));break;case"clear_clipboard":wait(transaction.clipboard.clear())}promises.length?$.when.apply(this,promises).done(transaction.commit):transaction.commit()}}}});var
button_template=new jsontemplate.Template('<li><a class="ui-state-default" {.section description}title="{description}"{.end}>{.section icon}<div class="action-icon"><ins class="ui-icon ui-ic
on-{icon|htmltag}"></ins></div>{.end}<span {.section icon}class="have-icon"{.end}>{title|html}</span></a></li>',{}),build_actions_renderer=function(group_definitions,shortcuts){var renderers=[],build_group=function(definitions){var group=infrae.views.Registry(),build_button=function(definition){var button={order:definition.order,ifaces:definition.ifaces};if(null!=definition.title)button.factory=function($content,data){var view={render:function(){var $action=$(button_template.expand(definition));if(void 0!=view.action){var action=function(){return definition.confirmation?infrae.ui.ConfirmationDialog(definition.confirmation).done(view.action):view.action(),!1};$action.children("a").bind("click",action),definition.accesskey&&shortcuts.bind("listing","actions",definition.accesskey,action)}$co
ntent.append($action)}};if(void 0!=definition.action)for(var action_type in definition.action)switch(action_type){case"rest":view.action=function(){var payload=[];switch(definition.action.re
st.send){case"selected_ids":infrae.utils.map(data.selection.items,function(item){return{name:"content",value:item.id}},payload);break;case"clipboard_ids":infrae.utils.map(data.clipboard.cutted,function(item){return{name:"cutted",value:item.id}},payload),infrae.utils.map(data.clipboard.copied,function(item){return{name:"copied",value:item.id}},payload)}data.query(definition.action.rest.action,payload).then(function(result){return $content.render({data:result,args:[data.get_transaction()]})})};break;case"cut":view.action=function(){var transaction=data.get_transaction();transaction.clipboard.cut(data.selection.items),transaction.commit()};break;case"copy":view.action=function(){var transaction=data.get_transaction();transaction.clipboard.copy(data.selection.items),transaction.commit()};brea
k;case"input":view.action=function(){var save=$.Deferred(),transaction=data.get_transaction();save.done(function(values){var count=0,payload=[];return infrae.utils.each(values,function(value
){if(void 0!==value){for(var name in value)payload.push({name:"values."+count+"."+name,value:value[name]});count+=1}}),count?(payload.push({name:"values",value:count}),data.query(definition.action.input.action,payload).then(function(result){return $content.render({data:result,args:[transaction]})})):$.Deferred().reject()}),transaction.rename.rename(save),transaction.commit()};break;case"input_mode":view.action=function(){var transaction=data.get_transaction();transaction.rename.collect(definition.action.input_mode),transaction.commit()};break;case"form":view.action=function(){var url=$("#content-url").attr("href"),payload=[];return infrae.utils.map(data.selection.items,function(item){return{name:definition.action.form.identifier,value:item.id}},payload),$content.SMIFormPopup({url:url+"/++
rest++"+definition.action.form.name,payload:payload}).done(function(form_data){return form_data.extra?$content.render({data:form_data.extra.content,args:[data.get_transaction()]}):form_data}
)}}return view};else{var subgroup=build_group(definition.actions);button.factory=function($content,data){return{render:function(){var $dropdown=$('<div class="dropdown"><ol></ol></div');subgroup.render($dropdown.children("ol"),{every:data});var $first=$dropdown.find("li:first");if($first.length){var $action=$first.detach();if($dropdown.find("li:first").length){var $trigger=$action.children("a"),$opener=$('<div class="dropdown-icon"><ins class="ui-icon ui-icon-triangle-1-s"></ins></div>');$opener.bind("click",function(){return $dropdown.fadeToggle(),!1}),$dropdown.bind("mouseleave",function(){$dropdown.fadeOut("fast")}),$trigger.prepend($opener),$action.append($dropdown)}$content.append($action)}}}}}definition.available&&(button.available=predicates_evaluator(definition.available)),group.r
egister(button)};return infrae.utils.each(definitions,build_button),group};return $.each(group_definitions,function(i,definition){var group=build_group(definition.actions),available=predicat
es_evaluator(definition.available);renderers.push(function($content,data){if(available($content,data)){var $actions=$('<div class="actions"><ol></ol></div>'),$container=$actions.children("ol");$actions.tipsy({delegate:"a"}),infrae.ui.selection.disable($actions),group.render($container,{every:data});var $last=$container.children("li:last");$last.length&&($last.addClass("last-action"),$content.append($actions))}})}),function($content,listing){listing.events.status(function(){shortcuts.remove("listing","actions"),$content.children("div.actions").remove();for(var index=0;index<renderers.length;index++)renderers[index]($content,this)})}},render_filter=function($filter,shortcuts,listing){var timeout=null;listing.events.content(function(){var $parent=$filter.parent();for(var name in this)if(this
[name])return $parent.show(),void 0;$parent.hide()}),shortcuts.bind("listing",null,["ctrl+f"],function(){return $filter.is(":visible")?($filter.focus(),!1):void 0}),$filter.bind("keyup",func
tion(event){var clear=!1;return 13==event.keyCode?($filter.blur(),void 0):(27==event.keyCode&&(clear=!0,$filter.blur()),timeout&&clearTimeout(timeout),timeout=setTimeout(function(){var value="";clear?$filter.val(""):value=$filter.val(),listing.filter_lines(value),timeout=null},100),void 0)})};$(document).bind("load-smilisting",function(event,data){var configuration=data.configuration,smi=data.smi,shortcuts=smi.shortcuts,render_actions=build_actions_renderer(configuration.actions,shortcuts);infrae.views.view({iface:"listing",name:"toolbar",factory:function($content,data,smi,listing){return{html_url:smi.options.listing.templates.toolbar,render:function(){render_actions($content,listing),render_filter($content.find(".filter input"),shortcuts,listing)},cleanup:function(){$content.unbind("acti
onrefresh-smilisting"),$content.empty()}}}})})}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/smi.clipboard.min.js
--- a/src/silva/ui/static/js/smi.clipboard.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/smi.clipboard.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae){var ClipBoardManager=function(notifications){var cutted_ids=[],copied_ids=[],clear=function(){var old_length=cutted_ids.length+copied_ids.length;return api.cutted=[],cutted_ids=[],api.copied=[],copied_ids=[],0!=old_length},api={cutted:[],copied:[],update:function(items){var modified=!1;$.each(items,function(i,item){var cutted_index=$.inArray(item.id,cutted_ids),copied_index=$.inArray(item.id,copied_ids);cutted_index>-1&&(api.cutted[cutted_index]=item,modified=!0),copied_index>-1&&(api.copied[copied_index]=item,modified=!0)}),modified&&$("body").trigger("contentchange-smiclipboard")},remove:function(items){var modified=!1;$.each(items,function(i,item){var cutted_index=$.inArray(item,cutted_ids),copied_index=$.inArray(item,copied_ids);cutted_index>-1&&(cutted_ids.splice(
cutted_index,1),api.cutted.splice(cutted_index,1),modified=!0),copied_index>-1&&(copied_ids.splice(copied_index,1),api.copied.splice(copied_index,1),modified=!0)}),modified&&$("body").trigge
r("contentchange-smiclipboard")},clear:function(no_notification){clear()&&$("body").trigger("contentchange-smiclipboard"),no_notification||notifications.notify({message:"Clipboard cleared.",autoclose:4e3})},cut:function(items,no_notification){var count=0;if(clear(),$.each(items,function(i,item){0>$.inArray(item.id,cutted_ids)&&(cutted_ids.push(item.id),api.cutted.push(item),count+=1)}),$("body").trigger("contentchange-smiclipboard"),!no_notification){var message={message:"Cut "+(""+count)+" item(s) in the clipboard.",autoclose:4e3};count||(message.category="error"),notifications.notify(message)}},copy:function(items,no_notification){var count=0;if(clear(),$.each(items,function(i,item){0>$.inArray(item.id,copied_ids)&&(copied_ids.push(item.id),api.copied.push(item),count+=1)}),$("body").tr
igger("contentchange-smiclipboard"),!no_notification){var message={message:"Copied "+(""+count)+" item(s) in the clipboard.",autoclose:4e3};count||(message.category="error"),notifications.no
tify(message)}},length:function(){return api.cutted.length+api.copied.length}};return api};infrae.smi.ClipBoardManager=ClipBoardManager})(jQuery,infrae);
\ No newline at end of file
+!function($,infrae){var ClipBoardManager=function(notifications){var cutted_ids=[],copied_ids=[],clear=function(){var old_length=cutted_ids.length+copied_ids.length;return api.cutted=[],cutted_ids=[],api.copied=[],copied_ids=[],0!=old_length},api={cutted:[],copied:[],update:function(items){var modified=!1;$.each(items,function(i,item){var cutted_index=$.inArray(item.id,cutted_ids),copied_index=$.inArray(item.id,copied_ids);cutted_index>-1&&(api.cutted[cutted_index]=item,modified=!0),copied_index>-1&&(api.copied[copied_index]=item,modified=!0)}),modified&&$("body").trigger("contentchange-smiclipboard")},remove:function(items){var modified=!1;$.each(items,function(i,item){var cutted_index=$.inArray(item,cutted_ids),copied_index=$.inArray(item,copied_ids);cutted_index>-1&&(cutted_ids.splice(
cutted_index,1),api.cutted.splice(cutted_index,1),modified=!0),copied_index>-1&&(copied_ids.splice(copied_index,1),api.copied.splice(copied_index,1),modified=!0)}),modified&&$("body").trigge
r("contentchange-smiclipboard")},clear:function(no_notification){clear()&&$("body").trigger("contentchange-smiclipboard"),no_notification||notifications.notify({message:"Clipboard cleared.",autoclose:4e3})},cut:function(items,no_notification){var count=0;if(clear(),$.each(items,function(i,item){$.inArray(item.id,cutted_ids)<0&&(cutted_ids.push(item.id),api.cutted.push(item),count+=1)}),$("body").trigger("contentchange-smiclipboard"),!no_notification){var message={message:"Cut "+count.toString()+" item(s) in the clipboard.",autoclose:4e3};count||(message.category="error"),notifications.notify(message)}},copy:function(items,no_notification){var count=0;if(clear(),$.each(items,function(i,item){$.inArray(item.id,copied_ids)<0&&(copied_ids.push(item.id),api.copied.push(item),count+=1)}),$("bod
y").trigger("contentchange-smiclipboard"),!no_notification){var message={message:"Copied "+count.toString()+" item(s) in the clipboard.",autoclose:4e3};count||(message.category="error"),noti
fications.notify(message)}},length:function(){return api.cutted.length+api.copied.length}};return api};infrae.smi.ClipBoardManager=ClipBoardManager}(jQuery,infrae);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/smi.form.min.js
--- a/src/silva/ui/static/js/smi.form.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/smi.form.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae){var scroll_field_into_view=function($content,$field){var $section=$field.closest(".form-section");if($section.length){var section_top=$section.position().top,section_height=$section.outerHeight(),section_bottom=section_top+section_height,content_top=$content.scrollTop(),content_height=$content.innerHeight(),content_bottom=content_top+content_height;content_top>section_top-25?infrae.ui.scroll($content,"fast","absolute",section_top-25):section_bottom+25>content_bottom&&infrae.ui.scroll($content,"fast","absolute",section_bottom-content_height+25)}},unfocus_form_fields=function($content){$content.find(".form-section").removeClass("form-focus")},focus_form_field=function($content,$field,no_input_focus){var $section=$field.closest(".form-section");$section.is(".form-focus")|
|(unfocus_form_fields($content),$section.addClass("form-focus"),no_input_focus||$section.find(".field:first").focus())},focus_first_form_field=function($content){var $field=$content.find(".f
orm-error:first").find(".field:first");$field.length||($field=$content.find(".field-required:first"),$field.length||($field=$content.find(".field:first"))),$field.length&&(focus_form_field($content,$field),scroll_field_into_view($content,$field))},focus_next_form_field=function($content){var $next_body,$next_form,$focused=$content.find(".form-focus"),$field=$focused.next();$field.length||($next_body=$focused.closest(".form-body").nextAll(".form-body"),$next_body.length?$field=$next_body.find(".form-section:first"):($next_form=$focused.closest("form").nextAll("form"),$field=$next_form.length?$next_form.find(".form-section:first"):$content.find(".form-section:first"))),focus_form_field($content,$field),scroll_field_into_view($content,$field)},focus_previous_form_field=function($content){var
$prev_body,$prev_form,$focused=$content.find(".form-focus"),$field=$focused.prev();$field.length||($prev_body=$focused.closest(".form-body").prevAll(".form-body"),$prev_body.length?$field=$
prev_body.find(".form-section:last"):($prev_form=$focused.closest("form").prevAll("form"),$field=$prev_form.length?$prev_form.find(".form-section:last"):$content.find(".form-section:last"))),focus_form_field($content,$field),scroll_field_into_view($content,$field)};$(document).on("load-smiform",".form-content",function(event,data){var $container=data.container||$(this),$content=data.$content||$container,$form=data.form||$container.find("form"),focus_form_event=function(event){var $target=$(event.target),$section=$target.closest(".form-section"),is_cancelable=$target.is("input")||$target.is("a");focus_form_field($content,$section,is_cancelable),is_cancelable||event.stopPropagation()};$container.delegate(".form-section","click",focus_form_event),$container.delegate(".form-section","focusin"
,focus_form_event),$container.delegate(".form-error-detail","click",function(){$(this).fadeOut().promise().done(function(){$(this).remove()})}),focus_first_form_field($content),$form.trigger
("loadwidget-smiform",data)}),infrae.views.view({iface:"form",name:"content",factory:function($content,data,smi){var $container=null,$form=$([]),objection=null;return{template_data:!0,render:function(){if(data.forms){if($container=$('<div class="forms form-content"></div>'),$container.html(data.forms),$content.append($container),data.portlets){var $portlets=$('<div class="portlets form-content"></div>');$portlets.html(data.portlets),$container.addClass("forms-two-columns"),$content.append($portlets)}smi.shortcuts.create("form",$container,!0),$form=$container.find("form"),$form.each(function(){var $form=$(this),form_prefix=$form.attr("name"),submit=function($control){return function(){var queue=$.Deferred(),submission=queue,have_control=void 0!==$control&&$control.length,message=void 0,is_
link=!1,serialize=function(){var values;return $form.trigger("serialize-smiform",{form:$form,container:$container}),values=$form.serializeArray(),have_control&&values.push({name:$control.att
r("name"),value:$control.text()}),values};if(have_control&&(message=$control.attr("data-confirmation"),is_link=$control.hasClass("link-control")),!is_link){if(void 0!==message){var title=$control.attr("data-confirmation-title");title||(title="Please confirm"),queue=queue.then(function(){return infrae.ui.ConfirmationDialog({title:title,message:message})})}return queue.then(function(){if(null!==objection){var result=objection();if(result)return result.done(function(){objection=null})}return $.Deferred().resolve()},function(){return $.Deferred().reject()}).then(function(){return smi.ajax.send_to_opened(serialize())}),submission.resolve(),!1}$control.attr("href",[smi.get_screen_url(),"?",$.param(serialize())].join(""))}};$form.bind("submit",submit($form.find(".form-controls a.default-form-con
trol"))),$form.find(".form-controls a.form-control").each(function(){var $control=$(this),shortcut=$control.attr("data-form-shortcut"),handler=submit($control);$control.bind("click",handler)
,shortcut&&smi.shortcuts.bind("form",null,[shortcut],handler)}),$form.find(".form-controls a.form-button").each(function(){var $control=$(this),shortcut=$control.attr("data-form-shortcut");shortcut&&smi.shortcuts.bind("form",null,[shortcut],function(){return $control.click(),!1})}),$form.delegate(".form-controls a.form-popup","click",function(){var $control=$(this),handler=submit();return $control.SMIFormPopup().done(function(data){data.extra&&data.extra.refresh==form_prefix&&handler()}),!1}),$form.tipsy({delegate:"a.form-control"}),$form.tipsy({delegate:"a.form-button"}),$form.attr("data-form-url",smi.get_screen_url())}),$container.trigger("load-smiform",{form:$form,container:$container,$content:$content,set_objection:function(deferred){objection=deferred}}),smi.shortcuts.bind("form",nul
l,["ctrl+down","ctrl+shift+down"],function(){return focus_next_form_field($content),!1}),smi.shortcuts.bind("form",null,["ctrl+up","ctrl+shift+up"],function(){return focus_previous_form_fiel
d($content),!1})}},cleanup:function(){null!==$container&&($container.trigger("clean-smiform",{form:$form,container:$container}),smi.shortcuts.remove("form"),$content.undelegate(".form-section","focusin"),$content.undelegate(".form-section","click")),$content.empty()}}}})})(jQuery,infrae);
\ No newline at end of file
+!function($,infrae){var scroll_field_into_view=function($content,$field){var $section=$field.closest(".form-section");if($section.length){var section_top=$section.position().top,section_height=$section.outerHeight(),section_bottom=section_top+section_height,content_top=$content.scrollTop(),content_height=$content.innerHeight(),content_bottom=content_top+content_height;content_top>section_top-25?infrae.ui.scroll($content,"fast","absolute",section_top-25):section_bottom+25>content_bottom&&infrae.ui.scroll($content,"fast","absolute",section_bottom-content_height+25)}},unfocus_form_fields=function($content){$content.find(".form-section").removeClass("form-focus")},focus_form_field=function($content,$field,no_input_focus){var $section=$field.closest(".form-section");$section.is(".form-focus")|
|(unfocus_form_fields($content),$section.addClass("form-focus"),no_input_focus||$section.find(".field:first").focus())},focus_first_form_field=function($content){var $field=$content.find(".f
orm-error:first").find(".field:first");$field.length||($field=$content.find(".field-required:first"),$field.length||($field=$content.find(".field:first"))),$field.length&&(focus_form_field($content,$field),scroll_field_into_view($content,$field))},focus_next_form_field=function($content){var $next_body,$next_form,$focused=$content.find(".form-focus"),$field=$focused.next();$field.length||($next_body=$focused.closest(".form-body").nextAll(".form-body"),$next_body.length?$field=$next_body.find(".form-section:first"):($next_form=$focused.closest("form").nextAll("form"),$field=$next_form.length?$next_form.find(".form-section:first"):$content.find(".form-section:first"))),focus_form_field($content,$field),scroll_field_into_view($content,$field)},focus_previous_form_field=function($content){var
$prev_body,$prev_form,$focused=$content.find(".form-focus"),$field=$focused.prev();$field.length||($prev_body=$focused.closest(".form-body").prevAll(".form-body"),$prev_body.length?$field=$
prev_body.find(".form-section:last"):($prev_form=$focused.closest("form").prevAll("form"),$field=$prev_form.length?$prev_form.find(".form-section:last"):$content.find(".form-section:last"))),focus_form_field($content,$field),scroll_field_into_view($content,$field)};$(document).on("load-smiform",".form-content",function(event,data){var $container=data.container||$(this),$content=data.$content||$container,$form=data.form||$container.find("form"),focus_form_event=function(event){var $target=$(event.target),$section=$target.closest(".form-section"),is_cancelable=$target.is("input")||$target.is("a");focus_form_field($content,$section,is_cancelable),is_cancelable||event.stopPropagation()};$container.delegate(".form-section","click",focus_form_event),$container.delegate(".form-section","focusin"
,focus_form_event),$container.delegate(".form-error-detail","click",function(){$(this).fadeOut().promise().done(function(){$(this).remove()})}),focus_first_form_field($content),$form.trigger
("loadwidget-smiform",data)}),infrae.views.view({iface:"form",name:"content",factory:function($content,data,smi){var $container=null,$form=$([]),objection=null;return{template_data:!0,render:function(){if(data.forms){if($container=$('<div class="forms form-content"></div>'),$container.html(data.forms),$content.append($container),data.portlets){var $portlets=$('<div class="portlets form-content"></div>');$portlets.html(data.portlets),$container.addClass("forms-two-columns"),$content.append($portlets)}smi.shortcuts.create("form",$container,!0),$form=$container.find("form"),$form.each(function(){var $form=$(this),form_prefix=$form.attr("name"),submit=function($control){return function(){var queue=$.Deferred(),submission=queue,have_control=void 0!==$control&&$control.length,message=void 0,is_
link=!1,serialize=function(){var values;return $form.trigger("serialize-smiform",{form:$form,container:$container}),values=$form.serializeArray(),have_control&&values.push({name:$control.att
r("name"),value:$control.text()}),values};if(have_control&&(message=$control.attr("data-confirmation"),is_link=$control.hasClass("link-control")),!is_link){if(void 0!==message){var title=$control.attr("data-confirmation-title");title||(title="Please confirm"),queue=queue.then(function(){return infrae.ui.ConfirmationDialog({title:title,message:message})})}return queue.then(function(){if(null!==objection){var result=objection();if(result)return result.done(function(){objection=null})}return $.Deferred().resolve()},function(){return $.Deferred().reject()}).then(function(){return smi.ajax.send_to_opened(serialize())}),submission.resolve(),!1}$control.attr("href",[smi.get_screen_url(),"?",$.param(serialize())].join(""))}};$form.bind("submit",submit($form.find(".form-controls a.default-form-con
trol"))),$form.find(".form-controls a.form-control").each(function(){var $control=$(this),shortcut=$control.attr("data-form-shortcut"),handler=submit($control);$control.bind("click",handler)
,shortcut&&smi.shortcuts.bind("form",null,[shortcut],handler)}),$form.find(".form-controls a.form-button").each(function(){var $control=$(this),shortcut=$control.attr("data-form-shortcut");shortcut&&smi.shortcuts.bind("form",null,[shortcut],function(){return $control.click(),!1})}),$form.delegate(".form-controls a.form-popup","click",function(){var $control=$(this),handler=submit();return $control.SMIFormPopup().done(function(data){data.extra&&data.extra.refresh==form_prefix&&handler()}),!1}),$form.tipsy({delegate:"a.form-control"}),$form.tipsy({delegate:"a.form-button"}),$form.attr("data-form-url",smi.get_screen_url())}),$container.trigger("load-smiform",{form:$form,container:$container,$content:$content,set_objection:function(deferred){objection=deferred}}),smi.shortcuts.bind("form",nul
l,["ctrl+down","ctrl+shift+down"],function(){return focus_next_form_field($content),!1}),smi.shortcuts.bind("form",null,["ctrl+up","ctrl+shift+up"],function(){return focus_previous_form_fiel
d($content),!1})}},cleanup:function(){null!==$container&&($container.trigger("clean-smiform",{form:$form,container:$container}),smi.shortcuts.remove("form"),$content.undelegate(".form-section","focusin"),$content.undelegate(".form-section","click")),$content.empty()}}}})}(jQuery,infrae);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/smi.min.js
--- a/src/silva/ui/static/js/smi.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/smi.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae,jsontemplate){var HASH_REGEXP=/#([^!]*)!?(.*)/,Screen=function(default_screen){var api={ifaces:["redirect"],path:"",screen:"",default_screen:function(){var current_default=Screen(default_screen);return current_default.path=api.path,current_default.screen=default_screen,current_default},is_default_screen:function(){return api.screen===default_screen},copy:function(other){api.path=other.path,api.screen=other.screen},equal:function(other){return api.path==other.path&&api.screen==other.screen},open:function(new_path,new_screen){new_path||(new_path=api.path),new_screen||(new_screen=api.screen),document.location.hash=new_screen+"!"+new_path},read:function(hash){var parts=HASH_REGEXP.exec(hash);parts?(api.screen=parts[1],api.path=parts[2]):(api.screen="",api.path=""),api.scree
n.length||(api.screen=default_screen)}};return api};$.fn.SMI=function(options){var smi={objection:null,ready:infrae.deferred.SemaphoreCallbacks(),options:options,opened:Screen("content"),ope
ning:Screen("content"),shortcuts:infrae.keyboard.ShortcutManager(document)},$workspace=$(options.workspace.selector),$workspace_header=$workspace.children(".header"),$workspace_content=$workspace.children(".content");infrae.ui.selection.disable($workspace_header.children(".metadata")),options.theme&&options.theme.background&&$("html").css("background-color",options.theme.background);var name,screen_url=new jsontemplate.Template(options.screen,{}),action_url=new jsontemplate.Template(options.action,{}),content_url=new jsontemplate.Template(options.workspace.url,{}),plugins={},resources=infrae.views.HTMLResourceManager($(document)),default_error_handlers={};for(name in infrae.smi.plugins)plugins[name]=infrae.smi.plugins[name](smi,options);infrae.views.view({iface:"screen",factory:function($
content,data,smi){return{render:function(){$workspace_content.render({data:data.screen,name:"content",args:[smi]}).done(function(){void 0!==data.metadata&&$workspace_header.render({data:data
.metadata,name:"header",args:[smi,content_url,this]})})}}}}),$.extend(smi,{clipboard:infrae.smi.ClipBoardManager(plugins.notifications),get_language:function(){var lang=$("html").attr("lang");return lang||(lang="en"),lang},get_screen_url:function(screen){return screen||(screen=smi.opened),screen_url.expand(screen)},open_screen:function(path,screen){smi.opened.open(path,screen)},open_screen_from_link:function(link){var path=link.attr("href");path&&"#"!=path||(path=smi.opened.path),smi.open_screen(path,link.attr("rel"))}}),$(document).delegate("a.open-screen","click",function(){return smi.open_screen_from_link($(this)),!1}),$.extend(smi,{ajax:{query:function(url,data,error_handlers){var query={};return query.url=url,query.dataType="json",data&&(query.type="POST",query.data=data),$.ajax(quer
y).then(function(payload){var name,delayed=$.Deferred().resolve(),result=$.Deferred();void 0!=payload.resources&&(payload.resources.js&&(delayed=delayed.then(function(){return resources.load
_js(payload.resources.js)})),payload.resources.css&&(delayed=delayed.then(function(){return resources.load_css(payload.resources.css)})));for(name in plugins)void 0!==plugins[name].page&&plugins[name].page(payload);return delayed.done(function(){result.resolve(payload.content)}),result},function(request){if(!smi.options.testing){void 0===error_handlers&&(error_handlers=default_error_handlers);var handler=error_handlers[request.status];void 0===handler&&(handler=error_handlers[500]);var result_handler=handler(request);if(result_handler)return void 0!==result_handler.promise?result_handler:$(document).render({data:result_handler,args:[smi],reject:[request]})}return $.Deferred().reject(request)})},vote:function(callback){if(!smi.objection)return callback();var deferred=smi.objection();return
deferred||(deferred=$.Deferred(),deferred.resolve()),deferred.done(function(){smi.objection=null}),deferred.then(callback,function(){return $.Deferred(function(deferred){deferred.reject({st
atus:417})})})},lock:function(callback){return smi.ready.use(),callback().then(function(){return smi.ready.release(200),{}},function(request){return smi.ready.release(request.status),{}})},create_error_handlers:function(custom_handlers,parent_handlers){var default_handler,code,handlers={};void 0===parent_handlers&&(parent_handlers=default_error_handlers);for(code in parent_handlers)handlers[code]=parent_handlers[code];for(code in custom_handlers)default_handler=parent_handlers[code],void 0===default_handler&&(default_handler=parent_handlers[500]),handlers[code]=custom_handlers[code](default_handler);return handlers},send_to_opened:function(data,error_handlers){return smi.ajax.lock(function(){return smi.ajax.vote(function(){return smi.ajax.query(smi.get_screen_url(smi.opening),data,error_h
andlers).then(function(payload){return smi.opened.copy(smi.opening),$(document).render({data:payload,args:[smi]})})}).then(null,function(request){return smi.opening.equal(smi.opened)||(smi.o
pening.copy(smi.opened),smi.opening.open()),request})})}},open_action_from_link:function(link){return smi.ajax.lock(function(){return smi.ajax.vote(function(){var action=link.attr("rel"),path=link.attr("href");return path||(path=smi.opened.path),smi.ajax.query(action_url.expand({path:path,action:action}),{path:smi.opened.path,screen:smi.opened.screen}).then(function(payload){return $(document).render({data:payload,args:[smi]})})})})}}),default_error_handlers=function(){var ajax_handler=function(default_handler){return function(request){try{var name,payload=$.parseJSON(request.responseText);for(name in plugins)void 0!==plugins[name].error&&plugins[name].error(payload);return payload.content}catch(e){return default_handler(request)}}};return smi.ajax.create_error_handlers({400:ajax_handler,
401:ajax_handler},options.error_messages)}(),$(document).delegate("a.open-action","click",function(){return smi.open_action_from_link($(this)),!1}),$(document).delegate("a.text-overlay","cli
ck",function(){return smi.ajax.query($(this).attr("href")).then(function(payload){return $(document).render({data:payload,args:[smi]})}),!1}),$(document).trigger("load-smiplugins",smi);var read_hash=function(hash){var error_handlers=smi.ajax.create_error_handlers({404:function(default_handler){return function(request){return smi.opening.is_default_screen()?default_handler(request):$.Deferred().resolve(smi.opening.default_screen())}}});return read_hash=function(hash){smi.opening.read(hash),smi.opening.equal(smi.opened)||smi.ajax.send_to_opened(void 0,error_handlers)},read_hash(hash)};return $(window).hashchange(function(event,data){read_hash(data.after)}),read_hash(document.location.hash),smi},infrae.smi={plugins:{}}})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae,jsontemplate){var HASH_REGEXP=/#([^!]*)!?(.*)/,Screen=function(default_screen){var api={ifaces:["redirect"],path:"",screen:"",default_screen:function(){var current_default=Screen(default_screen);return current_default.path=api.path,current_default.screen=default_screen,current_default},is_default_screen:function(){return api.screen===default_screen},copy:function(other){api.path=other.path,api.screen=other.screen},equal:function(other){return api.path==other.path&&api.screen==other.screen},open:function(new_path,new_screen){new_path||(new_path=api.path),new_screen||(new_screen=api.screen),document.location.hash=new_screen+"!"+new_path},read:function(hash){var parts=HASH_REGEXP.exec(hash);parts?(api.screen=parts[1],api.path=parts[2]):(api.screen="",api.path=""),api.scree
n.length||(api.screen=default_screen)}};return api};$.fn.SMI=function(options){var smi={objection:null,ready:infrae.deferred.SemaphoreCallbacks(),options:options,opened:Screen("content"),ope
ning:Screen("content"),shortcuts:infrae.keyboard.ShortcutManager(document)},$workspace=$(options.workspace.selector),$workspace_header=$workspace.children(".header"),$workspace_content=$workspace.children(".content");infrae.ui.selection.disable($workspace_header.children(".metadata")),options.theme&&options.theme.background&&$("html").css("background-color",options.theme.background);var name,screen_url=new jsontemplate.Template(options.screen,{}),action_url=new jsontemplate.Template(options.action,{}),content_url=new jsontemplate.Template(options.workspace.url,{}),plugins={},resources=infrae.views.HTMLResourceManager($(document)),default_error_handlers={};for(name in infrae.smi.plugins)plugins[name]=infrae.smi.plugins[name](smi,options);infrae.views.view({iface:"screen",factory:function($
content,data,smi){return{render:function(){$workspace_content.render({data:data.screen,name:"content",args:[smi]}).done(function(){void 0!==data.metadata&&$workspace_header.render({data:data
.metadata,name:"header",args:[smi,content_url,this]})})}}}}),$.extend(smi,{clipboard:infrae.smi.ClipBoardManager(plugins.notifications),get_language:function(){var lang=$("html").attr("lang");return lang||(lang="en"),lang},get_screen_url:function(screen){return screen||(screen=smi.opened),screen_url.expand(screen)},open_screen:function(path,screen){smi.opened.open(path,screen)},open_screen_from_link:function(link){var path=link.attr("href");path&&"#"!=path||(path=smi.opened.path),smi.open_screen(path,link.attr("rel"))}}),$(document).delegate("a.open-screen","click",function(){return smi.open_screen_from_link($(this)),!1}),$.extend(smi,{ajax:{query:function(url,data,error_handlers){var query={};return query.url=url,query.dataType="json",data&&(query.type="POST",query.data=data),$.ajax(quer
y).then(function(payload){var name,delayed=$.Deferred().resolve(),result=$.Deferred();void 0!=payload.resources&&(payload.resources.js&&(delayed=delayed.then(function(){return resources.load
_js(payload.resources.js)})),payload.resources.css&&(delayed=delayed.then(function(){return resources.load_css(payload.resources.css)})));for(name in plugins)void 0!==plugins[name].page&&plugins[name].page(payload);return delayed.done(function(){result.resolve(payload.content)}),result},function(request){if(!smi.options.testing){void 0===error_handlers&&(error_handlers=default_error_handlers);var handler=error_handlers[request.status];void 0===handler&&(handler=error_handlers[500]);var result_handler=handler(request);if(result_handler)return void 0!==result_handler.promise?result_handler:$(document).render({data:result_handler,args:[smi],reject:[request]})}return $.Deferred().reject(request)})},vote:function(callback){if(!smi.objection)return callback();var deferred=smi.objection();return
deferred||(deferred=$.Deferred(),deferred.resolve()),deferred.done(function(){smi.objection=null}),deferred.then(callback,function(){return $.Deferred(function(deferred){deferred.reject({st
atus:417})})})},lock:function(callback){return smi.ready.use(),callback().then(function(){return smi.ready.release(200),{}},function(request){return smi.ready.release(request.status),{}})},create_error_handlers:function(custom_handlers,parent_handlers){var default_handler,code,handlers={};void 0===parent_handlers&&(parent_handlers=default_error_handlers);for(code in parent_handlers)handlers[code]=parent_handlers[code];for(code in custom_handlers)default_handler=parent_handlers[code],void 0===default_handler&&(default_handler=parent_handlers[500]),handlers[code]=custom_handlers[code](default_handler);return handlers},send_to_opened:function(data,error_handlers){return smi.ajax.lock(function(){return smi.ajax.vote(function(){return smi.ajax.query(smi.get_screen_url(smi.opening),data,error_h
andlers).then(function(payload){return smi.opened.copy(smi.opening),$(document).render({data:payload,args:[smi]})})}).then(null,function(request){return smi.opening.equal(smi.opened)||(smi.o
pening.copy(smi.opened),smi.opening.open()),request})})}},open_action_from_link:function(link){return smi.ajax.lock(function(){return smi.ajax.vote(function(){var action=link.attr("rel"),path=link.attr("href");return path||(path=smi.opened.path),smi.ajax.query(action_url.expand({path:path,action:action}),{path:smi.opened.path,screen:smi.opened.screen}).then(function(payload){return $(document).render({data:payload,args:[smi]})})})})}}),default_error_handlers=function(){var ajax_handler=function(default_handler){return function(request){try{var name,payload=$.parseJSON(request.responseText);for(name in plugins)void 0!==plugins[name].error&&plugins[name].error(payload);return payload.content}catch(e){return default_handler(request)}}};return smi.ajax.create_error_handlers({400:ajax_handler,
401:ajax_handler},options.error_messages)}(),$(document).delegate("a.open-action","click",function(){return smi.open_action_from_link($(this)),!1}),$(document).delegate("a.text-overlay","cli
ck",function(){return smi.ajax.query($(this).attr("href")).then(function(payload){return $(document).render({data:payload,args:[smi]})}),!1}),$(document).trigger("load-smiplugins",smi);var read_hash=function(hash){var error_handlers=smi.ajax.create_error_handlers({404:function(default_handler){return function(request){return smi.opening.is_default_screen()?default_handler(request):$.Deferred().resolve(smi.opening.default_screen())}}});return read_hash=function(hash){smi.opening.read(hash),smi.opening.equal(smi.opened)||smi.ajax.send_to_opened(void 0,error_handlers)},read_hash(hash)};return $(window).hashchange(function(event,data){read_hash(data.after)}),read_hash(document.location.hash),smi},infrae.smi={plugins:{}}}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/smi.navigation.min.js
--- a/src/silva/ui/static/js/smi.navigation.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/smi.navigation.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae,jsontemplate){var NavigationManager=function(smi,options){var $navigation=$(options.navigation.selector),$tree=$navigation.children(".tree"),screen="content",root_url=options.navigation.root_url,url=new jsontemplate.Template(options.navigation.url,{});new jsontemplate.Template(options.navigation.parents_url,{});var scroll=function(node,depth){return node.each(function(){0>depth&&(depth=0),$tree.scrollLeft(21*depth)})},open=function(parents){function open_node_chain(remaining){var parent_node=$("#"+remaining[0]),left=remaining.slice(1);return parent_node.length>0?(left.length>0?$tree.jstree("open_node",parent_node,function(){open_node_chain(left)}):$tree.jstree("open_node",parent_node,function(){$tree.jstree("select_node",parent_node,!0)}),!0):!1}open_node_chain(parents)
||$tree.jstree("deselect_all")},remove=function(info){if(void 0!==info.target){var $node=$("#"+info.target,$tree);$node.length>0&&$tree.jstree("delete_node",$node)}},add=function(info){if(vo
id 0!==info.parent){var $parent=$("#"+info.parent,$tree);$parent.length>0&&$tree.jstree("refresh",$parent)}},invalidate=function(data){data.length>0&&infrae.utils.each(data,function(datum){switch(datum.action){case"remove":remove(datum.info);break;case"add":case"update":add(datum.info)}})};return $tree.jstree({ui:{select_limit:1},core:{animation:100},plugins:["json_data","ui","hotkeys"],json_data:{ajax:{url:function(node){return-1==node?root_url:url.expand({path:node.data("jstree").path})}}}}),$tree.bind("select_node.jstree",function(event,data){scroll($(this),data.rslt.obj.parents("ul").length-2)}),$tree.bind("open_node.jstree",function(event,data){scroll($(this),data.rslt.obj.parents("ul").length-2)}),$tree.bind("close_node.jstree",function(event,data){scroll($(this),data.rslt.obj.paren
ts("ul").length-3)}),$tree.delegate("a","click",function(){return smi.open_screen($(this).parent().data("jstree").path,screen),!1}),infrae.ui.selection.disable($navigation),$tree.jstree("dis
able_hotkeys"),$navigation.bind("blur-keyboard",function(){$tree.jstree("disable_hotkeys")}),$navigation.bind("focus-keyboard",function(){$tree.jstree("enable_hotkeys"),$tree.focus()}),smi.shortcuts.create("navigation",$tree),{page:function(data){return void 0!=data.navigation&&(void 0!=data.navigation.invalidation&&invalidate(data.navigation.invalidation),void 0!=data.navigation.current&&open(data.navigation.current),screen=data.navigation.screen?data.navigation.screen:smi.opening.screen),null}}};$.extend(infrae.smi.plugins,{navigation:NavigationManager})})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae,jsontemplate){var NavigationManager=function(smi,options){var $navigation=$(options.navigation.selector),$tree=$navigation.children(".tree"),screen="content",root_url=options.navigation.root_url,url=new jsontemplate.Template(options.navigation.url,{}),scroll=(new jsontemplate.Template(options.navigation.parents_url,{}),function(node,depth){return node.each(function(){0>depth&&(depth=0),$tree.scrollLeft(21*depth)})}),open=function(parents){function open_node_chain(remaining){var parent_node=$("#"+remaining[0]),left=remaining.slice(1);return parent_node.length>0?(left.length>0?$tree.jstree("open_node",parent_node,function(){open_node_chain(left)}):$tree.jstree("open_node",parent_node,function(){$tree.jstree("select_node",parent_node,!0)}),!0):!1}open_node_chain(parents)||
$tree.jstree("deselect_all")},remove=function(info){if(void 0!==info.target){var $node=$("#"+info.target,$tree);$node.length>0&&$tree.jstree("delete_node",$node)}},add=function(info){if(void
0!==info.parent){var $parent=$("#"+info.parent,$tree);$parent.length>0&&$tree.jstree("refresh",$parent)}},invalidate=function(data){data.length>0&&infrae.utils.each(data,function(datum){switch(datum.action){case"remove":remove(datum.info);break;case"add":case"update":add(datum.info)}})};return $tree.jstree({ui:{select_limit:1},core:{animation:100},plugins:["json_data","ui","hotkeys"],json_data:{ajax:{url:function(node){return-1==node?root_url:url.expand({path:node.data("jstree").path})}}}}),$tree.bind("select_node.jstree",function(event,data){scroll($(this),data.rslt.obj.parents("ul").length-2)}),$tree.bind("open_node.jstree",function(event,data){scroll($(this),data.rslt.obj.parents("ul").length-2)}),$tree.bind("close_node.jstree",function(event,data){scroll($(this),data.rslt.obj.parents
("ul").length-3)}),$tree.delegate("a","click",function(){return smi.open_screen($(this).parent().data("jstree").path,screen),!1}),infrae.ui.selection.disable($navigation),$tree.jstree("disab
le_hotkeys"),$navigation.bind("blur-keyboard",function(){$tree.jstree("disable_hotkeys")}),$navigation.bind("focus-keyboard",function(){$tree.jstree("enable_hotkeys"),$tree.focus()}),smi.shortcuts.create("navigation",$tree),{page:function(data){return void 0!=data.navigation&&(void 0!=data.navigation.invalidation&&invalidate(data.navigation.invalidation),void 0!=data.navigation.current&&open(data.navigation.current),screen=data.navigation.screen?data.navigation.screen:smi.opening.screen),null}}};$.extend(infrae.smi.plugins,{navigation:NavigationManager})}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/smi.notification.min.js
--- a/src/silva/ui/static/js/smi.notification.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/smi.notification.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae){var NotificationManager=function(smi,options){var defaults=($(options.notifications.selector),{themeState:"feedback",life:options.notifications.life,speed:void 0===options.notifications.speed&&"normal"||options.notifications.speed}),default_notify=function(message){var options=$.extend({},defaults);"error"==message.category&&(options.themeState="error"),$.jGrowl(message.message,options)};$(document).on("click","#jGrowl",function(event){$(this).jGrowl("close"),event.stopPropagation(),event.preventDefault()});var api={notify:default_notify,notifies:function(messages){infrae.utils.each(messages,api.notify)},page:function(data){return void 0!=data.notifications&&infrae.utils.each(data.notifications,api.notify),null},error:function(data){return void 0!=data.notifications&&i
nfrae.utils.each(data.notifications,api.notify),null}};if(!options.notifications.standard&&window.webkitNotifications){var native_api,using_chrome=function(){return navigator.userAgent.index
Of("Chrome")>-1?!0:!1}();native_api=using_chrome?window.webkitNotifications:window.Notification;var is_api_enabled=function(now){var status;if(status=using_chrome?native_api.checkPermission():native_api.permission,0==status||"granted"===status)return!0;if(1==status||"default"===status)try{return native_api.requestPermission(function(){}),now===!0}catch(error){return!1}return!1};is_api_enabled(!0)&&$.extend(api,{notify:function(message){if(is_api_enabled(!1)){var notification;if(notification=using_chrome?native_api.createNotification("",message.message,""):new Notification("",{body:message.message}),options.notifications.life){var close_after=function(){setTimeout(function(){notification.cancel()},options.notifications.life)};using_chrome?notification.ondisplay=close_after:notification.ons
how=close_after}notification.show()}else default_notify(message)}})}return $(document).bind("refresh-feedback-smi",function(){$.getJSON(options.notifications.url,function(messages){messages.
notifications&&api.notifies(messages.notifications)})}),$(document).bind("notify-feedback-smi",function(event,data){"array"==typeof data?api.notifies(data):api.notify(data)}),api};$.extend(infrae.smi.plugins,{notifications:NotificationManager})})(jQuery,infrae);
\ No newline at end of file
+!function($,infrae){var NotificationManager=function(smi,options){var defaults=($(options.notifications.selector),{themeState:"feedback",life:options.notifications.life,speed:void 0===options.notifications.speed&&"normal"||options.notifications.speed}),default_notify=function(message){var options=$.extend({},defaults);"error"==message.category&&(options.themeState="error"),$.jGrowl(message.message,options)};$(document).on("click","#jGrowl",function(event){$(this).jGrowl("close"),event.stopPropagation(),event.preventDefault()});var api={notify:default_notify,notifies:function(messages){infrae.utils.each(messages,api.notify)},page:function(data){return void 0!=data.notifications&&infrae.utils.each(data.notifications,api.notify),null},error:function(data){return void 0!=data.notifications&&i
nfrae.utils.each(data.notifications,api.notify),null}};if(!options.notifications.standard&&window.webkitNotifications){var native_api,using_chrome=function(){return navigator.userAgent.index
Of("Chrome")>-1?!0:!1}();native_api=using_chrome?window.webkitNotifications:window.Notification;var is_api_enabled=function(now){var status;if(status=using_chrome?native_api.checkPermission():native_api.permission,0==status||"granted"===status)return!0;if(1==status||"default"===status)try{return native_api.requestPermission(function(){}),now===!0}catch(error){return!1}return!1};is_api_enabled(!0)&&$.extend(api,{notify:function(message){if(is_api_enabled(!1)){var notification;if(notification=using_chrome?native_api.createNotification("",message.message,""):new Notification("",{body:message.message}),options.notifications.life){var close_after=function(){setTimeout(function(){notification.cancel()},options.notifications.life)};using_chrome?notification.ondisplay=close_after:notification.ons
how=close_after}notification.show()}else default_notify(message)}})}return $(document).bind("refresh-feedback-smi",function(){$.getJSON(options.notifications.url,function(messages){messages.
notifications&&api.notifies(messages.notifications)})}),$(document).bind("notify-feedback-smi",function(event,data){"array"==typeof data?api.notifies(data):api.notify(data)}),api};$.extend(infrae.smi.plugins,{notifications:NotificationManager})}(jQuery,infrae);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/smi.ui.min.js
--- a/src/silva/ui/static/js/smi.ui.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/smi.ui.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,infrae){var NAVIGATION_MIN_WIDTH=280,WORKSPACE_MIN_WIDTH=650;$(document).ready(function(){var $navigation=$("#navigation"),$workspace=$("#workspace"),$handle=$("#smi-handle"),minized=!1,current=288,resize=function(position,minize){if(void 0===minize){if(void 0===position&&(position=current,void 0===position))return;minized&&($navigation.show(),minized=!1)}minize===!0?current=void 0:minize!==!1&&(current=position),$navigation.css({width:position-8}),$workspace.css({left:position+12}),$(window).trigger("workspace-resize-smi")},minize=function(save){minized||($navigation.hide(),minized=!0),resize(-8,save===!0?!0:!1)},set_containment=function(){if($handle.is(":visible")){var width=$(window).width(),top=$handle.position().top,current=$handle.position().left,max_position=width-WORKS
PACE_MIN_WIDTH;current>max_position&&(resize(max_position),$handle.css({left:max_position})),$handle.draggable("option","containment",[8,top,max_position,top])}},resizer=function(){var posit
ion=$handle.position().left;return position>NAVIGATION_MIN_WIDTH/2?position>NAVIGATION_MIN_WIDTH+8?(resize(position),null):(resize(NAVIGATION_MIN_WIDTH+8),!0):(minize(!0),!1)},finalizer=function(){var status=resizer();status===!0?$handle.css("left",NAVIGATION_MIN_WIDTH+8):status===!1&&$handle.css("left",-12)},$cover=$('<div id="smi-cover">');$handle.draggable({axis:"x",start:function(){$("body").append($cover)},drag:function(){resizer()},stop:function(){$cover.detach(),finalizer()}}),set_containment(),infrae.ui.selection.disable($handle),$(window).bind("resize",set_containment),$(window).bind("fullscreen-resize-smi",function(event,data){data.active?($handle.hide(),minize()):(resize(),$handle.show())})})})(jQuery,infrae),function($,infrae){var TipManager=function(){return{page:function(){r
eturn $(".tipsy").hide(),null}}};$.extend(infrae.smi.plugins,{tip:TipManager})}(jQuery,infrae),function($){$(document).ready(function(){var $fullscreen=$("#workspace .header .fullscreen"),$h
eader=$("#workspace .header"),$content=$("#workspace .content"),active=!1;$fullscreen.bind("click",function(event){$fullscreen.toggleClass("active"),$header.toggleClass("compact-header"),$content.toggleClass("extended-content"),active=!active,$(window).trigger("fullscreen-resize-smi",{active:active}),event.stopPropagation(),event.preventDefault()})})}(jQuery,infrae),function($){$(document).ready(function(){var count=0,message=$("div#loading-message");message&&($("body").ajaxSend(function(){count||message.fadeIn("fast"),count+=1}),$(document).ajaxComplete(function(){count-=1,count||message.fadeOut("fast")}))})}(jQuery),function($){$(document).ready(function(){$(document).on("mouseenter","a.ui-state-default",function(){var $context=$(this);0==$context.parents(".ui-dialog").length&&($context
.removeClass("ui-state-default"),$context.addClass("ui-state-active"))}),$(document).on("mouseleave","a.ui-state-active",function(){var $context=$(this);0==$context.parents(".ui-dialog").len
gth&&($context.removeClass("ui-state-active"),$context.addClass("ui-state-default"))})})}(jQuery);
\ No newline at end of file
+!function($,infrae){var NAVIGATION_MIN_WIDTH=280,WORKSPACE_MIN_WIDTH=650;$(document).ready(function(){var $navigation=$("#navigation"),$workspace=$("#workspace"),$handle=$("#smi-handle"),minized=!1,current=288,resize=function(position,minize){if(void 0===minize){if(void 0===position&&(position=current,void 0===position))return;minized&&($navigation.show(),minized=!1)}minize===!0?current=void 0:minize!==!1&&(current=position),$navigation.css({width:position-8}),$workspace.css({left:position+12}),$(window).trigger("workspace-resize-smi")},minize=function(save){minized||($navigation.hide(),minized=!0),resize(-8,save===!0?!0:!1)},set_containment=function(){if($handle.is(":visible")){var width=$(window).width(),top=$handle.position().top,current=$handle.position().left,max_position=width-WORKS
PACE_MIN_WIDTH;current>max_position&&(resize(max_position),$handle.css({left:max_position})),$handle.draggable("option","containment",[8,top,max_position,top])}},resizer=function(){var posit
ion=$handle.position().left;return position>NAVIGATION_MIN_WIDTH/2?position>NAVIGATION_MIN_WIDTH+8?(resize(position),null):(resize(NAVIGATION_MIN_WIDTH+8),!0):(minize(!0),!1)},finalizer=function(){var status=resizer();status===!0?$handle.css("left",NAVIGATION_MIN_WIDTH+8):status===!1&&$handle.css("left",-12)},$cover=$('<div id="smi-cover">');$handle.draggable({axis:"x",start:function(){$("body").append($cover)},drag:function(){resizer()},stop:function(){$cover.detach(),finalizer()}}),set_containment(),infrae.ui.selection.disable($handle),$(window).bind("resize",set_containment),$(window).bind("fullscreen-resize-smi",function(event,data){data.active?($handle.hide(),minize()):(resize(),$handle.show())})})}(jQuery,infrae),function($,infrae){var TipManager=function(){return{page:function(){re
turn $(".tipsy").hide(),null}}};$.extend(infrae.smi.plugins,{tip:TipManager})}(jQuery,infrae),function($){$(document).ready(function(){var $fullscreen=$("#workspace .header .fullscreen"),$he
ader=$("#workspace .header"),$content=$("#workspace .content"),active=!1;$fullscreen.bind("click",function(event){$fullscreen.toggleClass("active"),$header.toggleClass("compact-header"),$content.toggleClass("extended-content"),active=!active,$(window).trigger("fullscreen-resize-smi",{active:active}),event.stopPropagation(),event.preventDefault()})})}(jQuery,infrae),function($){$(document).ready(function(){var count=0,message=$("div#loading-message");message&&($("body").ajaxSend(function(){count||message.fadeIn("fast"),count+=1}),$(document).ajaxComplete(function(){count-=1,count||message.fadeOut("fast")}))})}(jQuery),function($){$(document).ready(function(){$(document).on("mouseenter","a.ui-state-default",function(){var $context=$(this);0==$context.parents(".ui-dialog").length&&($context.
removeClass("ui-state-default"),$context.addClass("ui-state-active"))}),$(document).on("mouseleave","a.ui-state-active",function(){var $context=$(this);0==$context.parents(".ui-dialog").leng
th&&($context.removeClass("ui-state-active"),$context.addClass("ui-state-default"))})})}(jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/smi.workspace.min.js
--- a/src/silva/ui/static/js/smi.workspace.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/smi.workspace.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($,jsontemplate,infrae){var SCROLLBARS_SIZE=0;$(document).ready(function(){SCROLLBARS_SIZE=function(){var outer_width,sb_width,$scroll_div=$('<div style="width:100px; height:50px; position:absolute; top:-9999px; left:-9999px; visibility:hidden; overflow:hidden;"><div style="width:100%; height:100px;"></div></div>');return $("body").append($scroll_div),outer_width=$scroll_div[0].offsetWidth,$scroll_div.css("overflow","scroll"),sb_width=outer_width-$scroll_div[0].clientWidth,$scroll_div.remove(),sb_width}()}),infrae.views.view({iface:"preview",name:"content",factory:function($content){var resolution_fixed=!1,resolution_height=0,resolution_width=0,max_height=0,max_width=0,resize=function($iframe){$iframe.height(Math.min(max_height,resolution_height)),$iframe.width(Math.min(max_width
,resolution_width))};return{template_data:!0,template_nocache:!0,iframe:!0,resize_iframe:function(width,height){return max_width=width,max_height=height,resolution_fixed?(resize(this.$iframe
),!0):!1},set_resolution:function(width,height){resolution_fixed=!0,resolution_height=height,resolution_width=+width+SCROLLBARS_SIZE,resize(this.$iframe)},clear_resolution:function(){resolution_fixed=!1,this.$iframe.trigger("resize")},cleanup:function(){$content.empty()}}}}),infrae.views.view({iface:"preview",name:"toolbar",factory:function($content,data,smi,view){var actions=data.menu.actions,resolutions=smi.options.preview?smi.options.preview.resolutions:[],have_actions=actions&&actions.entries.length;return{jsont:'{.section have_actions}<div class="actions content-toolbar"><ol></ol></div>{.end}{.section resolutions}<div class="view-toolbar resolution-preview"><select>{.repeated section @}<option value={resolution|htmltag}>{name}</option>{.end}</select></div>{.end}',have_actions:have_ac
tions,resolutions:resolutions,render:function(){have_actions&&$content.find(".content-toolbar ol").render({data:actions}),resolutions.length&&$content.find(".resolution-preview select").on("
change",function(){var value=$(this).attr("value"),resolution=value.match(/(\d*)x(\d*)/);resolution?view.set_resolution(resolution[1],resolution[2]):view.clear_resolution()})},cleanup:function(){$content.empty()}}}}),infrae.views.view({iface:"redirect",factory:function($content,data,smi){return{render:function(){smi.open_screen(data.path,data.screen)}}}});var text_template=new jsontemplate.Template('<div id="smi-text"><div class="smi-text-content">{html}</div></div>',{});infrae.views.view({iface:"text-overlay",factory:function($content,data){var $text=$(text_template.expand(data)),$overlay=$('<div class="ui-widget-overlay"></div>'),clear=function(event){return $(event.target).is("a")?void 0:($text.remove(),$overlay.remove(),!1)};return{render:function(){$overlay.click(clear),$text.click(c
lear),$("body").append($overlay),$("body").append($text)}}}}),infrae.views.view({iface:"view",factory:function($content,data){return{render:function(){window.open(data.url)}}}}),infrae.views
.view({iface:"message",factory:function($content,data){return{render:function(){return infrae.ui.ConfirmationDialog({title:data.title,message:data.message,not_cancellable:!0})}}}}),infrae.views.view({iface:"title",factory:function($content,data,smi){return{jsont:'<ins class="icon"></ins>{data.title|html}',render:function(){var name="Silva";smi.options.theme&&smi.options.theme.name&&(name=smi.options.theme.name),infrae.ui.icon($content.children("ins"),data.icon),$.browser.msie||$("head > title").html(name+" - "+data.title)}}}}),infrae.views.view({iface:"menu",factory:function($content,data){var tabs=$content.hasClass("tabs"),$opened=$([]),create=function(info,top_level){var $tab=$("<li><a></a></li>"),$link=$tab.children("a");if(tabs&&(top_level?(info.screen?$link.addClass("top-screen"):$li
nk.addClass("top-label"),$link.addClass("top-entry"),$tab.addClass("top-level")):$tab.addClass("sub-level")),info.name?$link.html("<span>"+info.name+"</span>"):info.logo&&$link.html('<ins cl
ass="tab-logo '+info.logo+'"/>'),info.screen?($link.addClass("open-screen"),$link.attr("rel",info.screen)):info.action?($link.addClass("open-action"),$link.attr("rel",info.action)):info.url&&($link.attr("href",info.url),info.target&&$link.attr("target",info.target)),info.icon){var icon_class="tab-icon";info.action&&(icon_class="action-icon"),$link.addClass("ui-state-default"),$link.prepend('<div class="'+icon_class+'"><ins class="ui-icon ui-icon-'+info.icon+'"></ins></div>')}if(info.active&&$link.addClass("active"),info.description&&$link.attr("title",info.description),info.accesskey&&$link.attr("accesskey",info.accesskey),info.trigger&&$link.addClass(info.trigger),info.entries){var $container=$('<ol class="subtabs"></ol>'),$opener=$('<div class="subtab-icon"><ins></ins></div>'),$trigger=
info.screen&&top_level?$opener:$link,close=function(exclude){var contained=[],uncontained=[],container=$container.get(0);$opened.each(function(){this===container&&!exclude||$.contains(this,c
ontainer)?contained.push(this):uncontained.push(this)}),$(uncontained).fadeOut("fast"),$opened=$(contained),$opened=exclude?$(contained):$(contained).add(container)};$.each(info.entries,function(i,entry){$container.append(create(entry))}),$container.bind("mouseleave",function(){close(!0)}),$container.bind("click",function(){close(!0)}),$trigger.bind(top_level?"click":"mouseenter",function(){var origin=$link.offset().left,width=$container.width(),available=$(document).width();if(top_level)available>origin+width?$container.css("left",0):$container.css("right",0);else{var padding=$link.width();available>origin+padding+width?$container.css("left",padding):$container.css("right",width-5),$container.css("top",0)}return close(!1),$container.show(),!1}),$link.prepend($opener),$tab.append($contain
er)}return $tab};return{render:function(){$.each(data.entries,function(i,info){$content.append(create(info,!0))}),$content.tipsy({delegate:"a"}),infrae.ui.selection.disable($content),tabs||$
content.children("li:last").addClass("last-action")},cleanup:function(){$content.unbind("open-menu"),$content.unbind(".tipsy"),$content.empty()}}}}),infrae.views.view({iface:"object",name:"header",factory:function($content,data,smi,url,view){var make_menu=function($menu,data){data?(($menu.is("ol")?$menu:$menu.find("ol")).render({data:data}),$menu.show()):$menu.hide()},make_all_menu=function($metadata,data,compact){if(make_menu($metadata.children(".user-menu"),data.user),compact){var entries=[];data.content&&(entries=entries.concat(data.content.entries)),data.view&&(entries=entries.concat(data.view.entries)),make_menu($metadata.find(".view-actions"),void 0),make_menu($metadata.children(".content-tabs"),void 0),make_menu($metadata.find(".compact-tabs"),{ifaces:["menu"],entries:[{logo:"tab-o
ptions",entries:entries}]})}else make_menu($metadata.find(".view-actions"),data.view),make_menu($metadata.children(".content-tabs"),data.content),make_menu($metadata.find(".compact-tabs"),vo
id 0)};return{render:function(){var $metadata=$content.children(".metadata"),$parent=$content.find("a.parent"),compact=$content.hasClass("compact-header");$metadata.children("h2").render({data:data.title,args:[smi,view]}),$metadata.children("#content-url").attr("href",url.expand({path:data.path})),make_all_menu($metadata,data.menu,compact),$content.find(".admin-actions").tipsy({delegate:"a"}),$content.children(".toolbar").render({data:data,name:"toolbar",args:[smi,view]}),data.up?(data.up.path&&$parent.attr("href",data.up.path),$parent.attr("rel",data.up.screen||smi.opening.screen),$parent.removeClass("ui-state-disabled"),$parent.addClass("ui-state-default")):($parent.addClass("ui-state-disabled"),$parent.removeClass("ui-state-default")),$(window).bind("fullscreen-resize-smi.default-heade
r",function(event,info){make_all_menu($metadata,data.menu,info.active)})},cleanup:function(){$content.find(".admin-actions").unbind(".tipsy"),$(window).unbind("fullscreen-resize-smi.default-
header")}}}}),infrae.views.view({iface:"object",name:"toolbar",factory:function($content,data){var actions=data.menu.actions,have_actions=actions&&actions.entries.length;return{jsont:'{.section have_actions}<div class="actions content-toolbar"><ol></ol></div>{.end}',have_actions:have_actions,render:function(){have_actions&&$content.find(".content-toolbar ol").render({data:actions})},cleanup:function(){$content.empty()}}}})})(jQuery,jsontemplate,infrae);
\ No newline at end of file
+!function($,jsontemplate,infrae){var SCROLLBARS_SIZE=0;$(document).ready(function(){SCROLLBARS_SIZE=function(){var outer_width,sb_width,$scroll_div=$('<div style="width:100px; height:50px; position:absolute; top:-9999px; left:-9999px; visibility:hidden; overflow:hidden;"><div style="width:100%; height:100px;"></div></div>');return $("body").append($scroll_div),outer_width=$scroll_div[0].offsetWidth,$scroll_div.css("overflow","scroll"),sb_width=outer_width-$scroll_div[0].clientWidth,$scroll_div.remove(),sb_width}()}),infrae.views.view({iface:"preview",name:"content",factory:function($content){var resolution_fixed=!1,resolution_height=0,resolution_width=0,max_height=0,max_width=0,resize=function($iframe){$iframe.height(Math.min(max_height,resolution_height)),$iframe.width(Math.min(max_width
,resolution_width))};return{template_data:!0,template_nocache:!0,iframe:!0,resize_iframe:function(width,height){return max_width=width,max_height=height,resolution_fixed?(resize(this.$iframe
),!0):!1},set_resolution:function(width,height){resolution_fixed=!0,resolution_height=height,resolution_width=+width+SCROLLBARS_SIZE,resize(this.$iframe)},clear_resolution:function(){resolution_fixed=!1,this.$iframe.trigger("resize")},cleanup:function(){$content.empty()}}}}),infrae.views.view({iface:"preview",name:"toolbar",factory:function($content,data,smi,view){var actions=data.menu.actions,resolutions=smi.options.preview?smi.options.preview.resolutions:[],have_actions=actions&&actions.entries.length;return{jsont:'{.section have_actions}<div class="actions content-toolbar"><ol></ol></div>{.end}{.section resolutions}<div class="view-toolbar resolution-preview"><select>{.repeated section @}<option value={resolution|htmltag}>{name}</option>{.end}</select></div>{.end}',have_actions:have_ac
tions,resolutions:resolutions,render:function(){have_actions&&$content.find(".content-toolbar ol").render({data:actions}),resolutions.length&&$content.find(".resolution-preview select").on("
change",function(){var value=$(this).attr("value"),resolution=value.match(/(\d*)x(\d*)/);resolution?view.set_resolution(resolution[1],resolution[2]):view.clear_resolution()})},cleanup:function(){$content.empty()}}}}),infrae.views.view({iface:"redirect",factory:function($content,data,smi){return{render:function(){smi.open_screen(data.path,data.screen)}}}});var text_template=new jsontemplate.Template('<div id="smi-text"><div class="smi-text-content">{html}</div></div>',{});infrae.views.view({iface:"text-overlay",factory:function($content,data){var $text=$(text_template.expand(data)),$overlay=$('<div class="ui-widget-overlay"></div>'),clear=function(event){return $(event.target).is("a")?void 0:($text.remove(),$overlay.remove(),!1)};return{render:function(){$overlay.click(clear),$text.click(c
lear),$("body").append($overlay),$("body").append($text)}}}}),infrae.views.view({iface:"view",factory:function($content,data){return{render:function(){window.open(data.url)}}}}),infrae.views
.view({iface:"message",factory:function($content,data){return{render:function(){return infrae.ui.ConfirmationDialog({title:data.title,message:data.message,not_cancellable:!0})}}}}),infrae.views.view({iface:"title",factory:function($content,data,smi){return{jsont:'<ins class="icon"></ins>{data.title|html}',render:function(){var name="Silva";smi.options.theme&&smi.options.theme.name&&(name=smi.options.theme.name),infrae.ui.icon($content.children("ins"),data.icon),$.browser.msie||$("head > title").html(name+" - "+data.title)}}}}),infrae.views.view({iface:"menu",factory:function($content,data){var tabs=$content.hasClass("tabs"),$opened=$([]),create=function(info,top_level){var $tab=$("<li><a></a></li>"),$link=$tab.children("a");if(tabs&&(top_level?(info.screen?$link.addClass("top-screen"):$li
nk.addClass("top-label"),$link.addClass("top-entry"),$tab.addClass("top-level")):$tab.addClass("sub-level")),info.name?$link.html("<span>"+info.name+"</span>"):info.logo&&$link.html('<ins cl
ass="tab-logo '+info.logo+'"/>'),info.screen?($link.addClass("open-screen"),$link.attr("rel",info.screen)):info.action?($link.addClass("open-action"),$link.attr("rel",info.action)):info.url&&($link.attr("href",info.url),info.target&&$link.attr("target",info.target)),info.icon){var icon_class="tab-icon";info.action&&(icon_class="action-icon"),$link.addClass("ui-state-default"),$link.prepend('<div class="'+icon_class+'"><ins class="ui-icon ui-icon-'+info.icon+'"></ins></div>')}if(info.active&&$link.addClass("active"),info.description&&$link.attr("title",info.description),info.accesskey&&$link.attr("accesskey",info.accesskey),info.trigger&&$link.addClass(info.trigger),info.entries){var $container=$('<ol class="subtabs"></ol>'),$opener=$('<div class="subtab-icon"><ins></ins></div>'),$trigger=
info.screen&&top_level?$opener:$link,close=function(exclude){var contained=[],uncontained=[],container=$container.get(0);$opened.each(function(){this===container&&!exclude||$.contains(this,c
ontainer)?contained.push(this):uncontained.push(this)}),$(uncontained).fadeOut("fast"),$opened=$(contained),$opened=exclude?$(contained):$(contained).add(container)};$.each(info.entries,function(i,entry){$container.append(create(entry))}),$container.bind("mouseleave",function(){close(!0)}),$container.bind("click",function(){close(!0)}),$trigger.bind(top_level?"click":"mouseenter",function(){var origin=$link.offset().left,width=$container.width(),available=$(document).width();if(top_level)available>origin+width?$container.css("left",0):$container.css("right",0);else{var padding=$link.width();available>origin+padding+width?$container.css("left",padding):$container.css("right",width-5),$container.css("top",0)}return close(!1),$container.show(),!1}),$link.prepend($opener),$tab.append($contain
er)}return $tab};return{render:function(){$.each(data.entries,function(i,info){$content.append(create(info,!0))}),$content.tipsy({delegate:"a"}),infrae.ui.selection.disable($content),tabs||$
content.children("li:last").addClass("last-action")},cleanup:function(){$content.unbind("open-menu"),$content.unbind(".tipsy"),$content.empty()}}}}),infrae.views.view({iface:"object",name:"header",factory:function($content,data,smi,url,view){var make_menu=function($menu,data){data?(($menu.is("ol")?$menu:$menu.find("ol")).render({data:data}),$menu.show()):$menu.hide()},make_all_menu=function($metadata,data,compact){if(make_menu($metadata.children(".user-menu"),data.user),compact){var entries=[];data.content&&(entries=entries.concat(data.content.entries)),data.view&&(entries=entries.concat(data.view.entries)),make_menu($metadata.find(".view-actions"),void 0),make_menu($metadata.children(".content-tabs"),void 0),make_menu($metadata.find(".compact-tabs"),{ifaces:["menu"],entries:[{logo:"tab-o
ptions",entries:entries}]})}else make_menu($metadata.find(".view-actions"),data.view),make_menu($metadata.children(".content-tabs"),data.content),make_menu($metadata.find(".compact-tabs"),vo
id 0)};return{render:function(){var $metadata=$content.children(".metadata"),$parent=$content.find("a.parent"),compact=$content.hasClass("compact-header");$metadata.children("h2").render({data:data.title,args:[smi,view]}),$metadata.children("#content-url").attr("href",url.expand({path:data.path})),make_all_menu($metadata,data.menu,compact),$content.find(".admin-actions").tipsy({delegate:"a"}),$content.children(".toolbar").render({data:data,name:"toolbar",args:[smi,view]}),data.up?(data.up.path&&$parent.attr("href",data.up.path),$parent.attr("rel",data.up.screen||smi.opening.screen),$parent.removeClass("ui-state-disabled"),$parent.addClass("ui-state-default")):($parent.addClass("ui-state-disabled"),$parent.removeClass("ui-state-default")),$(window).bind("fullscreen-resize-smi.default-heade
r",function(event,info){make_all_menu($metadata,data.menu,info.active)})},cleanup:function(){$content.find(".admin-actions").unbind(".tipsy"),$(window).unbind("fullscreen-resize-smi.default-
header")}}}}),infrae.views.view({iface:"object",name:"toolbar",factory:function($content,data){var actions=data.menu.actions,have_actions=actions&&actions.entries.length;return{jsont:'{.section have_actions}<div class="actions content-toolbar"><ol></ol></div>{.end}',have_actions:have_actions,render:function(){have_actions&&$content.find(".content-toolbar ol").render({data:actions})},cleanup:function(){$content.empty()}}}})}(jQuery,jsontemplate,infrae);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/thirdparty/jquery.hotkeys.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.hotkeys.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/thirdparty/jquery.hotkeys.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function(jQuery){jQuery.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",191:"/",224:"meta"},shiftNums:{"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"}};var createHandler=function(handleObj){if("string"==typeof handleObj.data){var origHandler=handleObj.han
dler,keys=handleObj.data.toLowerCase().split(" "),newHandler=function(event){var special="keypress"!==event.type&&jQuery.hotkeys.specialKeys[event.which],character=String.fromCharCode(event.
which).toLowerCase(),modif="",possible={};if(event.altKey&&"alt"!==special&&(modif+="alt+"),event.ctrlKey&&"ctrl"!==special&&(modif+="ctrl+"),event.metaKey&&!event.ctrlKey&&"meta"!==special&&(modif+="meta+"),event.shiftKey&&"shift"!==special&&(modif+="shift+"),modif||this===event.target||!/textarea|select/i.test(event.target.nodeName)&&!/text|search/i.test(event.target.type)){special?possible[modif+special]=!0:(possible[modif+character]=!0,possible[modif+jQuery.hotkeys.shiftNums[character]]=!0,"shift+"===modif&&(possible[jQuery.hotkeys.shiftNums[character]]=!0));for(var i=0,l=keys.length;l>i;i++)if(possible[keys[i]])return origHandler.apply(this,arguments)}};handleObj.handler=newHandler}};jQuery.each(["keydown","keyup","keypress"],function(){jQuery.event.special[this]={add:createHandler}}
)})(jQuery);
\ No newline at end of file
+!function(jQuery){jQuery.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",191:"/",224:"meta"},shiftNums:{"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"}};var createHandler=function(handleObj){if("string"==typeof handleObj.data){var origHandler=handleObj.han
dler,keys=handleObj.data.toLowerCase().split(" "),newHandler=function(event){var special="keypress"!==event.type&&jQuery.hotkeys.specialKeys[event.which],character=String.fromCharCode(event.
which).toLowerCase(),modif="",possible={};if(event.altKey&&"alt"!==special&&(modif+="alt+"),event.ctrlKey&&"ctrl"!==special&&(modif+="ctrl+"),event.metaKey&&!event.ctrlKey&&"meta"!==special&&(modif+="meta+"),event.shiftKey&&"shift"!==special&&(modif+="shift+"),modif||this===event.target||!/textarea|select/i.test(event.target.nodeName)&&!/text|search/i.test(event.target.type)){special?possible[modif+special]=!0:(possible[modif+character]=!0,possible[modif+jQuery.hotkeys.shiftNums[character]]=!0,"shift+"===modif&&(possible[jQuery.hotkeys.shiftNums[character]]=!0));for(var i=0,l=keys.length;l>i;i++)if(possible[keys[i]])return origHandler.apply(this,arguments)}};handleObj.handler=newHandler}};jQuery.each(["keydown","keyup","keypress"],function(){jQuery.event.special[this]={add:createHandler}}
)}(jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.css
--- a/src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-div.jGrowl{z-index:9999;color:#fff;font-size:12px}div.ie6{position:absolute}div.ie6.top-right{right:auto;bottom:auto;left:expression( ( 0 - jGrowl.offsetWidth+( document.documentElement.clientWidth ? document.documentElement.clientWidth:document.body.clientWidth )+( ignoreMe2=document.documentElement.scrollLeft ? document.documentElement.scrollLeft:document.body.scrollLeft ) )+'px' );top:expression( ( 0+( ignoreMe=document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop ) )+'px' )}div.ie6.top-left{left:expression( ( 0+( ignoreMe2=document.documentElement.scrollLeft ? document.documentElement.scrollLeft:document.body.scrollLeft ) )+'px' );top:expression( ( 0+( ignoreMe=document.documentElement.scrollTop ? document.documentElement.scrollTop:document.bo
dy.scrollTop ) )+'px' )}div.ie6.bottom-right{left:expression( ( 0 - jGrowl.offsetWidth+( document.documentElement.clientWidth ? document.documentElement.clientWidth:document.body.clientWidth
)+( ignoreMe2=document.documentElement.scrollLeft ? document.documentElement.scrollLeft:document.body.scrollLeft ) )+'px' );top:expression( ( 0 - jGrowl.offsetHeight+( document.documentElement.clientHeight ? document.documentElement.clientHeight:document.body.clientHeight )+( ignoreMe=document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop ) )+'px' )}div.ie6.bottom-left{left:expression( ( 0+( ignoreMe2=document.documentElement.scrollLeft ? document.documentElement.scrollLeft:document.body.scrollLeft ) )+'px' );top:expression( ( 0 - jGrowl.offsetHeight+( document.documentElement.clientHeight ? document.documentElement.clientHeight:document.body.clientHeight )+( ignoreMe=document.documentElement.scrollTop ? document.documentElement.scrollTop:document
.body.scrollTop ) )+'px' )}div.ie6.center{left:expression( ( 0+( ignoreMe2=document.documentElement.scrollLeft ? document.documentElement.scrollLeft:document.body.scrollLeft ) )+'px' );top:e
xpression( ( 0+( ignoreMe=document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop ) )+'px' );width:100%}div.jGrowl{position:absolute}body>div.jGrowl{position:fixed}div.jGrowl.top-left{left:0;top:0}div.jGrowl.top-right{right:0;top:0}div.jGrowl.bottom-left{left:0;bottom:0}div.jGrowl.bottom-right{right:0;bottom:0}div.jGrowl.center{top:0;width:50%;left:25%}div.center div.jGrowl-notification,div.center div.jGrowl-closer{margin-left:auto;margin-right:auto}div.jGrowl div.jGrowl-notification,div.jGrowl div.jGrowl-closer{opacity:.85;-ms-filter:"alpha(Opacity=85)";filter:alpha(Opacity=85);zoom:1;width:235px;padding:10px;margin-top:5px;margin-bottom:5px;font-family:Tahoma,Arial,Helvetica,sans-serif;font-size:1em;text-align:left;display:none;-moz-border-radius:
5px;-webkit-border-radius:5px}div.jGrowl div.jGrowl-feedback{background-color:#000}div.jGrowl div.jGrowl-error{background-color:#dc143c}div.jGrowl div.jGrowl-closer{background-color:#000}div
.jGrowl div.jGrowl-notification{min-height:40px}div.jGrowl div.jGrowl-notification,div.jGrowl div.jGrowl-closer{margin:10px}div.jGrowl div.jGrowl-notification div.jGrowl-header{font-weight:700;font-size:.85em}div.jGrowl div.jGrowl-notification div.jGrowl-close{z-index:99;float:right;font-weight:700;font-size:1em;cursor:pointer}div.jGrowl div.jGrowl-closer{padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:700;text-align:center}@media print{div.jGrowl{ display:none}}
\ No newline at end of file
+div.jGrowl{z-index:9999;color:#fff;font-size:12px}div.ie6{position:absolute}div.ie6.top-right{right:auto;bottom:auto;left:expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )}div.ie6.top-left{left:expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.docum
entElement.scrollTop : document.body.scrollTop ) ) + 'px' )}div.ie6.bottom-right{left:expression( ( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement
.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )}div.ie6.bottom-left{left:expression( ( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = docu
ment.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' )}div.ie6.center{left:expression( ( 0 + ( ignoreMe2 = document.documentElement.scroll
Left ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );top:expression( ( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );width:100%}div.jGrowl{position:absolute}body>div.jGrowl{position:fixed}div.jGrowl.top-left{left:0;top:0}div.jGrowl.top-right{right:0;top:0}div.jGrowl.bottom-left{left:0;bottom:0}div.jGrowl.bottom-right{right:0;bottom:0}div.jGrowl.center{top:0;width:50%;left:25%}div.center div.jGrowl-closer,div.center div.jGrowl-notification{margin-left:auto;margin-right:auto}div.jGrowl div.jGrowl-closer,div.jGrowl div.jGrowl-notification{opacity:.85;-ms-filter:"alpha(Opacity=85)";filter:alpha(Opacity=85);zoom:1;width:235px;padding:10px;font-family:Tahoma,Arial,Helvetica,sans-serif
;font-size:1em;text-align:left;display:none;-moz-border-radius:5px;-webkit-border-radius:5px}div.jGrowl div.jGrowl-feedback{background-color:#000}div.jGrowl div.jGrowl-error{background-color
:#dc143c}div.jGrowl div.jGrowl-closer{background-color:#000}div.jGrowl div.jGrowl-notification{min-height:40px}div.jGrowl div.jGrowl-closer,div.jGrowl div.jGrowl-notification{margin:10px}div.jGrowl div.jGrowl-notification div.jGrowl-header{font-weight:700;font-size:.85em}div.jGrowl div.jGrowl-notification div.jGrowl-close{z-index:99;float:right;font-weight:700;font-size:1em;cursor:pointer}div.jGrowl div.jGrowl-closer{padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:700;text-align:center}@media print{div.jGrowl{display:none}}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($){$.jGrowl=function(m,o){0==$("#jGrowl").size()&&$('<div id="jGrowl"></div>').addClass(o&&o.position?o.position:$.jGrowl.defaults.position).appendTo("body"),$("#jGrowl").jGrowl(m,o)},$.fn.jGrowl=function(m,o){if($.isFunction(this.each)){var args=arguments;return this.each(function(){void 0==$(this).data("jGrowl.instance")&&($(this).data("jGrowl.instance",$.extend(new $.fn.jGrowl,{notifications:[],element:null,interval:null})),$(this).data("jGrowl.instance").startup(this)),$.isFunction($(this).data("jGrowl.instance")[m])?$(this).data("jGrowl.instance")[m].apply($(this).data("jGrowl.instance"),$.makeArray(args).slice(1)):$(this).data("jGrowl.instance").create(m,o)})}},$.extend($.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",glue:"after",t
heme:"default",themeState:"highlight",corners:"10px",check:250,life:1e4,closeDuration:"normal",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"×",closerTemplate:"<div>[ c
lose all ]</div>",log:function(){},beforeOpen:function(){},afterOpen:function(){},open:function(){},beforeClose:function(){},close:function(){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(message,o){var o=$.extend({},this.defaults,o);o.speed!==void 0&&(o.openDuration=o.speed,o.closeDuration=o.speed),this.notifications.push({message:message,options:o}),o.log.apply(this.element,[this.element,message,o])},render:function(notification){var self=this,message=notification.message,o=notification.options;o.themeState=""==o.themeState?"":"jGrowl-"+o.themeState;var notification=$('<div class="jGrowl-notification '+o.themeState+" ui-corner-all"+(void 0!=o.group&&""!=o.group?" "+o.group:"")+'">'+'<div class="jGrowl-close">'+o
.closeTemplate+"</div>"+'<div class="jGrowl-header">'+o.header+"</div>"+'<div class="jGrowl-message">'+message+"</div></div>").data("jGrowl",o).addClass(o.theme).children("div.jGrowl-close")
.bind("click.jGrowl",function(){$(this).parent().trigger("jGrowl.close")}).parent();$(notification).bind("mouseover.jGrowl",function(){$("div.jGrowl-notification",self.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){$("div.jGrowl-notification",self.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){0!=o.beforeOpen.apply(notification,[notification,message,o,self.element])&&$(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){0!=o.open.apply(notification,[notification,message,o,self.element])&&("after"==o.glue?$("div.jGrowl-notification:last",self.element).after(notification):$("div.jGrowl-notification:first",self.element).before(notification),$(this).animate(o.animateOpen,o.openDuration,o.easing,function(){!$.browser.msie||1!==parseInt($(t
his).css("opacity"),10)&&0!==parseInt($(this).css("opacity"),10)||this.style.removeAttribute("filter"),null!=$(this).data("jGrowl")&&($(this).data("jGrowl").created=new Date),$(this).trigger
("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpen",function(){o.afterOpen.apply(notification,[notification,message,o,self.element])}).bind("jGrowl.beforeClose",function(){0!=o.beforeClose.apply(notification,[notification,message,o,self.element])&&$(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){$(this).data("jGrowl.pause",!0),$(this).animate(o.animateClose,o.closeDuration,o.easing,function(){$.isFunction(o.close)?o.close.apply(notification,[notification,message,o,self.element])!==!1&&$(this).remove():$(this).remove()})}).trigger("jGrowl.beforeOpen"),""!=o.corners&&void 0!=$.fn.corner&&$(notification).corner(o.corners),$("div.jGrowl-notification:parent",self.element).size()>1&&0==$("div.jGrowl-closer",self.element).size()&&0!=this.defaults.closer&&$(this.defaults.closerTempl
ate).addClass("jGrowl-closer ui-corner-all").addClass(this.defaults.theme).appendTo(self.element).animate(o.animateOpen,o.openDuration,o.easing).bind("click.jGrowl",function(){$(this).siblin
gs().trigger("jGrowl.beforeClose"),$.isFunction(self.defaults.closer)&&self.defaults.closer.apply($(this).parent()[0],[$(this).parent()[0]])})},update:function(){$(this.element).find("div.jGrowl-notification:parent").each(function(){void 0!=$(this).data("jGrowl")&&void 0!=$(this).data("jGrowl").created&&$(this).data("jGrowl").created.getTime()+parseInt($(this).data("jGrowl").life)<(new Date).getTime()&&1!=$(this).data("jGrowl").sticky&&(void 0==$(this).data("jGrowl.pause")||1!=$(this).data("jGrowl.pause"))&&$(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(0==this.defaults.pool||$(this.element).find("div.jGrowl-notification:parent").size()<this.defaults.pool)&&this.render(this.notifications.shift()),2>$(this.element).find("div.jGrowl-notification:parent").size()&&$(thi
s.element).find("div.jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){$(this).remove()})},startup:function(e){this.element=$(e).addClass
("jGrowl").append('<div class="jGrowl-notification"></div>'),this.interval=setInterval(function(){$(e).data("jGrowl.instance").update()},parseInt(this.defaults.check)),$.browser.msie&&7>parseInt($.browser.version)&&!window.XMLHttpRequest&&$(this.element).addClass("ie6")},shutdown:function(){$(this.element).removeClass("jGrowl").find("div.jGrowl-notification").remove(),clearInterval(this.interval)},close:function(){$(this.element).find("div.jGrowl-notification").each(function(){$(this).trigger("jGrowl.beforeClose")})}}),$.jGrowl.defaults=$.fn.jGrowl.prototype.defaults})(jQuery);
\ No newline at end of file
+!function($){$.jGrowl=function(m,o){0==$("#jGrowl").size()&&$('<div id="jGrowl"></div>').addClass(o&&o.position?o.position:$.jGrowl.defaults.position).appendTo("body"),$("#jGrowl").jGrowl(m,o)},$.fn.jGrowl=function(m,o){if($.isFunction(this.each)){var args=arguments;return this.each(function(){void 0==$(this).data("jGrowl.instance")&&($(this).data("jGrowl.instance",$.extend(new $.fn.jGrowl,{notifications:[],element:null,interval:null})),$(this).data("jGrowl.instance").startup(this)),$.isFunction($(this).data("jGrowl.instance")[m])?$(this).data("jGrowl.instance")[m].apply($(this).data("jGrowl.instance"),$.makeArray(args).slice(1)):$(this).data("jGrowl.instance").create(m,o)})}},$.extend($.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",glue:"after",t
heme:"default",themeState:"highlight",corners:"10px",check:250,life:1e4,closeDuration:"normal",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"×",closerTemplate:"<div>[ c
lose all ]</div>",log:function(){},beforeOpen:function(){},afterOpen:function(){},open:function(){},beforeClose:function(){},close:function(){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(message,o){var o=$.extend({},this.defaults,o);"undefined"!=typeof o.speed&&(o.openDuration=o.speed,o.closeDuration=o.speed),this.notifications.push({message:message,options:o}),o.log.apply(this.element,[this.element,message,o])},render:function(notification){var self=this,message=notification.message,o=notification.options;o.themeState=""==o.themeState?"":"jGrowl-"+o.themeState;var notification=$('<div class="jGrowl-notification '+o.themeState+" ui-corner-all"+(void 0!=o.group&&""!=o.group?" "+o.group:"")+'"><div class="jGrowl-cl
ose">'+o.closeTemplate+'</div><div class="jGrowl-header">'+o.header+'</div><div class="jGrowl-message">'+message+"</div></div>").data("jGrowl",o).addClass(o.theme).children("div.jGrowl-close
").bind("click.jGrowl",function(){$(this).parent().trigger("jGrowl.close")}).parent();$(notification).bind("mouseover.jGrowl",function(){$("div.jGrowl-notification",self.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){$("div.jGrowl-notification",self.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){0!=o.beforeOpen.apply(notification,[notification,message,o,self.element])&&$(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){0!=o.open.apply(notification,[notification,message,o,self.element])&&("after"==o.glue?$("div.jGrowl-notification:last",self.element).after(notification):$("div.jGrowl-notification:first",self.element).before(notification),$(this).animate(o.animateOpen,o.openDuration,o.easing,function(){!$.browser.msie||1!==parseInt($
(this).css("opacity"),10)&&0!==parseInt($(this).css("opacity"),10)||this.style.removeAttribute("filter"),null!=$(this).data("jGrowl")&&($(this).data("jGrowl").created=new Date),$(this).trigg
er("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpen",function(){o.afterOpen.apply(notification,[notification,message,o,self.element])}).bind("jGrowl.beforeClose",function(){0!=o.beforeClose.apply(notification,[notification,message,o,self.element])&&$(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){$(this).data("jGrowl.pause",!0),$(this).animate(o.animateClose,o.closeDuration,o.easing,function(){$.isFunction(o.close)?o.close.apply(notification,[notification,message,o,self.element])!==!1&&$(this).remove():$(this).remove()})}).trigger("jGrowl.beforeOpen"),""!=o.corners&&void 0!=$.fn.corner&&$(notification).corner(o.corners),$("div.jGrowl-notification:parent",self.element).size()>1&&0==$("div.jGrowl-closer",self.element).size()&&0!=this.defaults.closer&&$(this.defaults.closerTem
plate).addClass("jGrowl-closer ui-corner-all").addClass(this.defaults.theme).appendTo(self.element).animate(o.animateOpen,o.openDuration,o.easing).bind("click.jGrowl",function(){$(this).sibl
ings().trigger("jGrowl.beforeClose"),$.isFunction(self.defaults.closer)&&self.defaults.closer.apply($(this).parent()[0],[$(this).parent()[0]])})},update:function(){$(this.element).find("div.jGrowl-notification:parent").each(function(){void 0!=$(this).data("jGrowl")&&void 0!=$(this).data("jGrowl").created&&$(this).data("jGrowl").created.getTime()+parseInt($(this).data("jGrowl").life)<(new Date).getTime()&&1!=$(this).data("jGrowl").sticky&&(void 0==$(this).data("jGrowl.pause")||1!=$(this).data("jGrowl.pause"))&&$(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(0==this.defaults.pool||$(this.element).find("div.jGrowl-notification:parent").size()<this.defaults.pool)&&this.render(this.notifications.shift()),$(this.element).find("div.jGrowl-notification:parent").size()<2&&$(t
his.element).find("div.jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){$(this).remove()})},startup:function(e){this.element=$(e).addCla
ss("jGrowl").append('<div class="jGrowl-notification"></div>'),this.interval=setInterval(function(){$(e).data("jGrowl.instance").update()},parseInt(this.defaults.check)),$.browser.msie&&parseInt($.browser.version)<7&&!window.XMLHttpRequest&&$(this.element).addClass("ie6")},shutdown:function(){$(this.element).removeClass("jGrowl").find("div.jGrowl-notification").remove(),clearInterval(this.interval)},close:function(){$(this.element).find("div.jGrowl-notification").each(function(){$(this).trigger("jGrowl.beforeClose")})}}),$.jGrowl.defaults=$.fn.jGrowl.prototype.defaults}(jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/thirdparty/jquery.jstree.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.jstree.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/thirdparty/jquery.jstree.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,2 +1,2 @@
-"use strict";(function($){$.vakata={},$.vakata.css={get_css:function(rule_name,delete_flag,sheet){rule_name=rule_name.toLowerCase();var css_rules=sheet.cssRules||sheet.rules,j=0;do{if(css_rules.length&&j>css_rules.length+5)return!1;if(css_rules[j].selectorText&&css_rules[j].selectorText.toLowerCase()==rule_name)return delete_flag===!0?(sheet.removeRule&&sheet.removeRule(j),sheet.deleteRule&&sheet.deleteRule(j),!0):css_rules[j]}while(css_rules[++j]);return!1},add_css:function(rule_name,sheet){return $.jstree.css.get_css(rule_name,!1,sheet)?!1:(sheet.insertRule?sheet.insertRule(rule_name+" { }",0):sheet.addRule(rule_name,null,0),$.vakata.css.get_css(rule_name))},remove_css:function(rule_name,sheet){return $.vakata.css.get_css(rule_name,!0,sheet)},add_sheet:function(opts){var tmp;if(opts.str
)return tmp=document.createElement("style"),tmp.setAttribute("type","text/css"),tmp.styleSheet?(document.getElementsByTagName("head")[0].appendChild(tmp),tmp.styleSheet.cssText=opts.str):(tm
p.appendChild(document.createTextNode(opts.str)),document.getElementsByTagName("head")[0].appendChild(tmp)),tmp.sheet||tmp.styleSheet;if(opts.url){if(!document.createStyleSheet)return tmp=document.createElement("link"),tmp.rel="stylesheet",tmp.type="text/css",tmp.media="all",tmp.href=opts.url,document.getElementsByTagName("head")[0].appendChild(tmp),tmp.styleSheet;try{tmp=document.createStyleSheet(opts.url)}catch(e){}}}}})(jQuery),function($){var instances=[],focused_instance=-1,plugins={},prepared_move={},is_ie6=!1;$.fn.jstree=function(settings){var isMethodCall="string"==typeof settings,args=Array.prototype.slice.call(arguments,1),returnValue=this;return!isMethodCall&&$.meta&&args.push($.metadata.get(this).jstree),settings=!isMethodCall&&args.length?$.extend.apply(null,[!0,settings].con
cat(args)):settings,isMethodCall&&"_"==settings.substring(0,1)?returnValue:(isMethodCall?this.each(function(){var instance=instances[$.data(this,"jstree-instance-id")],methodValue=instance&&
$.isFunction(instance[settings])?instance[settings].apply(instance,args):instance;return methodValue!==void 0&&(settings.indexOf(false)||methodValue!==!0&&methodValue!==!1)?(returnValue=methodValue,!1):void 0}):this.each(function(){var instance_id=$.data(this,"jstree-instance-id"),s=!1;instance_id!==void 0&&instances[instance_id]&&instances[instance_id].destroy(),instance_id=parseInt(instances.push({}),10)-1,$.data(this,"jstree-instance-id",instance_id),settings||(settings={}),settings.plugins=$.isArray(settings.plugins)?settings.plugins:$.jstree.defaults.plugins,-1===$.inArray("core",settings.plugins)&&settings.plugins.unshift("core"),s=$.extend(!0,{},$.jstree.defaults,settings),s.plugins=settings.plugins,$.each(plugins,function(i){-1===$.inArray(i,s.plugins)&&(s[i]=null,delete s[i])}),i
nstances[instance_id]=new $.jstree._instance(instance_id,$(this).addClass("jstree jstree-"+instance_id),s),$.each(instances[instance_id]._get_settings().plugins,function(i,val){instances[ins
tance_id].data[val]={}}),$.each(instances[instance_id]._get_settings().plugins,function(i,val){plugins[val]&&plugins[val].__init.apply(instances[instance_id])}),instances[instance_id].init()}),returnValue)},$.jstree={defaults:{plugins:[]},_focused:function(){return instances[focused_instance]||null},_reference:function(needle){if(instances[needle])return instances[needle];var o=$(needle);return o.length||"string"!=typeof needle||(o=$("#"+needle)),o.length?instances[o.closest(".jstree").data("jstree-instance-id")]||null:null},_instance:function(index,container,settings){this.data={core:{}},this.get_settings=function(){return $.extend(!0,{},settings)},this._get_settings=function(){return settings},this.get_index=function(){return index},this.get_container=function(){return container},this._
set_settings=function(s){settings=$.extend(!0,{},settings,s)}},_fn:{},plugin:function(pname,pdata){pdata=$.extend({},{__init:$.noop,__destroy:$.noop,_fn:{},defaults:!1},pdata),plugins[pname]
=pdata,$.jstree.defaults[pname]=pdata.defaults,$.each(pdata._fn,function(i,val){val.plugin=pname,val.old=$.jstree._fn[i],$.jstree._fn[i]=function(){var rslt,func=val,args=Array.prototype.slice.call(arguments),evnt=new $.Event("before.jstree"),rlbk=!1;do{if(func&&func.plugin&&-1!==$.inArray(func.plugin,this._get_settings().plugins))break;func=func.old}while(func);if(func&&(rslt=this.get_container().triggerHandler(evnt,{func:i,inst:this,args:args}),rslt!==!1))return rslt!==void 0&&(args=rslt),rslt=0===i.indexOf("_")?func.apply(this,args):func.apply($.extend({},this,{__callback:function(data){this.get_container().triggerHandler(i+".jstree",{inst:this,args:args,rslt:data,rlbk:rlbk})},__rollback:function(){return rlbk=this.get_rollback()},__call_old:function(replace_arguments){return func.old.
apply(this,replace_arguments?Array.prototype.slice.call(arguments,1):args)}}),args)},$.jstree._fn[i].old=val.old,$.jstree._fn[i].plugin=pname})},rollback:function(rb){rb&&($.isArray(rb)||(rb
=[rb]),$.each(rb,function(i,val){instances[val.i].set_rollback(val.h,val.d)}))}},$.jstree._fn=$.jstree._instance.prototype={},$(function(){var u=navigator.userAgent.toLowerCase(),v=(u.match(/.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],css_string=".jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } .jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; } .jstree-rtl li { margin-left:0; margin-right:18px; } .jstree > ul > li { margin-left:0px; } .jstree-rtl > ul > li { margin-right:0px; } .jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } .jstree a { display:inline-block; line-height:16px; height:16px; color:black; white-space:nowrap; te
xt-decoration:none; padding:1px 2px; margin:0; } .jstree a:focus { outline: none; } .jstree a > ins { height:16px; width:16px; } .jstree a > .jstree-icon { margin-right:3px; } .jstree-rtl a
> .jstree-icon { margin-left:3px; margin-right:0; } li.jstree-open > ul { display:block; } li.jstree-closed > ul { display:none; } ";/msie/.test(u)&&6==parseInt(v,10)&&(is_ie6=!0,css_string+=".jstree li { height:18px; margin-left:0; margin-right:0; } .jstree li li { margin-left:18px; } .jstree-rtl li li { margin-left:0px; margin-right:18px; } li.jstree-open ul { display:block; } li.jstree-closed ul { display:none !important; } .jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } .jstree li a ins { height:16px; width:16px; margin-right:3px; } .jstree-rtl li a ins { margin-right:0px; margin-left:3px; } "),/msie/.test(u)&&7==parseInt(v,10)&&(css_string+=".jstree li a { border-width:0 !important; padding:0px 2px !important; } "),$.vakata.css.add_sheet({str:c
ss_string})}),$.jstree.plugin("core",{__init:function(){this.data.core.to_open=$.map($.makeArray(this.get_settings().core.initially_open),function(n){return"#"+(""+n).replace(/^#/,"").replac
e("\\/","/").replace("/","\\/")})},defaults:{html_titles:!1,animation:500,initially_open:[],rtl:!1,strings:{loading:"Loading ...",new_node:"New node"}},_fn:{init:function(){this.set_focus(),this._get_settings().core.rtl&&this.get_container().addClass("jstree-rtl").css("direction","rtl"),this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins> </ins><a class='jstree-loading' href='#'><ins class='jstree-icon'> </ins>"+this._get_settings().core.strings.loading+"</a></li></ul>"),this.data.core.li_height=this.get_container().find("ul li.jstree-closed, ul li.jstree-leaf").eq(0).height()||18,this.get_container().delegate("li > ins","click.jstree",$.proxy(function(event){var trgt=$(event.target);trgt.is("ins")&&event.pageY-trgt.offset().top<this.data.core.li_height&&this
.toggle_node(trgt)},this)).bind("mousedown.jstree",$.proxy(function(){this.set_focus()},this)).bind("dblclick.jstree",function(){var sel;if(document.selection&&document.selection.empty)docum
ent.selection.empty();else if(window.getSelection){sel=window.getSelection();try{sel.removeAllRanges(),sel.collapse()}catch(err){}}}),this.__callback(),this.load_node(-1,function(){this.loaded(),this.reopen()})},destroy:function(){var i,n=this.get_index(),s=this._get_settings(),_this=this;if($.each(s.plugins,function(i,val){try{plugins[val].__destroy.apply(_this)}catch(err){}}),this.__callback(),this.is_focused())for(i in instances)if(instances.hasOwnProperty(i)&&i!=n){instances[i].set_focus();break}n===focused_instance&&(focused_instance=-1),this.get_container().unbind(".jstree").undelegate(".jstree").removeData("jstree-instance-id").find("[class^='jstree']").andSelf().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),instances[n]=null,delete instances[n]},sav
e_opened:function(){var _this=this;this.data.core.to_open=[],this.get_container().find(".jstree-open").each(function(){_this.data.core.to_open.push("#"+(""+this.id).replace(/^#/,"").replace(
"\\/","/").replace("/","\\/"))}),this.__callback(_this.data.core.to_open)},reopen:function(is_callback){var _this=this,done=!0,current=[],remaining=[];is_callback||(this.data.core.reopen=!1,this.data.core.refreshing=!0),this.data.core.to_open.length&&($.each(this.data.core.to_open,function(i,val){return"#"==val?!0:($(val).length&&$(val).is(".jstree-closed")?current.push(val):remaining.push(val),void 0)}),current.length&&(this.data.core.to_open=remaining,$.each(current,function(i,val){_this.open_node(val,function(){_this.reopen(!0)},!0)}),done=!1)),done&&(this.data.core.reopen&&clearTimeout(this.data.core.reopen),this.data.core.reopen=setTimeout(function(){_this.__callback({},_this)},50),this.data.core.refreshing=!1)},refresh:function(obj){var _this=this;this.save_opened(),obj||(obj=-1),ob
j=this._get_node(obj),obj||(obj=-1),-1!==obj&&obj.children("UL").remove(),this.load_node(obj,function(){_this.__callback({obj:obj}),_this.reopen()})},loaded:function(){this.__callback()},set
_focus:function(){var f=$.jstree._focused();f&&f!==this&&f.get_container().removeClass("jstree-focused"),f!==this&&(this.get_container().addClass("jstree-focused"),focused_instance=this.get_index()),this.__callback()},is_focused:function(){return focused_instance==this.get_index()},_get_node:function(obj){var $obj=$(obj,this.get_container());return $obj.is(".jstree")||-1==obj?-1:($obj=$obj.closest("li",this.get_container()),$obj.length?$obj:!1)},_get_next:function(obj,strict){return obj=this._get_node(obj),-1===obj?this.get_container().find("> ul > li:first-child"):obj.length?strict?obj.nextAll("li").size()>0?obj.nextAll("li:eq(0)"):!1:obj.hasClass("jstree-open")?obj.find("li:eq(0)"):obj.nextAll("li").size()>0?obj.nextAll("li:eq(0)"):obj.parentsUntil(".jstree","li").next("li").eq(0):!1},_
get_prev:function(obj,strict){if(obj=this._get_node(obj),-1===obj)return this.get_container().find("> ul > li:last-child");if(!obj.length)return!1;if(strict)return obj.prevAll("li").length>0
?obj.prevAll("li:eq(0)"):!1;if(obj.prev("li").length){for(obj=obj.prev("li").eq(0);obj.hasClass("jstree-open");)obj=obj.children("ul:eq(0)").children("li:last");return obj}var o=obj.parentsUntil(".jstree","li:eq(0)");return o.length?o:!1},_get_parent:function(obj){if(obj=this._get_node(obj),-1==obj||!obj.length)return!1;var o=obj.parentsUntil(".jstree","li:eq(0)");return o.length?o:-1},_get_children:function(obj){return obj=this._get_node(obj),-1===obj?this.get_container().children("ul:eq(0)").children("li"):obj.length?obj.children("ul:eq(0)").children("li"):!1},get_path:function(obj,id_mode){var p=[],_this=this;return obj=this._get_node(obj),-1!==obj&&obj&&obj.length?(obj.parentsUntil(".jstree","li").each(function(){p.push(id_mode?this.id:_this.get_text(this))}),p.reverse(),p.push(id_mod
e?obj.attr("id"):this.get_text(obj)),p):!1},is_open:function(obj){return obj=this._get_node(obj),obj&&-1!==obj&&obj.hasClass("jstree-open")},is_closed:function(obj){return obj=this._get_node
(obj),obj&&-1!==obj&&obj.hasClass("jstree-closed")},is_leaf:function(obj){return obj=this._get_node(obj),obj&&-1!==obj&&obj.hasClass("jstree-leaf")},open_node:function(obj,callback,skip_animation){if(obj=this._get_node(obj),!obj.length)return!1;if(!obj.hasClass("jstree-closed"))return callback&&callback.call(),!1;var s=skip_animation||is_ie6?0:this._get_settings().core.animation,t=this;this._is_loaded(obj)?(s&&obj.children("ul").css("display","none"),obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading"),s&&obj.children("ul").stop(!0).slideDown(s,function(){this.style.display=""}),this.__callback({obj:obj}),callback&&callback.call()):(obj.children("a").addClass("jstree-loading"),this.load_node(obj,function(){t.open_node(obj,callback,skip_anima
tion)},callback))},close_node:function(obj,skip_animation){obj=this._get_node(obj);var s=skip_animation||is_ie6?0:this._get_settings().core.animation;return obj.length&&obj.hasClass("jstree-
open")?(s&&obj.children("ul").attr("style","display:block !important"),obj.removeClass("jstree-open").addClass("jstree-closed"),s&&obj.children("ul").stop(!0).slideUp(s,function(){this.style.display=""}),this.__callback({obj:obj}),void 0):!1},toggle_node:function(obj){return obj=this._get_node(obj),obj.hasClass("jstree-closed")?this.open_node(obj):obj.hasClass("jstree-open")?this.close_node(obj):void 0},open_all:function(obj,original_obj){obj=obj?this._get_node(obj):this.get_container(),obj&&-1!==obj||(obj=this.get_container()),original_obj?obj=obj.find("li.jstree-closed"):(original_obj=obj,obj=obj.is(".jstree-closed")?obj.find("li.jstree-closed").andSelf():obj.find("li.jstree-closed"));var _this=this;obj.each(function(){var __this=this;_this._is_loaded(this)?_this.open_node(this,!1,!0):_
this.open_node(this,function(){_this.open_all(__this,original_obj)},!0)}),0===original_obj.find("li.jstree-closed").length&&this.__callback({obj:original_obj})},close_all:function(obj){var _
this=this;obj=obj?this._get_node(obj):this.get_container(),obj&&-1!==obj||(obj=this.get_container()),obj.find("li.jstree-open").andSelf().each(function(){_this.close_node(this)}),this.__callback({obj:obj})},clean_node:function(obj){obj=obj&&-1!=obj?$(obj):this.get_container(),obj=obj.is("li")?obj.find("li").andSelf():obj.find("li"),obj.removeClass("jstree-last").filter("li:last-child").addClass("jstree-last").end().filter(":has(li)").not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed"),obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove(),this.__callback({obj:obj})},get_rollback:function(){return this.__callback(),{i:this.get_index(),h:this.get_container().children("ul").clone(!0),d:this.data}},set_rollback:function(html,data){this.get
_container().empty().append(html),this.data=data,this.__callback()},load_node:function(obj){this.__callback({obj:obj})},_is_loaded:function(){return!0},create_node:function(obj,position,js,c
allback,is_loaded){obj=this._get_node(obj),position=position===void 0?"last":position;var tmp,d=$("<li>"),s=this._get_settings().core;if(-1!==obj&&!obj.length)return!1;if(!is_loaded&&!this._is_loaded(obj))return this.load_node(obj,function(){this.create_node(obj,position,js,callback,!0)}),!1;switch(this.__rollback(),"string"==typeof js&&(js={data:js}),js||(js={}),js.attr&&d.attr(js.attr),js.state&&d.addClass("jstree-"+js.state),js.data||(js.data=s.strings.new_node),$.isArray(js.data)||(tmp=js.data,js.data=[],js.data.push(tmp)),$.each(js.data,function(i,m){tmp=$("<a>"),$.isFunction(m)&&(m=m.call(this,js)),"string"==typeof m?tmp.attr("href","#")[s.html_titles?"html":"text"](m):(m.attr||(m.attr={}),m.attr.href||(m.attr.href="#"),tmp.attr(m.attr)[s.html_titles?"html":"text"](m.title),m.langua
ge&&tmp.addClass(m.language)),tmp.prepend("<ins class='jstree-icon'> </ins>"),m.icon&&(-1===m.icon.indexOf("/")?tmp.children("ins").addClass(m.icon):tmp.children("ins").css("background"
,"url('"+m.icon+"') center center no-repeat")),d.append(tmp)}),d.prepend("<ins class='jstree-icon'> </ins>"),-1===obj&&(obj=this.get_container(),"before"===position&&(position="first"),"after"===position&&(position="last")),position){case"before":obj.before(d),tmp=this._get_parent(obj);break;case"after":obj.after(d),tmp=this._get_parent(obj);break;case"inside":case"first":obj.children("ul").length||obj.append("<ul>"),obj.children("ul").prepend(d),tmp=obj;break;case"last":obj.children("ul").length||obj.append("<ul>"),obj.children("ul").append(d),tmp=obj;break;default:obj.children("ul").length||obj.append("<ul>"),position||(position=0),tmp=obj.children("ul").children("li").eq(position),tmp.length?tmp.before(d):obj.children("ul").append(d),tmp=obj}return(-1===tmp||tmp.get(0)===this.get_
container().get(0))&&(tmp=-1),this.clean_node(tmp),this.__callback({obj:d,parent:tmp}),callback&&callback.call(this,d),d},get_text:function(obj){if(obj=this._get_node(obj),!obj.length)return
!1;var s=this._get_settings().core.html_titles;return obj=obj.children("a:eq(0)"),s?(obj=obj.clone(),obj.children("INS").remove(),obj.html()):(obj=obj.contents().filter(function(){return 3==this.nodeType})[0],obj.nodeValue)},set_text:function(obj,val){if(obj=this._get_node(obj),!obj.length)return!1;if(obj=obj.children("a:eq(0)"),this._get_settings().core.html_titles){var tmp=obj.children("INS").clone();return obj.html(val).prepend(tmp),this.__callback({obj:obj,name:val}),!0}return obj=obj.contents().filter(function(){return 3==this.nodeType})[0],this.__callback({obj:obj,name:val}),obj.nodeValue=val},rename_node:function(obj,val){obj=this._get_node(obj),this.__rollback(),obj&&obj.length&&this.set_text.apply(this,Array.prototype.slice.call(arguments))&&this.__callback({obj:obj,name:val})},d
elete_node:function(obj){if(obj=this._get_node(obj),!obj.length)return!1;this.__rollback();var p=this._get_parent(obj),prev=this._get_prev(obj);return obj=obj.remove(),-1!==p&&0===p.find(">
ul > li").length&&p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"),this.clean_node(p),this.__callback({obj:obj,prev:prev}),obj},prepare_move:function(o,r,pos,cb,is_cb){var p={};if(p.ot=$.jstree._reference(p.o)||this,p.o=p.ot._get_node(o),p.r=-1===r?-1:this._get_node(r),p.p=p===void 0?"last":pos,!is_cb&&prepared_move.o&&prepared_move.o[0]===p.o[0]&&prepared_move.r[0]===p.r[0]&&prepared_move.p===p.p)return this.__callback(prepared_move),cb&&cb.call(this,prepared_move),void 0;if(p.ot=$.jstree._reference(p.o)||this,p.rt=-1===r?p.ot:$.jstree._reference(p.r)||this,-1===p.r)switch(p.cr=-1,p.p){case"first":case"before":case"inside":p.cp=0;break;case"after":case"last":p.cp=p.rt.get_container().find(" > ul > li").length;break;default:p.cp=p.p}else{if(!/^(before|after)$/.test(p.p)&
&!this._is_loaded(p.r))return this.load_node(p.r,function(){this.prepare_move(o,r,pos,cb,!0)});switch(p.p){case"before":p.cp=p.r.index(),p.cr=p.rt._get_parent(p.r);break;case"after":p.cp=p.r
.index()+1,p.cr=p.rt._get_parent(p.r);break;case"inside":case"first":p.cp=0,p.cr=p.r;break;case"last":p.cp=p.r.find(" > ul > li").length,p.cr=p.r;break;default:p.cp=p.p,p.cr=p.r}}p.np=-1==p.cr?p.rt.get_container():p.cr,p.op=p.ot._get_parent(p.o),p.or=p.np.find(" > ul > li:nth-child("+(p.cp+1)+")"),prepared_move=p,this.__callback(prepared_move),cb&&cb.call(this,prepared_move)},check_move:function(){var obj=prepared_move,ret=!0;return obj.or[0]===obj.o[0]?!1:(obj.o.each(function(){return-1!==obj.r.parentsUntil(".jstree").andSelf().filter("li").index(this)?(ret=!1,!1):void 0}),ret)},move_node:function(obj,ref,position,is_copy,is_prepared,skip_check){if(!is_prepared)return this.prepare_move(obj,ref,position,function(p){this.move_node(p,!1,!1,is_copy,!0,skip_check)});if(!skip_check&&!this.chec
k_move())return!1;this.__rollback();var o=!1;is_copy?(o=obj.o.clone(),o.find("*[id]").andSelf().each(function(){this.id&&(this.id="copy_"+this.id)})):o=obj.o,obj.or.length?obj.or.before(o):(
obj.np.children("ul").length||$("<ul>").appendTo(obj.np),obj.np.children("ul:eq(0)").append(o));try{obj.ot.clean_node(obj.op),obj.rt.clean_node(obj.np),obj.op.find("> ul > li").length||obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove()}catch(e){}return is_copy&&(prepared_move.cy=!0,prepared_move.oc=o),this.__callback(prepared_move),prepared_move},_get_move:function(){return prepared_move}}})}(jQuery),function($){$.jstree.plugin("ui",{__init:function(){this.data.ui.selected=$(),this.data.ui.last_selected=!1,this.data.ui.hovered=null,this.data.ui.to_select=this.get_settings().ui.initially_select,this.get_container().delegate("a","click.jstree",$.proxy(function(event){event.preventDefault(),this.select_node(event.currentTarget,!0,event)},this)).de
legate("a","mouseenter.jstree",$.proxy(function(event){this.hover_node(event.target)},this)).delegate("a","mouseleave.jstree",$.proxy(function(event){this.dehover_node(event.target)},this)).
bind("reopen.jstree",$.proxy(function(){this.reselect()},this)).bind("get_rollback.jstree",$.proxy(function(){this.dehover_node(),this.save_selected()},this)).bind("set_rollback.jstree",$.proxy(function(){this.reselect()},this)).bind("close_node.jstree",$.proxy(function(event,data){var s=this._get_settings().ui,obj=this._get_node(data.rslt.obj),clk=obj&&obj.length?obj.children("ul").find(".jstree-clicked"):$(),_this=this;s.selected_parent_close!==!1&&clk.length&&clk.each(function(){_this.deselect_node(this),"select_parent"===s.selected_parent_close&&_this.select_node(obj)})},this)).bind("delete_node.jstree",$.proxy(function(event,data){var s=this._get_settings().ui.select_prev_on_delete,obj=this._get_node(data.rslt.obj),clk=obj&&obj.length?obj.find(".jstree-clicked"):[],_this=this;clk.eac
h(function(){_this.deselect_node(this)}),s&&clk.length&&this.select_node(data.rslt.prev)},this)).bind("move_node.jstree",$.proxy(function(event,data){data.rslt.cy&&data.rslt.oc.find(".jstree
-clicked").removeClass("jstree-clicked")},this))},defaults:{select_limit:-1,select_multiple_modifier:"ctrl",selected_parent_close:"select_parent",select_prev_on_delete:!0,disable_selecting_children:!1,initially_select:[]},_fn:{_get_node:function(obj,allow_multiple){if(obj===void 0||null===obj)return allow_multiple?this.data.ui.selected:this.data.ui.last_selected;var $obj=$(obj,this.get_container());return $obj.is(".jstree")||-1==obj?-1:($obj=$obj.closest("li",this.get_container()),$obj.length?$obj:!1)},save_selected:function(){var _this=this;this.data.ui.to_select=[],this.data.ui.selected.each(function(){_this.data.ui.to_select.push("#"+(""+this.id).replace(/^#/,"").replace("\\/","/").replace("/","\\/"))}),this.__callback(this.data.ui.to_select)},reselect:function(){var _this=this,s=this.
data.ui.to_select;s=$.map($.makeArray(s),function(n){return"#"+(""+n).replace(/^#/,"").replace("\\/","/").replace("/","\\/")}),this.deselect_all(),$.each(s,function(i,val){val&&"#"!==val&&_t
his.select_node(val)}),this.__callback()},refresh:function(){return this.save_selected(),this.__call_old()},hover_node:function(obj){return obj=this._get_node(obj),obj.length?(obj.hasClass("jstree-hovered")||this.dehover_node(),this.data.ui.hovered=obj.children("a").addClass("jstree-hovered").parent(),this.__callback({obj:obj}),void 0):!1},dehover_node:function(){var p,obj=this.data.ui.hovered;return obj&&obj.length?(p=obj.children("a").removeClass("jstree-hovered").parent(),this.data.ui.hovered[0]===p[0]&&(this.data.ui.hovered=null),this.__callback({obj:obj}),void 0):!1},select_node:function(obj,check,e){if(obj=this._get_node(obj),-1==obj||!obj||!obj.length)return!1;var s=this._get_settings().ui,is_multiple="on"==s.select_multiple_modifier||s.select_multiple_modifier!==!1&&e&&e[s.select_
multiple_modifier+"Key"],is_selected=this.is_selected(obj),proceed=!0;if(check){if(s.disable_selecting_children&&is_multiple&&obj.parents("li",this.get_container()).children(".jstree-clicked
").length)return!1;switch(proceed=!1,!0){case is_selected&&!is_multiple:this.deselect_all(),is_selected=!1,proceed=!0;break;case!is_selected&&!is_multiple:(-1==s.select_limit||s.select_limit>0)&&(this.deselect_all(),proceed=!0);break;case is_selected&&is_multiple:this.deselect_node(obj);break;case!is_selected&&is_multiple:(-1==s.select_limit||this.data.ui.selected.length+1<=s.select_limit)&&(proceed=!0)}}proceed&&!is_selected&&(obj.children("a").addClass("jstree-clicked"),this.data.ui.selected=this.data.ui.selected.add(obj),this.data.ui.last_selected=obj,this.__callback({obj:obj}))},deselect_node:function(obj){return obj=this._get_node(obj),obj.length?(this.is_selected(obj)&&(obj.children("a").removeClass("jstree-clicked"),this.data.ui.selected=this.data.ui.selected.not(obj),this.data.ui.
last_selected.get(0)===obj.get(0)&&(this.data.ui.last_selected=this.data.ui.selected.eq(0)),this.__callback({obj:obj})),void 0):!1},toggle_select:function(obj){return obj=this._get_node(obj)
,obj.length?(this.is_selected(obj)?this.deselect_node(obj):this.select_node(obj),void 0):!1},is_selected:function(obj){return this.data.ui.selected.index(this._get_node(obj))>=0},get_selected:function(context){return context?$(context).find(".jstree-clicked").parent():this.data.ui.selected},deselect_all:function(context){context?$(context).find(".jstree-clicked").removeClass("jstree-clicked"):this.get_container().find(".jstree-clicked").removeClass("jstree-clicked"),this.data.ui.selected=$([]),this.data.ui.last_selected=!1,this.__callback()}}}),$.jstree.defaults.plugins.push("ui")}(jQuery),function($){$.jstree.plugin("crrm",{__init:function(){this.get_container().bind("move_node.jstree",$.proxy(function(e,data){if(this._get_settings().crrm.move.open_onmove){var t=this;data.rslt.np.parents
Until(".jstree").andSelf().filter(".jstree-closed").each(function(){t.open_node(this,!1,!0)})}},this))},defaults:{input_width_limit:200,move:{always_copy:!1,open_onmove:!0,default_position:"
last",check_move:function(){return!0}}},_fn:{_show_input:function(obj,callback){obj=this._get_node(obj);var rtl=this._get_settings().core.rtl,w=this._get_settings().crrm.input_width_limit,w1=obj.children("ins").width(),w2=obj.find("> a:visible > ins").width()*obj.find("> a:visible > ins").length,t=this.get_text(obj),h1=$("<div>",{css:{position:"absolute",top:"-200px",left:rtl?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),h2=obj.css("position","relative").append($("<input>",{value:t,css:{padding:"0",border:"1px solid silver",position:"absolute",left:rtl?"auto":w1+w2+4+"px",right:rtl?w1+w2+4+"px":"auto",top:"0px",height:this.data.core.li_height-2+"px",lineHeight:this.data.core.li_height-2+"px",width:"150px"},blur:$.proxy(function(){var i=obj.children("input"),v=i.val();""===v&&(v=
t),i.remove(),this.set_text(obj,t),this.rename_node(obj,v),callback.call(this,obj,v,t),obj.css("position","")},this),keyup:function(event){var key=event.keyCode||event.which;return 27==key?(
this.value=t,this.blur(),void 0):13==key?(this.blur(),void 0):(h2.width(Math.min(h1.text("pW"+this.value).width(),w)),void 0)}})).children("input");this.set_text(obj,""),h1.css({fontFamily:h2.css("fontFamily")||"",fontSize:h2.css("fontSize")||"",fontWeight:h2.css("fontWeight")||"",fontStyle:h2.css("fontStyle")||"",fontStretch:h2.css("fontStretch")||"",fontVariant:h2.css("fontVariant")||"",letterSpacing:h2.css("letterSpacing")||"",wordSpacing:h2.css("wordSpacing")||""}),h2.width(Math.min(h1.text("pW"+h2[0].value).width(),w))[0].select()},rename:function(obj){obj=this._get_node(obj),this.__rollback();var f=this.__callback;this._show_input(obj,function(obj,new_name,old_name){f.call(this,{obj:obj,new_name:new_name,old_name:old_name})})},create:function(obj,position,js,callback,skip_rename){va
r t,_this=this;return obj=this._get_node(obj),obj||(obj=-1),this.__rollback(),t=this.create_node(obj,position,js,function(t){var p=this._get_parent(t),pos=$(t).index();callback&&callback.cal
l(this,t),p.length&&p.hasClass("jstree-closed")&&this.open_node(p,!1,!0),skip_rename?_this.__callback({obj:t,name:this.get_text(t),parent:p,position:pos}):this._show_input(t,function(obj,new_name){_this.__callback({obj:obj,name:new_name,parent:p,position:pos})})})},remove:function(obj){obj=this._get_node(obj,!0),this.__rollback(),this.delete_node(obj),this.__callback({obj:obj})},check_move:function(){if(!this.__call_old())return!1;var s=this._get_settings().crrm.move;return s.check_move.call(this,this._get_move())?!0:!1},move_node:function(obj,ref,position,is_copy,is_prepared,skip_check){var s=this._get_settings().crrm.move;return is_prepared?((s.always_copy===!0||"multitree"===s.always_copy&&obj.rt.get_index()!==obj.ot.get_index())&&(is_copy=!0),this.__call_old(!0,obj,ref,position,is_cop
y,!0,skip_check),void 0):(position||(position=s.default_position),"inside"!==position||s.default_position.match(/^(before|after)$/)||(position=s.default_position),this.__call_old(!0,obj,ref,
position,is_copy,!1,skip_check))},cut:function(obj){return obj=this._get_node(obj),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1,obj&&obj.length?(this.data.crrm.ct_nodes=obj,void 0):!1},copy:function(obj){return obj=this._get_node(obj),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1,obj&&obj.length?(this.data.crrm.cp_nodes=obj,void 0):!1},paste:function(obj){return obj=this._get_node(obj),obj&&obj.length?this.data.crrm.ct_nodes||this.data.crrm.cp_nodes?(this.data.crrm.ct_nodes&&this.move_node(this.data.crrm.ct_nodes,obj),this.data.crrm.cp_nodes&&this.move_node(this.data.crrm.cp_nodes,obj,!1,!0),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1,void 0):!1:!1}}}),$.jstree.defaults.plugins.push("crrm")}(jQuery),function($){var themes_loaded=[];$.jstree._themes=!1,$.jstree.p
lugin("themes",{__init:function(){this.get_container().bind("init.jstree",$.proxy(function(){var s=this._get_settings().themes;this.data.themes.dots=s.dots,this.data.themes.icons=s.icons,thi
s.set_theme(s.theme,s.url)},this)).bind("loaded.jstree",$.proxy(function(){this.data.themes.dots?this.show_dots():this.hide_dots(),this.data.themes.icons?this.show_icons():this.hide_icons()},this))},defaults:{theme:"default",url:!1,dots:!0,icons:!0},_fn:{set_theme:function(theme_name,theme_url){return theme_name?(theme_url||(theme_url=$.jstree._themes+theme_name+"/style.css"),-1==$.inArray(theme_url,themes_loaded)&&($.vakata.css.add_sheet({url:theme_url,rel:"jstree"}),themes_loaded.push(theme_url)),this.data.themes.theme!=theme_name&&(this.get_container().removeClass("jstree-"+this.data.themes.theme),this.data.themes.theme=theme_name),this.get_container().addClass("jstree-"+theme_name),this.data.themes.dots?this.show_dots():this.hide_dots(),this.data.themes.icons?this.show_icons():this.hi
de_icons(),this.__callback(),void 0):!1},get_theme:function(){return this.data.themes.theme},show_dots:function(){this.data.themes.dots=!0,this.get_container().children("ul").removeClass("js
tree-no-dots")},hide_dots:function(){this.data.themes.dots=!1,this.get_container().children("ul").addClass("jstree-no-dots")},toggle_dots:function(){this.data.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this.data.themes.icons=!0,this.get_container().children("ul").removeClass("jstree-no-icons")},hide_icons:function(){this.data.themes.icons=!1,this.get_container().children("ul").addClass("jstree-no-icons")},toggle_icons:function(){this.data.themes.icons?this.hide_icons():this.show_icons()}}}),$(function(){$.jstree._themes===!1&&$("script").each(function(){return(""+this.src).match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)?($.jstree._themes=(""+this.src).replace(/jquery\.jstree[^\/]*?\.js(\?.*)?$/,"")+"themes/",!1):void 0}),$.jstree._themes===!1&&($.jstree._themes="theme
s/")}),$.jstree.defaults.plugins.push("themes")}(jQuery),function($){function exec(i,event){var tmp,f=$.jstree._focused();return f&&f.data&&f.data.hotkeys&&f.data.hotkeys.enabled&&(tmp=f._ge
t_settings().hotkeys[i])?tmp.call(f,event):void 0}var bound=[];$.jstree.plugin("hotkeys",{__init:function(){if($.hotkeys===void 0)throw"jsTree hotkeys: jQuery hotkeys plugin not included.";if(!this.data.ui)throw"jsTree hotkeys: jsTree UI plugin not included.";$.each(this._get_settings().hotkeys,function(i){-1==$.inArray(i,bound)&&($(document).bind("keydown",i,function(event){return exec(i,event)
-}),bound.push(i))}),this.enable_hotkeys()},defaults:{up:function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;return this.hover_node(this._get_prev(o)),!1},down:function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;return this.hover_node(this._get_next(o)),!1},left:function(){var o=this.data.ui.hovered||this.data.ui.last_selected;return o?(o.hasClass("jstree-open")?this.close_node(o):this.hover_node(this._get_prev(o)),!1):void 0},right:function(){var o=this.data.ui.hovered||this.data.ui.last_selected;return o&&o.length?(o.hasClass("jstree-closed")?this.open_node(o):this.hover_node(this._get_next(o)),!1):void 0},space:function(){return this.data.ui.hovered?(this.data.ui.hovered.children("a:eq(0)").click(),!1):void 0},"ctrl+space":function(event){return event
.type="click",this.data.ui.hovered?(this.data.ui.hovered.children("a:eq(0)").trigger(event),!1):void 0},f2:function(){this.rename(this.data.ui.hovered||this.data.ui.last_selected)},del:funct
ion(){this.remove(this.data.ui.hovered||this._get_node(null))}},_fn:{enable_hotkeys:function(){this.data.hotkeys.enabled=!0},disable_hotkeys:function(){this.data.hotkeys.enabled=!1}}})}(jQuery),function($){$.jstree.plugin("json_data",{defaults:{data:!1,ajax:!1,correct_state:!0,progressive_render:!1},_fn:{load_node:function(obj,s_call,e_call){var _this=this;this.load_node_json(obj,function(){_this.__callback({obj:obj}),s_call.call(this)},e_call)},_is_loaded:function(obj){var d,s=this._get_settings().json_data;return obj=this._get_node(obj),obj&&-1!==obj&&s.progressive_render&&!obj.is(".jstree-open, .jstree-leaf")&&0===obj.children("ul").children("li").length&&obj.data("jstree-children")?(d=this._parse_json(obj.data("jstree-children")),d&&(obj.append(d),$.removeData(obj,"jstree-children")),
this.clean_node(obj),!0):-1==obj||!obj||!s.ajax||obj.is(".jstree-open, .jstree-leaf")||obj.children("ul").children("li").size()>0},load_node_json:function(obj,s_call,e_call){var d,s=this.get
_settings().json_data,error_func=function(){},success_func=function(){};if(obj=this._get_node(obj),obj&&-1!==obj){if(obj.data("jstree-is-loading"))return;obj.data("jstree-is-loading",!0)}switch(!0){case!s.data&&!s.ajax:throw"Neither data nor ajax settings supplied.";case!!s.data&&!s.ajax||!!s.data&&!!s.ajax&&(!obj||-1===obj):obj&&-1!=obj||(d=this._parse_json(s.data),d?(this.get_container().children("ul").empty().append(d.children()),this.clean_node()):s.correct_state&&this.get_container().children("ul").empty()),s_call&&s_call.call(this);break;case!s.data&&!!s.ajax||!!s.data&&!!s.ajax&&obj&&-1!==obj:error_func=function(x,t,e){var ef=this.get_settings().json_data.ajax.error;ef&&ef.call(this,x,t,e),-1!=obj&&obj.length?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.data("
jstree-is-loading",!1),"success"===t&&s.correct_state&&obj.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")):"success"===t&&s.correct_state&&this.get_container().children("ul
").empty(),e_call&&e_call.call(this)},success_func=function(d,t,x){var sf=this.get_settings().json_data.ajax.success;return sf&&(d=sf.call(this,d,t,x)||d),""===d||!$.isArray(d)&&!$.isPlainObject(d)?error_func.call(this,x,t,""):(d=this._parse_json(d),d?(-1!==obj&&obj?(obj.append(d).children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1)):this.get_container().children("ul").empty().append(d.children()),this.clean_node(obj),s_call&&s_call.call(this)):-1!==obj&&obj?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1),s.correct_state&&(obj.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"),s_call&&s_call.call(this))):s.correct_state&&(this.get_container().children("ul").empty(),s_call&&s_call.call(this)
),void 0)},s.ajax.context=this,s.ajax.error=error_func,s.ajax.success=success_func,s.ajax.dataType||(s.ajax.dataType="json"),$.isFunction(s.ajax.url)&&(s.ajax.url=s.ajax.url.call(this,obj)),
$.isFunction(s.ajax.data)&&(s.ajax.data=s.ajax.data.call(this,obj)),$.ajax(s.ajax)}},_parse_json:function(js,is_callback){var tmp,i,j,ul1,ul2,d=!1,p=this._get_settings(),s=p.json_data,t=p.core.html_titles;if(!js)return d;if($.isFunction(js)&&(js=js.call(this)),$.isArray(js)){if(d=$(),!js.length)return!1;for(i=0,j=js.length;j>i;i++)tmp=this._parse_json(js[i],!0),tmp.length&&(d=d.add(tmp))}else{if("string"==typeof js&&(js={data:js}),!js.data&&""!==js.data)return d;d=$("<li>"),js.attr&&d.attr(js.attr),js.metadata&&d.data("jstree",js.metadata),js.state&&d.addClass("jstree-"+js.state),$.isArray(js.data)||(tmp=js.data,js.data=[],js.data.push(tmp)),$.each(js.data,function(i,m){tmp=$("<a>"),$.isFunction(m)&&(m=m.call(this,js)),"string"==typeof m?tmp.attr("href","#")[t?"html":"text"](m):(m.attr||(
m.attr={}),m.attr.href||(m.attr.href="#"),tmp.attr(m.attr)[t?"html":"text"](m.title),m.language&&tmp.addClass(m.language)),tmp.prepend("<ins class='jstree-icon'> </ins>"),!m.icon&&js.ic
on&&(m.icon=js.icon),m.icon&&(-1===m.icon.indexOf("/")?tmp.children("ins").addClass(m.icon):tmp.children("ins").css("background","url('"+m.icon+"') center center no-repeat")),d.append(tmp)}),d.prepend("<ins class='jstree-icon'> </ins>"),js.children&&(s.progressive_render&&"open"!==js.state?d.addClass("jstree-closed").data("jstree-children",js.children):($.isFunction(js.children)&&(js.children=js.children.call(this,js)),$.isArray(js.children)&&js.children.length&&(tmp=this._parse_json(js.children,!0),tmp.length&&(ul2=$("<ul>"),ul2.append(tmp),d.append(ul2)))))}return is_callback||(ul1=$("<ul>"),ul1.append(d),d=ul1),d},get_json:function(obj,li_attr,a_attr,is_callback){var tmp1,tmp2,li,a,t,lang,result=[],s=this._get_settings(),_this=this;return obj=this._get_node(obj),obj&&-1!==obj||(ob
j=this.get_container().find("> ul > li")),li_attr=$.isArray(li_attr)?li_attr:["id","class"],!is_callback&&this.data.types&&li_attr.push(s.types.type_attr),a_attr=$.isArray(a_attr)?a_attr:[],
obj.each(function(){li=$(this),tmp1={data:[]},li_attr.length&&(tmp1.attr={}),$.each(li_attr,function(i,v){tmp2=li.attr(v),tmp2&&tmp2.length&&tmp2.replace(/jstree[^ ]*|$/gi,"").length&&(tmp1.attr[v]=tmp2.replace(/jstree[^ ]*|$/gi,""))}),li.hasClass("jstree-open")&&(tmp1.state="open"),li.hasClass("jstree-closed")&&(tmp1.state="closed"),a=li.children("a"),a.each(function(){t=$(this),a_attr.length||-1!==$.inArray("languages",s.plugins)||t.children("ins").get(0).style.backgroundImage.length||t.children("ins").get(0).className&&t.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").length?(lang=!1,-1!==$.inArray("languages",s.plugins)&&$.isArray(s.languages)&&s.languages.length&&$.each(s.languages,function(l,lv){return t.hasClass(lv)?(lang=lv,!1):void 0}),tmp2={attr:{},title:_this.get
_text(t,lang)},$.each(a_attr,function(k,z){tmp1.attr[z]=(t.attr(z)||"").replace(/jstree[^ ]*|$/gi,"")}),$.each(s.languages,function(k,z){return t.hasClass(z)?(tmp2.language=z,!0):void 0}),t.
children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").replace(/^\s+$/gi,"").length&&(tmp2.icon=t.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").replace(/^\s+$/gi,"")),t.children("ins").get(0).style.backgroundImage.length&&(tmp2.icon=t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")",""))):tmp2=_this.get_text(t),a.length>1?tmp1.data.push(tmp2):tmp1.data=tmp2}),li=li.find("> ul > li"),li.length&&(tmp1.children=_this.get_json(li,li_attr,a_attr,!0)),result.push(tmp1)}),result}}})}(jQuery),function($){$.jstree.plugin("languages",{__init:function(){this._load_css()},defaults:[],_fn:{set_lang:function(i){var langs=this._get_settings().languages,st=!1,selector=".jstree-"+this.get_index()+" a";if(!$.isArray(langs)||0===langs.length)return!1;if(-1
==$.inArray(i,langs)){if(!langs[i])return!1;i=langs[i]}return i==this.data.languages.current_language?!0:(st=$.vakata.css.get_css(selector+"."+this.data.languages.current_language,!1,this.da
ta.languages.language_css),st!==!1&&(st.style.display="none"),st=$.vakata.css.get_css(selector+"."+i,!1,this.data.languages.language_css),st!==!1&&(st.style.display=""),this.data.languages.current_language=i,this.__callback(i),!0)},get_lang:function(){return this.data.languages.current_language},get_text:function(obj,lang){if(obj=this._get_node(obj)||this.data.ui.last_selected,!obj.size())return!1;var langs=this._get_settings().languages,s=this._get_settings().core.html_titles;return $.isArray(langs)&&langs.length?(lang=lang&&-1!=$.inArray(lang,langs)?lang:this.data.languages.current_language,obj=obj.children("a."+lang)):obj=obj.children("a:eq(0)"),s?(obj=obj.clone(),obj.children("INS").remove(),obj.html()):(obj=obj.contents().filter(function(){return 3==this.nodeType})[0],obj.nodeValue)}
,set_text:function(obj,val,lang){if(obj=this._get_node(obj)||this.data.ui.last_selected,!obj.size())return!1;var tmp,langs=this._get_settings().languages,s=this._get_settings().core.html_tit
les;return $.isArray(langs)&&langs.length?(lang=lang&&-1!=$.inArray(lang,langs)?lang:this.data.languages.current_language,obj=obj.children("a."+lang)):obj=obj.children("a:eq(0)"),s?(tmp=obj.children("INS").clone(),obj.html(val).prepend(tmp),this.__callback({obj:obj,name:val,lang:lang}),!0):(obj=obj.contents().filter(function(){return 3==this.nodeType})[0],this.__callback({obj:obj,name:val,lang:lang}),obj.nodeValue=val)},_load_css:function(){var ln,langs=this._get_settings().languages,str="/* languages css */",selector=".jstree-"+this.get_index()+" a";if($.isArray(langs)&&langs.length){for(this.data.languages.current_language=langs[0],ln=0;langs.length>ln;ln++)str+=selector+"."+langs[ln]+" {",langs[ln]!=this.data.languages.current_language&&(str+=" display:none; "),str+=" } ";this.data.lan
guages.language_css=$.vakata.css.add_sheet({str:str})}},create_node:function(obj,position,js,callback){var t=this.__call_old(!0,obj,position,js,function(t){var ln,langs=this._get_settings().
languages,a=t.children("a");if($.isArray(langs)&&langs.length){for(ln=0;langs.length>ln;ln++)a.is("."+langs[ln])||t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln]));a.not("."+langs.join(", .")).remove()}callback&&callback.call(this,t)});return t}}})}(jQuery),function($){$.jstree.plugin("sort",{__init:function(){this.get_container().bind("load_node.jstree",$.proxy(function(e,data){var obj=this._get_node(data.rslt.obj);obj=-1===obj?this.get_container().children("ul"):obj.children("ul"),this.sort(obj)},this)).bind("rename_node.jstree",$.proxy(function(e,data){this.sort(data.rslt.obj.parent())},this)).bind("move_node.jstree",$.proxy(function(e,data){var m=-1==data.rslt.np?this.get_container():data.rslt.np;this.sort(m.children("ul"))},this))},defaults:function(a,b){retu
rn this.get_text(a)>this.get_text(b)?1:-1},_fn:{sort:function(obj){var s=this._get_settings().sort,t=this;obj.append($.makeArray(obj.children("li")).sort($.proxy(s,t))),obj.find("> li > ul")
.each(function(){t.sort($(this))}),this.clean_node(obj)}}})}(jQuery),function($){$.jstree.plugin("checkbox",{__init:function(){this.select_node=this.deselect_node=this.deselect_all=$.noop,this.get_selected=this.get_checked,this.get_container().bind("open_node.jstree create_node.jstree clean_node.jstree",$.proxy(function(e,data){this._prepare_checkboxes(data.rslt.obj)},this)).bind("loaded.jstree",$.proxy(function(){this._prepare_checkboxes()},this)).delegate("a","click.jstree",$.proxy(function(e){this._get_node(e.target).hasClass("jstree-checked")?this.uncheck_node(e.target):this.check_node(e.target),this.data.ui&&this.save_selected(),this.data.cookies&&this.save_cookie("select_node"),e.preventDefault()},this))},__destroy:function(){this.get_container().find(".jstree-checkbox").remove()},_
fn:{_prepare_checkboxes:function(obj){obj=obj&&-1!=obj?this._get_node(obj):this.get_container();var c,t,_this=this;obj.each(function(){t=$(this),c=t.is("li")&&t.hasClass("jstree-checked")?"j
stree-checked":"jstree-unchecked",t.find("a").not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'> </ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass(c)}),obj.is("li")?this._repair_state(obj):obj.find("> ul > li").each(function(){_this._repair_state(this)})},change_state:function(obj,state){obj=this._get_node(obj),state=state===!1||state===!0?state:obj.hasClass("jstree-checked"),state?obj.find("li").andSelf().removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked"):(obj.find("li").andSelf().removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked"),this.data.ui&&(this.data.ui.last_selected=obj),this.data.checkbox.last_selected=obj),obj.parentsUntil(".jstree","li").each(function(){var $this=$(this);if(state){i
f($this.children("ul").children(".jstree-checked, .jstree-undetermined").length)return $this.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("j
stree-undetermined"),!1;$this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked")}else{if($this.children("ul").children(".jstree-unchecked, .jstree-undetermined").length)return $this.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"),!1;$this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked")}}),this.data.ui&&(this.data.ui.selected=this.get_checked()),this.__callback(obj)},check_node:function(obj){this.change_state(obj,!1)},uncheck_node:function(obj){this.change_state(obj,!0)},check_all:function(){var _this=this;this.get_container().children("ul").children("li").each(function(){_this.check_node(this,!1)})},uncheck_all:function(){var _this=this;this.get_container().chil
dren("ul").children("li").each(function(){_this.change_state(this,!0)})},is_checked:function(obj){return obj=this._get_node(obj),obj.length?obj.is(".jstree-checked"):!1},get_checked:function
(obj){return obj=obj&&-1!==obj?this._get_node(obj):this.get_container(),obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked")},get_unchecked:function(obj){return obj=obj&&-1!==obj?this._get_node(obj):this.get_container(),obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked")},show_checkboxes:function(){this.get_container().children("ul").removeClass("jstree-no-checkboxes")},hide_checkboxes:function(){this.get_container().children("ul").addClass("jstree-no-checkboxes")},_repair_state:function(obj){if(obj=this._get_node(obj).first(),obj.length){var a=obj.find("> ul > .jstree-checked").length,b=obj.find("> ul > .jstree-undetermined").length,c=obj.find("> ul > li").length;0===c?obj.hasClass("jstree-undetermined")&&this.check_node(obj):0==
=a&&0===b?this.uncheck_node(obj):a===c?this.check_node(obj):obj.parentsUntil(".jstree","li").removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined")}},reselect:functio
n(){if(this.data.ui){var _this=this,s=this.data.ui.to_select;s=$.map($.makeArray(s),function(n){return"#"+(""+n).replace(/^#/,"").replace("\\/","/").replace("/","\\/")}),this.deselect_all(),$.each(s,function(i,val){_this.check_node(val)}),this.__callback()}}}})}(jQuery),function($){$.jstree.plugin("types",{__init:function(){var s=this._get_settings().types;this.data.types.attach_to=[],this.get_container().bind("init.jstree",$.proxy(function(){var types=s.types,attr=s.type_attr,icons_css="",_this=this;$.each(types,function(i,tp){return $.each(tp,function(k){/^(max_depth|max_children|icon|valid_children)$/.test(k)||_this.data.types.attach_to.push(k)}),tp.icon?((tp.icon.image||tp.icon.position)&&(icons_css+="default"==i?".jstree-"+_this.get_index()+" a > .jstree-icon { ":".jstree-"+_this.get
_index()+" li["+attr+"="+i+"] > a > .jstree-icon { ",tp.icon.image&&(icons_css+=" background-image:url("+tp.icon.image+"); "),icons_css+=tp.icon.position?" background-position:"+tp.icon.posi
tion+"; ":" background-position:0 0; ",icons_css+="} "),void 0):!0}),""!=icons_css&&$.vakata.css.add_sheet({str:icons_css})},this)).bind("before.jstree",$.proxy(function(e,data){if(-1!==$.inArray(data.func,this.data.types.attach_to)){var s=this._get_settings().types.types,t=this._get_type(data.args[0]);if((s[t]&&s[t][data.func]!==void 0||s["default"]&&s["default"][data.func]!==void 0)&&!this._check(data.func,data.args[0]))return e.stopImmediatePropagation(),!1}},this))},defaults:{max_children:-1,max_depth:-1,valid_children:"all",type_attr:"rel",types:{"default":{max_children:-1,max_depth:-1,valid_children:"all"}}},_fn:{_get_type:function(obj){return obj=this._get_node(obj),obj&&obj.length?obj.attr(this._get_settings().types.type_attr)||"default":!1},set_type:function(str,obj){return obj=t
his._get_node(obj),obj.length&&str?obj.attr(this._get_settings().types.type_attr,str):!1},_check:function(rule,obj,opts){var v=!1,t=this._get_type(obj),d=0,_this=this,s=this._get_settings().
types;if(-1===obj){if(!s[rule])return;v=s[rule]}else{if(t===!1)return;s.types[t]&&s.types[t][rule]?v=s.types[t][rule]:s.types["default"]&&s.types["default"][rule]&&(v=s.types["default"][rule])}return $.isFunction(v)&&(v=v.call(this,obj)),"max_depth"===rule&&-1!==obj&&opts!==!1&&-2!==s.max_depth&&0!==v&&this._get_node(obj).children("a:eq(0)").parentsUntil(".jstree","li").each(function(i){return-1!==s.max_depth&&0>=s.max_depth-(i+1)?(v=0,!1):(d=0===i?v:_this._check(rule,this,!1),-1!==d&&0>=d-(i+1)?(v=0,!1):(d>=0&&(v>d-(i+1)||0>v)&&(v=d-(i+1)),s.max_depth>=0&&(v>s.max_depth-(i+1)||0>v)&&(v=s.max_depth-(i+1)),void 0))}),v},check_move:function(){if(!this.__call_old())return!1;var t,m=this._get_move(),s=m.rt._get_settings().types,mc=m.rt._check("max_children",m.cr),md=m.rt._check("max_depth",m.
cr),vc=m.rt._check("valid_children",m.cr),ch=0,d=1;if("none"===vc)return!1;if($.isArray(vc)&&m.ot&&m.ot._get_type&&(m.o.each(function(){return-1===$.inArray(m.ot._get_type(this),vc)?(d=!1,!1
):void 0}),d===!1))return!1;if(-2!==s.max_children&&-1!==mc&&(ch=-1===m.cr?this.get_container().children("> ul > li").not(m.o).length:m.cr.children("> ul > li").not(m.o).length,ch+m.o.length>mc))return!1;if(-2!==s.max_depth&&-1!==md){if(d=0,0===md)return!1;if(m.o.d===void 0){for(t=m.o;t.length>0;)t=t.find("> ul > li"),d++;m.o.d=d}if(0>md-m.o.d)return!1}return!0},create_node:function(obj,position,js,callback,is_loaded,skip_check){if(!skip_check&&(is_loaded||this._is_loaded(obj))){var ch,p=position&&position.match(/^before|after$/i)&&-1!==obj?this._get_parent(obj):this._get_node(obj),s=this._get_settings().types,mc=this._check("max_children",p),md=this._check("max_depth",p),vc=this._check("valid_children",p);if(js||(js={}),"none"===vc)return!1;if($.isArray(vc))if(js.attr&&js.attr[s.type_att
r]){if(-1===$.inArray(js.attr[s.type_attr],vc))return!1}else js.attr||(js.attr={}),js.attr[s.type_attr]=vc[0];if(-2!==s.max_children&&-1!==mc&&(ch=-1===p?this.get_container().children("> ul
> li").length:p.children("> ul > li").length,ch+1>mc))return!1;if(-2!==s.max_depth&&-1!==md&&0>md-1)return!1}return this.__call_old(!0,obj,position,js,callback,is_loaded,skip_check)}}})}(jQuery),function($){$.jstree.plugin("html_data",{__init:function(){this.data.html_data.original_container_html=this.get_container().find(" > ul > li").clone(!0),this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function(){return 3==this.nodeType}).remove()},defaults:{data:!1,ajax:!1,correct_state:!0},_fn:{load_node:function(obj,s_call,e_call){var _this=this;this.load_node_html(obj,function(){_this.__callback({obj:obj}),s_call.call(this)},e_call)},_is_loaded:function(obj){return obj=this._get_node(obj),-1==obj||!obj||!this._get_settings().html_data.ajax||obj.is(".jstree-ope
n, .jstree-leaf")||obj.children("ul").children("li").size()>0},load_node_html:function(obj,s_call,e_call){var d,s=this.get_settings().html_data,error_func=function(){},success_func=function(
){};if(obj=this._get_node(obj),obj&&-1!==obj){if(obj.data("jstree-is-loading"))return;obj.data("jstree-is-loading",!0)}switch(!0){case!s.data&&!s.ajax:obj&&-1!=obj||(this.get_container().children("ul").empty().append(this.data.html_data.original_container_html).find("li, a").filter(function(){return"INS"!==this.firstChild.tagName}).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),this.clean_node()),s_call&&s_call.call(this);break;case!!s.data&&!s.ajax||!!s.data&&!!s.ajax&&(!obj||-1===obj):obj&&-1!=obj||(d=$(s.data),d.is("ul")||(d=$("<ul>").append(d)),this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function(){return"INS"!==this.firstChild.tagName}).prepend("<ins c
lass='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),this.clean_node()),s_call&&s_call.call(this);break;case!s.data&&!!
s.ajax||!!s.data&&!!s.ajax&&obj&&-1!==obj:obj=this._get_node(obj),error_func=function(x,t,e){var ef=this.get_settings().html_data.ajax.error;ef&&ef.call(this,x,t,e),-1!=obj&&obj.length?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1),"success"===t&&s.correct_state&&obj.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")):"success"===t&&s.correct_state&&this.get_container().children("ul").empty(),e_call&&e_call.call(this)},success_func=function(d,t,x){var sf=this.get_settings().html_data.ajax.success;return sf&&(d=sf.call(this,d,t,x)||d),""==d?error_func.call(this,x,t,""):(d?(d=$(d),d.is("ul")||(d=$("<ul>").append(d)),-1!=obj&&obj?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.append(d).find("li, a").filter(fun
ction(){return"INS"!==this.firstChild.tagName}).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),obj
.data("jstree-is-loading",!1)):this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function(){return"INS"!==this.firstChild.tagName}).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),this.clean_node(obj),s_call&&s_call.call(this)):obj&&-1!==obj?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1),s.correct_state&&(obj.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"),s_call&&s_call.call(this))):s.correct_state&&(this.get_container().children("ul").empty(),s_call&&s_call.call(this)),void 0)},s.ajax.context=this,s.ajax.error=error_func,s.ajax.success=success_func,s.ajax.dataType||(s.ajax.dataType="html"),$.isFun
ction(s.ajax.url)&&(s.ajax.url=s.ajax.url.call(this,obj)),$.isFunction(s.ajax.data)&&(s.ajax.data=s.ajax.data.call(this,obj)),$.ajax(s.ajax)}}}}),$.jstree.defaults.plugins.push("html_data")}
(jQuery),function($){$.jstree.plugin("themeroller",{__init:function(){var s=this._get_settings().themeroller;this.get_container().addClass("ui-widget-content").delegate("a","mouseenter.jstree",function(){$(this).addClass(s.item_h)}).delegate("a","mouseleave.jstree",function(){$(this).removeClass(s.item_h)}).bind("open_node.jstree create_node.jstree",$.proxy(function(e,data){this._themeroller(data.rslt.obj)},this)).bind("loaded.jstree refresh.jstree",$.proxy(function(){this._themeroller()},this)).bind("close_node.jstree",$.proxy(function(e,data){data.rslt.obj.children("ins").removeClass(s.opened).addClass(s.closed)},this)).bind("select_node.jstree",$.proxy(function(e,data){data.rslt.obj.children("a").addClass(s.item_a)},this)).bind("deselect_node.jstree deselect_all.jstree",$.proxy(functio
n(){this.get_container().find("."+s.item_a).removeClass(s.item_a).end().find(".jstree-clicked").addClass(s.item_a)},this)).bind("move_node.jstree",$.proxy(function(e,data){this._themeroller(
data.rslt.o)},this))},__destroy:function(){var s=this._get_settings().themeroller,c=["ui-icon"];$.each(s,function(i,v){v=v.split(" "),v.length&&(c=c.concat(v))}),this.get_container().removeClass("ui-widget-content").find("."+c.join(", .")).removeClass(c.join(" "))},_fn:{_themeroller:function(obj){var s=this._get_settings().themeroller;obj=obj&&-1!=obj?this._get_node(obj).parent():this.get_container(),obj.find("li.jstree-closed > ins.jstree-icon").removeClass(s.opened).addClass("ui-icon "+s.closed).end().find("li.jstree-open > ins.jstree-icon").removeClass(s.closed).addClass("ui-icon "+s.opened).end().find("a").addClass(s.item).children("ins.jstree-icon").addClass("ui-icon "+s.item_icon)}},defaults:{opened:"ui-icon-triangle-1-se",closed:"ui-icon-triangle-1-e",item:"ui-state-default",item_h
:"ui-state-hover",item_a:"ui-state-active",item_icon:"ui-icon-folder-collapsed"}}),$(function(){var css_string=".jstree .ui-icon { overflow:visible; } .jstree a { padding:0 2px; }";$.vakata.
css.add_sheet({str:css_string})})}(jQuery);
\ No newline at end of file
+"use strict";!function($){$.vakata={},$.vakata.css={get_css:function(rule_name,delete_flag,sheet){rule_name=rule_name.toLowerCase();var css_rules=sheet.cssRules||sheet.rules,j=0;do{if(css_rules.length&&j>css_rules.length+5)return!1;if(css_rules[j].selectorText&&css_rules[j].selectorText.toLowerCase()==rule_name)return delete_flag===!0?(sheet.removeRule&&sheet.removeRule(j),sheet.deleteRule&&sheet.deleteRule(j),!0):css_rules[j]}while(css_rules[++j]);return!1},add_css:function(rule_name,sheet){return $.jstree.css.get_css(rule_name,!1,sheet)?!1:(sheet.insertRule?sheet.insertRule(rule_name+" { }",0):sheet.addRule(rule_name,null,0),$.vakata.css.get_css(rule_name))},remove_css:function(rule_name,sheet){return $.vakata.css.get_css(rule_name,!0,sheet)},add_sheet:function(opts){var tmp;if(opts.str
)return tmp=document.createElement("style"),tmp.setAttribute("type","text/css"),tmp.styleSheet?(document.getElementsByTagName("head")[0].appendChild(tmp),tmp.styleSheet.cssText=opts.str):(tm
p.appendChild(document.createTextNode(opts.str)),document.getElementsByTagName("head")[0].appendChild(tmp)),tmp.sheet||tmp.styleSheet;if(opts.url){if(!document.createStyleSheet)return tmp=document.createElement("link"),tmp.rel="stylesheet",tmp.type="text/css",tmp.media="all",tmp.href=opts.url,document.getElementsByTagName("head")[0].appendChild(tmp),tmp.styleSheet;try{tmp=document.createStyleSheet(opts.url)}catch(e){}}}}}(jQuery),function($){var instances=[],focused_instance=-1,plugins={},prepared_move={},is_ie6=!1;$.fn.jstree=function(settings){var isMethodCall="string"==typeof settings,args=Array.prototype.slice.call(arguments,1),returnValue=this;return!isMethodCall&&$.meta&&args.push($.metadata.get(this).jstree),settings=!isMethodCall&&args.length?$.extend.apply(null,[!0,settings].conc
at(args)):settings,isMethodCall&&"_"==settings.substring(0,1)?returnValue:(isMethodCall?this.each(function(){var instance=instances[$.data(this,"jstree-instance-id")],methodValue=instance&&$
.isFunction(instance[settings])?instance[settings].apply(instance,args):instance;return"undefined"!=typeof methodValue&&(settings.indexOf(!1)||methodValue!==!0&&methodValue!==!1)?(returnValue=methodValue,!1):void 0}):this.each(function(){var instance_id=$.data(this,"jstree-instance-id"),s=!1;"undefined"!=typeof instance_id&&instances[instance_id]&&instances[instance_id].destroy(),instance_id=parseInt(instances.push({}),10)-1,$.data(this,"jstree-instance-id",instance_id),settings||(settings={}),settings.plugins=$.isArray(settings.plugins)?settings.plugins:$.jstree.defaults.plugins,-1===$.inArray("core",settings.plugins)&&settings.plugins.unshift("core"),s=$.extend(!0,{},$.jstree.defaults,settings),s.plugins=settings.plugins,$.each(plugins,function(i){-1===$.inArray(i,s.plugins)&&(s[i]=null
,delete s[i])}),instances[instance_id]=new $.jstree._instance(instance_id,$(this).addClass("jstree jstree-"+instance_id),s),$.each(instances[instance_id]._get_settings().plugins,function(i,v
al){instances[instance_id].data[val]={}}),$.each(instances[instance_id]._get_settings().plugins,function(i,val){plugins[val]&&plugins[val].__init.apply(instances[instance_id])}),instances[instance_id].init()}),returnValue)},$.jstree={defaults:{plugins:[]},_focused:function(){return instances[focused_instance]||null},_reference:function(needle){if(instances[needle])return instances[needle];var o=$(needle);return o.length||"string"!=typeof needle||(o=$("#"+needle)),o.length?instances[o.closest(".jstree").data("jstree-instance-id")]||null:null},_instance:function(index,container,settings){this.data={core:{}},this.get_settings=function(){return $.extend(!0,{},settings)},this._get_settings=function(){return settings},this.get_index=function(){return index},this.get_container=function(){return
container},this._set_settings=function(s){settings=$.extend(!0,{},settings,s)}},_fn:{},plugin:function(pname,pdata){pdata=$.extend({},{__init:$.noop,__destroy:$.noop,_fn:{},defaults:!1},pdat
a),plugins[pname]=pdata,$.jstree.defaults[pname]=pdata.defaults,$.each(pdata._fn,function(i,val){val.plugin=pname,val.old=$.jstree._fn[i],$.jstree._fn[i]=function(){var rslt,func=val,args=Array.prototype.slice.call(arguments),evnt=new $.Event("before.jstree"),rlbk=!1;do{if(func&&func.plugin&&-1!==$.inArray(func.plugin,this._get_settings().plugins))break;func=func.old}while(func);if(func&&(rslt=this.get_container().triggerHandler(evnt,{func:i,inst:this,args:args}),rslt!==!1))return"undefined"!=typeof rslt&&(args=rslt),rslt=0===i.indexOf("_")?func.apply(this,args):func.apply($.extend({},this,{__callback:function(data){this.get_container().triggerHandler(i+".jstree",{inst:this,args:args,rslt:data,rlbk:rlbk})},__rollback:function(){return rlbk=this.get_rollback()},__call_old:function(replace_
arguments){return func.old.apply(this,replace_arguments?Array.prototype.slice.call(arguments,1):args)}}),args)},$.jstree._fn[i].old=val.old,$.jstree._fn[i].plugin=pname})},rollback:function(
rb){rb&&($.isArray(rb)||(rb=[rb]),$.each(rb,function(i,val){instances[val.i].set_rollback(val.h,val.d)}))}},$.jstree._fn=$.jstree._instance.prototype={},$(function(){var u=navigator.userAgent.toLowerCase(),v=(u.match(/.+?(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],css_string=".jstree ul, .jstree li { display:block; margin:0 0 0 0; padding:0 0 0 0; list-style-type:none; } .jstree li { display:block; min-height:18px; line-height:18px; white-space:nowrap; margin-left:18px; } .jstree-rtl li { margin-left:0; margin-right:18px; } .jstree > ul > li { margin-left:0px; } .jstree-rtl > ul > li { margin-right:0px; } .jstree ins { display:inline-block; text-decoration:none; width:18px; height:18px; margin:0 0 0 0; padding:0; } .jstree a { display:inline-block; line-height:16px; height:16px; color:bl
ack; white-space:nowrap; text-decoration:none; padding:1px 2px; margin:0; } .jstree a:focus { outline: none; } .jstree a > ins { height:16px; width:16px; } .jstree a > .jstree-icon { margin-
right:3px; } .jstree-rtl a > .jstree-icon { margin-left:3px; margin-right:0; } li.jstree-open > ul { display:block; } li.jstree-closed > ul { display:none; } ";/msie/.test(u)&&6==parseInt(v,10)&&(is_ie6=!0,css_string+=".jstree li { height:18px; margin-left:0; margin-right:0; } .jstree li li { margin-left:18px; } .jstree-rtl li li { margin-left:0px; margin-right:18px; } li.jstree-open ul { display:block; } li.jstree-closed ul { display:none !important; } .jstree li a { display:inline; border-width:0 !important; padding:0px 2px !important; } .jstree li a ins { height:16px; width:16px; margin-right:3px; } .jstree-rtl li a ins { margin-right:0px; margin-left:3px; } "),/msie/.test(u)&&7==parseInt(v,10)&&(css_string+=".jstree li a { border-width:0 !important; padding:0px 2px !important; } "),$.
vakata.css.add_sheet({str:css_string})}),$.jstree.plugin("core",{__init:function(){this.data.core.to_open=$.map($.makeArray(this.get_settings().core.initially_open),function(n){return"#"+n.t
oString().replace(/^#/,"").replace("\\/","/").replace("/","\\/")})},defaults:{html_titles:!1,animation:500,initially_open:[],rtl:!1,strings:{loading:"Loading ...",new_node:"New node"}},_fn:{init:function(){this.set_focus(),this._get_settings().core.rtl&&this.get_container().addClass("jstree-rtl").css("direction","rtl"),this.get_container().html("<ul><li class='jstree-last jstree-leaf'><ins> </ins><a class='jstree-loading' href='#'><ins class='jstree-icon'> </ins>"+this._get_settings().core.strings.loading+"</a></li></ul>"),this.data.core.li_height=this.get_container().find("ul li.jstree-closed, ul li.jstree-leaf").eq(0).height()||18,this.get_container().delegate("li > ins","click.jstree",$.proxy(function(event){var trgt=$(event.target);trgt.is("ins")&&event.pageY-trgt.offset().t
op<this.data.core.li_height&&this.toggle_node(trgt)},this)).bind("mousedown.jstree",$.proxy(function(){this.set_focus()},this)).bind("dblclick.jstree",function(){var sel;if(document.selectio
n&&document.selection.empty)document.selection.empty();else if(window.getSelection){sel=window.getSelection();try{sel.removeAllRanges(),sel.collapse()}catch(err){}}}),this.__callback(),this.load_node(-1,function(){this.loaded(),this.reopen()})},destroy:function(){var i,n=this.get_index(),s=this._get_settings(),_this=this;if($.each(s.plugins,function(i,val){try{plugins[val].__destroy.apply(_this)}catch(err){}}),this.__callback(),this.is_focused())for(i in instances)if(instances.hasOwnProperty(i)&&i!=n){instances[i].set_focus();break}n===focused_instance&&(focused_instance=-1),this.get_container().unbind(".jstree").undelegate(".jstree").removeData("jstree-instance-id").find("[class^='jstree']").andSelf().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),instances
[n]=null,delete instances[n]},save_opened:function(){var _this=this;this.data.core.to_open=[],this.get_container().find(".jstree-open").each(function(){_this.data.core.to_open.push("#"+this.
id.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/"))}),this.__callback(_this.data.core.to_open)},reopen:function(is_callback){var _this=this,done=!0,current=[],remaining=[];is_callback||(this.data.core.reopen=!1,this.data.core.refreshing=!0),this.data.core.to_open.length&&($.each(this.data.core.to_open,function(i,val){return"#"==val?!0:($(val).length&&$(val).is(".jstree-closed")?current.push(val):remaining.push(val),void 0)}),current.length&&(this.data.core.to_open=remaining,$.each(current,function(i,val){_this.open_node(val,function(){_this.reopen(!0)},!0)}),done=!1)),done&&(this.data.core.reopen&&clearTimeout(this.data.core.reopen),this.data.core.reopen=setTimeout(function(){_this.__callback({},_this)},50),this.data.core.refreshing=!1)},refresh:function(obj){var _this=t
his;this.save_opened(),obj||(obj=-1),obj=this._get_node(obj),obj||(obj=-1),-1!==obj&&obj.children("UL").remove(),this.load_node(obj,function(){_this.__callback({obj:obj}),_this.reopen()})},l
oaded:function(){this.__callback()},set_focus:function(){var f=$.jstree._focused();f&&f!==this&&f.get_container().removeClass("jstree-focused"),f!==this&&(this.get_container().addClass("jstree-focused"),focused_instance=this.get_index()),this.__callback()},is_focused:function(){return focused_instance==this.get_index()},_get_node:function(obj){var $obj=$(obj,this.get_container());return $obj.is(".jstree")||-1==obj?-1:($obj=$obj.closest("li",this.get_container()),$obj.length?$obj:!1)},_get_next:function(obj,strict){return obj=this._get_node(obj),-1===obj?this.get_container().find("> ul > li:first-child"):obj.length?strict?obj.nextAll("li").size()>0?obj.nextAll("li:eq(0)"):!1:obj.hasClass("jstree-open")?obj.find("li:eq(0)"):obj.nextAll("li").size()>0?obj.nextAll("li:eq(0)"):obj.parentsUntil
(".jstree","li").next("li").eq(0):!1},_get_prev:function(obj,strict){if(obj=this._get_node(obj),-1===obj)return this.get_container().find("> ul > li:last-child");if(!obj.length)return!1;if(s
trict)return obj.prevAll("li").length>0?obj.prevAll("li:eq(0)"):!1;if(obj.prev("li").length){for(obj=obj.prev("li").eq(0);obj.hasClass("jstree-open");)obj=obj.children("ul:eq(0)").children("li:last");return obj}var o=obj.parentsUntil(".jstree","li:eq(0)");return o.length?o:!1},_get_parent:function(obj){if(obj=this._get_node(obj),-1==obj||!obj.length)return!1;var o=obj.parentsUntil(".jstree","li:eq(0)");return o.length?o:-1},_get_children:function(obj){return obj=this._get_node(obj),-1===obj?this.get_container().children("ul:eq(0)").children("li"):obj.length?obj.children("ul:eq(0)").children("li"):!1},get_path:function(obj,id_mode){var p=[],_this=this;return obj=this._get_node(obj),-1!==obj&&obj&&obj.length?(obj.parentsUntil(".jstree","li").each(function(){p.push(id_mode?this.id:_this.get_
text(this))}),p.reverse(),p.push(id_mode?obj.attr("id"):this.get_text(obj)),p):!1},is_open:function(obj){return obj=this._get_node(obj),obj&&-1!==obj&&obj.hasClass("jstree-open")},is_closed:
function(obj){return obj=this._get_node(obj),obj&&-1!==obj&&obj.hasClass("jstree-closed")},is_leaf:function(obj){return obj=this._get_node(obj),obj&&-1!==obj&&obj.hasClass("jstree-leaf")},open_node:function(obj,callback,skip_animation){if(obj=this._get_node(obj),!obj.length)return!1;if(!obj.hasClass("jstree-closed"))return callback&&callback.call(),!1;var s=skip_animation||is_ie6?0:this._get_settings().core.animation,t=this;this._is_loaded(obj)?(s&&obj.children("ul").css("display","none"),obj.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading"),s&&obj.children("ul").stop(!0).slideDown(s,function(){this.style.display=""}),this.__callback({obj:obj}),callback&&callback.call()):(obj.children("a").addClass("jstree-loading"),this.load_node(obj,functio
n(){t.open_node(obj,callback,skip_animation)},callback))},close_node:function(obj,skip_animation){obj=this._get_node(obj);var s=skip_animation||is_ie6?0:this._get_settings().core.animation;r
eturn obj.length&&obj.hasClass("jstree-open")?(s&&obj.children("ul").attr("style","display:block !important"),obj.removeClass("jstree-open").addClass("jstree-closed"),s&&obj.children("ul").stop(!0).slideUp(s,function(){this.style.display=""}),this.__callback({obj:obj}),void 0):!1},toggle_node:function(obj){return obj=this._get_node(obj),obj.hasClass("jstree-closed")?this.open_node(obj):obj.hasClass("jstree-open")?this.close_node(obj):void 0},open_all:function(obj,original_obj){obj=obj?this._get_node(obj):this.get_container(),obj&&-1!==obj||(obj=this.get_container()),original_obj?obj=obj.find("li.jstree-closed"):(original_obj=obj,obj=obj.is(".jstree-closed")?obj.find("li.jstree-closed").andSelf():obj.find("li.jstree-closed"));var _this=this;obj.each(function(){var __this=this;_this._is_loa
ded(this)?_this.open_node(this,!1,!0):_this.open_node(this,function(){_this.open_all(__this,original_obj)},!0)}),0===original_obj.find("li.jstree-closed").length&&this.__callback({obj:origin
al_obj})},close_all:function(obj){var _this=this;obj=obj?this._get_node(obj):this.get_container(),obj&&-1!==obj||(obj=this.get_container()),obj.find("li.jstree-open").andSelf().each(function(){_this.close_node(this)}),this.__callback({obj:obj})},clean_node:function(obj){obj=obj&&-1!=obj?$(obj):this.get_container(),obj=obj.is("li")?obj.find("li").andSelf():obj.find("li"),obj.removeClass("jstree-last").filter("li:last-child").addClass("jstree-last").end().filter(":has(li)").not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed"),obj.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove(),this.__callback({obj:obj})},get_rollback:function(){return this.__callback(),{i:this.get_index(),h:this.get_container().children("ul").clone(!0),d:this.data}},se
t_rollback:function(html,data){this.get_container().empty().append(html),this.data=data,this.__callback()},load_node:function(obj){this.__callback({obj:obj})},_is_loaded:function(){return!0}
,create_node:function(obj,position,js,callback,is_loaded){obj=this._get_node(obj),position="undefined"==typeof position?"last":position;var tmp,d=$("<li>"),s=this._get_settings().core;if(-1!==obj&&!obj.length)return!1;if(!is_loaded&&!this._is_loaded(obj))return this.load_node(obj,function(){this.create_node(obj,position,js,callback,!0)}),!1;switch(this.__rollback(),"string"==typeof js&&(js={data:js}),js||(js={}),js.attr&&d.attr(js.attr),js.state&&d.addClass("jstree-"+js.state),js.data||(js.data=s.strings.new_node),$.isArray(js.data)||(tmp=js.data,js.data=[],js.data.push(tmp)),$.each(js.data,function(i,m){tmp=$("<a>"),$.isFunction(m)&&(m=m.call(this,js)),"string"==typeof m?tmp.attr("href","#")[s.html_titles?"html":"text"](m):(m.attr||(m.attr={}),m.attr.href||(m.attr.href="#"),tmp.attr(m.at
tr)[s.html_titles?"html":"text"](m.title),m.language&&tmp.addClass(m.language)),tmp.prepend("<ins class='jstree-icon'> </ins>"),m.icon&&(-1===m.icon.indexOf("/")?tmp.children("ins").add
Class(m.icon):tmp.children("ins").css("background","url('"+m.icon+"') center center no-repeat")),d.append(tmp)}),d.prepend("<ins class='jstree-icon'> </ins>"),-1===obj&&(obj=this.get_container(),"before"===position&&(position="first"),"after"===position&&(position="last")),position){case"before":obj.before(d),tmp=this._get_parent(obj);break;case"after":obj.after(d),tmp=this._get_parent(obj);break;case"inside":case"first":obj.children("ul").length||obj.append("<ul>"),obj.children("ul").prepend(d),tmp=obj;break;case"last":obj.children("ul").length||obj.append("<ul>"),obj.children("ul").append(d),tmp=obj;break;default:obj.children("ul").length||obj.append("<ul>"),position||(position=0),tmp=obj.children("ul").children("li").eq(position),tmp.length?tmp.before(d):obj.children("ul").append(
d),tmp=obj}return(-1===tmp||tmp.get(0)===this.get_container().get(0))&&(tmp=-1),this.clean_node(tmp),this.__callback({obj:d,parent:tmp}),callback&&callback.call(this,d),d},get_text:function(
obj){if(obj=this._get_node(obj),!obj.length)return!1;var s=this._get_settings().core.html_titles;return obj=obj.children("a:eq(0)"),s?(obj=obj.clone(),obj.children("INS").remove(),obj.html()):(obj=obj.contents().filter(function(){return 3==this.nodeType})[0],obj.nodeValue)},set_text:function(obj,val){if(obj=this._get_node(obj),!obj.length)return!1;if(obj=obj.children("a:eq(0)"),this._get_settings().core.html_titles){var tmp=obj.children("INS").clone();return obj.html(val).prepend(tmp),this.__callback({obj:obj,name:val}),!0}return obj=obj.contents().filter(function(){return 3==this.nodeType})[0],this.__callback({obj:obj,name:val}),obj.nodeValue=val},rename_node:function(obj,val){obj=this._get_node(obj),this.__rollback(),obj&&obj.length&&this.set_text.apply(this,Array.prototype.slice.call(a
rguments))&&this.__callback({obj:obj,name:val})},delete_node:function(obj){if(obj=this._get_node(obj),!obj.length)return!1;this.__rollback();var p=this._get_parent(obj),prev=this._get_prev(o
bj);return obj=obj.remove(),-1!==p&&0===p.find("> ul > li").length&&p.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"),this.clean_node(p),this.__callback({obj:obj,prev:prev}),obj},prepare_move:function(o,r,pos,cb,is_cb){var p={};if(p.ot=$.jstree._reference(p.o)||this,p.o=p.ot._get_node(o),p.r=-1===r?-1:this._get_node(r),p.p="undefined"==typeof p?"last":pos,!is_cb&&prepared_move.o&&prepared_move.o[0]===p.o[0]&&prepared_move.r[0]===p.r[0]&&prepared_move.p===p.p)return this.__callback(prepared_move),cb&&cb.call(this,prepared_move),void 0;if(p.ot=$.jstree._reference(p.o)||this,p.rt=-1===r?p.ot:$.jstree._reference(p.r)||this,-1===p.r)switch(p.cr=-1,p.p){case"first":case"before":case"inside":p.cp=0;break;case"after":case"last":p.cp=p.rt.get_container().find(" > ul > li").length;
break;default:p.cp=p.p}else{if(!/^(before|after)$/.test(p.p)&&!this._is_loaded(p.r))return this.load_node(p.r,function(){this.prepare_move(o,r,pos,cb,!0)});switch(p.p){case"before":p.cp=p.r.
index(),p.cr=p.rt._get_parent(p.r);break;case"after":p.cp=p.r.index()+1,p.cr=p.rt._get_parent(p.r);break;case"inside":case"first":p.cp=0,p.cr=p.r;break;case"last":p.cp=p.r.find(" > ul > li").length,p.cr=p.r;break;default:p.cp=p.p,p.cr=p.r}}p.np=-1==p.cr?p.rt.get_container():p.cr,p.op=p.ot._get_parent(p.o),p.or=p.np.find(" > ul > li:nth-child("+(p.cp+1)+")"),prepared_move=p,this.__callback(prepared_move),cb&&cb.call(this,prepared_move)},check_move:function(){var obj=prepared_move,ret=!0;return obj.or[0]===obj.o[0]?!1:(obj.o.each(function(){return-1!==obj.r.parentsUntil(".jstree").andSelf().filter("li").index(this)?(ret=!1,!1):void 0}),ret)},move_node:function(obj,ref,position,is_copy,is_prepared,skip_check){if(!is_prepared)return this.prepare_move(obj,ref,position,function(p){this.move_nod
e(p,!1,!1,is_copy,!0,skip_check)});if(!skip_check&&!this.check_move())return!1;this.__rollback();var o=!1;is_copy?(o=obj.o.clone(),o.find("*[id]").andSelf().each(function(){this.id&&(this.id
="copy_"+this.id)})):o=obj.o,obj.or.length?obj.or.before(o):(obj.np.children("ul").length||$("<ul>").appendTo(obj.np),obj.np.children("ul:eq(0)").append(o));try{obj.ot.clean_node(obj.op),obj.rt.clean_node(obj.np),obj.op.find("> ul > li").length||obj.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove()}catch(e){}return is_copy&&(prepared_move.cy=!0,prepared_move.oc=o),this.__callback(prepared_move),prepared_move},_get_move:function(){return prepared_move}}})}(jQuery),function($){$.jstree.plugin("ui",{__init:function(){this.data.ui.selected=$(),this.data.ui.last_selected=!1,this.data.ui.hovered=null,this.data.ui.to_select=this.get_settings().ui.initially_select,this.get_container().delegate("a","click.jstree",$.proxy(function(event){event.preventDefaul
t(),this.select_node(event.currentTarget,!0,event)},this)).delegate("a","mouseenter.jstree",$.proxy(function(event){this.hover_node(event.target)},this)).delegate("a","mouseleave.jstree",$.p
roxy(function(event){this.dehover_node(event.target)},this)).bind("reopen.jstree",$.proxy(function(){this.reselect()},this)).bind("get_rollback.jstree",$.proxy(function(){this.dehover_node(),this.save_selected()},this)).bind("set_rollback.jstree",$.proxy(function(){this.reselect()},this)).bind("close_node.jstree",$.proxy(function(event,data){var s=this._get_settings().ui,obj=this._get_node(data.rslt.obj),clk=obj&&obj.length?obj.children("ul").find(".jstree-clicked"):$(),_this=this;s.selected_parent_close!==!1&&clk.length&&clk.each(function(){_this.deselect_node(this),"select_parent"===s.selected_parent_close&&_this.select_node(obj)})},this)).bind("delete_node.jstree",$.proxy(function(event,data){var s=this._get_settings().ui.select_prev_on_delete,obj=this._get_node(data.rslt.obj),clk=obj&
&obj.length?obj.find(".jstree-clicked"):[],_this=this;clk.each(function(){_this.deselect_node(this)}),s&&clk.length&&this.select_node(data.rslt.prev)},this)).bind("move_node.jstree",$.proxy(
function(event,data){data.rslt.cy&&data.rslt.oc.find(".jstree-clicked").removeClass("jstree-clicked")},this))},defaults:{select_limit:-1,select_multiple_modifier:"ctrl",selected_parent_close:"select_parent",select_prev_on_delete:!0,disable_selecting_children:!1,initially_select:[]},_fn:{_get_node:function(obj,allow_multiple){if("undefined"==typeof obj||null===obj)return allow_multiple?this.data.ui.selected:this.data.ui.last_selected;var $obj=$(obj,this.get_container());return $obj.is(".jstree")||-1==obj?-1:($obj=$obj.closest("li",this.get_container()),$obj.length?$obj:!1)},save_selected:function(){var _this=this;this.data.ui.to_select=[],this.data.ui.selected.each(function(){_this.data.ui.to_select.push("#"+this.id.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/"))}),this.
__callback(this.data.ui.to_select)},reselect:function(){var _this=this,s=this.data.ui.to_select;s=$.map($.makeArray(s),function(n){return"#"+n.toString().replace(/^#/,"").replace("\\/","/").
replace("/","\\/")}),this.deselect_all(),$.each(s,function(i,val){val&&"#"!==val&&_this.select_node(val)}),this.__callback()},refresh:function(){return this.save_selected(),this.__call_old()},hover_node:function(obj){return obj=this._get_node(obj),obj.length?(obj.hasClass("jstree-hovered")||this.dehover_node(),this.data.ui.hovered=obj.children("a").addClass("jstree-hovered").parent(),this.__callback({obj:obj}),void 0):!1},dehover_node:function(){var p,obj=this.data.ui.hovered;return obj&&obj.length?(p=obj.children("a").removeClass("jstree-hovered").parent(),this.data.ui.hovered[0]===p[0]&&(this.data.ui.hovered=null),this.__callback({obj:obj}),void 0):!1},select_node:function(obj,check,e){if(obj=this._get_node(obj),-1==obj||!obj||!obj.length)return!1;var s=this._get_settings().ui,is_multip
le="on"==s.select_multiple_modifier||s.select_multiple_modifier!==!1&&e&&e[s.select_multiple_modifier+"Key"],is_selected=this.is_selected(obj),proceed=!0;if(check){if(s.disable_selecting_chi
ldren&&is_multiple&&obj.parents("li",this.get_container()).children(".jstree-clicked").length)return!1;switch(proceed=!1,!0){case is_selected&&!is_multiple:this.deselect_all(),is_selected=!1,proceed=!0;break;case!is_selected&&!is_multiple:(-1==s.select_limit||s.select_limit>0)&&(this.deselect_all(),proceed=!0);break;case is_selected&&is_multiple:this.deselect_node(obj);break;case!is_selected&&is_multiple:(-1==s.select_limit||this.data.ui.selected.length+1<=s.select_limit)&&(proceed=!0)}}proceed&&!is_selected&&(obj.children("a").addClass("jstree-clicked"),this.data.ui.selected=this.data.ui.selected.add(obj),this.data.ui.last_selected=obj,this.__callback({obj:obj}))},deselect_node:function(obj){return obj=this._get_node(obj),obj.length?(this.is_selected(obj)&&(obj.children("a").removeClass(
"jstree-clicked"),this.data.ui.selected=this.data.ui.selected.not(obj),this.data.ui.last_selected.get(0)===obj.get(0)&&(this.data.ui.last_selected=this.data.ui.selected.eq(0)),this.__callbac
k({obj:obj})),void 0):!1},toggle_select:function(obj){return obj=this._get_node(obj),obj.length?(this.is_selected(obj)?this.deselect_node(obj):this.select_node(obj),void 0):!1},is_selected:function(obj){return this.data.ui.selected.index(this._get_node(obj))>=0},get_selected:function(context){return context?$(context).find(".jstree-clicked").parent():this.data.ui.selected},deselect_all:function(context){context?$(context).find(".jstree-clicked").removeClass("jstree-clicked"):this.get_container().find(".jstree-clicked").removeClass("jstree-clicked"),this.data.ui.selected=$([]),this.data.ui.last_selected=!1,this.__callback()}}}),$.jstree.defaults.plugins.push("ui")}(jQuery),function($){$.jstree.plugin("crrm",{__init:function(){this.get_container().bind("move_node.jstree",$.proxy(function(e,
data){if(this._get_settings().crrm.move.open_onmove){var t=this;data.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function(){t.open_node(this,!1,!0)})}},this))},de
faults:{input_width_limit:200,move:{always_copy:!1,open_onmove:!0,default_position:"last",check_move:function(){return!0}}},_fn:{_show_input:function(obj,callback){obj=this._get_node(obj);var rtl=this._get_settings().core.rtl,w=this._get_settings().crrm.input_width_limit,w1=obj.children("ins").width(),w2=obj.find("> a:visible > ins").width()*obj.find("> a:visible > ins").length,t=this.get_text(obj),h1=$("<div>",{css:{position:"absolute",top:"-200px",left:rtl?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),h2=obj.css("position","relative").append($("<input>",{value:t,css:{padding:"0",border:"1px solid silver",position:"absolute",left:rtl?"auto":w1+w2+4+"px",right:rtl?w1+w2+4+"px":"auto",top:"0px",height:this.data.core.li_height-2+"px",lineHeight:this.data.core.li_height-2+"px",widt
h:"150px"},blur:$.proxy(function(){var i=obj.children("input"),v=i.val();""===v&&(v=t),i.remove(),this.set_text(obj,t),this.rename_node(obj,v),callback.call(this,obj,v,t),obj.css("position",
"")},this),keyup:function(event){var key=event.keyCode||event.which;return 27==key?(this.value=t,this.blur(),void 0):13==key?(this.blur(),void 0):(h2.width(Math.min(h1.text("pW"+this.value).width(),w)),void 0)}})).children("input");this.set_text(obj,""),h1.css({fontFamily:h2.css("fontFamily")||"",fontSize:h2.css("fontSize")||"",fontWeight:h2.css("fontWeight")||"",fontStyle:h2.css("fontStyle")||"",fontStretch:h2.css("fontStretch")||"",fontVariant:h2.css("fontVariant")||"",letterSpacing:h2.css("letterSpacing")||"",wordSpacing:h2.css("wordSpacing")||""}),h2.width(Math.min(h1.text("pW"+h2[0].value).width(),w))[0].select()},rename:function(obj){obj=this._get_node(obj),this.__rollback();var f=this.__callback;this._show_input(obj,function(obj,new_name,old_name){f.call(this,{obj:obj,new_name:new_
name,old_name:old_name})})},create:function(obj,position,js,callback,skip_rename){var t,_this=this;return obj=this._get_node(obj),obj||(obj=-1),this.__rollback(),t=this.create_node(obj,posit
ion,js,function(t){var p=this._get_parent(t),pos=$(t).index();callback&&callback.call(this,t),p.length&&p.hasClass("jstree-closed")&&this.open_node(p,!1,!0),skip_rename?_this.__callback({obj:t,name:this.get_text(t),parent:p,position:pos}):this._show_input(t,function(obj,new_name){_this.__callback({obj:obj,name:new_name,parent:p,position:pos})})})},remove:function(obj){obj=this._get_node(obj,!0),this.__rollback(),this.delete_node(obj),this.__callback({obj:obj})},check_move:function(){if(!this.__call_old())return!1;var s=this._get_settings().crrm.move;return s.check_move.call(this,this._get_move())?!0:!1},move_node:function(obj,ref,position,is_copy,is_prepared,skip_check){var s=this._get_settings().crrm.move;return is_prepared?((s.always_copy===!0||"multitree"===s.always_copy&&obj.rt.get_in
dex()!==obj.ot.get_index())&&(is_copy=!0),this.__call_old(!0,obj,ref,position,is_copy,!0,skip_check),void 0):(position||(position=s.default_position),"inside"!==position||s.default_position.
match(/^(before|after)$/)||(position=s.default_position),this.__call_old(!0,obj,ref,position,is_copy,!1,skip_check))},cut:function(obj){return obj=this._get_node(obj),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1,obj&&obj.length?(this.data.crrm.ct_nodes=obj,void 0):!1},copy:function(obj){return obj=this._get_node(obj),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1,obj&&obj.length?(this.data.crrm.cp_nodes=obj,void 0):!1},paste:function(obj){return obj=this._get_node(obj),obj&&obj.length?this.data.crrm.ct_nodes||this.data.crrm.cp_nodes?(this.data.crrm.ct_nodes&&this.move_node(this.data.crrm.ct_nodes,obj),this.data.crrm.cp_nodes&&this.move_node(this.data.crrm.cp_nodes,obj,!1,!0),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1,void 0):!1:!1}}}),$.jstree.defaults.plugins.p
ush("crrm")}(jQuery),function($){var themes_loaded=[];$.jstree._themes=!1,$.jstree.plugin("themes",{__init:function(){this.get_container().bind("init.jstree",$.proxy(function(){var s=this._g
et_settings().themes;this.data.themes.dots=s.dots,this.data.themes.icons=s.icons,this.set_theme(s.theme,s.url)},this)).bind("loaded.jstree",$.proxy(function(){this.data.themes.dots?this.show_dots():this.hide_dots(),this.data.themes.icons?this.show_icons():this.hide_icons()},this))},defaults:{theme:"default",url:!1,dots:!0,icons:!0},_fn:{set_theme:function(theme_name,theme_url){return theme_name?(theme_url||(theme_url=$.jstree._themes+theme_name+"/style.css"),-1==$.inArray(theme_url,themes_loaded)&&($.vakata.css.add_sheet({url:theme_url,rel:"jstree"}),themes_loaded.push(theme_url)),this.data.themes.theme!=theme_name&&(this.get_container().removeClass("jstree-"+this.data.themes.theme),this.data.themes.theme=theme_name),this.get_container().addClass("jstree-"+theme_name),this.data.themes.dot
s?this.show_dots():this.hide_dots(),this.data.themes.icons?this.show_icons():this.hide_icons(),this.__callback(),void 0):!1},get_theme:function(){return this.data.themes.theme},show_dots:fun
ction(){this.data.themes.dots=!0,this.get_container().children("ul").removeClass("jstree-no-dots")},hide_dots:function(){this.data.themes.dots=!1,this.get_container().children("ul").addClass("jstree-no-dots")},toggle_dots:function(){this.data.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this.data.themes.icons=!0,this.get_container().children("ul").removeClass("jstree-no-icons")},hide_icons:function(){this.data.themes.icons=!1,this.get_container().children("ul").addClass("jstree-no-icons")},toggle_icons:function(){this.data.themes.icons?this.hide_icons():this.show_icons()}}}),$(function(){$.jstree._themes===!1&&$("script").each(function(){return this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/)?($.jstree._themes=this.src.toString().replace(/jquery\.jstr
ee[^\/]*?\.js(\?.*)?$/,"")+"themes/",!1):void 0}),$.jstree._themes===!1&&($.jstree._themes="themes/")}),$.jstree.defaults.plugins.push("themes")}(jQuery),function($){function exec(i,event){v
ar tmp,f=$.jstree._focused();return f&&f.data&&f.data.hotkeys&&f.data.hotkeys.enabled&&(tmp=f._get_settings().hotkeys[i])?tmp.call(f,event):void 0}var bound=[];$.jstree.plugin("hotkeys",{__init:function(){if("undefined"==typeof $.hotkeys)throw"jsTree hotkeys: jQuery hotkeys plugin not included.";if(!this.data.ui)throw"jsTree hotkeys: jsTree UI plugin not included.";
+$.each(this._get_settings().hotkeys,function(i){-1==$.inArray(i,bound)&&($(document).bind("keydown",i,function(event){return exec(i,event)}),bound.push(i))}),this.enable_hotkeys()},defaults:{up:function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;return this.hover_node(this._get_prev(o)),!1},down:function(){var o=this.data.ui.hovered||this.data.ui.last_selected||-1;return this.hover_node(this._get_next(o)),!1},left:function(){var o=this.data.ui.hovered||this.data.ui.last_selected;return o?(o.hasClass("jstree-open")?this.close_node(o):this.hover_node(this._get_prev(o)),!1):void 0},right:function(){var o=this.data.ui.hovered||this.data.ui.last_selected;return o&&o.length?(o.hasClass("jstree-closed")?this.open_node(o):this.hover_node(this._get_next(o)),!1):void 0},space:func
tion(){return this.data.ui.hovered?(this.data.ui.hovered.children("a:eq(0)").click(),!1):void 0},"ctrl+space":function(event){return event.type="click",this.data.ui.hovered?(this.data.ui.hov
ered.children("a:eq(0)").trigger(event),!1):void 0},f2:function(){this.rename(this.data.ui.hovered||this.data.ui.last_selected)},del:function(){this.remove(this.data.ui.hovered||this._get_node(null))}},_fn:{enable_hotkeys:function(){this.data.hotkeys.enabled=!0},disable_hotkeys:function(){this.data.hotkeys.enabled=!1}}})}(jQuery),function($){$.jstree.plugin("json_data",{defaults:{data:!1,ajax:!1,correct_state:!0,progressive_render:!1},_fn:{load_node:function(obj,s_call,e_call){var _this=this;this.load_node_json(obj,function(){_this.__callback({obj:obj}),s_call.call(this)},e_call)},_is_loaded:function(obj){var d,s=this._get_settings().json_data;return obj=this._get_node(obj),obj&&-1!==obj&&s.progressive_render&&!obj.is(".jstree-open, .jstree-leaf")&&0===obj.children("ul").children("li").le
ngth&&obj.data("jstree-children")?(d=this._parse_json(obj.data("jstree-children")),d&&(obj.append(d),$.removeData(obj,"jstree-children")),this.clean_node(obj),!0):-1==obj||!obj||!s.ajax||obj
.is(".jstree-open, .jstree-leaf")||obj.children("ul").children("li").size()>0},load_node_json:function(obj,s_call,e_call){var d,s=this.get_settings().json_data,error_func=function(){},success_func=function(){};if(obj=this._get_node(obj),obj&&-1!==obj){if(obj.data("jstree-is-loading"))return;obj.data("jstree-is-loading",!0)}switch(!0){case!s.data&&!s.ajax:throw"Neither data nor ajax settings supplied.";case!!s.data&&!s.ajax||!!s.data&&!!s.ajax&&(!obj||-1===obj):obj&&-1!=obj||(d=this._parse_json(s.data),d?(this.get_container().children("ul").empty().append(d.children()),this.clean_node()):s.correct_state&&this.get_container().children("ul").empty()),s_call&&s_call.call(this);break;case!s.data&&!!s.ajax||!!s.data&&!!s.ajax&&obj&&-1!==obj:error_func=function(x,t,e){var ef=this.get_settings().
json_data.ajax.error;ef&&ef.call(this,x,t,e),-1!=obj&&obj.length?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1),"success"===t&&s.correct_stat
e&&obj.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")):"success"===t&&s.correct_state&&this.get_container().children("ul").empty(),e_call&&e_call.call(this)},success_func=function(d,t,x){var sf=this.get_settings().json_data.ajax.success;return sf&&(d=sf.call(this,d,t,x)||d),""===d||!$.isArray(d)&&!$.isPlainObject(d)?error_func.call(this,x,t,""):(d=this._parse_json(d),d?(-1!==obj&&obj?(obj.append(d).children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1)):this.get_container().children("ul").empty().append(d.children()),this.clean_node(obj),s_call&&s_call.call(this)):-1!==obj&&obj?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1),s.correct_state&&(obj.removeClass("jstree-open jstree-closed").a
ddClass("jstree-leaf"),s_call&&s_call.call(this))):s.correct_state&&(this.get_container().children("ul").empty(),s_call&&s_call.call(this)),void 0)},s.ajax.context=this,s.ajax.error=error_fu
nc,s.ajax.success=success_func,s.ajax.dataType||(s.ajax.dataType="json"),$.isFunction(s.ajax.url)&&(s.ajax.url=s.ajax.url.call(this,obj)),$.isFunction(s.ajax.data)&&(s.ajax.data=s.ajax.data.call(this,obj)),$.ajax(s.ajax)}},_parse_json:function(js,is_callback){var tmp,i,j,ul1,ul2,d=!1,p=this._get_settings(),s=p.json_data,t=p.core.html_titles;if(!js)return d;if($.isFunction(js)&&(js=js.call(this)),$.isArray(js)){if(d=$(),!js.length)return!1;for(i=0,j=js.length;j>i;i++)tmp=this._parse_json(js[i],!0),tmp.length&&(d=d.add(tmp))}else{if("string"==typeof js&&(js={data:js}),!js.data&&""!==js.data)return d;d=$("<li>"),js.attr&&d.attr(js.attr),js.metadata&&d.data("jstree",js.metadata),js.state&&d.addClass("jstree-"+js.state),$.isArray(js.data)||(tmp=js.data,js.data=[],js.data.push(tmp)),$.each(js.d
ata,function(i,m){tmp=$("<a>"),$.isFunction(m)&&(m=m.call(this,js)),"string"==typeof m?tmp.attr("href","#")[t?"html":"text"](m):(m.attr||(m.attr={}),m.attr.href||(m.attr.href="#"),tmp.attr(m
.attr)[t?"html":"text"](m.title),m.language&&tmp.addClass(m.language)),tmp.prepend("<ins class='jstree-icon'> </ins>"),!m.icon&&js.icon&&(m.icon=js.icon),m.icon&&(-1===m.icon.indexOf("/")?tmp.children("ins").addClass(m.icon):tmp.children("ins").css("background","url('"+m.icon+"') center center no-repeat")),d.append(tmp)}),d.prepend("<ins class='jstree-icon'> </ins>"),js.children&&(s.progressive_render&&"open"!==js.state?d.addClass("jstree-closed").data("jstree-children",js.children):($.isFunction(js.children)&&(js.children=js.children.call(this,js)),$.isArray(js.children)&&js.children.length&&(tmp=this._parse_json(js.children,!0),tmp.length&&(ul2=$("<ul>"),ul2.append(tmp),d.append(ul2)))))}return is_callback||(ul1=$("<ul>"),ul1.append(d),d=ul1),d},get_json:function(obj,li_attr,a
_attr,is_callback){var tmp1,tmp2,li,a,t,lang,result=[],s=this._get_settings(),_this=this;return obj=this._get_node(obj),obj&&-1!==obj||(obj=this.get_container().find("> ul > li")),li_attr=$.
isArray(li_attr)?li_attr:["id","class"],!is_callback&&this.data.types&&li_attr.push(s.types.type_attr),a_attr=$.isArray(a_attr)?a_attr:[],obj.each(function(){li=$(this),tmp1={data:[]},li_attr.length&&(tmp1.attr={}),$.each(li_attr,function(i,v){tmp2=li.attr(v),tmp2&&tmp2.length&&tmp2.replace(/jstree[^ ]*|$/gi,"").length&&(tmp1.attr[v]=tmp2.replace(/jstree[^ ]*|$/gi,""))}),li.hasClass("jstree-open")&&(tmp1.state="open"),li.hasClass("jstree-closed")&&(tmp1.state="closed"),a=li.children("a"),a.each(function(){t=$(this),a_attr.length||-1!==$.inArray("languages",s.plugins)||t.children("ins").get(0).style.backgroundImage.length||t.children("ins").get(0).className&&t.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").length?(lang=!1,-1!==$.inArray("languages",s.plugins)&&$.isArray(s.l
anguages)&&s.languages.length&&$.each(s.languages,function(l,lv){return t.hasClass(lv)?(lang=lv,!1):void 0}),tmp2={attr:{},title:_this.get_text(t,lang)},$.each(a_attr,function(k,z){tmp1.attr
[z]=(t.attr(z)||"").replace(/jstree[^ ]*|$/gi,"")}),$.each(s.languages,function(k,z){return t.hasClass(z)?(tmp2.language=z,!0):void 0}),t.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").replace(/^\s+$/gi,"").length&&(tmp2.icon=t.children("ins").get(0).className.replace(/jstree[^ ]*|$/gi,"").replace(/^\s+$/gi,"")),t.children("ins").get(0).style.backgroundImage.length&&(tmp2.icon=t.children("ins").get(0).style.backgroundImage.replace("url(","").replace(")",""))):tmp2=_this.get_text(t),a.length>1?tmp1.data.push(tmp2):tmp1.data=tmp2}),li=li.find("> ul > li"),li.length&&(tmp1.children=_this.get_json(li,li_attr,a_attr,!0)),result.push(tmp1)}),result}}})}(jQuery),function($){$.jstree.plugin("languages",{__init:function(){this._load_css()},defaults:[],_fn:{set_lang:function(i){var
langs=this._get_settings().languages,st=!1,selector=".jstree-"+this.get_index()+" a";if(!$.isArray(langs)||0===langs.length)return!1;if(-1==$.inArray(i,langs)){if(!langs[i])return!1;i=langs[
i]}return i==this.data.languages.current_language?!0:(st=$.vakata.css.get_css(selector+"."+this.data.languages.current_language,!1,this.data.languages.language_css),st!==!1&&(st.style.display="none"),st=$.vakata.css.get_css(selector+"."+i,!1,this.data.languages.language_css),st!==!1&&(st.style.display=""),this.data.languages.current_language=i,this.__callback(i),!0)},get_lang:function(){return this.data.languages.current_language},get_text:function(obj,lang){if(obj=this._get_node(obj)||this.data.ui.last_selected,!obj.size())return!1;var langs=this._get_settings().languages,s=this._get_settings().core.html_titles;return $.isArray(langs)&&langs.length?(lang=lang&&-1!=$.inArray(lang,langs)?lang:this.data.languages.current_language,obj=obj.children("a."+lang)):obj=obj.children("a:eq(0)"),s?(o
bj=obj.clone(),obj.children("INS").remove(),obj.html()):(obj=obj.contents().filter(function(){return 3==this.nodeType})[0],obj.nodeValue)},set_text:function(obj,val,lang){if(obj=this._get_no
de(obj)||this.data.ui.last_selected,!obj.size())return!1;var tmp,langs=this._get_settings().languages,s=this._get_settings().core.html_titles;return $.isArray(langs)&&langs.length?(lang=lang&&-1!=$.inArray(lang,langs)?lang:this.data.languages.current_language,obj=obj.children("a."+lang)):obj=obj.children("a:eq(0)"),s?(tmp=obj.children("INS").clone(),obj.html(val).prepend(tmp),this.__callback({obj:obj,name:val,lang:lang}),!0):(obj=obj.contents().filter(function(){return 3==this.nodeType})[0],this.__callback({obj:obj,name:val,lang:lang}),obj.nodeValue=val)},_load_css:function(){var ln,langs=this._get_settings().languages,str="/* languages css */",selector=".jstree-"+this.get_index()+" a";if($.isArray(langs)&&langs.length){for(this.data.languages.current_language=langs[0],ln=0;ln<langs.lengt
h;ln++)str+=selector+"."+langs[ln]+" {",langs[ln]!=this.data.languages.current_language&&(str+=" display:none; "),str+=" } ";this.data.languages.language_css=$.vakata.css.add_sheet({str:str}
)}},create_node:function(obj,position,js,callback){var t=this.__call_old(!0,obj,position,js,function(t){var ln,langs=this._get_settings().languages,a=t.children("a");if($.isArray(langs)&&langs.length){for(ln=0;ln<langs.length;ln++)a.is("."+langs[ln])||t.append(a.eq(0).clone().removeClass(langs.join(" ")).addClass(langs[ln]));a.not("."+langs.join(", .")).remove()}callback&&callback.call(this,t)});return t}}})}(jQuery),function($){$.jstree.plugin("sort",{__init:function(){this.get_container().bind("load_node.jstree",$.proxy(function(e,data){var obj=this._get_node(data.rslt.obj);obj=-1===obj?this.get_container().children("ul"):obj.children("ul"),this.sort(obj)},this)).bind("rename_node.jstree",$.proxy(function(e,data){this.sort(data.rslt.obj.parent())},this)).bind("move_node.jstree",$.proxy(
function(e,data){var m=-1==data.rslt.np?this.get_container():data.rslt.np;this.sort(m.children("ul"))},this))},defaults:function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},_fn:{sort
:function(obj){var s=this._get_settings().sort,t=this;obj.append($.makeArray(obj.children("li")).sort($.proxy(s,t))),obj.find("> li > ul").each(function(){t.sort($(this))}),this.clean_node(obj)}}})}(jQuery),function($){$.jstree.plugin("checkbox",{__init:function(){this.select_node=this.deselect_node=this.deselect_all=$.noop,this.get_selected=this.get_checked,this.get_container().bind("open_node.jstree create_node.jstree clean_node.jstree",$.proxy(function(e,data){this._prepare_checkboxes(data.rslt.obj)},this)).bind("loaded.jstree",$.proxy(function(){this._prepare_checkboxes()},this)).delegate("a","click.jstree",$.proxy(function(e){this._get_node(e.target).hasClass("jstree-checked")?this.uncheck_node(e.target):this.check_node(e.target),this.data.ui&&this.save_selected(),this.data.cookies&&
this.save_cookie("select_node"),e.preventDefault()},this))},__destroy:function(){this.get_container().find(".jstree-checkbox").remove()},_fn:{_prepare_checkboxes:function(obj){obj=obj&&-1!=o
bj?this._get_node(obj):this.get_container();var c,t,_this=this;obj.each(function(){t=$(this),c=t.is("li")&&t.hasClass("jstree-checked")?"jstree-checked":"jstree-unchecked",t.find("a").not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'> </ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass(c)}),obj.is("li")?this._repair_state(obj):obj.find("> ul > li").each(function(){_this._repair_state(this)})},change_state:function(obj,state){obj=this._get_node(obj),state=state===!1||state===!0?state:obj.hasClass("jstree-checked"),state?obj.find("li").andSelf().removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked"):(obj.find("li").andSelf().removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked"),this.data.ui&&(this.data.
ui.last_selected=obj),this.data.checkbox.last_selected=obj),obj.parentsUntil(".jstree","li").each(function(){var $this=$(this);if(state){if($this.children("ul").children(".jstree-checked, .j
stree-undetermined").length)return $this.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"),!1;$this.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked")}else{if($this.children("ul").children(".jstree-unchecked, .jstree-undetermined").length)return $this.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"),!1;$this.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked")}}),this.data.ui&&(this.data.ui.selected=this.get_checked()),this.__callback(obj)},check_node:function(obj){this.change_state(obj,!1)},uncheck_node:function(obj){this.change_state(obj,!0)},check_all:function(){var _this=this;this.get_container().
children("ul").children("li").each(function(){_this.check_node(this,!1)})},uncheck_all:function(){var _this=this;this.get_container().children("ul").children("li").each(function(){_this.chan
ge_state(this,!0)})},is_checked:function(obj){return obj=this._get_node(obj),obj.length?obj.is(".jstree-checked"):!1},get_checked:function(obj){return obj=obj&&-1!==obj?this._get_node(obj):this.get_container(),obj.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked")},get_unchecked:function(obj){return obj=obj&&-1!==obj?this._get_node(obj):this.get_container(),obj.find("> ul > .jstree-unchecked, .jstree-undetermined > ul > .jstree-unchecked")},show_checkboxes:function(){this.get_container().children("ul").removeClass("jstree-no-checkboxes")},hide_checkboxes:function(){this.get_container().children("ul").addClass("jstree-no-checkboxes")},_repair_state:function(obj){if(obj=this._get_node(obj).first(),obj.length){var a=obj.find("> ul > .jstree-checked").length,b=obj.fin
d("> ul > .jstree-undetermined").length,c=obj.find("> ul > li").length;0===c?obj.hasClass("jstree-undetermined")&&this.check_node(obj):0===a&&0===b?this.uncheck_node(obj):a===c?this.check_no
de(obj):obj.parentsUntil(".jstree","li").removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined")}},reselect:function(){if(this.data.ui){var _this=this,s=this.data.ui.to_select;s=$.map($.makeArray(s),function(n){return"#"+n.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/")}),this.deselect_all(),$.each(s,function(i,val){_this.check_node(val)}),this.__callback()}}}})}(jQuery),function($){$.jstree.plugin("types",{__init:function(){var s=this._get_settings().types;this.data.types.attach_to=[],this.get_container().bind("init.jstree",$.proxy(function(){var types=s.types,attr=s.type_attr,icons_css="",_this=this;$.each(types,function(i,tp){return $.each(tp,function(k){/^(max_depth|max_children|icon|valid_children)$/.test(k)||_this.data.types.attach_to.push(k)
}),tp.icon?((tp.icon.image||tp.icon.position)&&(icons_css+="default"==i?".jstree-"+_this.get_index()+" a > .jstree-icon { ":".jstree-"+_this.get_index()+" li["+attr+"="+i+"] > a > .jstree-ic
on { ",tp.icon.image&&(icons_css+=" background-image:url("+tp.icon.image+"); "),icons_css+=tp.icon.position?" background-position:"+tp.icon.position+"; ":" background-position:0 0; ",icons_css+="} "),void 0):!0}),""!=icons_css&&$.vakata.css.add_sheet({str:icons_css})},this)).bind("before.jstree",$.proxy(function(e,data){if(-1!==$.inArray(data.func,this.data.types.attach_to)){var s=this._get_settings().types.types,t=this._get_type(data.args[0]);if((s[t]&&"undefined"!=typeof s[t][data.func]||s["default"]&&"undefined"!=typeof s["default"][data.func])&&!this._check(data.func,data.args[0]))return e.stopImmediatePropagation(),!1}},this))},defaults:{max_children:-1,max_depth:-1,valid_children:"all",type_attr:"rel",types:{"default":{max_children:-1,max_depth:-1,valid_children:"all"}}},_fn:{_get_t
ype:function(obj){return obj=this._get_node(obj),obj&&obj.length?obj.attr(this._get_settings().types.type_attr)||"default":!1},set_type:function(str,obj){return obj=this._get_node(obj),obj.l
ength&&str?obj.attr(this._get_settings().types.type_attr,str):!1},_check:function(rule,obj,opts){var v=!1,t=this._get_type(obj),d=0,_this=this,s=this._get_settings().types;if(-1===obj){if(!s[rule])return;v=s[rule]}else{if(t===!1)return;s.types[t]&&s.types[t][rule]?v=s.types[t][rule]:s.types["default"]&&s.types["default"][rule]&&(v=s.types["default"][rule])}return $.isFunction(v)&&(v=v.call(this,obj)),"max_depth"===rule&&-1!==obj&&opts!==!1&&-2!==s.max_depth&&0!==v&&this._get_node(obj).children("a:eq(0)").parentsUntil(".jstree","li").each(function(i){return-1!==s.max_depth&&s.max_depth-(i+1)<=0?(v=0,!1):(d=0===i?v:_this._check(rule,this,!1),-1!==d&&0>=d-(i+1)?(v=0,!1):(d>=0&&(v>d-(i+1)||0>v)&&(v=d-(i+1)),s.max_depth>=0&&(s.max_depth-(i+1)<v||0>v)&&(v=s.max_depth-(i+1)),void 0))}),v},check_
move:function(){if(!this.__call_old())return!1;var t,m=this._get_move(),s=m.rt._get_settings().types,mc=m.rt._check("max_children",m.cr),md=m.rt._check("max_depth",m.cr),vc=m.rt._check("vali
d_children",m.cr),ch=0,d=1;if("none"===vc)return!1;if($.isArray(vc)&&m.ot&&m.ot._get_type&&(m.o.each(function(){return-1===$.inArray(m.ot._get_type(this),vc)?(d=!1,!1):void 0}),d===!1))return!1;if(-2!==s.max_children&&-1!==mc&&(ch=-1===m.cr?this.get_container().children("> ul > li").not(m.o).length:m.cr.children("> ul > li").not(m.o).length,ch+m.o.length>mc))return!1;if(-2!==s.max_depth&&-1!==md){if(d=0,0===md)return!1;if("undefined"==typeof m.o.d){for(t=m.o;t.length>0;)t=t.find("> ul > li"),d++;m.o.d=d}if(md-m.o.d<0)return!1}return!0},create_node:function(obj,position,js,callback,is_loaded,skip_check){if(!skip_check&&(is_loaded||this._is_loaded(obj))){var ch,p=position&&position.match(/^before|after$/i)&&-1!==obj?this._get_parent(obj):this._get_node(obj),s=this._get_settings().types,mc=t
his._check("max_children",p),md=this._check("max_depth",p),vc=this._check("valid_children",p);if(js||(js={}),"none"===vc)return!1;if($.isArray(vc))if(js.attr&&js.attr[s.type_attr]){if(-1===$
.inArray(js.attr[s.type_attr],vc))return!1}else js.attr||(js.attr={}),js.attr[s.type_attr]=vc[0];if(-2!==s.max_children&&-1!==mc&&(ch=-1===p?this.get_container().children("> ul > li").length:p.children("> ul > li").length,ch+1>mc))return!1;if(-2!==s.max_depth&&-1!==md&&0>md-1)return!1}return this.__call_old(!0,obj,position,js,callback,is_loaded,skip_check)}}})}(jQuery),function($){$.jstree.plugin("html_data",{__init:function(){this.data.html_data.original_container_html=this.get_container().find(" > ul > li").clone(!0),this.data.html_data.original_container_html.find("li").andSelf().contents().filter(function(){return 3==this.nodeType}).remove()},defaults:{data:!1,ajax:!1,correct_state:!0},_fn:{load_node:function(obj,s_call,e_call){var _this=this;this.load_node_html(obj,function(){_this._
_callback({obj:obj}),s_call.call(this)},e_call)},_is_loaded:function(obj){return obj=this._get_node(obj),-1==obj||!obj||!this._get_settings().html_data.ajax||obj.is(".jstree-open, .jstree-le
af")||obj.children("ul").children("li").size()>0},load_node_html:function(obj,s_call,e_call){var d,s=this.get_settings().html_data,error_func=function(){},success_func=function(){};if(obj=this._get_node(obj),obj&&-1!==obj){if(obj.data("jstree-is-loading"))return;obj.data("jstree-is-loading",!0)}switch(!0){case!s.data&&!s.ajax:obj&&-1!=obj||(this.get_container().children("ul").empty().append(this.data.html_data.original_container_html).find("li, a").filter(function(){return"INS"!==this.firstChild.tagName}).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),this.clean_node()),s_call&&s_call.call(this);break;case!!s.data&&!s.ajax||!!s.data&&!!s.ajax&&(!obj||-1===obj):obj&&-1!=obj||(d=$(s.data),d.is("ul")|
|(d=$("<ul>").append(d)),this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function(){return"INS"!==this.firstChild.tagName}).prepend("<ins class='jstree-
icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),this.clean_node()),s_call&&s_call.call(this);break;case!s.data&&!!s.ajax||!!s.data&&!!s.ajax&&obj&&-1!==obj:obj=this._get_node(obj),error_func=function(x,t,e){var ef=this.get_settings().html_data.ajax.error;ef&&ef.call(this,x,t,e),-1!=obj&&obj.length?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1),"success"===t&&s.correct_state&&obj.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")):"success"===t&&s.correct_state&&this.get_container().children("ul").empty(),e_call&&e_call.call(this)},success_func=function(d,t,x){var sf=this.get_settings().html_data.ajax.success;return sf&&(d=sf.call(this,d,t,x)||d),""==d?error_func.ca
ll(this,x,t,""):(d?(d=$(d),d.is("ul")||(d=$("<ul>").append(d)),-1!=obj&&obj?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.append(d).find("li, a").filter(function(){retur
n"INS"!==this.firstChild.tagName}).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),obj.data("jstree-is-loading",!1)):this.get_container().children("ul").empty().append(d.children()).find("li, a").filter(function(){return"INS"!==this.firstChild.tagName}).prepend("<ins class='jstree-icon'> </ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),this.clean_node(obj),s_call&&s_call.call(this)):obj&&-1!==obj?(obj.children(".jstree-loading").removeClass("jstree-loading"),obj.data("jstree-is-loading",!1),s.correct_state&&(obj.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"),s_call&&s_call.call(this))):s.correct_state&&(this.get_container().chi
ldren("ul").empty(),s_call&&s_call.call(this)),void 0)},s.ajax.context=this,s.ajax.error=error_func,s.ajax.success=success_func,s.ajax.dataType||(s.ajax.dataType="html"),$.isFunction(s.ajax.
url)&&(s.ajax.url=s.ajax.url.call(this,obj)),$.isFunction(s.ajax.data)&&(s.ajax.data=s.ajax.data.call(this,obj)),$.ajax(s.ajax)}}}}),$.jstree.defaults.plugins.push("html_data")}(jQuery),function($){$.jstree.plugin("themeroller",{__init:function(){var s=this._get_settings().themeroller;this.get_container().addClass("ui-widget-content").delegate("a","mouseenter.jstree",function(){$(this).addClass(s.item_h)}).delegate("a","mouseleave.jstree",function(){$(this).removeClass(s.item_h)}).bind("open_node.jstree create_node.jstree",$.proxy(function(e,data){this._themeroller(data.rslt.obj)},this)).bind("loaded.jstree refresh.jstree",$.proxy(function(){this._themeroller()},this)).bind("close_node.jstree",$.proxy(function(e,data){data.rslt.obj.children("ins").removeClass(s.opened).addClass(s.closed)}
,this)).bind("select_node.jstree",$.proxy(function(e,data){data.rslt.obj.children("a").addClass(s.item_a)},this)).bind("deselect_node.jstree deselect_all.jstree",$.proxy(function(){this.get_
container().find("."+s.item_a).removeClass(s.item_a).end().find(".jstree-clicked").addClass(s.item_a)},this)).bind("move_node.jstree",$.proxy(function(e,data){this._themeroller(data.rslt.o)},this))},__destroy:function(){var s=this._get_settings().themeroller,c=["ui-icon"];$.each(s,function(i,v){v=v.split(" "),v.length&&(c=c.concat(v))}),this.get_container().removeClass("ui-widget-content").find("."+c.join(", .")).removeClass(c.join(" "))},_fn:{_themeroller:function(obj){var s=this._get_settings().themeroller;obj=obj&&-1!=obj?this._get_node(obj).parent():this.get_container(),obj.find("li.jstree-closed > ins.jstree-icon").removeClass(s.opened).addClass("ui-icon "+s.closed).end().find("li.jstree-open > ins.jstree-icon").removeClass(s.closed).addClass("ui-icon "+s.opened).end().find("a").addC
lass(s.item).children("ins.jstree-icon").addClass("ui-icon "+s.item_icon)}},defaults:{opened:"ui-icon-triangle-1-se",closed:"ui-icon-triangle-1-e",item:"ui-state-default",item_h:"ui-state-ho
ver",item_a:"ui-state-active",item_icon:"ui-icon-folder-collapsed"}}),$(function(){var css_string=".jstree .ui-icon { overflow:visible; } .jstree a { padding:0 2px; }";$.vakata.css.add_sheet({str:css_string})})}(jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/thirdparty/jquery.observehashchange.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.observehashchange.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/thirdparty/jquery.observehashchange.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($){function isHashChangeEventSupported(){return"onhashchange"in window}function nativeVersion(){locationHash=document.location.hash,window.onhashchange=onhashchangeHandler}function onhashchangeHandler(){var oldHash=locationHash;locationHash=document.location.hash,$(window).trigger("jQuery.hashchange",{before:oldHash,after:locationHash})}function setIntervalVersion(opts){null==locationHash&&(locationHash=document.location.hash),null!=functionStore&&clearInterval(functionStore),interval!=opts.interval&&(functionStore=setInterval(checkLocationHash,opts.interval),interval=opts.interval)}function checkLocationHash(){if(locationHash!=document.location.hash){var oldHash=locationHash;locationHash=document.location.hash,$(window).trigger("jQuery.hashchange",{before:oldHash,after:location
Hash})}}$.fn.hashchange=function(fn){return $(window).bind("jQuery.hashchange",fn),this},$.observeHashChange=function(options){var opts=$.extend({},$.observeHashChange.defaults,options);isHa
shChangeEventSupported()?nativeVersion():setIntervalVersion(opts)};var locationHash=null,functionStore=null,interval=0;$.observeHashChange.defaults={interval:500},$.observeHashChange()})(jQuery);
\ No newline at end of file
+!function($){function isHashChangeEventSupported(){return"onhashchange"in window}function nativeVersion(){locationHash=document.location.hash,window.onhashchange=onhashchangeHandler}function onhashchangeHandler(){var oldHash=locationHash;locationHash=document.location.hash,$(window).trigger("jQuery.hashchange",{before:oldHash,after:locationHash})}function setIntervalVersion(opts){null==locationHash&&(locationHash=document.location.hash),null!=functionStore&&clearInterval(functionStore),interval!=opts.interval&&(functionStore=setInterval(checkLocationHash,opts.interval),interval=opts.interval)}function checkLocationHash(){if(locationHash!=document.location.hash){var oldHash=locationHash;locationHash=document.location.hash,$(window).trigger("jQuery.hashchange",{before:oldHash,after:location
Hash})}}$.fn.hashchange=function(fn){return $(window).bind("jQuery.hashchange",fn),this},$.observeHashChange=function(options){var opts=$.extend({},$.observeHashChange.defaults,options);isHa
shChangeEventSupported()?nativeVersion():setIntervalVersion(opts)};var locationHash=null,functionStore=null,interval=0;$.observeHashChange.defaults={interval:500},$.observeHashChange()}(jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/thirdparty/jquery.tablednd.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.tablednd.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/thirdparty/jquery.tablednd.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function(jQuery){var module={currentTable:null,dragObject:null,mouseOffset:null,oldY:0,build:function(options){return this.each(function(){var tbody=this,config=jQuery.extend({onDragStyle:null,onDropStyle:null,onDragClass:"tDnD_whileDrag",onDrop:null,onDragStart:null,scrollAmount:5,dragHandle:null},options||{});jQuery(tbody).delegate("td."+config.dragHandle,"mousedown",function(event){var cell=event.target,drag=!0;return config.onDragStart&&(drag=config.onDragStart(cell)),drag!==!1?(module.dragObject=cell.parentNode,module.currentTable=tbody,module.mouseOffset=module.getMouseOffset(cell,event),event.stopPropagation(),event.preventDefault(),!1):void 0}),tbody.tableDnDConfig=config}),jQuery(document).bind("mousemove",module.mousemove).bind("mouseup",module.mouseup),this},mousePosition:func
tion(ev){return ev.pageY?ev.pageY:ev.clientY+document.body.scrollTop-document.body.clientTop},getMouseOffset:function(target,ev){return ev=ev||window.event,this.mousePosition(ev)-this.docume
ntPosition(target)},documentPosition:function(e){var top=0;for(0==e.offsetHeight&&(e=e.firstChild);e.offsetParent;)top+=e.offsetTop,e=e.offsetParent;return top+=e.offsetTop},mousemove:function(ev){if(null!=module.dragObject){var dragObj=jQuery(module.dragObject),config=module.currentTable.tableDnDConfig,mousePos=module.mousePosition(ev),y=mousePos-module.mouseOffset,yOffset=window.pageYOffset;if(document.all&&(document.compatMode!==void 0&&"BackCompat"!=document.compatMode?yOffset=document.documentElement.scrollTop:document.body!==void 0&&(yOffset=document.body.scrollTop)),config.scrollAmount>mousePos-yOffset)window.scrollBy(0,-config.scrollAmount);else{var windowHeight=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:docume
nt.body.clientHeight;config.scrollAmount>windowHeight-(mousePos-yOffset)&&window.scrollBy(0,config.scrollAmount)}if(y!=module.oldY){var movingDown=y>module.oldY;module.oldY=y,config.onDragCl
ass?dragObj.addClass(config.onDragClass):dragObj.css(config.onDragStyle);var currentRow=module.findDropTargetRow(dragObj,y);currentRow&&(movingDown&&module.dragObject!=currentRow?module.dragObject.parentNode.insertBefore(module.dragObject,currentRow.nextSibling):movingDown||module.dragObject==currentRow||module.dragObject.parentNode.insertBefore(module.dragObject,currentRow))}return!1}},findDropTargetRow:function(draggedRow,y){for(var rows=$(module.currentTable).children("tr"),i=0,len=rows.length;len>i;i++){var row=rows[i],rowY=this.documentPosition(row),rowHeight=parseInt(row.offsetHeight)/2;if(0==row.offsetHeight&&(rowY=this.documentPosition(row.firstChild),rowHeight=parseInt(row.firstChild.offsetHeight)/2),y>rowY-rowHeight&&rowY+rowHeight>y){if(row==draggedRow)return null;var config=mo
dule.currentTable.tableDnDConfig;return config.onAllowDrop?config.onAllowDrop(draggedRow,row)?row:null:row}}return null},mouseup:function(event){if(module.currentTable&&module.dragObject){va
r droppedRow=module.dragObject,config=module.currentTable.tableDnDConfig;return config.onDragClass?jQuery(droppedRow).removeClass(config.onDragClass):jQuery(droppedRow).css(config.onDropStyle),module.dragObject=null,config.onDrop&&config.onDrop(droppedRow),module.currentTable=null,event.stopPropagation(),event.preventDefault(),!1}}};jQuery.fn.extend({tableDnD:module.build})})(jQuery);
\ No newline at end of file
+!function(jQuery){var module={currentTable:null,dragObject:null,mouseOffset:null,oldY:0,build:function(options){return this.each(function(){var tbody=this,config=jQuery.extend({onDragStyle:null,onDropStyle:null,onDragClass:"tDnD_whileDrag",onDrop:null,onDragStart:null,scrollAmount:5,dragHandle:null},options||{});jQuery(tbody).delegate("td."+config.dragHandle,"mousedown",function(event){var cell=event.target,drag=!0;return config.onDragStart&&(drag=config.onDragStart(cell)),drag!==!1?(module.dragObject=cell.parentNode,module.currentTable=tbody,module.mouseOffset=module.getMouseOffset(cell,event),event.stopPropagation(),event.preventDefault(),!1):void 0}),tbody.tableDnDConfig=config}),jQuery(document).bind("mousemove",module.mousemove).bind("mouseup",module.mouseup),this},mousePosition:func
tion(ev){return ev.pageY?ev.pageY:ev.clientY+document.body.scrollTop-document.body.clientTop},getMouseOffset:function(target,ev){return ev=ev||window.event,this.mousePosition(ev)-this.docume
ntPosition(target)},documentPosition:function(e){var top=0;for(0==e.offsetHeight&&(e=e.firstChild);e.offsetParent;)top+=e.offsetTop,e=e.offsetParent;return top+=e.offsetTop},mousemove:function(ev){if(null!=module.dragObject){var dragObj=jQuery(module.dragObject),config=module.currentTable.tableDnDConfig,mousePos=module.mousePosition(ev),y=mousePos-module.mouseOffset,yOffset=window.pageYOffset;if(document.all&&("undefined"!=typeof document.compatMode&&"BackCompat"!=document.compatMode?yOffset=document.documentElement.scrollTop:"undefined"!=typeof document.body&&(yOffset=document.body.scrollTop)),mousePos-yOffset<config.scrollAmount)window.scrollBy(0,-config.scrollAmount);else{var windowHeight=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentEleme
nt.clientHeight:document.body.clientHeight;windowHeight-(mousePos-yOffset)<config.scrollAmount&&window.scrollBy(0,config.scrollAmount)}if(y!=module.oldY){var movingDown=y>module.oldY;module.
oldY=y,config.onDragClass?dragObj.addClass(config.onDragClass):dragObj.css(config.onDragStyle);var currentRow=module.findDropTargetRow(dragObj,y);currentRow&&(movingDown&&module.dragObject!=currentRow?module.dragObject.parentNode.insertBefore(module.dragObject,currentRow.nextSibling):movingDown||module.dragObject==currentRow||module.dragObject.parentNode.insertBefore(module.dragObject,currentRow))}return!1}},findDropTargetRow:function(draggedRow,y){for(var rows=$(module.currentTable).children("tr"),i=0,len=rows.length;len>i;i++){var row=rows[i],rowY=this.documentPosition(row),rowHeight=parseInt(row.offsetHeight)/2;if(0==row.offsetHeight&&(rowY=this.documentPosition(row.firstChild),rowHeight=parseInt(row.firstChild.offsetHeight)/2),y>rowY-rowHeight&&rowY+rowHeight>y){if(row==draggedRow)ret
urn null;var config=module.currentTable.tableDnDConfig;return config.onAllowDrop?config.onAllowDrop(draggedRow,row)?row:null:row}}return null},mouseup:function(event){if(module.currentTable&
&module.dragObject){var droppedRow=module.dragObject,config=module.currentTable.tableDnDConfig;return config.onDragClass?jQuery(droppedRow).removeClass(config.onDragClass):jQuery(droppedRow).css(config.onDropStyle),module.dragObject=null,config.onDrop&&config.onDrop(droppedRow),module.currentTable=null,event.stopPropagation(),event.preventDefault(),!1}}};jQuery.fn.extend({tableDnD:module.build})}(jQuery);
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/thirdparty/jquery.tipsy.min.css
--- a/src/silva/ui/static/js/thirdparty/jquery.tipsy.min.css Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/thirdparty/jquery.tipsy.min.css Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-.tipsy{font-size:11px;position:absolute;padding:5px;z-index:100000}.tipsy-inner{background-color:#000;color:#FFF;max-width:200px;padding:5px 8px 4px 8px;text-align:left}.tipsy-inner div.preview{text-align:left}.tipsy-inner div.type{text-align:right;margin-top:2px;font-style:italic}.tipsy-inner{border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.tipsy-arrow-n{border-bottom-color:#000}.tipsy-arrow-s{border-top-color:#000}.tipsy-arrow-e{border-left-color:#000}.tipsy-arrow-w{border-right-color:#000}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;borde
r-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:0;border-left-colo
r:transparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:0;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:0;border-top-color:transparent;border-bottom-color:transparent}
\ No newline at end of file
+.tipsy{font-size:11px;position:absolute;padding:5px;z-index:100000}.tipsy-inner{background-color:#000;color:#FFF;max-width:200px;padding:5px 8px 4px;text-align:left}.tipsy-inner div.preview{text-align:left}.tipsy-inner div.type{text-align:right;margin-top:2px;font-style:italic}.tipsy-inner{border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}.tipsy-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.tipsy-arrow-n{border-bottom-color:#000}.tipsy-arrow-s{border-top-color:#000}.tipsy-arrow-e{border-left-color:#000}.tipsy-arrow-w{border-right-color:#000}.tipsy-n .tipsy-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.tipsy-nw .tipsy-arrow{top:0;left:10px;border-bo
ttom-style:solid;border-top:0;border-left-color:transparent;border-right-color:transparent}.tipsy-ne .tipsy-arrow{top:0;right:10px;border-bottom-style:solid;border-top:0;border-left-color:tr
ansparent;border-right-color:transparent}.tipsy-s .tipsy-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-sw .tipsy-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-se .tipsy-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:0;border-left-color:transparent;border-right-color:transparent}.tipsy-e .tipsy-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:0;border-top-color:transparent;border-bottom-color:transparent}.tipsy-w .tipsy-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:0;border-top-color:transparent;border-bottom-color:transparent}
\ No newline at end of file
diff -r b25256efebbd -r 5c4cf7bb506f src/silva/ui/static/js/thirdparty/jquery.tipsy.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.tipsy.min.js Tue Nov 12 13:21:02 2013 +0100
+++ b/src/silva/ui/static/js/thirdparty/jquery.tipsy.min.js Wed Nov 13 11:42:16 2013 +0100
@@ -1,1 +1,1 @@
-(function($){function maybeCall(thing,ctx){return"function"==typeof thing?thing.call(ctx):thing}function Tipsy(element,options){this.$element=$(element),this.options=options,this.enabled=!0,this.fixTitle()}var getTip=function(){var $tip=$('<div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div>');return $("body").append($tip),getTip=function(){return $tip},$tip};Tipsy.prototype={show:function(){var title=this.getTitle();if(title&&this.enabled&&this.$element.is(":visible")){var $tip=getTip();$tip.find(".tipsy-inner")[this.options.html?"html":"text"](title),$tip[0].className="tipsy",$tip.css({top:0,left:0,visibility:"hidden",display:"block"});var tp,pos=$.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight
}),actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight,gravity=maybeCall(this.options.gravity,this.$element[0]);switch(gravity.charAt(0)){case"n":tp={top:pos.top+pos.height+thi
s.options.offset,left:pos.left+pos.width/2-actualWidth/2};break;case"s":tp={top:pos.top-actualHeight-this.options.offset,left:pos.left+pos.width/2-actualWidth/2};break;case"e":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth-this.options.offset};break;case"w":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width+this.options.offset}}2==gravity.length&&(tp.left="w"==gravity.charAt(1)?pos.left+pos.width/2-15:pos.left+pos.width/2-actualWidth+15),$tip.css(tp).addClass("tipsy-"+gravity),$tip.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+gravity.charAt(0),this.options.className&&$tip.addClass(maybeCall(this.options.className,this.$element[0])),this.options.fade?$tip.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:th
is.options.opacity}):$tip.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?getTip().stop().fadeOut():getTip().hide()},fixTitle:function(){var $e=t
his.$element;($e.attr("title")||"string"!=typeof $e.attr("original-title"))&&$e.attr("original-title",$e.attr("title")||"").removeAttr("title")},getTitle:function(){var title,$e=this.$element,o=this.options;return this.fixTitle(),"string"==typeof o.title?title=$e.attr("title"==o.title?"original-title":o.title):"function"==typeof o.title&&(title=o.title.call($e[0])),title=(""+title).replace(/(^\s*|\s*$)/,""),title||o.fallback},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},$.fn.tipsy=function(options){function get(ele){var tipsy=$.data(ele,"tipsy");return tipsy||(tipsy=new Tipsy(ele,$.fn.tipsy.elementOptions(ele,options)),$.data(ele,"tipsy",tipsy)),tipsy}function enter(){var tipsy=get(this);tipsy.hoverState="in",
0==options.delayIn?tipsy.show():(tipsy.fixTitle(),setTimeout(function(){"in"==tipsy.hoverState&&tipsy.show()},options.delayIn))}function leave(){var tipsy=get(this);tipsy.hoverState="out",0=
=options.delayOut?tipsy.hide():setTimeout(function(){"out"==tipsy.hoverState&&tipsy.hide()},options.delayOut)}if(options===!0)return this.data("tipsy");if("string"==typeof options){var tipsy=this.data("tipsy");return tipsy&&tipsy[options](),this}if(options=$.extend({},$.fn.tipsy.defaults,options),this.each(function(){get(this)}),"manual"!=options.trigger){var eventIn="hover"==options.trigger?"mouseenter.tipsy":"focus.tipsy",eventOut="hover"==options.trigger?"mouseleave.tipsy":"blur.tipsy";null!==options.delegate?(this.delegate(options.delegate,eventIn,enter),this.delegate(options.delegate,eventOut,leave)):this.on(eventIn,enter).on(eventOut,leave)}return this},$.fn.tipsy.elementOptions=function(ele,options){return $.metadata?$.extend({},options,$(ele).metadata()):options},$.fn.tipsy.autoNS
=function(){return $(this).offset().top>$(document).scrollTop()+$(window).height()/2?"s":"n"},$.fn.tipsy.autoWE=function(){return $(this).offset().left>$(document).scrollLeft()+$(window).wid
th()/2?"e":"w"},$.fn.tipsy.autoBounds=function(margin,prefer){return function(){var dir={ns:prefer[0],ew:prefer.length>1?prefer[1]:!1},boundTop=$(document).scrollTop()+margin,boundLeft=$(document).scrollLeft()+margin,$this=$(this);return boundTop>$this.offset().top&&(dir.ns="n"),boundLeft>$this.offset().left&&(dir.ew="w"),margin>$(window).width()+$(document).scrollLeft()-$this.offset().left&&(dir.ew="e"),margin>$(window).height()+$(document).scrollTop()-$this.offset().top&&(dir.ns="s"),dir.ns+(dir.ew?dir.ew:"")}},$.fn.tipsy.defaults={className:null,delayIn:750,delayOut:0,fade:!1,fallback:"",gravity:$.fn.tipsy.autoBounds(100,"sw"),delegate:null,html:!1,offset:0,opacity:.8,title:"title",trigger:"hover"}})(jQuery);
\ No newline at end of file
+!function($){function maybeCall(thing,ctx){return"function"==typeof thing?thing.call(ctx):thing}function Tipsy(element,options){this.$element=$(element),this.options=options,this.enabled=!0,this.fixTitle()}var getTip=function(){var $tip=$('<div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div>');return $("body").append($tip),getTip=function(){return $tip},$tip};Tipsy.prototype={show:function(){var title=this.getTitle();if(title&&this.enabled&&this.$element.is(":visible")){var $tip=getTip();$tip.find(".tipsy-inner")[this.options.html?"html":"text"](title),$tip[0].className="tipsy",$tip.css({top:0,left:0,visibility:"hidden",display:"block"});var tp,pos=$.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight
}),actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight,gravity=maybeCall(this.options.gravity,this.$element[0]);switch(gravity.charAt(0)){case"n":tp={top:pos.top+pos.height+thi
s.options.offset,left:pos.left+pos.width/2-actualWidth/2};break;case"s":tp={top:pos.top-actualHeight-this.options.offset,left:pos.left+pos.width/2-actualWidth/2};break;case"e":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth-this.options.offset};break;case"w":tp={top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width+this.options.offset}}2==gravity.length&&(tp.left="w"==gravity.charAt(1)?pos.left+pos.width/2-15:pos.left+pos.width/2-actualWidth+15),$tip.css(tp).addClass("tipsy-"+gravity),$tip.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+gravity.charAt(0),this.options.className&&$tip.addClass(maybeCall(this.options.className,this.$element[0])),this.options.fade?$tip.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:th
is.options.opacity}):$tip.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?getTip().stop().fadeOut():getTip().hide()},fixTitle:function(){var $e=t
his.$element;($e.attr("title")||"string"!=typeof $e.attr("original-title"))&&$e.attr("original-title",$e.attr("title")||"").removeAttr("title")},getTitle:function(){var title,$e=this.$element,o=this.options;return this.fixTitle(),"string"==typeof o.title?title=$e.attr("title"==o.title?"original-title":o.title):"function"==typeof o.title&&(title=o.title.call($e[0])),title=(""+title).replace(/(^\s*|\s*$)/,""),title||o.fallback},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},$.fn.tipsy=function(options){function get(ele){var tipsy=$.data(ele,"tipsy");return tipsy||(tipsy=new Tipsy(ele,$.fn.tipsy.elementOptions(ele,options)),$.data(ele,"tipsy",tipsy)),tipsy}function enter(){var tipsy=get(this);tipsy.hoverState="in",
0==options.delayIn?tipsy.show():(tipsy.fixTitle(),setTimeout(function(){"in"==tipsy.hoverState&&tipsy.show()},options.delayIn))}function leave(){var tipsy=get(this);tipsy.hoverState="out",0=
=options.delayOut?tipsy.hide():setTimeout(function(){"out"==tipsy.hoverState&&tipsy.hide()},options.delayOut)}if(options===!0)return this.data("tipsy");if("string"==typeof options){var tipsy=this.data("tipsy");return tipsy&&tipsy[options](),this}if(options=$.extend({},$.fn.tipsy.defaults,options),this.each(function(){get(this)}),"manual"!=options.trigger){var eventIn="hover"==options.trigger?"mouseenter.tipsy":"focus.tipsy",eventOut="hover"==options.trigger?"mouseleave.tipsy":"blur.tipsy";null!==options.delegate?(this.delegate(options.delegate,eventIn,enter),this.delegate(options.delegate,eventOut,leave)):this.on(eventIn,enter).on(eventOut,leave)}return this},$.fn.tipsy.elementOptions=function(ele,options){return $.metadata?$.extend({},options,$(ele).metadata()):options},$.fn.tipsy.autoNS
=function(){return $(this).offset().top>$(document).scrollTop()+$(window).height()/2?"s":"n"},$.fn.tipsy.autoWE=function(){return $(this).offset().left>$(document).scrollLeft()+$(window).wid
th()/2?"e":"w"},$.fn.tipsy.autoBounds=function(margin,prefer){return function(){var dir={ns:prefer[0],ew:prefer.length>1?prefer[1]:!1},boundTop=$(document).scrollTop()+margin,boundLeft=$(document).scrollLeft()+margin,$this=$(this);return $this.offset().top<boundTop&&(dir.ns="n"),$this.offset().left<boundLeft&&(dir.ew="w"),$(window).width()+$(document).scrollLeft()-$this.offset().left<margin&&(dir.ew="e"),$(window).height()+$(document).scrollTop()-$this.offset().top<margin&&(dir.ns="s"),dir.ns+(dir.ew?dir.ew:"")}},$.fn.tipsy.defaults={className:null,delayIn:750,delayOut:0,fade:!1,fallback:"",gravity:$.fn.tipsy.autoBounds(100,"sw"),delegate:null,html:!1,offset:0,opacity:.8,title:"title",trigger:"hover"}}(jQuery);
\ No newline at end of file