[silva.ui][Emiliano D'Alterio] Added minimized resources.

[email protected]
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
author:    Emiliano D'Alterio
date:      Tue Jul 23 17:14:56 2013 +0200
revision:  639:089134f8d2e4 in silva.ui
branch:    
details:   https://hg.infrae.com/silva.ui?cmd=changeset;node=089134f8d2e4
modified:  src/silva/ui/static/css/actions.min.css src/silva/ui/static/css/forms.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.min.css src/silva/ui/static/css/style.min.css 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.items.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.selec
 tion.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/st
 atic/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:       Added minimized resources.


diffstat:

 src/silva/ui/static/css/actions.min.css                           |  2 +-
 src/silva/ui/static/css/forms.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.min.css                               |  2 +-
 src/silva/ui/static/css/style.min.css                             |  2 +-
 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 +-
 35 files changed, 36 insertions(+), 36 deletions(-)

diffs (282 lines):

diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/css/actions.min.css
--- a/src/silva/ui/static/css/actions.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/css/actions.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -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/gradient-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: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
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/css/forms.min.css
--- a/src/silva/ui/static/css/forms.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/css/forms.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-form{color:#000;clear:both}.forms{position:absolute;top:0;left:0;right:250px}#form{margin:0 5px}#workspace .form-content h3{border-bottom:1px solid #222;color:#222;font-weight:400;font-size:125%;margin:15px 5px 10px 5px}#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;padding:1px 6px 0 6px}#workspace .form-content 
 #form-userrole h4,#workspace .form-content .form-fields-container h4{margin:5px 0}#workspace .form-content h5{background-color:#999;background-image:-webkit-gradient(linear,left top,left bot
 tom,from(#999),to(#777));background-image:-moz-linear-gradient(top,#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 0 5px;padding:2px 6px 0 6px}.form-content .form-head p{color:#000;padding:2px 5px}form .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-ch
 eckbox 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:hove
 r .form-label p,.form-content .form-section:hover .form-checkbox p{color:#000}.form-content .form-field{display:block;float:left}#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-field .field:focus{border:1px solid #444;-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-conte
 nt 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,textarea,select{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 top #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}input.field-collection-add-line{background-color:#F1F1F1;background-image:url("../img/sprite.png");background-repeat:no-repeat;background-position:0 -181px;padding:0 0
  0 17px}input.field-collection-add-line:hover{background-color:#FFF;background-image:url("../img/sprite.png");background-repeat:no-repeat;background-position:0 -181px;padding:0 0 0 17px}inpu
 t.field-collection-remove-line{background-color:#F1F1F1;background-image:url("../img/sprite.png");background-repeat:no-repeat;background-position:0 -161px;padding:0 0 0 17px}input.field-collection-remove-line:hover{background-color:#FFF;background-image:url("../img/sprite.png");background-repeat:no-repeat;background-position:0 -161px;padding:0 0 0 17px}#form-metadatformgroup .form-content{margin-bottom:25px}.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-radius:3px;border-radius:3px;margin:3px 5px}.form-fields-container{margin:0 5px 20px 5px}form .form-footer{border:1px solid rgba(0,0,0,.2);-webkit-border-radius:3px;-moz-border-radiu
 s:3px;border-radius:3px;height:30px;margin:0 5px}#workspace .form-content .form-table th,#workspace .form-content .form-table td{text-align:left;padding:2px}#workspace .form-content .form-ta
 ble .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 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;-webki
 t-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.form-acquired,.form-section:hover p.form-acquired{color:#000}form .form-error-message{position:relative;float:left}.form-content .form-error{border-left:3px solid #DE2A2A;padding-left:6px}.form-content .form-error-detail{backgroun
 d:#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-ind
 ex: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-border-radius:3px;border-radius:3px;background:#fff url(../img/gradient20m.png) repeat-x top;border:1px #777 solid;float:left;margin:5px 0 0 6px;padding:1px 5px}.form-content a.form-control:hover,.form-content a.form-button:hover{backgroun
 d-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-gradie
 nt(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(top, #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-section .form-field{display:block;positio
 n: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-d
 ialog .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:3px;-moz-border-radius:3px;border-radius
 :3px;background:#fff url(../img/gradient20m.png) repeat-x top;border:1px #777 solid;float:left}.ui-dialog .ui-dialog-buttonpane button{margin:5px 0 0 6px;padding:1px 5px}.ui-dialog .ui-widge
 t 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 input.field-collection-line-selector{float:right;height:20px;width:20px;border:0;margin-right:6px}.form-content tr.field-collection-line input.field-textline,.form-content tr.field-collection-line table.field-collection-header{width:100%}.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:
 60px}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:60px}.form-content button.field-collection-move-up{background-image:url(../img/sprite.png);background-position:-80px -122px!important;background-color: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 .field-collection .multi-actions{clear:both}.form-content a.field-uri{text-decoration:underline}.portlets{position:absolute;top:0;right:5px;width:250px;bottom:0}#workspace .form-content .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}@media screen 
 and (max-width: 650px){.portlets{ display:none}.forms{right:0}}.portlets p{margin:0 5px}.portlets .external-controls{padding:5px 20px 32px 5px}#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}.portlets p span.landscape{width:6.5em;height:3.5em}.portlets p span.square{width:4em;height:4em}.portlets .references .item{clear:both;margin:0 5px}.portlets .references .item a.edit-scr
 een{float:right;margin-right:5px;cursor:pointer}.portlets .references .item p{margin-left:20px}.portlets .references .item img{float:left;margin:5px;cursor:inherit}
\ No newline at end of file
+form{color:#000;clear:both}.forms{position:absolute;top:0;left:0;right:250px}#form{margin:0 5px}#workspace .form-content h3{border-bottom:1px solid #222;color:#222;font-weight:400;font-size:125%;margin:15px 5px 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;padding:1px 6px 0}#workspace .form-content #form-userrole h4,
 #workspace .form-content .form-fields-container h4{margin:5px 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,#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 0;padding:2px 6px 0}.form-content .form-head p{color:#000;padding:2px 5px}form .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%;col
 or:#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-cont
 ent .form-section:hover .form-checkbox p{color:#000}.form-content .form-field{display:block;float:left}#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-field .field:focus{border:1px solid #444;-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,textarea,
 select{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 top #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}input.field-collection-add-line{background-color:#F1F1F1;background-image:url(../img/sprite.png);background-repeat:no-repeat;background-position:0 -181px;padding:0 0 0 17px}input.field-collection-add
 -line:hover{background-color:#FFF;background-image:url(../img/sprite.png);background-repeat:no-repeat;background-position:0 -181px;padding:0 0 0 17px}input.field-collection-remove-line{backg
 round-color:#F1F1F1;background-image:url(../img/sprite.png);background-repeat:no-repeat;background-position:0 -161px;padding:0 0 0 17px}input.field-collection-remove-line:hover{background-color:#FFF;background-image:url(../img/sprite.png);background-repeat:no-repeat;background-position:0 -161px;padding:0 0 0 17px}#form-metadatformgroup .form-content{margin-bottom:25px}.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-radius:3px;border-radius:3px;margin:3px 5px}.form-fields-container{margin:0 5px 20px}form .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}#workspace .form-content .form-table th,#workspace .form-content .form-table td{text-align:left;padding:2px}#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 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;d
 isplay: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.form-acquired,.form-section:hover p.form-acquired{color:#000}form .form-error-message{position:relative;float:left}.form-content .form-error{border-left:3px solid #DE2A2A;padding-left: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-border-radius:3px;border-radius:3px;background:#fff url(../img/gradient20m.png) repeat-x top;border:1px #777 solid;float:left;margin:5px 0 0 6px;padding:1px 5px}.form-content a.form-control:hover,.form-content a.form-button:hover{background-color:#FFF;background-image:-webkit-gradient(lin
 ear,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-gra
 dient(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(top,#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-section .form-field{display:block;position:relative}.ui-dialog .form-fields-container .form-content .fo
 rm-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:3px;-moz-border-radius:3px;border-radius:3px;background:#fff url(../img/gradient20m.png) repeat-x top;
 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-button
 pane 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 input.field-collection-line-selector{float:right;height:20px;width:20px;border:0;margin-right:6px}.form-content tr.field-collection-line input.field-textline,.form-content tr.field-collection-line table.field-collection-header{width:100%}.form-content div.field-collection-line{clear:both}.form-content div.field-collec
 tion-line div.field-object{margin:15px;clear:both}.form-content .field-collection-lines div.line-actions{float:left;width:60px}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:60px}.form-content button.field-collection-move-up{background-image:url(../img/sprite.png);background-position:-80px -122px!important;background-color: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 .field-collection .multi-actions{clear:both}.form-content a.field-uri{text-decoration:underline}.portlets{position:absolute;top:0;right:5px;width:250px;bottom:0}#workspace .form-content .portlet h4{background:transparent;border-style:solid;border-width:0 0 1px;bord
 er-color:#111;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;display:inline-block;padding:0}@media screen and (max-width:650px){.portlets{display:none}.forms{right:0}}.portlets
  p{margin:0 5px}.portlets .external-controls{padding:5px 20px 32px 5px}#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_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:0 5px}.portlets .references .item a.edit-screen{float:right;margin-right:5px;cursor:pointer}.portlets .references .i
 tem p{margin-left:20px}.portlets .references .item img{float:left;margin:5px;cursor:inherit}
\ No newline at end of file
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/css/jstree.min.css
--- a/src/silva/ui/static/css/jstree.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/css/jstree.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -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!impo
 rtant}.jstree .jstree-no-icons .jstree-checkbox{display:inline-block}.jstree .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree .jstree-checked>a>.jstree-checkbox{backgrou
 nd-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 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
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/css/listing.min.css
--- a/src/silva/ui/static/css/listing.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/css/listing.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -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 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/gradient25.png) repeat-x top;border-top:1px #999 s
 olid;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:n
 one}#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.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;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-left:12px}#workspace .content .listing dt ins.ui-icon{margin:4px 4px 0 0;float:left}#workspace .content .listing dd.collapsed{display:none}#wor
 kspace .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/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-
 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
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/css/navigation.min.css
--- a/src/silva/ui/static/css/navigation.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/css/navigation.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/css/smi.min.css
--- a/src/silva/ui/static/css/smi.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/css/smi.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -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 3p
 x;-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:lef
 t;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}#worksp
 ace .header .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.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;ba
 ckground-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;h
 eight:12px;margin-right:5px;margin-top:5px}.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_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-positio
 n:-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!important}ins.silva_newspage{background-position:0 -61px!important}ins.silva_newsfilter{background-position:-80px -61px!important}ins.silva_newscategor
 yfilter{background-position:-160px -61px!important}ins.silva_newsviewer{background-position:-60px -61px!important}ins.silva_newspublication{background-position:-160px -41px!important}ins.sil
 va_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:inher
 it;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{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}#workspace .header a{color:#111}#workspace .header h2{clear:both;color:#666;font-size:1.3em;padding:8px
  0 4px;height:24px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#workspace .header h2 ins.icon{background-color:transparent;background-image:url(../img/sprite.png);background-re
 peat: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-styl
 e: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,#wor
 kspace .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-to
 p: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-screen.active span,#workspace .header .tabs a.top-label.active{background:url(../img/gradient-tab-selected.png) repeat-x}#w
 orkspace .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}#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.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-prefer
 ences{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_ghostfolder{background-position:-20px -41px!important}ins.silva_ghost{background-pos
 ition: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!i
 mportant}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!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{ba
 ckground-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}bo
 dy .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
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/css/style.min.css
--- a/src/silva/ui/static/css/style.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/css/style.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -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
+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}input
 [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:pointe
 r}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:none!impo
 rtant}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
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/infrae.deferred.min.js
--- a/src/silva/ui/static/js/infrae.deferred.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/infrae.deferred.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){var n={};t.extend(n,{Callbacks:function(e,t){e||(e=[]);var r=[];return{add:function(n,r){return r&&t&&n.apply(t()),e.push(n),n},push:function(){r.push(e),e=[]},pop:function(){r.length>0&&(e=r.pop())},clone:function(){return n.Callbacks([].concat(e),t)},context:function(e){t=e},invoke:function(n,r){var i=e.length;if(!r&&t){var s=t();n?r=[s]:n=s}r||(r=[]);while(i--)e[i].apply(n,r)}}},SemaphoreCallbacks:function(){var e=0,t=[],n=undefined;return{use:function(){e+=1,n=undefined},release:function(r){if(e){e-=1;if(e)return}while(t.length)t.pop()(r);n=r},call:function(r){e?t.push(r):r(n)}}},LazyCallbacks:function(){var e=null,n=[],r=function(r,i){var s=t.Deferred(),o=[],u=0,a=r.length,f={run:function(){var t=+(new Date);while(u<a){o.push(i(r[u])),u+=1;if(+(new Date)-t>50){e=setTim
 eout(f.run,25);return}}e=null,n.shift(),n.length&&n[0].run(),s.resolve(o)},deferred:s};return f};return{reset:function(){var t=n.length;e&&(clearTimeout(e),e=null);while(t--)n[t].deferred.re
 ject();n=[]},add:function(e,t){var i=n.length===0,s=r(e,t);return n.push(s),i&&s.run(),s.deferred.promise()}}},FluxCapacitor:function(){var r=[{incoming:n.Callbacks(),outgoing:n.Callbacks(),failing:n.Callbacks()}],i=[];return{events:{incoming:function(t){return e.utils.apply_on_each(i,t),r[0].incoming.add(t)},outgoing:function(e){return r[0].outgoing.add(e)},failing:function(e){return r[0].failing.add(e)},push:function(){var e={};for(var t in r[0])e[t]=r[0][t].clone();r.unshift(e)},pop:function(){r.length>1&&r.shift()}},add:function(e){return t.inArray(e,i)>-1?!1:(r[0].incoming.invoke(e),i.push(e),!0)},each:function(t){return e.utils.apply_on_each(i,t)},map:function(t){return e.utils.apply_on_map(i,t)},remove:function(e,n){var s=t.inArray(e,i);return s<0?!1:(i.splice(s,1),(n?r[0].failing:
 r[0].outgoing).invoke(e),!0)},clear:function(t){return e.utils.each(i,(t?r[0].failing:r[0].outgoing).invoke),i=[],!0}}}}),e.deferred=n})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/infrae.interfaces.min.js
--- a/src/silva/ui/static/js/infrae.interfaces.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/infrae.interfaces.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){var n={},r={};t.extend(n,{clear:function(){r={}},register:function(e,t){if(r[e])throw{message:"Duplicate registration of interface "+e};t||(t=[]),r[e]=t},implemented_by:function(e){if(e===undefined)return[];if(e.ifaces===undefined)return[typeof e];var n=[],i=[].concat(e.ifaces);while(i.length){var s=i.shift();if(t.inArray(s,n)<0){n.push(s);var o=r[s];o&&(i=i.concat(o))}}return n.push(typeof e),n},is_implemented_by:function(e,r){return t.inArray(e,n.implemented_by(r))>-1}}),e.interfaces=n})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/infrae.keyboard.min.js
--- a/src/silva/ui/static/js/infrae.keyboard.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/infrae.keyboard.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){var n={ShortcutManager:function(e){var n={},r={},i=[],s=0,o=!1,u=function(){return i.length?i[s]:null},a=function(){var e=u();return e?r[e]:null},f=function(){var e=u();return e?n[e]:{}},l={create:function(e,t,o){r[e]==undefined&&(r[e]=t,i.push(e),n[e]={},o&&(l.disable(!0),s=i.length-1,l.activate()))},remove:function(o,a){if(r[o]!=undefined)if(a==undefined)u()==o&&(l.disable(),s=0),i.splice(t.inArray(o,i),1),delete r[o],delete n[o];else if(n[o][a]!=undefined&&u()==o){for(var f in n[o][a])f&&t(e).unbind("keydown",n[o][a][f]);delete n[o][a]}},bind:function(r,i,s,o){var a=u()===r;i==undefined&&(i="default");for(var f=0;f<s.length;f++){var l=s[f];n[r][i]==undefined&&(n[r][i]={}),n[r][i][l]=o,a&&t(e).bind("keydown",l,o)}},activate:function(n){if(!o){var r=f(),i=a();n&&(t(e).focu
 s(),i.addClass("focus"),i.trigger("focus-keyboard"));for(var s in r)if(s)for(var u in r[s])u&&t(e).bind("keydown",u,r[s][u]);o=!0}},disable:function(n){if(o){var r=f(),i=a();for(var s in r)i
 f(s)for(var u in r[s])u&&t(e).unbind("keydown",r[s][u]);n&&(i.trigger("blur-keyboard"),i.removeClass("focus")),o=!1}}},c=function(e){return function(t){if(i.length){l.disable(!0),s=(s+e)%i.length,s<0&&(s=i.length-1),l.activate(!0);var n=a();return n.addClass("highlight"),setTimeout(function(){n.removeClass("highlight")},1e3),!1}}};return t(e).bind("keydown","ctrl+shift+left",c(-1)),t(e).bind("keydown","ctrl+shift+right",c(1)),t(e).bind("keydown","ctrl+left",c(-1)),t(e).bind("keydown","ctrl+right",c(1)),l}};e.keyboard=n})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/infrae.min.js
--- a/src/silva/ui/static/js/infrae.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/infrae.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e){var t={};e.infrae=t})(window),function(e,t){var n={},r={};t.extend(r,{or:function(){var e=arguments.length,t=1;while(t<e){if(r[arguments[t][0]].apply(this,arguments[t])===!0)return!0;t+=1}return!1},and:function(){var e=arguments.length,t=1;while(t<e){if(r[arguments[t][0]].apply(this,arguments[t])!==!0)return!1;t+=1}return!0},not:function(){return!r[arguments[1][0]].apply(this,arguments[1])},equal:function(){var e=this[arguments[1]],t=arguments.length,n=2;while(n<t){if(arguments[n]==e)return!0;n+=1}return!1},provides:function(){var t=arguments.length,n=1;while(n<t){if(e.interfaces.is_implemented_by(arguments[n],this))return!0;n+=1}return!1}}),t.extend(n,{test:function(e,t){return r[t[0]].apply(e,t)},each:function(e,t){var n,r;for(n=0,r=e.length;n<r;n++)t(e[n])},apply_on_each:f
 unction(e,t){var n,r;for(n=0,r=e.length;n<r;n++)t.apply(e[n])},map:function(e,t,n){var r,i;n===undefined&&(n=[]);for(r=0,i=e.length;r<i;r++)n.push(t(e[r]));return n},lazy_map:function(e,n,r)
 {var i=0,s=e.length,o=t.Deferred();r===undefined&&(r=[]);var u=function(){var t=+(new Date);for(;i<s;i++){r.push(n(e[i]));if(+(new Date)-t>50){setTimeout(u,50);return}}o.resolve(r)};return u(),o.promise()},apply_on_map:function(e,t,n){var r,i;n===undefined&&(n=[]);for(r=0,i=e.length;r<i;r++)n.push(t.apply(e[r]));return n}}),e.utils=n}(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},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-start>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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/infrae.ui.min.js
--- a/src/silva/ui/static/js/infrae.ui.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/infrae.ui.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){var n={},r={maxFactor:.8,minFactor:0,threshold:15,maxWidth:0,maxHeight:0,minWidth:0,maxHeight:0,position:["center","center"]};t.extend(n,{icon:function(e,t){t.indexOf(".")<0?e.addClass(t):e.attr("style","background:url("+t+") no-repeat center center;")},selection:{disable:function(e){return e.disableSelection()},enable:function(e){return e.enableSelection()}},ShowDialog:function(e,n){var i=t(window),s=e.dialog("widget");if(n!==undefined)for(var o in r)n[o]===undefined&&(n[o]=r[o]);else n=r;var u=function(t){var r=i.width(),o=i.height(),u=s.width(),a=s.height(),f=Math.ceil(r*n.minFactor),l=Math.ceil(o*n.minFactor),c=Math.ceil(r*n.maxFactor),h=Math.ceil(o*n.maxFactor),p=s.position(),d=t===!0,v=!1;n.maxWidth&&(c=Math.min(n.maxWidth,c)),n.maxHeight&&(h=Math.min(n.maxHeight,h)),
 n.minWidth&&(f=Math.max(n.minWidth,f)),n.minHeight&&(l=Math.max(n.minHeight,l)),a<l?(e.dialog("option","height",l),a=l,v=!0,h<l&&(h=l)):a>h&&(e.dialog("option","height",h),a=h,v=!0),p.top&&o
 -(p.top+a+n.threshold)<0&&(d=!0),u<f?(e.dialog("option","width",f),u=f,v=!0,c<f&&(c=f)):u>c&&(e.dialog("option","width",c),u=c,v=!0),p.left&&r-(p.left+u+n.threshold)<0&&(d=!0),e.dialog("option","maxHeight",h),e.dialog("option","maxWidth",c),e.dialog("option","minHeight",l),e.dialog("option","minWidth",f),d&&e.dialog("option","position",n.position),v&&e.trigger("infrae-ui-dialog-resized",{height:a,width:u})},a=function(t){t.target===window?setTimeout(u,0):t.target===s.get(0)&&e.trigger("infrae-ui-dialog-resized",{height:s.height(),width:s.width()})};i.bind("resize.infrae-ui-dialog",a),e.one("dialogclose",function(){i.unbind("resize.infrae-ui-dialog",a),e.unbind("infrae-ui-dialog-resize")}),e.bind("infrae-ui-dialog-resize",function(){u()}),e.dialog("open"),u(!0)},ResizeDialog:function(e){e.
 dialog("isOpen")&&e.trigger("infrae-ui-dialog-resize")},ConfirmationDialog:function(n){var r=t.Deferred(),i=t("<div></div>"),s={autoOpen:!1,modal:!0,buttons:{},zIndex:12e3};return n.title&&i
 .attr("title",n.title),i.html(n.message),n.buttons||(n.buttons={Cancel:function(){return!1},Continue:function(){return!0}},n.not_cancellable&&delete n.buttons.Cancel),t.each(n.buttons,function(e,t){s.buttons[e]=function(){var e=t();e.then!==undefined?e.then(r.resolve,r.reject):e?r.resolve():r.reject()}}),i.bind("dialogclose",function(){i.remove(),r.reject()}),r.always(function(){i.dialog("close")}),i.dialog(s),e.ui.ShowDialog(i),r.promise()},scroll:function(e,t,n,r,i){var s=e.scrollTop(),o;switch(n){case"up":o=s-r,i&&(o-=o%i);break;case"down":o=s+r,i&&s%i!=0&&(o+=i-o%i);break;case"absolute":default:o=r}return e.stop(!0,!0),e.animate({scrollTop:o},t),e.promise()},update_table_columns:function(e,n,r){return typeof n.fixed!="object"&&(n.fixed={}),e.each(function(){var e=t(this),i={},s={},o=0
 ;if(r!==undefined){var u=/([0-9]+)([em%]*)/;r.find("colgroup col").each(function(e){var n=t(this).attr("width").match(u);n&&(i[e]=n[1],s[e]=n[2])})}else e.css("table-layout","auto"),e.find("
 tr:visible:first td").each(function(e){n.fixed[e]?(i[e]=n.fixed[e],s[e]=null):i[e]=t(this).outerWidth(),o+=i[e]});e.css("table-layout","fixed"),e.find("colgroup col").each(function(e){var n;s[e]!==undefined?(n=i[e],s[e]&&(n+=s[e])):n=Math.round(i[e]/o*100)+"%",t(this).attr("width",n)})})}}),e.ui=n})(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&&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
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/infrae.views.min.js
--- a/src/silva/ui/static/js/infrae.views.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/infrae.views.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t,n){e.ajaxSetup({cache:!1});var r={HTMLResourceManager:function(t){var n={css:[],js:[]},r=t.get(0),i=r.getElementsByTagName("head")[0],s={is_js_loaded:function(t){return e.inArray(t,n.js)>-1},is_css_loaded:function(t){return e.inArray(t,n.css)>-1},load_js:function(t){var o=e.Deferred();if(!s.is_js_loaded(t)){var u=r.createElement("script");return u.async="async",u.type="text/javascript",u.readyState?u.onreadystatechange=function(){if(u.readyState=="loaded"||u.readyState=="complete")u.onreadystatechange=null,o.resolve()}:u.onload=function(){o.resolve()},u.src=t,i.appendChild(u),n.js.push(t),o}return o.resolve()},load_css:function(e){if(!s.is_css_loaded(e)){var t=r.createElement("link");t.rel="stylesheet",t.type="text/css",t.href=e,i.appendChild(t),n.css.push(e)}}};return t.rea
 dy(function(){e("script").each(function(){var t=e(this).attr("src");t!=undefined&&!s.is_js_loaded(t)&&n.js.push(t)}),e("link").each(function(){var t=e(this);if(t.attr("rel")=="stylesheet"&&t
 .attr("type")=="text/css"){var r=t.attr("href");r!=undefined&&!s.is_css_loaded(r)&&n.css.push(r)}})}),s}},i={},s=function(t,r,s,o,u){var a={$content:t,data:r};e.extend(a,s.apply(t,o));var f=function(n){a.template_append||(t.triggerHandler("cleanup-infrae-views"),(a.cleanup||a.iframe)&&t.one("cleanup-infrae-views",function(){a.cleanup&&a.cleanup(),a.iframe&&(e(window).unbind("resize.infrae-views-iframe"),e(window).unbind("workspace-resize-smi.infrae-views-iframe"),t.removeClass("iframe-view"))}));var r=e.Deferred(),i=t,s=function(){u!=undefined?r.rejectWith(a,u):r.resolveWith(a)},o=function(){var e=null;if(a.render!=undefined){e=a.render(i);if(e&&e.promise){e.promise().done(s);return}}s()};if(a.iframe){if(a.template_append)throw{message:"Cannot use iframe and template_append together"};var
  f=e('<iframe src="">');a.$iframe=f;var l=function(){var e=t.innerHeight(),n=t.innerWidth();if(!a.resize_iframe||!a.resize_iframe(n,e))f.height(e),f.width(n)};l(),e(window).bind("resize.infr
 ae-views-iframe",l),e(window).bind("workspace-resize-smi.infrae-views-iframe",l),t.addClass("iframe-view"),t.html(f);var c=f.get(0).contentWindow,h=c.document;a.$window=e(c),a.$document=e(h);if(n!==undefined){a.ready=e.Deferred();var p=function(){a.ready.resolve(a)};n.indexOf("<html")<0&&n.indexOf("<HTML")<0&&(n="<html><body>"+n+"</body></html>"),h.write(n),h.close(),h.readyState=="complete"?p():c.addEventListener?c.addEventListener("load",p,!1):c.attachEvent("onload",p)}}else n!==undefined&&(a.template_append?(i=e(n),t.append(i)):t.html(n));return o(),r.promise()};return function(){var t=undefined,s=a.template_data&&r.jsont_url||a.jsont_url;if(s){if(!a.template_nocache){t=i[s];if(t!==undefined)return f(t.expand(a))}return e.ajax({type:"GET",url:s}).then(function(e){var t=new n.Template(e
 ,{});return i[s]=t,f(t.expand(r))})}var o=a.template_data&&r.html_url||a.html_url;if(o){if(!a.template_nocache){t=i[o];if(t!==undefined)return f(t)}return e.ajax({type:"GET",url:o}).then(fun
 ction(e){return i[o]=e,f(e)})}var u=a.template_data&&r.jsont||a.jsont;if(u!==undefined)return t=i[u],t===undefined&&(t=new n.Template(u,{}),i[u]=t),f(t.expand(a));var l=a.template_data&&r.html||a.html;return l!==undefined?f(l):f()}};e.extend(r,{Registry:function(){var n={},r=0,i=function(r,i,o){var u=o.ifaces||t.interfaces.implemented_by(i),a=n[o.name],f=null,l=[r,i].concat(o.args),c=o.reject;if(a)for(var h=0;h<u.length;h++){var p=a[u[h]];if(p&&p.length){f=s(r,i,p[0].factory,l,c);break}}return f!=null?f():(window.console&&console.log&&console.log("failed view lookup for options",o,"and",i),e.Deferred().reject({status:604}))},o=function(r,i,o){var u=n[o.name];if(u==undefined)return[];var a=o.ifaces||t.interfaces.implemented_by(i),f=[],l=[],c=[r,i].concat(o.args),h=o.reject;return t.utils.e
 ach(a,function(n){var o=u[n];o&&t.utils.each(o,function(t){if(e.inArray(t.__view_uid__,f)<0){f.push(t.__view_uid__);if(t["available"]!=undefined&&!t.available.apply(t,c))return;l.push([t.ord
 er,s(r,i,t.factory,c,h)])}})}),l.sort(function(e,t){return e[0]-t[0]}),e.each(l,function(e,t){t[1]()}),null},u=function(t,n,r){return e.ajax({type:"GET",url:n,dataType:"json"}).then(function(e){return i(t,e,r)})},a={register:function(e){e.name==undefined&&(e.name="default"),e.order==undefined&&(e.order=0),e.__view_uid__=r.toString(),r+=1;var i=function(e,t){n[e.name]||(n[e.name]={}),n[e.name][t]||(n[e.name][t]=[]),n[e.name][t].unshift(e)};e.ifaces?t.utils.each(e.ifaces,function(t){i(e,t)}):i(e,e.iface||"object")},render:function(e,t){t.name||(t.name="default");if(t.data)return i(e,t.data,t);if(t.every)return o(e,t.every,t);if(t.url)return u(e,t.url,t);throw{message:"Missing required options"}}};return a}});var o=r.Registry();e.extend(r,{view:function(e){o.register(e)},render:function(e,t)
 {return o.render(e,t)}}),e.fn.render=function(t){return o.render(e(this),t)},t.views=r})(jQuery,infrae,jsontemplate);
\ No newline at end of file
+!function($,infrae,jsontemplate){$.ajaxSetup({cache:!1});var module={HTMLResourceManager:function($document){var data={css:[],js:[]},root=$document.get(0),head=root.getElementsByTagName("head")[0],resources={is_js_loaded:function(script){return $.inArray(script,data.js)>-1},is_css_loaded:function(css){return $.inArray(css,data.css)>-1},load_js:function(script){var done=$.Deferred();if(!resources.is_js_loaded(script)){var script_tag=root.createElement("script");return script_tag.async="async",script_tag.type="text/javascript",script_tag.readyState?script_tag.onreadystatechange=function(){("loaded"==script_tag.readyState||"complete"==script_tag.readyState)&&(script_tag.onreadystatechange=null,done.resolve())}:script_tag.onload=function(){done.resolve()},script_tag.src=script,head.appendChil
 d(script_tag),data.js.push(script),done}return done.resolve()},load_css:function(css){if(!resources.is_css_loaded(css)){var link_tag=root.createElement("link");link_tag.rel="stylesheet",link
 _tag.type="text/css",link_tag.href=css,head.appendChild(link_tag),data.css.push(css)}}};return $document.ready(function(){$("script").each(function(){var src=$(this).attr("src");void 0==src||resources.is_js_loaded(src)||data.js.push(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||resources.is_css_loaded(src)||data.css.push(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||($content.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("resize.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!==templa
 te){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=$(template),$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.jsont_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 ht
 ml_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[jsont]=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(definition,iface){views[definition.name]||(views[definition.name]={}),views[definition.name][iface]||(views[definition.name][iface]=[]),views[definition.name][iface].unshift(definition)};definition.ifaces?infrae.utils.each(definition.ifaces,function(iface){add(definition,iface)}):add(definition,definition.iface||"object")},render:fu
 nction($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,optio
 ns.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
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/listing.columns.min.js
--- a/src/silva/ui/static/js/listing.columns.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/listing.columns.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t,n){var r=t.views.Registry();r.register({name:"icon",factory:function(e,n,r,i){var s='<a class="preview-icon"><ins class="icon"></ins></a>';return r.action&&(s='<a class="open-screen preview-icon" href="{data.path|htmltag}" rel="{column.action|htmltag}"><ins class="icon"></ins></a>'),{column:r,jsont:s,render:function(){t.ui.icon(e.find("ins"),i)}}}}),r.register({name:"text",factory:function(e,n,r,i){var s="{value}";return r.action&&(r.action_match===undefined||t.utils.test(n,r.action_match))&&(s='<a class="open-screen" rel="{column.action|htmltag}" href="{data.path|htmltag}">{value}</a>'),{value:i,jsont:s,column:r}}}),r.register({name:"move",factory:function(e,t,n,r){return{render:function(){r&&e.addClass("moveable icon silva_dotted_horizontal")}}}}),r.register({name:"goto",f
 actory:function(e,n,r,i){var s=[];for(var o=0,u=r.menu.length;o<u;o++){var a=r.menu[o];(a.item_match===undefined||t.utils.test(n,a.item_match))&&s.push('<li><a class="ui-state-default open-s
 creen" href="'+n.path+'" rel="'+a.screen+'"><span>'+a.caption+"</span></a></li>")}return{column:r,value:i,dropdown:s.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(){e.addClass("hasdropdown active")}}}}),r.register({name:"workflow",factory:function(e,t,n,r){if(r!==null){var i=["state",r].join(" ");return{state:i,description:n.status[r],jsont:'<ins class="{state|htmltag}" title="{description|htmltag}"></ins>',render:function(){e.addClass(n.name)}}}return{html:""}}}),t.smi.listi
 ng.columns=r})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/listing.footer.min.js
--- a/src/silva/ui/static/js/listing.footer.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/listing.footer.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){t.views.view({iface:"content",name:"clipboarditem.smilisting",factory:function(n,r,i){return{render:function(){var s=e('<li class="clipboard-item '+i+'"></li>');if(r.title)if(r.path){var o=e('<a class="open-screen"></a>');o.attr("href",r.path),o.text(r.title),s.append(o)}else s.text(r.title);if(r.icon){var u=e('<ins class="icon"></icon>');t.ui.icon(u,r.icon),s.prepend(u)}n.append(s)}}}});var n=function(t,n){var r=t.children(".clipboard-content"),i=t.children("a"),s=i.children("ins"),o=i.children(".count"),u=!1,a=function(){r.empty(),e.each(n.clipboard.cutted,function(e,t){r.render({data:t,name:"clipboarditem.smilisting",args:["cutted"]})}),e.each(n.clipboard.copied,function(e,t){r.render({data:t,name:"clipboarditem.smilisting",args:["copied"]})}),u=!0},f=function(){var e=n.
 clipboard.length();o.text(e.toString()),r.is(":visible")?a():u=!1,e?s.show():s.hide()};f(),e("body").bind("contentchange-smiclipboard",f);var l=function(){var e=r.is(":visible"),t=s.is(":vis
 ible");!u&&!e&&a(),(e||t)&&r.fadeToggle()};i.bind("click",function(){return l(),!1}),r.bind("mouseleave",function(){r.fadeOut()})},r=function(e,t){t.events.content(function(){for(var t in this){var n=e.find("."+t+" .count");n.text(this[t].toString())}})};t.views.view({iface:"listing",name:"footer",factory:function(e,i,s,o){return{render:function(){t.ui.selection.disable(e),n(e.find(".clipboard-info"),s),r(e.find(".counters"),o),e.children(".listing-footer-loading").hide(),e.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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/listing.items.min.js
--- a/src/silva/ui/static/js/listing.items.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/listing.items.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t,n){var r=function(e,t,n){var r=e.children("ins.ui-icon"),i=function(){r.hasClass("ui-icon-triangle-1-e")?(r.removeClass("ui-icon-triangle-1-e"),r.addClass("ui-icon-triangle-1-s")):(r.removeClass("ui-icon-triangle-1-s"),r.addClass("ui-icon-triangle-1-e"))},s=function(){n.collapsed=!n.collapsed,i(),e.toggleClass("collapsed"),t.toggleClass("collapsed"),e.trigger("collapsingchange-smilisting")};n.collapsed&&(i(),e.addClass("collapsed"),t.addClass("collapsed"),e.trigger("collapsingchange-smilisting")),e.bind("click",function(e){return s(),!1})},i=function(t,n,r){var i=null;t.tableDnD({dragHandle:"moveable",onDragClass:"moving",onAllowDrop:function(t,n){return e(n).data("smilisting").moveable!=0},onDragStart:function(t){if(n.hasClass("filtering"))return!1;i=e(t).parent("tr").index
 (),n.trigger("resetselection-smilisting"),n.removeClass("static")},onDrop:function(s){var o=e(s),u=o.index(),a=o.data("smilisting");u!=i?(u>i&&(i-=1),t.children("tr.item:first").data("smilis
 ting").moveable||(u-=1),r([{name:"content",value:a.id},{name:"position",value:u}]).then(function(e){return e||(u<i&&(i-=1),o.detach(),o.insertAfter(t.children("tr.item:eq("+i+")"))),n.addClass("static"),e})):n.addClass("static")}})};t.views.view({iface:"listing-items",name:"listing-container",factory:function(n,s,o,u){var a=function(e,t,n){if(n>-1){var r=u.$container.children().eq(n);r.length?r.before(e):u.$container.append(e)}else u.$container.append(e)},f=function(n){var r=e('<tr class="item"></tr>'),i={};r.attr("id","list"+n.id.toString());var s=function(n){var i=e("<td></td>");n.view&&(i.bind("refreshcell-smilisting",function(r,i){var s=e(this),o=null;n.name&&(o=i[n.name]),t.smi.listing.columns.render(s,{data:i,name:n.view,ifaces:["object"],args:[n,o]}),r.stopPropagation(),r.preventDe
 fault()}),n.name!==undefined&&n.renameable!==undefined&&(i.addClass("renameable"),i.bind("renamecell-smilisting",function(r,i){r.stopPropagation(),r.preventDefault();if(n.renameable.item_mat
 ch!==undefined&&!t.utils.test(i,n.renameable.item_match))return;var s=e(this),o=e('<input class="renaming" type="text" />');o.attr("name",n.name),o.val(i[n.name]),s.empty(),s.append(o)}))),r.append(i)};return t.utils.each(o.columns,s),e.extend(i,{update:function(t){if(t!=undefined){r.data("smilisting",t);if(t.position>-1){var n=t.position,i=u.$container.children("tr.item:first");i.length&&i.data("smilisting").moveable&&(n-=1),n>0&&u.$container.children().index(r)!=n&&(r.detach(),a(r,t,n))}}else t=r.data("smilisting");r.children().each(function(){e(this).triggerHandler("refreshcell-smilisting",t)})},rename:function(){var t=r.data("smilisting");r.find("td.renameable").each(function(){e(this).triggerHandler("renamecell-smilisting",t)})},values:function(){var t=r.find("input.renaming");if(!t.
 length)return undefined;var n=r.data("smilisting"),i={id:n.id};return t.each(function(){var t=e(this);i[t.attr("name")]=t.val()}),i}}),i.update(n),r.data("smilisting-line",i),a(r,n,n.positio
 n),r.get(0)};return e.extend(u,{title:o.title,add:function(t,n){var r=e.Deferred();return t.length?(n||u.$table.children(".empty").remove(),u.$table.prepend("<colgroup>"+Array(o.columns.length+1).join("<col></col>")+"</colgroup>"),this.add=function(e){return u.worker.add(e,f)},u.add(t)):(n&&u.$table.append('<tr class="empty"><td colpsan="'+o.columns.length+'">There is no items here.</td></tr>'),r.resolve([]),r.promise())},$container:null,$table:null}),e.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(e){return u.$table=e.find("table"),u.$container=u.$table.find("tbody"),r(e.filter("dt"),e.filter("dd"),o),u.sort&&i(u.$container,u.$table,u.sort),
 u.add(s.items,!0)}},u)}})})(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 is 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 c
 lass="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"),$co
 ntent.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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/listing.min.js
--- a/src/silva/ui/static/js/listing.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/listing.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t,n){var r=function(e,t,n){var r="none",i=function(t){e.removeClass(r),e.addClass(t),r=t};t.events.status(function(){this.selection.length==0?i("none"):this.selection.length==this.length?i("all"):this.selection.length==1?i("single"):i("partial")});var s=function(){return r=="none"?t.select_all():t.unselect_all(),!1},o=function(){return t.unselect_all(),!1};e.bind("click",s),n.bind("listing",null,["ctrl+a"],s),n.bind("listing",null,["esc"],o)},i=function(n,i,s,o){var u=i.listing[0],a=n.find("div.listing-header table"),f=a.find("tr");a.prepend("<colgroup>"+Array(u.columns.length+1).join("<col></col>")+"</colgroup>"),e.each(u.columns,function(t,n){var i=e("<th></th>");t||(i.html('<div class="selector"><ins class="none"></ins></div>'),r(i.find("ins"),s,o)),n.caption&&i.text(n.capt
 ion),f.append(i)}),t.ui.selection.disable(f)},s=function(n,r,i,s){var o=null,u=null,a=s.shortcuts,f=function(){return u===null&&(u=r.first().find("tr.item:first"),u.addClass("hover")),u},l=f
 unction(){u!==null&&u.removeClass("hover"),u=null},c=function(e){e.length&&(l(),u=e,u.addClass("hover"))},h=!0;r.bind("mousemove",function(){h=!0}),r.delegate("tr.item","mouseenter",function(){h&&c(e(this))}),r.delegate("tr.item","mouseleave",function(){h&&l()}),r.bind("resetselection-smilisting",function(){l(),o=null});var p=function(e,t){if(o===null||!t)o=e.index(),i(e);else{var n=e.index();if(n!=o){var r=0,s=0;n>o?(r=o+1,s=n+1):(r=n,s=o);var u=e.parent().children().slice(r,s).filter(".item:visible");i(u)}o=n}};r.delegate("tr.item","click",!1);var d=null;r.delegate("tr.item div.dropdown","mouseleave",function(e){d!==null&&(d.fadeOut("fast"),d=null)}),r.delegate("tr.item div.dropdown-icon","mousedown",function(t){return d!==null&&d.fadeOut("fast"),d=e(t.target).parents("a").next(),d.fade
 Toggle(),t.preventDefault(),t.stopPropagation(),!1}),r.delegate("tr.item a.open-screen","mousedown",function(t){return s.open_screen_from_link(e(t.currentTarget)),t.stopPropagation(),t.preve
 ntDefault(),!1}),r.tipsy({gravity:"w",delegate:"ins.state"}),r.delegate("tr.item","mousedown",function(t){var n=e(t.target);if(n.is('input[type="text"]')){n.focus();return}return p(e(this),t.shiftKey),t.preventDefault(),t.stopPropagation(),!1}),a.bind("listing",null,["space","shift+space"],function(e){return p(f(),e.shiftKey),!1});var v=function(e){var r=e.position().top,i=e.outerHeight(),s,o;r<25?(s=n.scrollTop()-25+r,t.ui.scroll(n,"fast","absolute",s)):(o=n.innerHeight()-i-25,r>o&&(s=n.scrollTop()+(r-o),t.ui.scroll(n,"fast","absolute",s)))};a.bind("listing",null,["up","shift+up"],function(e){var t=f(),n=t.prev();while(n.length&&!n.is(":visible"))n=n.prev();return n.length&&(h=!1,c(n),e.shiftKey&&p(n),v(n)),!1}),a.bind("listing",null,["down","shift+down"],function(e){var t=f(),n=t.next()
 ;while(n.length&&!n.is(":visible"))n=n.next();return n.length&&(h=!1,c(n),e.shiftKey&&p(n),v(n)),!1})},o=t.deferred.LazyCallbacks(),u=function(e){return document.getElementById("list"+e.toSt
 ring())},a=function(t){if(t.length){var n=t.length-1,r=e(u(t[n]));while(n--)r=r.add(u(t[n]));return r}return e([])},f=function(){var t=[];return{require:function(n){e.inArray(n,t)<0&&t.push(n)},commit:function(){setTimeout(function(){while(t.length)t.pop()()},0)}}};e(document).bind("load-smilisting",function(n,r){var l=r.smi,c=r.configuration;t.views.view({iface:"listing",name:"content",factory:function(n,r,l){var h={},p=t.smi.listing.Selection(),d=e([]),v={},m={status:t.deferred.Callbacks(),content:t.deferred.Callbacks()};m.content.context(function(){var e={};for(var t in v)e[t]=v[t].$container.children("tr.item").length;return e}),m.status.context(function(){var t=p.status();return e.extend(t,{content:r.content,clipboard:{length:l.clipboard.length(),cutted:l.clipboard.cutted,copied:l.cl
 ipboard.copied},get_transaction:function(){var t=f();return e.extend(t,{rename:{rename:function(e){p.rename(e)&&t.require(m.status.invoke)},collect:function(e){p.collect(e),t.require(m.statu
 s.invoke)}},listing:{add:function(n,r){var i=[];for(var s in v){var o=n[s];o&&o.length&&i.push(v[s].add(o))}return i.length?e.when.apply(null,i).then(function(n){var r=e(n);return r.length&&(p.select(r),t.require(m.content.invoke),t.require(m.status.invoke)),r}):null},update:function(n){return n.length?o.add(n,function(t){var n=u(t.id);return e(n).data("smilisting-line").update(t),n}).then(function(n){return t.require(m.status.invoke),e(n)}):null},remove:function(e){var n=a(e);return n.length&&(p.remove(n),t.require(m.content.invoke),t.require(m.status.invoke)),null}},clipboard:{cut:function(e){return l.clipboard.cut(e),t.require(m.status.invoke),null},copy:function(e){return l.clipboard.copy(e),t.require(m.status.invoke),null},update:function(e){l.clipboard.update(e),t.require(m.status.i
 nvoke)},remove:function(e){return l.clipboard.remove(e),t.require(m.status.invoke),null},clear:function(){return l.clipboard.clear(),null}}}),t},query:c.query}),t});var g=function(){var e=n.
 find("div.listing-header table"),r=null,i=null,s=[],o=[];t.utils.each(c.listing,function(e){var t=v[e.name],n;if(t===undefined)return;n=t.$table,n.is(":visible")&&n.find("tr.item").length&&(r===null?(r=n,i=e.layout):(s.push(n),o.push(e.layout)))});if(r!==null){var u=t.ui.update_table_columns;u(r,i),u(e,{},r);for(var a=0;a<s.length;a++)u(s[a],o[a],r)}};return m.content.add(g),e.extend(h,{html_url:l.options.listing.templates.content,events:{content:function(e){m.content.add(e,!0)},status:function(e){m.status.add(e,!0)}},filter_lines:function(t){if(t){var n=new RegExp(t,"i");e.each(c.listing,function(t,r){var i=v[r.name].$container,s=v[r.name].$table;s.addClass("filtering"),i.children(".item").each(function(t){var i=e(this);r.filter(n,i.data("smilisting"))?i.show():i.hide()})})}else e.each(c
 .listing,function(e,t){var n=v[t.name].$container,r=v[t.name].$table;r.removeClass("filtering"),n.children(".item").show()});m.status.invoke()},unselect_all:function(){p.unselect(d.children(
 "tr.item.selected:visible"))&&m.status.invoke()},select_all:function(){p.select(d.children("tr.item:visible"))&&m.status.invoke()},render:function(){var u=n.find("dl.listing");l.shortcuts.create("listing",n,!0),i(n,c,h,l.shortcuts);var a=[];e.each(c.listing,function(e,n){var i={worker:o};if(n.content_match&&!t.utils.test(r.content,n.content_match))return;n.sortable&&t.utils.test(r.content,n.sortable.content_match)&&(i.sort=n.sortable.sort),a.push(t.views.render(u,{data:r.items[n.name],name:"listing-container",args:[n,i]})),d=d.add(i.$container),v[n.name]=i}),s(u,d,function(e){p.toggle(e)&&m.status.invoke()},l),g(),n.bind("collapsingchange-smilisting",function(){g(),m.status.invoke()}),e.when.apply(null,a).done(function(){g(),n.find(".listing-footer").render({data:r,name:"footer",args:[l,h
 ]})})},cleanup:function(){o.reset(),l.shortcuts.remove("listing"),n.unbind("collapsingchange-smilisting"),n.empty()}}),h}})}),e(document).bind("load-smiplugins",function(r,i){e.ajax({url:i.o
 ptions.listing.configuration,async:!1,dataType:"json",success:function(r){var s=new n.Template(i.options.listing.action,{});for(var o in r.ifaces)t.interfaces.register(o,r.ifaces[o]);e.extend(r,{query:function(e,t){return i.ajax.query(s.expand({path:i.opened.path,action:e}),t)}}),e.each(r.listing,function(t,n){var i=[];e.each(n.columns,function(e,t){t.filterable&&i.push(t.name)}),e.extend(n,{filter:function(e,t){for(var n=0,r=i.length;n<r;n++)if(t[i[n]].match(e))return!0;return!1}}),n.sortable&&e.extend(n.sortable,{sort:function(e){return r.query(n.sortable.action,e)}})}),e(document).trigger("load-smilisting",{smi:i,configuration:r})}})}),t.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){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.conte
 nt.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.s
 tatus();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(ev
 ents.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(da
 ta),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});var
  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,fun
 ction(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(c
 onfiguration.listing,function(i,configuration){var $container=by_name[configuration.name].$container,$table=by_name[configuration.name].$table;$table.addClass("filtering"),$container.childre
 n(".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(co
 nfiguration.listing,function(i,configuration){var api={worker:worker};(!configuration.content_match||infrae.utils.test(data.content,configuration.content_match))&&(configuration.sortable&&in
 frae.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(
 "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-smilistin
 g",{smi:smi,configuration:configuration})}})}),infrae.smi.listing={}}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/listing.preview.min.js
--- a/src/silva/ui/static/js/listing.preview.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/listing.preview.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t,n){e(document).bind("load-smilisting",function(t,r){var i=r.smi;if(i.options.listing.preview===undefined)return;var s=new n.Template(i.options.listing.preview,{}),o=new n.Template('{.section title}<h2>{title|html}</h2>{.end}{.section preview}<div class="preview">{preview}</div>{.end}<div class="type"><span>{type}</span></div>',{}),u=null,a=e([]),f=function(){u!==null&&(clearTimeout(u),u=null),a.length&&(a.tipsy("hide"),a=e([]))};e(document).on("mouseenter",".listing tr.item a.preview-icon",function(t){f(),a=e(t.target),u=setTimeout(function(){var t=a.closest("tr.item").data("smilisting");if(t===undefined)return;e.ajax({url:s.expand({path:t.path})}).done(function(e){if(!a.is(":visible"))return;a.tipsy({trigger:"manual",html:!0,delayIn:0,title:function(){return o.expand(e)},gr
 avity:"w"}),a.tipsy("show")})},1e3)}),e(document).on("mouseleave",".listing tr.item a.preview-icon",f)})})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/listing.selection.min.js
--- a/src/silva/ui/static/js/listing.selection.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/listing.selection.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){var n=function(n){var r=t.deferred.FluxCapacitor(),i=null,s=t.deferred.FluxCapacitor();return r.events.incoming(function(){e(this).addClass("selected")}),r.events.outgoing(function(){e(this).removeClass("selected")}),r.events.failing(function(){e(this).remove()}),s.events.incoming(function(){e(this).data("smilisting-line").rename()}),s.events.outgoing(function(){e(this).data("smilisting-line").update()}),{select:function(e){var t=!1;return e.length&&e.each(function(){t|=r.add(this)}),t},unselect:function(e){var t=!1;return e.each(function(){t|=r.remove(this)}),t},remove:function(e){var t=!1;return e.each(function(){t|=r.remove(this,!0)}),t},toggle:function(t){var n=!1;return t.each(function(){e(this).hasClass("selected")?n|=r.remove(this):n|=r.add(this)}),n},rename:function
 (t){return i===null?(i=t,r.events.push(),r.events.incoming(function(){s.add(this)}),r.events.failing(r.events.outgoing(function(){s.remove(this,!0)})),r.events.outgoing(function(){e(this).da
 ta("smilisting-line").update()}),!0):!1},collect:function(t){if(i!==null){var n=i.promise();if(t){var o=s.map(function(){return e(this).data("smilisting-line").values(["identifier","title"])});r.events.pop(),s.clear(),i.resolve(o)}else r.events.pop(),s.clear(!1),i.reject();return i=null,n}return null},status:function(){var t=[],n=[];return r.each(function(){var r=e(this);if(!r.is(":visible"))return;var i=r.data("smilisting");for(var s=0;s<i.ifaces.length;s++)e.inArray(i.ifaces[s],t)<0&&t.push(i.ifaces[s]);n.push(i)}),{ifaces:t,selection:{length:n.length,items:n},input:{status:i!=null}}}}};t.smi.listing.Selection=n})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/listing.toolbar.min.js
--- a/src/silva/ui/static/js/listing.toolbar.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/listing.toolbar.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t,n){var r=function(e){var n=[];for(var r in e)switch(r){case"content_match":n.push(function(n,r){return t.utils.test(r.content,e.content_match)});break;case"items_match":n.push(function(n,r){var i=r.selection.items,s=i.length;while(s--)if(t.utils.test(i[s],e.items_match))return!0;return!1});break;case"min_items":n.push(function(t,n){return n.selection.length>=e.min_items});break;case"max_items":n.push(function(t,n){return n.selection.length<=e.max_items});break;case"clipboard_min_items":n.push(function(t,n){return n.clipboard.length>=e.clipboard_min_items});break;case"input_mode":n.push(function(t,n){return n.input.status==e.input_mode})}return function(){for(var e=0;e<n.length;e++)if(!n[e].apply(this,arguments))return!1;return!0}};t.views.view({iface:["listing-changes"],fact
 ory:function(t,n,r){return{render:function(){var t=[],i=function(e){e!==null&&t.push(e)};for(var s in n.actions)switch(s){case"remove":i(r.clipboard.remove(n.actions.remove)),i(r.listing.rem
 ove(n.actions.remove));break;case"update":i(r.clipboard.update(n.actions.update)),i(r.listing.update(n.actions.update));break;case"add":i(r.listing.add(n.actions.add));break;case"clear_clipboard":i(r.clipboard.clear())}t.length?e.when.apply(this,t).done(r.commit):r.commit()}}}});var i=new n.Template('<li><a class="ui-state-default" {.section description}title="{description}"{.end}>{.section icon}<div class="action-icon"><ins class="ui-icon ui-icon-{icon|htmltag}"></ins></div>{.end}<span {.section icon}class="have-icon"{.end}>{title|html}</span></a></li>',{}),s=function(n,s){var o=[],u=function(n){var o=t.views.Registry(),a=function(n){var a={order:n.order,ifaces:n.ifaces};if(n.title!=null)a.factory=function(r,o){var u={render:function(){var o=e(i.expand(n));if(u.action!=undefined){var a=f
 unction(){return n.confirmation?t.ui.ConfirmationDialog(n.confirmation).done(u.action):u.action(),!1};o.children("a").bind("click",a),n.accesskey&&s.bind("listing","actions",n.accesskey,a)}r
 .append(o)}};if(n.action!=undefined)for(var a in n.action)switch(a){case"rest":u.action=function(){var e=[];switch(n.action.rest.send){case"selected_ids":t.utils.map(o.selection.items,function(e){return{name:"content",value:e.id}},e);break;case"clipboard_ids":t.utils.map(o.clipboard.cutted,function(e){return{name:"cutted",value:e.id}},e),t.utils.map(o.clipboard.copied,function(e){return{name:"copied",value:e.id}},e)}o.query(n.action.rest.action,e).then(function(e){return r.render({data:e,args:[o.get_transaction()]})})};break;case"cut":u.action=function(){var e=o.get_transaction();e.clipboard.cut(o.selection.items),e.commit()};break;case"copy":u.action=function(){var e=o.get_transaction();e.clipboard.copy(o.selection.items),e.commit()};break;case"input":u.action=function(){var i=e.Deferred
 (),s=o.get_transaction();i.done(function(i){var u=0,a=[];return t.utils.each(i,function(e){if(e!==undefined){for(var t in e)a.push({name:"values."+u+"."+t,value:e[t]});u+=1}}),u?(a.push({nam
 e:"values",value:u}),o.query(n.action.input.action,a).then(function(e){return r.render({data:e,args:[s]})})):e.Deferred().reject()}),s.rename.rename(i),s.commit()};break;case"input_mode":u.action=function(){var e=o.get_transaction();e.rename.collect(n.action.input_mode),e.commit()};break;case"form":u.action=function(){var i=e("#content-url").attr("href"),s=[];return t.utils.map(o.selection.items,function(e){return{name:n.action.form.identifier,value:e.id}},s),r.SMIFormPopup({url:i+"/++rest++"+n.action.form.name,payload:s}).done(function(e){return e.extra?r.render({data:e.extra.content,args:[o.get_transaction()]}):e})}}return u};else{var f=u(n.actions);a.factory=function(t,n){return{render:function(){var r=e('<div class="dropdown"><ol></ol></div');f.render(r.children("ol"),{every:n});var i
 =r.find("li:first");if(i.length){var s=i.detach();if(r.find("li:first").length){var o=s.children("a"),u=e('<div class="dropdown-icon"><ins class="ui-icon ui-icon-triangle-1-s"></ins></div>')
 ;u.bind("click",function(){return r.fadeToggle(),!1}),r.bind("mouseleave",function(){r.fadeOut("fast")}),o.prepend(u),s.append(r)}t.append(s)}}}}}n.available&&(a.available=r(n.available)),o.register(a)};return t.utils.each(n,a),o};return e.each(n,function(n,i){var s=u(i.actions),a=r(i.available);o.push(function(n,r){if(!a(n,r))return;var i=e('<div class="actions"><ol></ol></div>'),o=i.children("ol");i.tipsy({delegate:"a"}),t.ui.selection.disable(i),s.render(o,{every:r});var u=o.children("li:last");u.length&&(u.addClass("last-action"),n.append(i))})}),function(e,t){t.events.status(function(){s.remove("listing","actions"),e.children("div.actions").remove();for(var t=0;t<o.length;t++)o[t](e,this)})}},o=function(e,t,n){var r=null;n.events.content(function(){var t=e.parent();for(var n in this)
 if(this[n]){t.show();return}t.hide()}),t.bind("listing",null,["ctrl+f"],function(){if(e.is(":visible"))return e.focus(),!1}),e.bind("keyup",function(t){var i=!1;if(t.keyCode==13){e.blur();re
 turn}t.keyCode==27&&(i=!0,e.blur()),r&&clearTimeout(r),r=setTimeout(function(){var t="";i?e.val(""):t=e.val(),n.filter_lines(t),r=null},100)})};e(document).bind("load-smilisting",function(e,n){var r=n.configuration,i=n.smi,u=i.shortcuts,a=s(r.actions,u);t.views.view({iface:"listing",name:"toolbar",factory:function(e,t,n,r){return{html_url:n.options.listing.templates.toolbar,render:function(){a(e,r),o(e.find(".filter input"),u,r)},cleanup:function(){e.unbind("actionrefresh-smilisting"),e.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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/smi.clipboard.min.js
--- a/src/silva/ui/static/js/smi.clipboard.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/smi.clipboard.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){var n=function(t){var n=[],r=[],i=function(){var e=n.length+r.length;return s.cutted=[],n=[],s.copied=[],r=[],e!=0},s={cutted:[],copied:[],update:function(t){var i=!1;e.each(t,function(t,o){var u=e.inArray(o.id,n),a=e.inArray(o.id,r);u>-1&&(s.cutted[u]=o,i=!0),a>-1&&(s.copied[a]=o,i=!0)}),i&&e("body").trigger("contentchange-smiclipboard")},remove:function(t){var i=!1;e.each(t,function(t,o){var u=e.inArray(o,n),a=e.inArray(o,r);u>-1&&(n.splice(u,1),s.cutted.splice(u,1),i=!0),a>-1&&(r.splice(a,1),s.copied.splice(a,1),i=!0)}),i&&e("body").trigger("contentchange-smiclipboard")},clear:function(n){i()&&e("body").trigger("contentchange-smiclipboard"),n||t.notify({message:"Clipboard cleared.",autoclose:4e3})},cut:function(r,o){var u=0;i(),e.each(r,function(t,r){e.inArray(r.id,n)<0&
 &(n.push(r.id),s.cutted.push(r),u+=1)}),e("body").trigger("contentchange-smiclipboard");if(!o){var a={message:"Cut "+u.toString()+" item(s) in the clipboard.",autoclose:4e3};u||(a.category="
 error"),t.notify(a)}},copy:function(n,o){var u=0;i(),e.each(n,function(t,n){e.inArray(n.id,r)<0&&(r.push(n.id),s.copied.push(n),u+=1)}),e("body").trigger("contentchange-smiclipboard");if(!o){var a={message:"Copied "+u.toString()+" item(s) in the clipboard.",autoclose:4e3};u||(a.category="error"),t.notify(a)}},length:function(){return s.cutted.length+s.copied.length}};return s};t.smi.ClipBoardManager=n})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/smi.form.min.js
--- a/src/silva/ui/static/js/smi.form.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/smi.form.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){e.fn.invoke=function(){return Array.prototype.splice.call(arguments,0,1)[0].apply(this,arguments)};var n=function(n){if(!n.length)return;var r=n.position().top,i=n.outerHeight(),s=e(this),o,u;r<25?(o=s.scrollTop()-25+r,t.ui.scroll(s,"fast","absolute",o)):(u=s.innerHeight()-i-25,r>u&&(o=s.scrollTop()+(r-u),t.ui.scroll(s,"fast","absolute",o)))},r=function(){e(this).find(".form-section").removeClass("form-focus")},i=function(t,n){var i=t.closest(".form-section");if(i.is(".form-focus"))return;e(this).invoke(r),i.addClass("form-focus"),n||i.find(".field:first").focus()},s=function(){var t=e(this),r=t.find(".form-error:first").find(".field:first");r.length||(r=t.find(".field-required:first"),r.length||(r=t.find(".field:first"))),r.length&&(t.invoke(i,r),t.invoke(n,r.closest(".for
 m-section")))},o=function(){var t=e(this),r=t.find(".form-focus"),s=r.next();if(!s.length){var o=r.closest(".form-body").nextAll(".form-body");if(o.length)s=o.find(".form-section:first");els
 e{var u=r.closest("form").nextAll("form");u.length?s=u.find(".form-section:first"):s=t.find(".form-section:first")}}t.invoke(i,s),t.invoke(n,s)},u=function(){var t=e(this),r=t.find(".form-focus"),s=r.prev();if(!s.length){var o=r.closest(".form-body").prevAll(".form-body");if(o.length)s=o.find(".form-section:last");else{var u=r.closest("form").prevAll("form");u.length?s=u.find(".form-section:last"):s=t.find(".form-section:last")}}t.invoke(i,s),t.invoke(n,s)};e(document).on("load-smiform",".form-content",function(t,n){var r=n.container||e(this),o=n.form||r.find("form"),u=function(t){var n=e(t.target),s=n.closest(".form-section"),o=n.is("input")||n.is("a");r.invoke(i,s,o),o||t.stopPropagation()};r.delegate(".form-section","click",u),r.delegate(".form-section","focusin",u),r.delegate(".form-e
 rror-detail","click",function(){e(this).fadeOut().promise().done(function(){e(this).remove()})}),r.invoke(s),o.trigger("loadwidget-smiform",n)}),t.views.view({iface:"form",name:"content",fac
 tory:function(n,r,i){var s=null,a=e([]);return{template_data:!0,render:function(){if(r.portlets){var f=e('<div class="portlets form-content"></div>');s=e('<div class="forms form-content"></div>'),f.html(r.portlets),n.append(s),n.append(f)}else s=n,s.addClass("form-content");s.html(r.forms),a=s.find("form"),i.shortcuts.create("form",s,!0),a.each(function(){var n=e(this),r=n.attr("name"),o=function(e){var n=e.attr("data-confirmation");if(n!==undefined){var r=e.attr("data-confirmation-title");return r||(r="Please confirm"),function(){return t.ui.ConfirmationDialog({title:r,message:n}).then(function(){return u(e)}),!1}}return function(){return u(e)}},u=function(t){n.trigger("serialize-smiform",{form:n,container:s});var r=n.serializeArray(),o=!1;t!==undefined&&t.length&&(r.push({name:t.attr("n
 ame"),value:t.text()}),o=t.hasClass("link-control"));if(!o)return i.ajax.send_to_opened(r),!1;t.attr("href",[i.get_screen_url(),"?",e.param(r)].join(""))};n.bind("submit",o(n.find(".form-con
 trols a.default-form-control"))),n.find(".form-controls a.form-control").each(function(){var t=e(this),n=t.attr("data-form-shortcut"),r=o(t);t.bind("click",r),n&&i.shortcuts.bind("form",null,[n],r)}),n.find(".form-controls a.form-button").each(function(){var t=e(this),n=t.attr("data-form-shortcut");n&&i.shortcuts.bind("form",null,[n],function(){return t.click(),!1})}),n.delegate(".form-controls a.form-popup","click",function(){var t=e(this);return t.SMIFormPopup().done(function(e){e.extra&&e.extra.refresh==r&&u()}),!1}),n.tipsy({delegate:"a.form-control"}),n.tipsy({delegate:"a.form-button"}),n.attr("data-form-url",i.get_screen_url())}),s.trigger("load-smiform",{form:a,container:s}),i.shortcuts.bind("form",null,["ctrl+down","ctrl+shift+down"],function(){return s.invoke(o),!1}),i.shortcuts.
 bind("form",null,["ctrl+up","ctrl+shift+up"],function(){return s.invoke(u),!1})},cleanup:function(){s!==null&&s.trigger("clean-smiform",{form:a,container:s}),i.shortcuts.remove("form"),n.und
 elegate(".form-section","focusin"),n.undelegate(".form-section","click"),n.removeClass("form-content"),n.empty()}}}})})(jQuery,infrae);
\ No newline at end of file
+!function($,infrae){$.fn.invoke=function(){return Array.prototype.splice.call(arguments,0,1)[0].apply(this,arguments)};var scroll_field_into_view=function($field){if($field.length){var target,limit,top=$field.position().top,height=$field.outerHeight(),$container=$(this);25>top?(target=$container.scrollTop()-25+top,infrae.ui.scroll($container,"fast","absolute",target)):(limit=$container.innerHeight()-height-25,top>limit&&(target=$container.scrollTop()+(top-limit),infrae.ui.scroll($container,"fast","absolute",target)))}},unfocus_form_fields=function(){$(this).find(".form-section").removeClass("form-focus")},focus_form_field=function($field,no_input_focus){var $section=$field.closest(".form-section");$section.is(".form-focus")||($(this).invoke(unfocus_form_fields),$section.addClass("form-foc
 us"),no_input_focus||$section.find(".field:first").focus())},focus_first_form_field=function(){var $forms=$(this),$field=$forms.find(".form-error:first").find(".field:first");$field.length||
 ($field=$forms.find(".field-required:first"),$field.length||($field=$forms.find(".field:first"))),$field.length&&($forms.invoke(focus_form_field,$field),$forms.invoke(scroll_field_into_view,$field.closest(".form-section")))},focus_next_form_field=function(){var $forms=$(this),$focused=$forms.find(".form-focus"),$field=$focused.next();if(!$field.length){var $next_body=$focused.closest(".form-body").nextAll(".form-body");if($next_body.length)$field=$next_body.find(".form-section:first");else{var $next_form=$focused.closest("form").nextAll("form");$field=$next_form.length?$next_form.find(".form-section:first"):$forms.find(".form-section:first")}}$forms.invoke(focus_form_field,$field),$forms.invoke(scroll_field_into_view,$field)},focus_previous_form_field=function(){var $forms=$(this),$focuse
 d=$forms.find(".form-focus"),$field=$focused.prev();if(!$field.length){var $prev_body=$focused.closest(".form-body").prevAll(".form-body");if($prev_body.length)$field=$prev_body.find(".form-
 section:last");else{var $prev_form=$focused.closest("form").prevAll("form");$field=$prev_form.length?$prev_form.find(".form-section:last"):$forms.find(".form-section:last")}}$forms.invoke(focus_form_field,$field),$forms.invoke(scroll_field_into_view,$field)};$(document).on("load-smiform",".form-content",function(event,data){var $container=data.container||$(this),$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");$container.invoke(focus_form_field,$section,is_cancelable),is_cancelable||event.stopPropagation()};$container.delegate(".form-section","click",focus_form_event),$container.delegate(".form-section","focusin",focus_form_event),$container.del
 egate(".form-error-detail","click",function(){$(this).fadeOut().promise().done(function(){$(this).remove()})}),$container.invoke(focus_first_form_field),$form.trigger("loadwidget-smiform",da
 ta)}),infrae.views.view({iface:"form",name:"content",factory:function($content,data,smi){var $content_form=null,$forms=$([]);return{template_data:!0,render:function(){if(data.portlets){var $content_portlets=$('<div class="portlets form-content"></div>');$content_form=$('<div class="forms form-content"></div>'),$content_portlets.html(data.portlets),$content.append($content_form),$content.append($content_portlets)}else $content_form=$content,$content_form.addClass("form-content");$content_form.html(data.forms),$forms=$content_form.find("form"),smi.shortcuts.create("form",$content_form,!0),$forms.each(function(){var $form=$(this),form_prefix=$form.attr("name"),make_submit=function($control){var message=$control.attr("data-confirmation");if(void 0!==message){var title=$control.attr("data-conf
 irmation-title");return title||(title="Please confirm"),function(){return infrae.ui.ConfirmationDialog({title:title,message:message}).then(function(){return submit($control)}),!1}}return fun
 ction(){return submit($control)}},submit=function($control){$form.trigger("serialize-smiform",{form:$form,container:$content_form});var values=$form.serializeArray(),is_link=!1;return void 0!==$control&&$control.length&&(values.push({name:$control.attr("name"),value:$control.text()}),is_link=$control.hasClass("link-control")),is_link?($control.attr("href",[smi.get_screen_url(),"?",$.param(values)].join("")),void 0):(smi.ajax.send_to_opened(values),!1)};$form.bind("submit",make_submit($form.find(".form-controls a.default-form-control"))),$form.find(".form-controls a.form-control").each(function(){var $control=$(this),shortcut=$control.attr("data-form-shortcut"),handler=make_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);return $control.SMIFormPopup().done(function(data){data.extra&&data.extra.refresh==form_prefix&&submit()}),!1}),$form.tipsy({delegate:"a.form-control"}),$form.tipsy({delegate:"a.form-button"}),$form.attr("data-form-url",smi.get_screen_url())}),$content_form.trigger("load-smiform",{form:$forms,container:$content_form}),smi.shortcuts.bind("form",null,["ctrl+down","ctrl+shift+down"],function(){return $content_form.invoke(focus_next_form_field),!1}),smi.shortcuts.bind("form",null,["ctrl+up","ctrl+shift+up"],function(){return $content_form.invoke(focus_previous_form_field),!1})},cleanup:function(){null!==$content_form&&$content_form.trigger("clean-smiform",{form:$forms,container:$content
 _form}),smi.shortcuts.remove("form"),$content.undelegate(".form-section","focusin"),$content.undelegate(".form-section","click"),$content.removeClass("form-content"),$content.empty()}}}})}(j
 Query,infrae);
\ No newline at end of file
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/smi.min.js
--- a/src/silva/ui/static/js/smi.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/smi.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t,n){var r=/#([^!]*)!?(.*)/,i=function(e){var t={ifaces:["redirect"],path:"",screen:"",default_screen:function(){var n=i(e);return n.path=t.path,n.screen=e,n},is_default_screen:function(){return t.screen===e},copy:function(e){t.path=e.path,t.screen=e.screen},equal:function(e){return t.path==e.path&&t.screen==e.screen},open:function(e,n){e||(e=t.path),n||(n=t.screen),document.location.hash=n+"!"+e},read:function(n){var i=r.exec(n);i?(t.screen=i[1],t.path=i[2]):(t.screen="",t.path=""),t.screen.length||(t.screen=e)}};return t};e.fn.SMI=function(r){var s={objection:null,ready:t.deferred.SemaphoreCallbacks(),options:r,opened:i("content"),opening:i("content"),shortcuts:t.keyboard.ShortcutManager(document)},o=e(r.workspace.selector),u=o.children(".header"),a=o.children(".content");t.
 ui.selection.disable(u.children(".metadata")),r.theme&&r.theme.background&&e("html").css("background-color",r.theme.background);var f=new n.Template(r.screen,{}),l=new n.Template(r.action,{}
 ),c=new n.Template(r.workspace.url,{}),h,p={},d=t.views.HTMLResourceManager(e(document)),v={};for(h in t.smi.plugins)p[h]=t.smi.plugins[h](s,r);t.views.view({iface:"screen",factory:function(e,t,n){return{render:function(){a.render({data:t.screen,name:"content",args:[n]}).done(function(){t.metadata!==undefined&&u.render({data:t.metadata,name:"header",args:[n,c,this]})})}}}}),e.extend(s,{clipboard:t.smi.ClipBoardManager(p.notifications),get_language:function(){var t=e("html").attr("lang");return t||(t="en"),t},get_screen_url:function(e){return e||(e=s.opened),f.expand(e)},open_screen:function(e,t){s.opened.open(e,t)},open_screen_from_link:function(e){var t=e.attr("href");if(!t||t=="#")t=s.opened.path;s.open_screen(t,e.attr("rel"))}}),e(document).delegate("a.open-screen","click",function(t){
 return s.open_screen_from_link(e(this)),!1}),e.extend(s,{ajax:{query:function(n,r,i){var o={};return o.url=n,o.dataType="json",r&&(o.type="POST",o.data=r),e.ajax(o).then(function(n){var r=e.
 Deferred().resolve(),i=e.Deferred(),s;n.resources!=undefined&&(n.resources.js&&(r=r.then(function(){return e.when.apply(e,t.utils.map(n.resources.js,d.load_js))})),n.resources.css&&t.utils.each(n.resources.css,d.load_css));for(s in p)p[s].page!==undefined&&p[s].page(n);return r.done(function(){i.resolve(n.content)}),i},function(t){if(!s.options.testing){i===undefined&&(i=v);var n=i[t.status];n===undefined&&(n=i[500]);var r=n(t);if(r)return r.promise!==undefined?r:e(document).render({data:r,args:[s],reject:[t]})}return e.Deferred().reject(t)})},vote:function(t){if(!s.objection)return t();var n=s.objection();return n||(n=e.Deferred(),n.resolve()),n.done(function(){s.objection=null}),n.then(t,function(){return e.Deferred(function(e){e.reject({status:417})})})},lock:function(e){return s.ready
 .use(),e().then(function(){return s.ready.release(200),{}},function(e){return s.ready.release(e.status),{}})},create_error_handlers:function(e,t){var n={},r,i;t===undefined&&(t=v);for(i in t
 )n[i]=t[i];for(i in e)r=t[i],r===undefined&&(r=t[500]),n[i]=e[i](r);return n},send_to_opened:function(t,n){return s.ajax.lock(function(){return s.ajax.vote(function(){return s.ajax.query(s.get_screen_url(s.opening),t,n).then(function(t){return s.opened.copy(s.opening),e(document).render({data:t,args:[s]})})}).then(null,function(e){return s.opening.equal(s.opened)||(s.opening.copy(s.opened),s.opening.open()),e})})}},open_action_from_link:function(t){return s.ajax.lock(function(){return s.ajax.vote(function(){var n=t.attr("rel"),r=t.attr("href");return r||(r=s.opened.path),s.ajax.query(l.expand({path:r,action:n}),{path:s.opened.path,screen:s.opened.screen}).then(function(t){return e(document).render({data:t,args:[s]})})})})}}),v=function(){var t=function(t){return function(n){try{var r=e.pa
 rseJSON(n.responseText),i;for(i in p)p[i].error!==undefined&&p[i].error(r);return r.content}catch(s){return t(n)}}};return s.ajax.create_error_handlers({400:t,401:t},r.error_messages)}(),e(d
 ocument).delegate("a.open-action","click",function(t){return s.open_action_from_link(e(this)),!1}),e(document).delegate("a.text-overlay","click",function(t){return s.ajax.query(e(this).attr("href")).then(function(t){return e(document).render({data:t,args:[s]})}),!1}),e(document).trigger("load-smiplugins",s);var m=function(t){var n=s.ajax.create_error_handlers({404:function(t){return function(n){return s.opening.is_default_screen()?t(n):e.Deferred().resolve(s.opening.default_screen())}}});return m=function(e){s.opening.read(e),s.opening.equal(s.opened)||s.ajax.send_to_opened(undefined,n)},m(t)};return e(window).hashchange(function(e,t){m(t.after)}),m(document.location.hash),s},t.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 $.when.apply($
 ,infrae.utils.map(payload.resources.js,resources.load_js))})),payload.resources.css&&infrae.utils.each(payload.resources.css,resources.load_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.re
 ject({status: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_handlers).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.opening.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-overl
 ay","click",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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/smi.navigation.min.js
--- a/src/silva/ui/static/js/smi.navigation.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/smi.navigation.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t,n){var r=function(r,i){var s=e(i.navigation.selector),o=s.children(".tree"),u=i.navigation.root_url,a=new n.Template(i.navigation.url,{}),f=new n.Template(i.navigation.parents_url,{}),l=function(e,t){return e.each(function(){t<0&&(t=0),o.scrollLeft(21*t)})},c=function(t){function n(t){var r=e("#"+t[0]),i=t.slice(1);return r.length>0?(i.length>0?o.jstree("open_node",r,function(){n(i)}):o.jstree("open_node",r,function(){o.jstree("select_node",r,!0)}),!0):!1}n(t)||o.jstree("deselect_all")},h=function(t){if(t.target===undefined)return;var n=e("#"+t.target,o);n.length>0&&o.jstree("delete_node",n)},p=function(t){if(t.parent===undefined)return;var n=e("#"+t.parent,o);n.length>0&&o.jstree("refresh",n)},d=function(e){e.length>0&&t.utils.each(e,function(e){switch(e.action){case"remove
 ":h(e.info);break;case"add":case"update":p(e.info)}})};return o.jstree({ui:{select_limit:1},core:{animation:100},plugins:["json_data","ui","hotkeys"],json_data:{ajax:{url:function(e){return 
 e==-1?u:a.expand({path:e.data("jstree").path})}}}}),o.bind("select_node.jstree",function(t,n){l(e(this),n.rslt.obj.parents("ul").length-2)}),o.bind("open_node.jstree",function(t,n){l(e(this),n.rslt.obj.parents("ul").length-2)}),o.bind("close_node.jstree",function(t,n){l(e(this),n.rslt.obj.parents("ul").length-3)}),o.delegate("a","click",function(t){return r.open_screen(e(this).parent().data("jstree").path),!1}),t.ui.selection.disable(s),o.jstree("disable_hotkeys"),s.bind("blur-keyboard",function(){o.jstree("disable_hotkeys")}),s.bind("focus-keyboard",function(){o.jstree("enable_hotkeys"),o.focus()}),r.shortcuts.create("navigation",o),{page:function(e){return e.navigation!=undefined&&(e.navigation.invalidation!=undefined&&d(e.navigation.invalidation),e.navigation.current!=undefined&&c(e.na
 vigation.current)),null}}};e.extend(t.smi.plugins,{navigation:r})})(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"),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("d
 eselect_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.paren
 t){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),!1}),infrae.ui.selection.disable($navigation),$tree.jstree("disable_hotkeys"),$navigati
 on.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)),null}}};$.extend(infrae.smi.plugins,{navigation:NavigationManager})}(jQuery,infrae,jsontemplate);
\ No newline at end of file
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/smi.notification.min.js
--- a/src/silva/ui/static/js/smi.notification.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/smi.notification.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){var n=function(n,r){var i=e(r.notifications.selector),s={themeState:"feedback",speed:r.notifications.speed===undefined&&"normal"||r.notifications.speed},o=function(t){var n=e.extend({},s);t.category=="error"&&(n.themeState="error"),e.jGrowl(t.message,n)};e(document).on("click","#jGrowl",function(t){e(this).jGrowl("close"),t.stopPropagation(),t.preventDefault()});var u={notify:o,notifies:function(e){t.utils.each(e,u.notify)},page:function(e){return e.notifications!=undefined&&t.utils.each(e.notifications,u.notify),null},error:function(e){return e.notifications!=undefined&&t.utils.each(e.notifications,u.notify),null}};if(!r.notifications.standard&&window.webkitNotifications){var a=window.webkitNotifications,f=function(e){var t=a.checkPermission();if(t==0)return!0;if(t==1)try{
 return a.requestPermission(function(){}),e===!0}catch(n){return!1}return!1};f(!0)&&e.extend(u,{notify:function(e){if(f(!1)){var t=a.createNotification("",e.message,"");e.autoclose&&(t.ondisp
 lay=function(){setTimeout(function(){t.cancel()},e.autoclose)}),t.show()}else o(e)}})}return e(document).bind("refresh-feedback-smi",function(){e.getJSON(r.notifications.url,function(e){e.notifications&&u.notifies(e.notifications)})}),e(document).bind("notify-feedback-smi",function(e,t){typeof t=="array"?u.notifies(t):u.notify(t)}),u};e.extend(t.smi.plugins,{notifications:n})})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/smi.ui.min.js
--- a/src/silva/ui/static/js/smi.ui.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/smi.ui.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){var n=280,r=650;e(document).ready(function(){var i=e("#navigation"),s=e("#workspace"),o=e("#smi-handle"),u=!1,a=null,f=288,l=function(t,n){if(n===undefined){if(t===undefined){t=f;if(t===undefined)return}u&&(i.show(),u=!1)}n===!0?f=undefined:n!==!1&&(f=t),i.css({width:t-8}),s.css({left:t+12}),e(window).trigger("workspace-resize-smi")},c=function(e){u||(i.hide(),u=!0),l(-8,e===!0?!0:!1)},h=function(){if(o.is(":visible")){var t=e(window).width(),n=o.position().top,i=o.position().left,s=t-r;i>s&&(l(s),o.css({left:s})),o.draggable("option","containment",[8,n,s,n])}},p=function(){var e=o.position().left;return e>n/2?e>n+8?(l(e),null):(l(n+8),!0):(c(!0),!1)},d=function(){var e=p();e===!0?o.css("left",n+8):e===!1&&o.css("left",-12)},v=e('<div id="smi-cover">');o.draggable({axis:"x"
 ,start:function(t,n){e("body").append(v)},drag:function(e,t){p()},stop:function(e,t){v.detach(),d()}}),h(),t.ui.selection.disable(o),e(window).bind("resize",h),e(window).bind("fullscreen-res
 ize-smi",function(e,t){t.active?(o.hide(),c()):(l(),o.show())})})})(jQuery,infrae),function(e,t){var n=function(t,n){return{page:function(t){return e(".tipsy").hide(),null}}};e.extend(t.smi.plugins,{tip:n})}(jQuery,infrae),function(e){e(document).ready(function(){var t=e("#workspace .header .fullscreen"),n=e("#workspace .header"),r=e("#workspace .content"),i=!1;t.bind("click",function(s){t.toggleClass("active"),n.toggleClass("compact-header"),r.toggleClass("extended-content"),i=!i,e(window).trigger("fullscreen-resize-smi",{active:i}),s.stopPropagation(),s.preventDefault()})})}(jQuery,infrae),function(e){e(document).ready(function(){var t=0,n=e("div#loading-message");n&&(e("body").ajaxSend(function(){t||n.fadeIn("fast"),t+=1}),e(document).ajaxComplete(function(){t-=1,t||n.fadeOut("fast")})
 )})}(jQuery),function(e){e(document).ready(function(){e(document).on("mouseenter","a.ui-state-default",function(){var t=e(this);t.parents(".ui-dialog").length==0&&(t.removeClass("ui-state-de
 fault"),t.addClass("ui-state-active"))}),e(document).on("mouseleave","a.ui-state-active",function(){var t=e(this);t.parents(".ui-dialog").length==0&&(t.removeClass("ui-state-active"),t.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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/smi.workspace.min.js
--- a/src/silva/ui/static/js/smi.workspace.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/smi.workspace.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e,t){t.views.view({iface:"preview",name:"content",factory:function(e,t,n){var r=!1,i=0,s=0,o=0,u=0,a=function(e){e.height(Math.min(o,i)),e.width(Math.min(u,s))};return{template_data:!0,template_nocache:!0,iframe:!0,resize_iframe:function(e,t){return u=e,o=t,r?(a(this.$iframe),!0):!1},set_resolution:function(e,t){r=!0,i=t,s=e,a(this.$iframe)},clear_resolution:function(){r=!1,this.$iframe.trigger("resize")},cleanup:function(){e.empty()}}}}),t.views.view({iface:"preview",name:"toolbar",factory:function(t,n,r,i){var s=n.menu.actions,o=r.options.preview?r.options.preview.resolutions:[],u=s&&s.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>{.repeate
 d section @}<option value={resolution|htmltag}>{name}</option>{.end}</select></div>{.end}',have_actions:u,resolutions:o,render:function(){u&&t.find(".content-toolbar ol").render({data:s}),o.
 length&&t.find(".resolution-preview select").on("change",function(){var t=e(this).attr("value"),n=t.match(/(\d*)x(\d*)/);n?i.set_resolution(n[1],n[2]):i.clear_resolution()})},cleanup:function(){t.empty()}}}}),t.views.view({iface:"redirect",factory:function(e,t,n){return{render:function(){n.open_screen(t.path,t.screen)}}}});var n=new jsontemplate.Template('<div id="smi-text"><div class="smi-text-content">{html}</div></div>',{});t.views.view({iface:"text-overlay",factory:function(t,r,i){var s=e(n.expand(r)),o=e('<div class="ui-widget-overlay"></div>'),u=function(t){if(!e(t.target).is("a"))return s.remove(),o.remove(),!1};return{render:function(){o.click(u),s.click(u),e("body").append(o),e("body").append(s)}}}}),t.views.view({iface:"view",factory:function(e,t,n){return{render:function(){wind
 ow.open(t.url)}}}}),t.views.view({iface:"message",factory:function(e,n,r){return{render:function(){return t.ui.ConfirmationDialog({title:n.title,message:n.message,not_cancellable:!0})}}}}),t
 .views.view({iface:"title",factory:function(n,r,i){return{jsont:'<ins class="icon"></ins>{data.title|html}',render:function(){var s="Silva";i.options.theme&&i.options.theme.name&&(s=i.options.theme.name),t.ui.icon(n.children("ins"),r.icon),e.browser.msie||e("head > title").html(s+" - "+r.title)}}}}),t.views.view({iface:"menu",factory:function(n,r){var i=n.hasClass("tabs"),s=e([]),o=function(t,n){var r=e("<li><a></a></li>"),u=r.children("a");i&&(n?(t.screen?u.addClass("top-screen"):u.addClass("top-label"),u.addClass("top-entry"),r.addClass("top-level")):r.addClass("sub-level")),t.name?u.html("<span>"+t.name+"</span>"):t.logo&&u.html('<ins class="tab-logo '+t.logo+'"/>'),t.screen?(u.addClass("open-screen"),u.attr("rel",t.screen)):t.action?(u.addClass("open-action"),u.attr("rel",t.action)):t
 .url&&(u.attr("href",t.url),t.target&&u.attr("target",t.target));if(t.icon){var a="tab-icon";t.action&&(a="action-icon"),u.addClass("ui-state-default"),u.prepend('<div class="'+a+'"><ins cla
 ss="ui-icon ui-icon-'+t.icon+'"></ins></div>')}t.active&&u.addClass("active"),t.description&&u.attr("title",t.description),t.accesskey&&u.attr("accesskey",t.accesskey),t.trigger&&u.addClass(t.trigger);if(t.entries){var f=e('<ol class="subtabs"></ol>'),l=e('<div class="subtab-icon"><ins></ins></div>'),c=t.screen&&n?l:u,h=function(t){var n=[],r=[],i=f.get(0);s.each(function(){this===i&&!t||e.contains(this,i)?n.push(this):r.push(this)}),e(r).fadeOut("fast"),s=e(n),t?s=e(n):s=e(n).add(i)};e.each(t.entries,function(e,t){f.append(o(t))}),f.bind("mouseleave",function(){h(!0)}),f.bind("click",function(){h(!0)}),c.bind(n?"click":"mouseenter",function(){var t=u.offset().left,r=f.width(),i=e(document).width();if(!n){var s=u.width();t+s+r<i?f.css("left",s):f.css("right",r-5),f.css("top",0)}else t+r<i
 ?f.css("left",0):f.css("right",0);return h(!1),f.show(),!1}),u.prepend(l),r.append(f)}return r};return{render:function(){e.each(r.entries,function(e,t){n.append(o(t,!0))}),n.tipsy({delegate:
 "a"}),t.ui.selection.disable(n),i||n.children("li:last").addClass("last-action")},cleanup:function(){n.unbind("open-menu"),n.unbind(".tipsy"),n.empty()}}}}),t.views.view({iface:"object",name:"header",factory:function(t,n,r,i,s){var o=function(e,t){t?((e.is("ol")?e:e.find("ol")).render({data:t}),e.show()):e.hide()},u=function(e,t,n){o(e.children(".user-menu"),t.user);if(!n)o(e.find(".view-actions"),t.view),o(e.children(".content-tabs"),t.content),o(e.find(".compact-tabs"),undefined);else{var r=[];t.content&&(r=r.concat(t.content.entries)),t.view&&(r=r.concat(t.view.entries)),o(e.find(".view-actions"),undefined),o(e.children(".content-tabs"),undefined),o(e.find(".compact-tabs"),{ifaces:["menu"],entries:[{logo:"tab-options",entries:r}]})}};return{render:function(){var o=t.children(".metadata
 "),a=t.find("a.parent"),f=t.hasClass("compact-header");o.children("h2").render({data:n.title,args:[r,s]}),o.children("#content-url").attr("href",i.expand({path:n.path})),u(o,n.menu,f),t.find
 (".admin-actions").tipsy({delegate:"a"}),t.children(".toolbar").render({data:n,name:"toolbar",args:[r,s]}),n.up!=null?(a.attr("href",n.up||"/"),a.attr("rel",r.opened.tab),a.removeClass("ui-state-disabled"),a.addClass("ui-state-default")):(a.addClass("ui-state-disabled"),a.removeClass("ui-state-default")),e(window).bind("fullscreen-resize-smi.default-header",function(e,t){u(o,n.menu,t.active)})},cleanup:function(){t.find(".admin-actions").unbind(".tipsy"),e(window).unbind("fullscreen-resize-smi.default-header")}}}}),t.views.view({iface:"object",name:"toolbar",factory:function(e,t){var n=t.menu.actions,r=n&&n.entries.length;return{jsont:'{.section have_actions}<div class="actions content-toolbar"><ol></ol></div>{.end}',have_actions:r,render:function(){r&&e.find(".content-toolbar ol").render
 ({data:n})},cleanup:function(){e.empty()}}}})})(jQuery,infrae);
\ No newline at end of file
+!function($,infrae){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,resize(this.$iframe)},clear_resolution:function(){resolution_fixed=!1,this.$iframe.trigger("resize")},cleanup:function(){$content.empty()}}}}),infrae.views.view({iface:"preview",name:"toolbar",fac
 tory: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{jso
 nt:'{.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_actions,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",fac
 tory: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(clear),$("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+" - "+dat
 a.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"):$link.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 class="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,container)?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(){clo
 se(!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?$co
 ntainer.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($container)}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&&(entri
 es=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-options",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"),void 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.m
 enu,compact),$content.find(".admin-actions").tipsy({delegate:"a"}),$content.children(".toolbar").render({data:data,name:"toolbar",args:[smi,view]}),null!=data.up?($parent.attr("href",data.up
 ||"/"),$parent.attr("rel",smi.opened.tab),$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-header",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,infrae);
\ No newline at end of file
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/thirdparty/jquery.hotkeys.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.hotkeys.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/thirdparty/jquery.hotkeys.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e){e.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 t=function(t){if(typeof t.data!="string")return;var n=t.handler,r=t.data.toLowerCase().split(" "),i=function(
 t){var i=t.type!=="keypress"&&e.hotkeys.specialKeys[t.which],s=String.fromCharCode(t.which).toLowerCase(),o,u="",a={};t.altKey&&i!=="alt"&&(u+="alt+"),t.ctrlKey&&i!=="ctrl"&&(u+="ctrl+"),t.m
 etaKey&&!t.ctrlKey&&i!=="meta"&&(u+="meta+"),t.shiftKey&&i!=="shift"&&(u+="shift+");if(!u&&this!==t.target&&(/textarea|select/i.test(t.target.nodeName)||/text|search/i.test(t.target.type)))return;i?a[u+i]=!0:(a[u+s]=!0,a[u+e.hotkeys.shiftNums[s]]=!0,u==="shift+"&&(a[e.hotkeys.shiftNums[s]]=!0));for(var f=0,l=r.length;f<l;f++)if(a[r[f]])return n.apply(this,arguments)};t.handler=i};e.each(["keydown","keyup","keypress"],function(){e.event.special[this]={add:t}})})(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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.css
--- a/src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -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.documentElement.scrollTop:document.body.scrollTop))+'px')}d
 iv.ie6.bottom-right{left:expression((0 - jGrowl.offsetWidth+(document.documentElement.clientWidth ? document.documentElement.clientWidth:document.body.clientWidth)+(ignoreMe2=document.docume
 ntElement.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:expre
 ssion((0+(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');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{bac
 kground-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.j
 Growl-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
diff -r e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/thirdparty/jquery.jgrowl.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e){e.jGrowl=function(t,n){e("#jGrowl").size()==0&&e('<div id="jGrowl"></div>').addClass(n&&n.position?n.position:e.jGrowl.defaults.position).appendTo("body"),e("#jGrowl").jGrowl(t,n)},e.fn.jGrowl=function(t,n){if(e.isFunction(this.each)){var r=arguments;return this.each(function(){var i=this;e(this).data("jGrowl.instance")==undefined&&(e(this).data("jGrowl.instance",e.extend(new e.fn.jGrowl,{notifications:[],element:null,interval:null})),e(this).data("jGrowl.instance").startup(this)),e.isFunction(e(this).data("jGrowl.instance")[t])?e(this).data("jGrowl.instance")[t].apply(e(this).data("jGrowl.instance"),e.makeArray(r).slice(1)):e(this).data("jGrowl.instance").create(t,n)})}},e.extend(e.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",glue:"
 after",theme:"default",themeState:"highlight",corners:"10px",check:250,life:1e4,closeDuration:"normal",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"&times;",closerTemplate:"
 <div>[ close all ]</div>",log:function(e,t,n){},beforeOpen:function(e,t,n){},afterOpen:function(e,t,n){},open:function(e,t,n){},beforeClose:function(e,t,n){},close:function(e,t,n){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(t,n){var n=e.extend({},this.defaults,n);typeof n.speed!="undefined"&&(n.openDuration=n.speed,n.closeDuration=n.speed),this.notifications.push({message:t,options:n}),n.log.apply(this.element,[this.element,t,n])},render:function(t){var n=this,r=t.message,i=t.options;i.themeState=i.themeState==""?"":"jGrowl-"+i.themeState;var t=e('<div class="jGrowl-notification '+i.themeState+" ui-corner-all"+(i.group!=undefined&&i.group!=""?" "+i.group:"")+'">'+'<div class="jGrowl-close">'+i.closeTemplate+"</d
 iv>"+'<div class="jGrowl-header">'+i.header+"</div>"+'<div class="jGrowl-message">'+r+"</div></div>").data("jGrowl",i).addClass(i.theme).children("div.jGrowl-close").bind("click.jGrowl",func
 tion(){e(this).parent().trigger("jGrowl.close")}).parent();e(t).bind("mouseover.jGrowl",function(){e("div.jGrowl-notification",n.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){e("div.jGrowl-notification",n.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){i.beforeOpen.apply(t,[t,r,i,n.element])!=0&&e(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){i.open.apply(t,[t,r,i,n.element])!=0&&(i.glue=="after"?e("div.jGrowl-notification:last",n.element).after(t):e("div.jGrowl-notification:first",n.element).before(t),e(this).animate(i.animateOpen,i.openDuration,i.easing,function(){e.browser.msie&&(parseInt(e(this).css("opacity"),10)===1||parseInt(e(this).css("opacity"),10)===0)&&this.style.removeAttribute("filter"),e(this).data("jGrowl")!=null
 &&(e(this).data("jGrowl").created=new Date),e(this).trigger("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpen",function(){i.afterOpen.apply(t,[t,r,i,n.element])}).bind("jGrowl.beforeClose",fun
 ction(){i.beforeClose.apply(t,[t,r,i,n.element])!=0&&e(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){e(this).data("jGrowl.pause",!0),e(this).animate(i.animateClose,i.closeDuration,i.easing,function(){e.isFunction(i.close)?i.close.apply(t,[t,r,i,n.element])!==!1&&e(this).remove():e(this).remove()})}).trigger("jGrowl.beforeOpen"),i.corners!=""&&e.fn.corner!=undefined&&e(t).corner(i.corners),e("div.jGrowl-notification:parent",n.element).size()>1&&e("div.jGrowl-closer",n.element).size()==0&&this.defaults.closer!=0&&e(this.defaults.closerTemplate).addClass("jGrowl-closer ui-corner-all").addClass(this.defaults.theme).appendTo(n.element).animate(i.animateOpen,i.openDuration,i.easing).bind("click.jGrowl",function(){e(this).siblings().trigger("jGrowl.beforeClose"),e.isFunction(n.d
 efaults.closer)&&n.defaults.closer.apply(e(this).parent()[0],[e(this).parent()[0]])})},update:function(){e(this.element).find("div.jGrowl-notification:parent").each(function(){e(this).data("
 jGrowl")!=undefined&&e(this).data("jGrowl").created!=undefined&&e(this).data("jGrowl").created.getTime()+parseInt(e(this).data("jGrowl").life)<(new Date).getTime()&&e(this).data("jGrowl").sticky!=1&&(e(this).data("jGrowl.pause")==undefined||e(this).data("jGrowl.pause")!=1)&&e(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(this.defaults.pool==0||e(this.element).find("div.jGrowl-notification:parent").size()<this.defaults.pool)&&this.render(this.notifications.shift()),e(this.element).find("div.jGrowl-notification:parent").size()<2&&e(this.element).find("div.jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){e(this).remove()})},startup:function(t){this.element=e(t).addClass("jGrowl").append('<div class="jGrowl-notificati
 on"></div>'),this.interval=setInterval(function(){e(t).data("jGrowl.instance").update()},parseInt(this.defaults.check)),e.browser.msie&&parseInt(e.browser.version)<7&&!window.XMLHttpRequest&
 &e(this.element).addClass("ie6")},shutdown:function(){e(this.element).removeClass("jGrowl").find("div.jGrowl-notification").remove(),clearInterval(this.interval)},close:function(){e(this.element).find("div.jGrowl-notification").each(function(){e(this).trigger("jGrowl.beforeClose")})}}),e.jGrowl.defaults=e.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:"&times;",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
 -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.jGr
 owl-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!==p
 arseInt($(this).css("opacity"),10)&&0!==parseInt($(this).css("opacity"),10)||this.style.removeAttribute("filter"),null!=$(this).data("jGrowl")&&($(this).data("jGrowl").created=new Date),$(th
 is).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.
 closerTemplate).addClass("jGrowl-closer ui-corner-all").addClass(this.defaults.theme).appendTo(self.element).animate(o.animateOpen,o.openDuration,o.easing).bind("click.jGrowl",function(){$(t
 his).siblings().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&&$(this.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&&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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/thirdparty/jquery.jstree.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.jstree.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/thirdparty/jquery.jstree.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,2 +1,2 @@
-"use strict";(function(e){e.vakata={},e.vakata.css={get_css:function(e,t,n){e=e.toLowerCase();var r=n.cssRules||n.rules,i=0;do{if(r.length&&i>r.length+5)return!1;if(r[i].selectorText&&r[i].selectorText.toLowerCase()==e)return t===!0?(n.removeRule&&n.removeRule(i),n.deleteRule&&n.deleteRule(i),!0):r[i]}while(r[++i]);return!1},add_css:function(t,n){return e.jstree.css.get_css(t,!1,n)?!1:(n.insertRule?n.insertRule(t+" { }",0):n.addRule(t,null,0),e.vakata.css.get_css(t))},remove_css:function(t,n){return e.vakata.css.get_css(t,!0,n)},add_sheet:function(e){var t;if(e.str)return t=document.createElement("style"),t.setAttribute("type","text/css"),t.styleSheet?(document.getElementsByTagName("head")[0].appendChild(t),t.styleSheet.cssText=e.str):(t.appendChild(document.createTextNode(e.str)),documen
 t.getElementsByTagName("head")[0].appendChild(t)),t.sheet||t.styleSheet;if(e.url){if(!document.createStyleSheet)return t=document.createElement("link"),t.rel="stylesheet",t.type="text/css",t
 .media="all",t.href=e.url,document.getElementsByTagName("head")[0].appendChild(t),t.styleSheet;try{t=document.createStyleSheet(e.url)}catch(n){}}}}})(jQuery),function(e){var t=[],n=-1,r={},i={},s=!1;e.fn.jstree=function(n){var i=typeof n=="string",s=Array.prototype.slice.call(arguments,1),o=this;return!i&&e.meta&&s.push(e.metadata.get(this).jstree),n=!i&&s.length?e.extend.apply(null,[!0,n].concat(s)):n,i&&n.substring(0,1)=="_"?o:(i?this.each(function(){var r=t[e.data(this,"jstree-instance-id")],i=r&&e.isFunction(r[n])?r[n].apply(r,s):r;if(typeof i!="undefined"&&(n.indexOf(!1)||i!==!0&&i!==!1))return o=i,!1}):this.each(function(){var i=e.data(this,"jstree-instance-id"),s=!1;typeof i!="undefined"&&t[i]&&t[i].destroy(),i=parseInt(t.push({}),10)-1,e.data(this,"jstree-instance-id",i),n||(n={})
 ,n.plugins=e.isArray(n.plugins)?n.plugins:e.jstree.defaults.plugins,e.inArray("core",n.plugins)===-1&&n.plugins.unshift("core"),s=e.extend(!0,{},e.jstree.defaults,n),s.plugins=n.plugins,e.ea
 ch(r,function(t,n){e.inArray(t,s.plugins)===-1&&(s[t]=null,delete s[t])}),t[i]=new e.jstree._instance(i,e(this).addClass("jstree jstree-"+i),s),e.each(t[i]._get_settings().plugins,function(e,n){t[i].data[n]={}}),e.each(t[i]._get_settings().plugins,function(e,n){r[n]&&r[n].__init.apply(t[i])}),t[i].init()}),o)},e.jstree={defaults:{plugins:[]},_focused:function(){return t[n]||null},_reference:function(n){if(t[n])return t[n];var r=e(n);return!r.length&&typeof n=="string"&&(r=e("#"+n)),r.length?t[r.closest(".jstree").data("jstree-instance-id")]||null:null},_instance:function(t,n,r){this.data={core:{}},this.get_settings=function(){return e.extend(!0,{},r)},this._get_settings=function(){return r},this.get_index=function(){return t},this.get_container=function(){return n},this._set_settings=func
 tion(t){r=e.extend(!0,{},r,t)}},_fn:{},plugin:function(t,n){n=e.extend({},{__init:e.noop,__destroy:e.noop,_fn:{},defaults:!1},n),r[t]=n,e.jstree.defaults[t]=n.defaults,e.each(n._fn,function(
 n,r){r.plugin=t,r.old=e.jstree._fn[n],e.jstree._fn[n]=function(){var t,i=r,s=Array.prototype.slice.call(arguments),o=new e.Event("before.jstree"),u=!1;do{if(i&&i.plugin&&e.inArray(i.plugin,this._get_settings().plugins)!==-1)break;i=i.old}while(i);if(!i)return;t=this.get_container().triggerHandler(o,{func:n,inst:this,args:s});if(t===!1)return;return typeof t!="undefined"&&(s=t),n.indexOf("_")===0?t=i.apply(this,s):t=i.apply(e.extend({},this,{__callback:function(e){this.get_container().triggerHandler(n+".jstree",{inst:this,args:s,rslt:e,rlbk:u})},__rollback:function(){return u=this.get_rollback(),u},__call_old:function(e){return i.old.apply(this,e?Array.prototype.slice.call(arguments,1):s)}}),s),t},e.jstree._fn[n].old=r.old,e.jstree._fn[n].plugin=t})},rollback:function(n){n&&(e.isArray(n)||
 (n=[n]),e.each(n,function(e,n){t[n.i].set_rollback(n.h,n.d)}))}},e.jstree._fn=e.jstree._instance.prototype={},e(function(){var t=navigator.userAgent.toLowerCase(),n=(t.match(/.+?(?:rv|it|ra|
 ie)[\/: ]([\d.]+)/)||[0,"0"])[1],r=".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; 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-l
 eft:3px; margin-right:0; } li.jstree-open > ul { display:block; } li.jstree-closed > ul { display:none; } ";/msie/.test(t)&&parseInt(n,10)==6&&(s=!0,r+=".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(t)&&parseInt(n,10)==7&&(r+=".jstree li a { border-width:0 !important; padding:0px 2px !important; } "),e.vakata.css.add_sheet({str:r})}),e.jstree.plugin("core",{__init:function(){this.data.core.to_open=e.map(e.makeArray(this.get_settings().core.initially_open),function(e){return"#"+e.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/")})},defaults:{html_t
 itles:!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>&#160;</ins><a class='jstree-loading' href='#'><ins class='jstree-icon'>&#160;</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",e.proxy(function(t){var n=e(t.target);n.is("ins")&&t.pageY-n.offset().top<this.data.core.li_height&&this.toggle_node(n)},this)).bind("mousedown.jstree",e.proxy(function(){this.set_focus()},this)).bind("dblclick.jstree",function(e){var t;if(document.selection&&document.selection.empty)document.selection.empty();else if(window.getSelection){t=window.getSelection();t
 ry{t.removeAllRanges(),t.collapse()}catch(n){}}}),this.__callback(),this.load_node(-1,function(){this.loaded(),this.reopen()})},destroy:function(){var i,s=this.get_index(),o=this._get_settin
 gs(),u=this;e.each(o.plugins,function(e,t){try{r[t].__destroy.apply(u)}catch(n){}}),this.__callback();if(this.is_focused())for(i in t)if(t.hasOwnProperty(i)&&i!=s){t[i].set_focus();break}s===n&&(n=-1),this.get_container().unbind(".jstree").undelegate(".jstree").removeData("jstree-instance-id").find("[class^='jstree']").andSelf().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/ig,"")}),t[s]=null,delete t[s]},save_opened:function(){var e=this;this.data.core.to_open=[],this.get_container().find(".jstree-open").each(function(){e.data.core.to_open.push("#"+this.id.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/"))}),this.__callback(e.data.core.to_open)},reopen:function(t){var n=this,r=!0,i=[],s=[];t||(this.data.core.reopen=!1,this.data.core.refreshing=!0),t
 his.data.core.to_open.length&&(e.each(this.data.core.to_open,function(t,n){if(n=="#")return!0;e(n).length&&e(n).is(".jstree-closed")?i.push(n):s.push(n)}),i.length&&(this.data.core.to_open=s
 ,e.each(i,function(e,t){n.open_node(t,function(){n.reopen(!0)},!0)}),r=!1)),r&&(this.data.core.reopen&&clearTimeout(this.data.core.reopen),this.data.core.reopen=setTimeout(function(){n.__callback({},n)},50),this.data.core.refreshing=!1)},refresh:function(e){var t=this;this.save_opened(),e||(e=-1),e=this._get_node(e),e||(e=-1),e!==-1&&e.children("UL").remove(),this.load_node(e,function(){t.__callback({obj:e}),t.reopen()})},loaded:function(){this.__callback()},set_focus:function(){var t=e.jstree._focused();t&&t!==this&&t.get_container().removeClass("jstree-focused"),t!==this&&(this.get_container().addClass("jstree-focused"),n=this.get_index()),this.__callback()},is_focused:function(){return n==this.get_index()},_get_node:function(t){var n=e(t,this.get_container());return n.is(".jstree")||t=
 =-1?-1:(n=n.closest("li",this.get_container()),n.length?n:!1)},_get_next:function(e,t){return e=this._get_node(e),e===-1?this.get_container().find("> ul > li:first-child"):e.length?t?e.nextA
 ll("li").size()>0?e.nextAll("li:eq(0)"):!1:e.hasClass("jstree-open")?e.find("li:eq(0)"):e.nextAll("li").size()>0?e.nextAll("li:eq(0)"):e.parentsUntil(".jstree","li").next("li").eq(0):!1},_get_prev:function(e,t){e=this._get_node(e);if(e===-1)return this.get_container().find("> ul > li:last-child");if(!e.length)return!1;if(t)return e.prevAll("li").length>0?e.prevAll("li:eq(0)"):!1;if(e.prev("li").length){e=e.prev("li").eq(0);while(e.hasClass("jstree-open"))e=e.children("ul:eq(0)").children("li:last");return e}var n=e.parentsUntil(".jstree","li:eq(0)");return n.length?n:!1},_get_parent:function(e){e=this._get_node(e);if(e==-1||!e.length)return!1;var t=e.parentsUntil(".jstree","li:eq(0)");return t.length?t:-1},_get_children:function(e){return e=this._get_node(e),e===-1?this.get_container().ch
 ildren("ul:eq(0)").children("li"):e.length?e.children("ul:eq(0)").children("li"):!1},get_path:function(e,t){var n=[],r=this;return e=this._get_node(e),e===-1||!e||!e.length?!1:(e.parentsUnti
 l(".jstree","li").each(function(){n.push(t?this.id:r.get_text(this))}),n.reverse(),n.push(t?e.attr("id"):this.get_text(e)),n)},is_open:function(e){return e=this._get_node(e),e&&e!==-1&&e.hasClass("jstree-open")},is_closed:function(e){return e=this._get_node(e),e&&e!==-1&&e.hasClass("jstree-closed")},is_leaf:function(e){return e=this._get_node(e),e&&e!==-1&&e.hasClass("jstree-leaf")},open_node:function(e,t,n){e=this._get_node(e);if(!e.length)return!1;if(!e.hasClass("jstree-closed"))return t&&t.call(),!1;var r=n||s?0:this._get_settings().core.animation,i=this;this._is_loaded(e)?(r&&e.children("ul").css("display","none"),e.removeClass("jstree-closed").addClass("jstree-open").children("a").removeClass("jstree-loading"),r&&e.children("ul").stop(!0).slideDown(r,function(){this.style.display=""}
 ),this.__callback({obj:e}),t&&t.call()):(e.children("a").addClass("jstree-loading"),this.load_node(e,function(){i.open_node(e,t,n)},t))},close_node:function(e,t){e=this._get_node(e);var n=t|
 |s?0:this._get_settings().core.animation;if(!e.length||!e.hasClass("jstree-open"))return!1;n&&e.children("ul").attr("style","display:block !important"),e.removeClass("jstree-open").addClass("jstree-closed"),n&&e.children("ul").stop(!0).slideUp(n,function(){this.style.display=""}),this.__callback({obj:e})},toggle_node:function(e){e=this._get_node(e);if(e.hasClass("jstree-closed"))return this.open_node(e);if(e.hasClass("jstree-open"))return this.close_node(e)},open_all:function(e,t){e=e?this._get_node(e):this.get_container();if(!e||e===-1)e=this.get_container();t?e=e.find("li.jstree-closed"):(t=e,e.is(".jstree-closed")?e=e.find("li.jstree-closed").andSelf():e=e.find("li.jstree-closed"));var n=this;e.each(function(){var e=this;n._is_loaded(this)?n.open_node(this,!1,!0):n.open_node(this,funct
 ion(){n.open_all(e,t)},!0)}),t.find("li.jstree-closed").length===0&&this.__callback({obj:t})},close_all:function(e){var t=this;e=e?this._get_node(e):this.get_container();if(!e||e===-1)e=this
 .get_container();e.find("li.jstree-open").andSelf().each(function(){t.close_node(this)}),this.__callback({obj:e})},clean_node:function(t){t=t&&t!=-1?e(t):this.get_container(),t=t.is("li")?t.find("li").andSelf():t.find("li"),t.removeClass("jstree-last").filter("li:last-child").addClass("jstree-last").end().filter(":has(li)").not(".jstree-open").removeClass("jstree-leaf").addClass("jstree-closed"),t.not(".jstree-open, .jstree-closed").addClass("jstree-leaf").children("ul").remove(),this.__callback({obj:t})},get_rollback:function(){return this.__callback(),{i:this.get_index(),h:this.get_container().children("ul").clone(!0),d:this.data}},set_rollback:function(e,t){this.get_container().empty().append(e),this.data=t,this.__callback()},load_node:function(e,t,n){this.__callback({obj:e})},_is_load
 ed:function(e){return!0},create_node:function(t,n,r,i,s){t=this._get_node(t),n=typeof n=="undefined"?"last":n;var o=e("<li>"),u=this._get_settings().core,a;if(t!==-1&&!t.length)return!1;if(!
 s&&!this._is_loaded(t))return this.load_node(t,function(){this.create_node(t,n,r,i,!0)}),!1;this.__rollback(),typeof r=="string"&&(r={data:r}),r||(r={}),r.attr&&o.attr(r.attr),r.state&&o.addClass("jstree-"+r.state),r.data||(r.data=u.strings.new_node),e.isArray(r.data)||(a=r.data,r.data=[],r.data.push(a)),e.each(r.data,function(t,n){a=e("<a>"),e.isFunction(n)&&(n=n.call(this,r)),typeof n=="string"?a.attr("href","#")[u.html_titles?"html":"text"](n):(n.attr||(n.attr={}),n.attr.href||(n.attr.href="#"),a.attr(n.attr)[u.html_titles?"html":"text"](n.title),n.language&&a.addClass(n.language)),a.prepend("<ins class='jstree-icon'>&#160;</ins>"),n.icon&&(n.icon.indexOf("/")===-1?a.children("ins").addClass(n.icon):a.children("ins").css("background","url('"+n.icon+"') center center no-repeat")),o.appe
 nd(a)}),o.prepend("<ins class='jstree-icon'>&#160;</ins>"),t===-1&&(t=this.get_container(),n==="before"&&(n="first"),n==="after"&&(n="last"));switch(n){case"before":t.before(o),a=this._get_p
 arent(t);break;case"after":t.after(o),a=this._get_parent(t);break;case"inside":case"first":t.children("ul").length||t.append("<ul>"),t.children("ul").prepend(o),a=t;break;case"last":t.children("ul").length||t.append("<ul>"),t.children("ul").append(o),a=t;break;default:t.children("ul").length||t.append("<ul>"),n||(n=0),a=t.children("ul").children("li").eq(n),a.length?a.before(o):t.children("ul").append(o),a=t}if(a===-1||a.get(0)===this.get_container().get(0))a=-1;return this.clean_node(a),this.__callback({obj:o,parent:a}),i&&i.call(this,o),o},get_text:function(e){e=this._get_node(e);if(!e.length)return!1;var t=this._get_settings().core.html_titles;return e=e.children("a:eq(0)"),t?(e=e.clone(),e.children("INS").remove(),e.html()):(e=e.contents().filter(function(){return this.nodeType==3})[0
 ],e.nodeValue)},set_text:function(e,t){e=this._get_node(e);if(!e.length)return!1;e=e.children("a:eq(0)");if(this._get_settings().core.html_titles){var n=e.children("INS").clone();return e.ht
 ml(t).prepend(n),this.__callback({obj:e,name:t}),!0}return e=e.contents().filter(function(){return this.nodeType==3})[0],this.__callback({obj:e,name:t}),e.nodeValue=t},rename_node:function(e,t){e=this._get_node(e),this.__rollback(),e&&e.length&&this.set_text.apply(this,Array.prototype.slice.call(arguments))&&this.__callback({obj:e,name:t})},delete_node:function(e){e=this._get_node(e);if(!e.length)return!1;this.__rollback();var t=this._get_parent(e),n=this._get_prev(e);return e=e.remove(),t!==-1&&t.find("> ul > li").length===0&&t.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"),this.clean_node(t),this.__callback({obj:e,prev:n}),e},prepare_move:function(t,n,r,s,o){var u={};u.ot=e.jstree._reference(u.o)||this,u.o=u.ot._get_node(t),u.r=n===-1?-1:this._get_node(n),u.p=typeof u=
 ="undefined"?"last":r;if(!o&&i.o&&i.o[0]===u.o[0]&&i.r[0]===u.r[0]&&i.p===u.p){this.__callback(i),s&&s.call(this,i);return}u.ot=e.jstree._reference(u.o)||this,u.rt=n===-1?u.ot:e.jstree._refe
 rence(u.r)||this;if(u.r===-1){u.cr=-1;switch(u.p){case"first":case"before":case"inside":u.cp=0;break;case"after":case"last":u.cp=u.rt.get_container().find(" > ul > li").length;break;default:u.cp=u.p}}else{if(!/^(before|after)$/.test(u.p)&&!this._is_loaded(u.r))return this.load_node(u.r,function(){this.prepare_move(t,n,r,s,!0)});switch(u.p){case"before":u.cp=u.r.index(),u.cr=u.rt._get_parent(u.r);break;case"after":u.cp=u.r.index()+1,u.cr=u.rt._get_parent(u.r);break;case"inside":case"first":u.cp=0,u.cr=u.r;break;case"last":u.cp=u.r.find(" > ul > li").length,u.cr=u.r;break;default:u.cp=u.p,u.cr=u.r}}u.np=u.cr==-1?u.rt.get_container():u.cr,u.op=u.ot._get_parent(u.o),u.or=u.np.find(" > ul > li:nth-child("+(u.cp+1)+")"),i=u,this.__callback(i),s&&s.call(this,i)},check_move:function(){var e=i,t=!
 0;return e.or[0]===e.o[0]?!1:(e.o.each(function(){if(e.r.parentsUntil(".jstree").andSelf().filter("li").index(this)!==-1)return t=!1,!1}),t)},move_node:function(t,n,r,s,o,u){if(!o)return thi
 s.prepare_move(t,n,r,function(e){this.move_node(e,!1,!1,s,!0,u)});if(!u&&!this.check_move())return!1;this.__rollback();var a=!1;s?(a=t.o.clone(),a.find("*[id]").andSelf().each(function(){this.id&&(this.id="copy_"+this.id)})):a=t.o,t.or.length?t.or.before(a):(t.np.children("ul").length||e("<ul>").appendTo(t.np),t.np.children("ul:eq(0)").append(a));try{t.ot.clean_node(t.op),t.rt.clean_node(t.np),t.op.find("> ul > li").length||t.op.removeClass("jstree-open jstree-closed").addClass("jstree-leaf").children("ul").remove()}catch(f){}return s&&(i.cy=!0,i.oc=a),this.__callback(i),i},_get_move:function(){return i}}})}(jQuery),function(e){e.jstree.plugin("ui",{__init:function(){this.data.ui.selected=e(),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",e.proxy(function(e){e.preventDefault(),this.select_node(e.currentTarget,!0,e)},this)).delegate("a","mouseenter.jstree",
 e.proxy(function(e){this.hover_node(e.target)},this)).delegate("a","mouseleave.jstree",e.proxy(function(e){this.dehover_node(e.target)},this)).bind("reopen.jstree",e.proxy(function(){this.reselect()},this)).bind("get_rollback.jstree",e.proxy(function(){this.dehover_node(),this.save_selected()},this)).bind("set_rollback.jstree",e.proxy(function(){this.reselect()},this)).bind("close_node.jstree",e.proxy(function(t,n){var r=this._get_settings().ui,i=this._get_node(n.rslt.obj),s=i&&i.length?i.children("ul").find(".jstree-clicked"):e(),o=this;if(r.selected_parent_close===!1||!s.length)return;s.each(function(){o.deselect_node(this),r.selected_parent_close==="select_parent"&&o.select_node(i)})},this)).bind("delete_node.jstree",e.proxy(function(e,t){var n=this._get_settings().ui.select_prev_on_de
 lete,r=this._get_node(t.rslt.obj),i=r&&r.length?r.find(".jstree-clicked"):[],s=this;i.each(function(){s.deselect_node(this)}),n&&i.length&&this.select_node(t.rslt.prev)},this)).bind("move_no
 de.jstree",e.proxy(function(e,t){t.rslt.cy&&t.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(t,n){if(typeof t=="undefined"||t===null)return n?this.data.ui.selected:this.data.ui.last_selected;var r=e(t,this.get_container());return r.is(".jstree")||t==-1?-1:(r=r.closest("li",this.get_container()),r.length?r:!1)},save_selected:function(){var e=this;this.data.ui.to_select=[],this.data.ui.selected.each(function(){e.data.ui.to_select.push("#"+this.id.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/"))}),this.__callback(this.data.ui.to_select)},reselect:function(){
 var t=this,n=this.data.ui.to_select;n=e.map(e.makeArray(n),function(e){return"#"+e.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/")}),this.deselect_all(),e.each(n,function(e
 ,n){n&&n!=="#"&&t.select_node(n)}),this.__callback()},refresh:function(e){return this.save_selected(),this.__call_old()},hover_node:function(e){e=this._get_node(e);if(!e.length)return!1;e.hasClass("jstree-hovered")||this.dehover_node(),this.data.ui.hovered=e.children("a").addClass("jstree-hovered").parent(),this.__callback({obj:e})},dehover_node:function(){var e=this.data.ui.hovered,t;if(!e||!e.length)return!1;t=e.children("a").removeClass("jstree-hovered").parent(),this.data.ui.hovered[0]===t[0]&&(this.data.ui.hovered=null),this.__callback({obj:e})},select_node:function(e,t,n){e=this._get_node(e);if(e==-1||!e||!e.length)return!1;var r=this._get_settings().ui,i=r.select_multiple_modifier=="on"||r.select_multiple_modifier!==!1&&n&&n[r.select_multiple_modifier+"Key"],s=this.is_selected(e),o
 =!0;if(t){if(r.disable_selecting_children&&i&&e.parents("li",this.get_container()).children(".jstree-clicked").length)return!1;o=!1;switch(!0){case s&&!i:this.deselect_all(),s=!1,o=!0;break;
 case!s&&!i:if(r.select_limit==-1||r.select_limit>0)this.deselect_all(),o=!0;break;case s&&i:this.deselect_node(e);break;case!s&&i:if(r.select_limit==-1||this.data.ui.selected.length+1<=r.select_limit)o=!0}}o&&!s&&(e.children("a").addClass("jstree-clicked"),this.data.ui.selected=this.data.ui.selected.add(e),this.data.ui.last_selected=e,this.__callback({obj:e}))},deselect_node:function(e){e=this._get_node(e);if(!e.length)return!1;this.is_selected(e)&&(e.children("a").removeClass("jstree-clicked"),this.data.ui.selected=this.data.ui.selected.not(e),this.data.ui.last_selected.get(0)===e.get(0)&&(this.data.ui.last_selected=this.data.ui.selected.eq(0)),this.__callback({obj:e}))},toggle_select:function(e){e=this._get_node(e);if(!e.length)return!1;this.is_selected(e)?this.deselect_node(e):this.sel
 ect_node(e)},is_selected:function(e){return this.data.ui.selected.index(this._get_node(e))>=0},get_selected:function(t){return t?e(t).find(".jstree-clicked").parent():this.data.ui.selected},
 deselect_all:function(t){t?e(t).find(".jstree-clicked").removeClass("jstree-clicked"):this.get_container().find(".jstree-clicked").removeClass("jstree-clicked"),this.data.ui.selected=e([]),this.data.ui.last_selected=!1,this.__callback()}}}),e.jstree.defaults.plugins.push("ui")}(jQuery),function(e){e.jstree.plugin("crrm",{__init:function(){this.get_container().bind("move_node.jstree",e.proxy(function(e,t){if(this._get_settings().crrm.move.open_onmove){var n=this;t.rslt.np.parentsUntil(".jstree").andSelf().filter(".jstree-closed").each(function(){n.open_node(this,!1,!0)})}},this))},defaults:{input_width_limit:200,move:{always_copy:!1,open_onmove:!0,default_position:"last",check_move:function(e){return!0}}},_fn:{_show_input:function(t,n){t=this._get_node(t);var r=this._get_settings().core.rt
 l,i=this._get_settings().crrm.input_width_limit,s=t.children("ins").width(),o=t.find("> a:visible > ins").width()*t.find("> a:visible > ins").length,u=this.get_text(t),a=e("<div>",{css:{posi
 tion:"absolute",top:"-200px",left:r?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),f=t.css("position","relative").append(e("<input>",{value:u,css:{padding:"0",border:"1px solid silver",position:"absolute",left:r?"auto":s+o+4+"px",right:r?s+o+4+"px":"auto",top:"0px",height:this.data.core.li_height-2+"px",lineHeight:this.data.core.li_height-2+"px",width:"150px"},blur:e.proxy(function(){var e=t.children("input"),r=e.val();r===""&&(r=u),e.remove(),this.set_text(t,u),this.rename_node(t,r),n.call(this,t,r,u),t.css("position","")},this),keyup:function(e){var t=e.keyCode||e.which;if(t==27){this.value=u,this.blur();return}if(t==13){this.blur();return}f.width(Math.min(a.text("pW"+this.value).width(),i))}})).children("input");this.set_text(t,""),a.css({fontFamily:f.css("fontFamily")||"",fon
 tSize:f.css("fontSize")||"",fontWeight:f.css("fontWeight")||"",fontStyle:f.css("fontStyle")||"",fontStretch:f.css("fontStretch")||"",fontVariant:f.css("fontVariant")||"",letterSpacing:f.css(
 "letterSpacing")||"",wordSpacing:f.css("wordSpacing")||""}),f.width(Math.min(a.text("pW"+f[0].value).width(),i))[0].select()},rename:function(e){e=this._get_node(e),this.__rollback();var t=this.__callback;this._show_input(e,function(e,n,r){t.call(this,{obj:e,new_name:n,old_name:r})})},create:function(t,n,r,i,s){var o,u=this;return t=this._get_node(t),t||(t=-1),this.__rollback(),o=this.create_node(t,n,r,function(t){var n=this._get_parent(t),r=e(t).index();i&&i.call(this,t),n.length&&n.hasClass("jstree-closed")&&this.open_node(n,!1,!0),s?u.__callback({obj:t,name:this.get_text(t),parent:n,position:r}):this._show_input(t,function(e,t,i){u.__callback({obj:e,name:t,parent:n,position:r})})}),o},remove:function(e){e=this._get_node(e,!0),this.__rollback(),this.delete_node(e),this.__callback({obj:e
 })},check_move:function(){if(!this.__call_old())return!1;var e=this._get_settings().crrm.move;return e.check_move.call(this,this._get_move())?!0:!1},move_node:function(e,t,n,r,i,s){var o=thi
 s._get_settings().crrm.move;if(!i)return n||(n=o.default_position),n==="inside"&&!o.default_position.match(/^(before|after)$/)&&(n=o.default_position),this.__call_old(!0,e,t,n,r,!1,s);if(o.always_copy===!0||o.always_copy==="multitree"&&e.rt.get_index()!==e.ot.get_index())r=!0;this.__call_old(!0,e,t,n,r,!0,s)},cut:function(e){e=this._get_node(e),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1;if(!e||!e.length)return!1;this.data.crrm.ct_nodes=e},copy:function(e){e=this._get_node(e),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1;if(!e||!e.length)return!1;this.data.crrm.cp_nodes=e},paste:function(e){e=this._get_node(e);if(!e||!e.length)return!1;if(!this.data.crrm.ct_nodes&&!this.data.crrm.cp_nodes)return!1;this.data.crrm.ct_nodes&&this.move_node(this.data.crrm.ct_nodes,e),this.da
 ta.crrm.cp_nodes&&this.move_node(this.data.crrm.cp_nodes,e,!1,!0),this.data.crrm.cp_nodes=!1,this.data.crrm.ct_nodes=!1}}}),e.jstree.defaults.plugins.push("crrm")}(jQuery),function(e){var t=
 [];e.jstree._themes=!1,e.jstree.plugin("themes",{__init:function(){this.get_container().bind("init.jstree",e.proxy(function(){var e=this._get_settings().themes;this.data.themes.dots=e.dots,this.data.themes.icons=e.icons,this.set_theme(e.theme,e.url)},this)).bind("loaded.jstree",e.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(n,r){if(!n)return!1;r||(r=e.jstree._themes+n+"/style.css"),e.inArray(r,t)==-1&&(e.vakata.css.add_sheet({url:r,rel:"jstree"}),t.push(r)),this.data.themes.theme!=n&&(this.get_container().removeClass("jstree-"+this.data.themes.theme),this.data.themes.theme=n),this.get_container().addClass("jstree-"+n),th
 is.data.themes.dots?this.show_dots():this.hide_dots(),this.data.themes.icons?this.show_icons():this.hide_icons(),this.__callback()},get_theme:function(){return this.data.themes.theme},show_d
 ots:function(){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()}}}),e(function(){e.jstree._themes===!1&&e("script").each(function(){if(this.src.toString().match(/jquery\.jstree[^\/]*?\.js(\?.*)?$/))return e.jstree._themes=this.src.toString().replace(/jqu
 ery\.jstree[^\/]*?\.js(\?.*)?$/,"")+"themes/",!1}),e.jstree._themes===!1&&(e.jstree._themes="themes/")}),e.jstree.defaults.plugins.push("themes")}(jQuery),function(e){function n(t,n){var r=e
 .jstree._focused(),i;if(r&&r.data&&r.data.hotkeys&&r.data.hotkeys.enabled){i=r._get_settings().hotkeys[t];if(i)return i.call(r,n)}}var t=[];e.jstree.plugin("hotkeys",{__init:function(){if(typeof e.hotkeys=="undefined")throw"jsTree hotkeys: jQuery hotkeys plugin not included.";if(!this.data.ui)throw"jsTree hotkeys: jsTree UI plugin not included.";e.each(this._get_settings().hotkeys,function(r,i){e.inArray(r,t)==-1&&(e(document).bind("keydown",r,function(e){return n(r,e)}),t.push(r))}),this.enable_hotkeys()},defaults:{up:function(){var e=this.data.ui.hovered||this.data.ui.last_selected||-1;return this.hover_node(this._get_prev(e)),!1},down:function(){var e=this.data.ui.hovered||this.data.ui.last_selected||-1;return this.hover_node(this._get_next(e)),!1},left:function(){var e=this.data.ui.ho
 vered||this.data.ui.last_selected;if(e)return e.hasClass("jstree-open")?this.close_node(e):this.hover_node(this._get_prev(e)),!1},right:function(){var e=this.data.ui.hovered||this.data.ui.la
 st_selected;if(e&&e.length)return e.hasClass("jstree-closed")?this.open_node(e):this.hover_node(this._get_next(e)),!1},space:function(){if(this.data.ui.hovered)return this.data.ui.hovered.children("a:eq(0)").click(),!1},"ctrl+space":function(e){e.type="click";if(this.data.ui.hovered)return this.data.ui.hovered.children("a:eq(0)").trigger(e),!1},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(e){e.jstree.plugin("json_data",{defaults:{data:!1,ajax:!1,correct_state:!0,progressive_render:!1},_fn:{load_node:function(e,t,n){var r=this;this.load_node_json(e,f
 unction(){r.__callback({obj:e}),t.call(this)},n)},_is_loaded:function(t){var n=this._get_settings().json_data,r;return t=this._get_node(t),t&&t!==-1&&n.progressive_render&&!t.is(".jstree-ope
 n, .jstree-leaf")&&t.children("ul").children("li").length===0&&t.data("jstree-children")?(r=this._parse_json(t.data("jstree-children")),r&&(t.append(r),e.removeData(t,"jstree-children")),this.clean_node(t),!0):t==-1||!t||!n.ajax||t.is(".jstree-open, .jstree-leaf")||t.children("ul").children("li").size()>0},load_node_json:function(t,n,r){var i=this.get_settings().json_data,s,o=function(){},u=function(){};t=this._get_node(t);if(t&&t!==-1){if(t.data("jstree-is-loading"))return;t.data("jstree-is-loading",!0)}switch(!0){case!i.data&&!i.ajax:throw"Neither data nor ajax settings supplied.";case!!i.data&&!i.ajax||!!i.data&&!!i.ajax&&(!t||t===-1):if(!t||t==-1)s=this._parse_json(i.data),s?(this.get_container().children("ul").empty().append(s.children()),this.clean_node()):i.correct_state&&this.get_
 container().children("ul").empty();n&&n.call(this);break;case!i.data&&!!i.ajax||!!i.data&&!!i.ajax&&t&&t!==-1:o=function(e,n,s){var o=this.get_settings().json_data.ajax.error;o&&o.call(this,
 e,n,s),t!=-1&&t.length?(t.children(".jstree-loading").removeClass("jstree-loading"),t.data("jstree-is-loading",!1),n==="success"&&i.correct_state&&t.removeClass("jstree-open jstree-closed").addClass("jstree-leaf")):n==="success"&&i.correct_state&&this.get_container().children("ul").empty(),r&&r.call(this)},u=function(r,s,u){var a=this.get_settings().json_data.ajax.success;a&&(r=a.call(this,r,s,u)||r);if(r===""||!e.isArray(r)&&!e.isPlainObject(r))return o.call(this,u,s,"");r=this._parse_json(r),r?(t===-1||!t?this.get_container().children("ul").empty().append(r.children()):(t.append(r).children(".jstree-loading").removeClass("jstree-loading"),t.data("jstree-is-loading",!1)),this.clean_node(t),n&&n.call(this)):t===-1||!t?i.correct_state&&(this.get_container().children("ul").empty(),n&&n.call
 (this)):(t.children(".jstree-loading").removeClass("jstree-loading"),t.data("jstree-is-loading",!1),i.correct_state&&(t.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"),n&&n.
 call(this)))},i.ajax.context=this,i.ajax.error=o,i.ajax.success=u,i.ajax.dataType||(i.ajax.dataType="json"),e.isFunction(i.ajax.url)&&(i.ajax.url=i.ajax.url.call(this,t)),e.isFunction(i.ajax.data)&&(i.ajax.data=i.ajax.data.call(this,t)),e.ajax(i.ajax)}},_parse_json:function(t,n){var r=!1,i=this._get_settings(),s=i.json_data,o=i.core.html_titles,u,a,f,l,c;if(!t)return r;e.isFunction(t)&&(t=t.call(this));if(e.isArray(t)){r=e();if(!t.length)return!1;for(a=0,f=t.length;a<f;a++)u=this._parse_json(t[a],!0),u.length&&(r=r.add(u))}else{typeof t=="string"&&(t={data:t});if(!t.data&&t.data!=="")return r;r=e("<li>"),t.attr&&r.attr(t.attr),t.metadata&&r.data("jstree",t.metadata),t.state&&r.addClass("jstree-"+t.state),e.isArray(t.data)||(u=t.data,t.data=[],t.data.push(u)),e.each(t.data,function(n,i){u=
 e("<a>"),e.isFunction(i)&&(i=i.call(this,t)),typeof i=="string"?u.attr("href","#")[o?"html":"text"](i):(i.attr||(i.attr={}),i.attr.href||(i.attr.href="#"),u.attr(i.attr)[o?"html":"text"](i.t
 itle),i.language&&u.addClass(i.language)),u.prepend("<ins class='jstree-icon'>&#160;</ins>"),!i.icon&&t.icon&&(i.icon=t.icon),i.icon&&
-(i.icon.indexOf("/")===-1?u.children("ins").addClass(i.icon):u.children("ins").css("background","url('"+i.icon+"') center center no-repeat")),r.append(u)}),r.prepend("<ins class='jstree-icon'>&#160;</ins>"),t.children&&(s.progressive_render&&t.state!=="open"?r.addClass("jstree-closed").data("jstree-children",t.children):(e.isFunction(t.children)&&(t.children=t.children.call(this,t)),e.isArray(t.children)&&t.children.length&&(u=this._parse_json(t.children,!0),u.length&&(c=e("<ul>"),c.append(u),r.append(c)))))}return n||(l=e("<ul>"),l.append(r),r=l),r},get_json:function(t,n,r,i){var s=[],o=this._get_settings(),u=this,a,f,l,c,h,p;t=this._get_node(t);if(!t||t===-1)t=this.get_container().find("> ul > li");return n=e.isArray(n)?n:["id","class"],!i&&this.data.types&&n.push(o.types.type_attr),r=e
 .isArray(r)?r:[],t.each(function(){l=e(this),a={data:[]},n.length&&(a.attr={}),e.each(n,function(e,t){f=l.attr(t),f&&f.length&&f.replace(/jstree[^ ]*|$/ig,"").length&&(a.attr[t]=f.replace(/j
 stree[^ ]*|$/ig,""))}),l.hasClass("jstree-open")&&(a.state="open"),l.hasClass("jstree-closed")&&(a.state="closed"),c=l.children("a"),c.each(function(){h=e(this),r.length||e.inArray("languages",o.plugins)!==-1||h.children("ins").get(0).style.backgroundImage.length||h.children("ins").get(0).className&&h.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").length?(p=!1,e.inArray("languages",o.plugins)!==-1&&e.isArray(o.languages)&&o.languages.length&&e.each(o.languages,function(e,t){if(h.hasClass(t))return p=t,!1}),f={attr:{},title:u.get_text(h,p)},e.each(r,function(e,t){a.attr[t]=(h.attr(t)||"").replace(/jstree[^ ]*|$/ig,"")}),e.each(o.languages,function(e,t){if(h.hasClass(t))return f.language=t,!0}),h.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").replace(/^\s+$/i
 g,"").length&&(f.icon=h.children("ins").get(0).className.replace(/jstree[^ ]*|$/ig,"").replace(/^\s+$/ig,"")),h.children("ins").get(0).style.backgroundImage.length&&(f.icon=h.children("ins")
 .get(0).style.backgroundImage.replace("url(","").replace(")",""))):f=u.get_text(h),c.length>1?a.data.push(f):a.data=f}),l=l.find("> ul > li"),l.length&&(a.children=u.get_json(l,n,r,!0)),s.push(a)}),s}}})}(jQuery),function(e){e.jstree.plugin("languages",{__init:function(){this._load_css()},defaults:[],_fn:{set_lang:function(t){var n=this._get_settings().languages,r=!1,i=".jstree-"+this.get_index()+" a";if(!e.isArray(n)||n.length===0)return!1;if(e.inArray(t,n)==-1){if(!n[t])return!1;t=n[t]}return t==this.data.languages.current_language?!0:(r=e.vakata.css.get_css(i+"."+this.data.languages.current_language,!1,this.data.languages.language_css),r!==!1&&(r.style.display="none"),r=e.vakata.css.get_css(i+"."+t,!1,this.data.languages.language_css),r!==!1&&(r.style.display=""),this.data.languages.cu
 rrent_language=t,this.__callback(t),!0)},get_lang:function(){return this.data.languages.current_language},get_text:function(t,n){t=this._get_node(t)||this.data.ui.last_selected;if(!t.size())
 return!1;var r=this._get_settings().languages,i=this._get_settings().core.html_titles;return e.isArray(r)&&r.length?(n=n&&e.inArray(n,r)!=-1?n:this.data.languages.current_language,t=t.children("a."+n)):t=t.children("a:eq(0)"),i?(t=t.clone(),t.children("INS").remove(),t.html()):(t=t.contents().filter(function(){return this.nodeType==3})[0],t.nodeValue)},set_text:function(t,n,r){t=this._get_node(t)||this.data.ui.last_selected;if(!t.size())return!1;var i=this._get_settings().languages,s=this._get_settings().core.html_titles,o;return e.isArray(i)&&i.length?(r=r&&e.inArray(r,i)!=-1?r:this.data.languages.current_language,t=t.children("a."+r)):t=t.children("a:eq(0)"),s?(o=t.children("INS").clone(),t.html(n).prepend(o),this.__callback({obj:t,name:n,lang:r}),!0):(t=t.contents().filter(function(){r
 eturn this.nodeType==3})[0],this.__callback({obj:t,name:n,lang:r}),t.nodeValue=n)},_load_css:function(){var t=this._get_settings().languages,n="/* languages css */",r=".jstree-"+this.get_ind
 ex()+" a",i;if(e.isArray(t)&&t.length){this.data.languages.current_language=t[0];for(i=0;i<t.length;i++)n+=r+"."+t[i]+" {",t[i]!=this.data.languages.current_language&&(n+=" display:none; "),n+=" } ";this.data.languages.language_css=e.vakata.css.add_sheet({str:n})}},create_node:function(t,n,r,i){var s=this.__call_old(!0,t,n,r,function(t){var n=this._get_settings().languages,r=t.children("a"),s;if(e.isArray(n)&&n.length){for(s=0;s<n.length;s++)r.is("."+n[s])||t.append(r.eq(0).clone().removeClass(n.join(" ")).addClass(n[s]));r.not("."+n.join(", .")).remove()}i&&i.call(this,t)});return s}}})}(jQuery),function(e){e.jstree.plugin("sort",{__init:function(){this.get_container().bind("load_node.jstree",e.proxy(function(e,t){var n=this._get_node(t.rslt.obj);n=n===-1?this.get_container().children("u
 l"):n.children("ul"),this.sort(n)},this)).bind("rename_node.jstree",e.proxy(function(e,t){this.sort(t.rslt.obj.parent())},this)).bind("move_node.jstree",e.proxy(function(e,t){var n=t.rslt.np
 ==-1?this.get_container():t.rslt.np;this.sort(n.children("ul"))},this))},defaults:function(e,t){return this.get_text(e)>this.get_text(t)?1:-1},_fn:{sort:function(t){var n=this._get_settings().sort,r=this;t.append(e.makeArray(t.children("li")).sort(e.proxy(n,r))),t.find("> li > ul").each(function(){r.sort(e(this))}),this.clean_node(t)}}})}(jQuery),function(e){e.jstree.plugin("checkbox",{__init:function(){this.select_node=this.deselect_node=this.deselect_all=e.noop,this.get_selected=this.get_checked,this.get_container().bind("open_node.jstree create_node.jstree clean_node.jstree",e.proxy(function(e,t){this._prepare_checkboxes(t.rslt.obj)},this)).bind("loaded.jstree",e.proxy(function(e){this._prepare_checkboxes()},this)).delegate("a","click.jstree",e.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()},t
 his))},__destroy:function(){this.get_container().find(".jstree-checkbox").remove()},_fn:{_prepare_checkboxes:function(t){t=!t||t==-1?this.get_container():this._get_node(t);var n,r=this,i;t.each(function(){i=e(this),n=i.is("li")&&i.hasClass("jstree-checked")?"jstree-checked":"jstree-unchecked",i.find("a").not(":has(.jstree-checkbox)").prepend("<ins class='jstree-checkbox'>&#160;</ins>").parent().not(".jstree-checked, .jstree-unchecked").addClass(n)}),t.is("li")?this._repair_state(t):t.find("> ul > li").each(function(){r._repair_state(this)})},change_state:function(t,n){t=this._get_node(t),n=n===!1||n===!0?n:t.hasClass("jstree-checked"),n?t.find("li").andSelf().removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked"):(t.find("li").andSelf().removeClass("jstree-unchecke
 d jstree-undetermined").addClass("jstree-checked"),this.data.ui&&(this.data.ui.last_selected=t),this.data.checkbox.last_selected=t),t.parentsUntil(".jstree","li").each(function(){var t=e(thi
 s);if(n){if(t.children("ul").children(".jstree-checked, .jstree-undetermined").length)return t.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"),!1;t.removeClass("jstree-checked jstree-undetermined").addClass("jstree-unchecked")}else{if(t.children("ul").children(".jstree-unchecked, .jstree-undetermined").length)return t.parentsUntil(".jstree","li").andSelf().removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined"),!1;t.removeClass("jstree-unchecked jstree-undetermined").addClass("jstree-checked")}}),this.data.ui&&(this.data.ui.selected=this.get_checked()),this.__callback(t)},check_node:function(e){this.change_state(e,!1)},uncheck_node:function(e){this.change_state(e,!0)},check_all:function(){var e=th
 is;this.get_container().children("ul").children("li").each(function(){e.check_node(this,!1)})},uncheck_all:function(){var e=this;this.get_container().children("ul").children("li").each(funct
 ion(){e.change_state(this,!0)})},is_checked:function(e){return e=this._get_node(e),e.length?e.is(".jstree-checked"):!1},get_checked:function(e){return e=!e||e===-1?this.get_container():this._get_node(e),e.find("> ul > .jstree-checked, .jstree-undetermined > ul > .jstree-checked")},get_unchecked:function(e){return e=!e||e===-1?this.get_container():this._get_node(e),e.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(e){e=this._get_node(e).first();if(!e.length)return;var t=e.find("> ul > .jstree-checked").length,n=e.find("> ul > .jstree-undeter
 mined").length,r=e.find("> ul > li").length;r===0?e.hasClass("jstree-undetermined")&&this.check_node(e):t===0&&n===0?this.uncheck_node(e):t===r?this.check_node(e):e.parentsUntil(".jstree","l
 i").removeClass("jstree-checked jstree-unchecked").addClass("jstree-undetermined")},reselect:function(){if(this.data.ui){var t=this,n=this.data.ui.to_select;n=e.map(e.makeArray(n),function(e){return"#"+e.toString().replace(/^#/,"").replace("\\/","/").replace("/","\\/")}),this.deselect_all(),e.each(n,function(e,n){t.check_node(n)}),this.__callback()}}}})}(jQuery),function(e){e.jstree.plugin("types",{__init:function(){var t=this._get_settings().types;this.data.types.attach_to=[],this.get_container().bind("init.jstree",e.proxy(function(){var n=t.types,r=t.type_attr,i="",o=this;e.each(n,function(t,n){e.each(n,function(e,t){/^(max_depth|max_children|icon|valid_children)$/.test(e)||o.data.types.attach_to.push(e)});if(!n.icon)return!0;if(n.icon.image||n.icon.position)t=="default"?i+=".jstree-"+o
 .get_index()+" a > .jstree-icon { ":i+=".jstree-"+o.get_index()+" li["+r+"="+t+"] > a > .jstree-icon { ",n.icon.image&&(i+=" background-image:url("+n.icon.image+"); "),n.icon.position?i+=" b
 ackground-position:"+n.icon.position+"; ":i+=" background-position:0 0; ",i+="} "}),i!=""&&e.vakata.css.add_sheet({str:i})},this)).bind("before.jstree",e.proxy(function(t,n){if(e.inArray(n.func,this.data.types.attach_to)!==-1){var r=this._get_settings().types.types,i=this._get_type(n.args[0]);if((r[i]&&typeof r[i][n.func]!="undefined"||r["default"]&&typeof r["default"][n.func]!="undefined")&&!this._check(n.func,n.args[0]))return t.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(e){return e=this._get_node(e),!e||!e.length?!1:e.attr(this._get_settings().types.type_attr)||"default"},set_type:function(e,t){return t=this._get_node(t)
 ,!t.length||!e?!1:t.attr(this._get_settings().types.type_attr,e)},_check:function(t,n,r){var i=!1,s=this._get_type(n),o=0,u=this,a=this._get_settings().types;if(n===-1){if(!a[t])return;i=a[t
 ]}else{if(s===!1)return;!a.types[s]||!a.types[s][t]?!!a.types["default"]&&!!a.types["default"][t]&&(i=a.types["default"][t]):i=a.types[s][t]}return e.isFunction(i)&&(i=i.call(this,n)),t==="max_depth"&&n!==-1&&r!==!1&&a.max_depth!==-2&&i!==0&&this._get_node(n).children("a:eq(0)").parentsUntil(".jstree","li").each(function(e){if(a.max_depth!==-1&&a.max_depth-(e+1)<=0)return i=0,!1;o=e===0?i:u._check(t,this,!1);if(o!==-1&&o-(e+1)<=0)return i=0,!1;o>=0&&(o-(e+1)<i||i<0)&&(i=o-(e+1)),a.max_depth>=0&&(a.max_depth-(e+1)<i||i<0)&&(i=a.max_depth-(e+1))}),i},check_move:function(){if(!this.__call_old())return!1;var t=this._get_move(),n=t.rt._get_settings().types,r=t.rt._check("max_children",t.cr),i=t.rt._check("max_depth",t.cr),s=t.rt._check("valid_children",t.cr),o=0,u=1,a;if(s==="none")return!1;if
 (e.isArray(s)&&t.ot&&t.ot._get_type){t.o.each(function(){if(e.inArray(t.ot._get_type(this),s)===-1)return u=!1,!1});if(u===!1)return!1}if(n.max_children!==-2&&r!==-1){o=t.cr===-1?this.get_co
 ntainer().children("> ul > li").not(t.o).length:t.cr.children("> ul > li").not(t.o).length;if(o+t.o.length>r)return!1}if(n.max_depth!==-2&&i!==-1){u=0;if(i===0)return!1;if(typeof t.o.d=="undefined"){a=t.o;while(a.length>0)a=a.find("> ul > li"),u++;t.o.d=u}if(i-t.o.d<0)return!1}return!0},create_node:function(t,n,r,i,s,o){if(!o&&(s||this._is_loaded(t))){var u=n&&n.match(/^before|after$/i)&&t!==-1?this._get_parent(t):this._get_node(t),a=this._get_settings().types,f=this._check("max_children",u),l=this._check("max_depth",u),c=this._check("valid_children",u),h;r||(r={});if(c==="none")return!1;if(e.isArray(c))if(!r.attr||!r.attr[a.type_attr])r.attr||(r.attr={}),r.attr[a.type_attr]=c[0];else if(e.inArray(r.attr[a.type_attr],c)===-1)return!1;if(a.max_children!==-2&&f!==-1){h=u===-1?this.get_conta
 iner().children("> ul > li").length:u.children("> ul > li").length;if(h+1>f)return!1}if(a.max_depth!==-2&&l!==-1&&l-1<0)return!1}return this.__call_old(!0,t,n,r,i,s,o)}}})}(jQuery),function(
 e){e.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 this.nodeType==3}).remove()},defaults:{data:!1,ajax:!1,correct_state:!0},_fn:{load_node:function(e,t,n){var r=this;this.load_node_html(e,function(){r.__callback({obj:e}),t.call(this)},n)},_is_loaded:function(e){return e=this._get_node(e),e==-1||!e||!this._get_settings().html_data.ajax||e.is(".jstree-open, .jstree-leaf")||e.children("ul").children("li").size()>0},load_node_html:function(t,n,r){var i,s=this.get_settings().html_data,o=function(){},u=function(){};t=this._get_node(t);if(t&&t!==-1){if(t.data("jstree-is-loading"))return;t.data("jstree-is-
 loading",!0)}switch(!0){case!s.data&&!s.ajax:if(!t||t==-1)this.get_container().children("ul").empty().append(this.data.html_data.original_container_html).find("li, a").filter(function(){retu
 rn this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),this.clean_node();n&&n.call(this);break;case!!s.data&&!s.ajax||!!s.data&&!!s.ajax&&(!t||t===-1):if(!t||t==-1)i=e(s.data),i.is("ul")||(i=e("<ul>").append(i)),this.get_container().children("ul").empty().append(i.children()).find("li, a").filter(function(){return this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),this.clean_node();n&&n.call(this);break;case!s.data&&!!s.ajax||!!s.data&&!!s.ajax&&t&&t!==-1:t=this._get_node(t),o=function(e,n,i){var o=this.get_settings().html_data.ajax.error;o&&o.call(t
 his,e,n,i),t!=-1&&t.length?(t.children(".jstree-loading").removeClass("jstree-loading"),t.data("jstree-is-loading",!1),n==="success"&&s.correct_state&&t.removeClass("jstree-open jstree-close
 d").addClass("jstree-leaf")):n==="success"&&s.correct_state&&this.get_container().children("ul").empty(),r&&r.call(this)},u=function(r,i,u){var a=this.get_settings().html_data.ajax.success;a&&(r=a.call(this,r,i,u)||r);if(r=="")return o.call(this,u,i,"");r?(r=e(r),r.is("ul")||(r=e("<ul>").append(r)),t==-1||!t?this.get_container().children("ul").empty().append(r.children()).find("li, a").filter(function(){return this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a").children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"):(t.children(".jstree-loading").removeClass("jstree-loading"),t.append(r).find("li, a").filter(function(){return this.firstChild.tagName!=="INS"}).prepend("<ins class='jstree-icon'>&#160;</ins>").end().filter("a")
 .children("ins:first-child").not(".jstree-icon").addClass("jstree-icon"),t.data("jstree-is-loading",!1)),this.clean_node(t),n&&n.call(this)):t&&t!==-1?(t.children(".jstree-loading").removeCl
 ass("jstree-loading"),t.data("jstree-is-loading",!1),s.correct_state&&(t.removeClass("jstree-open jstree-closed").addClass("jstree-leaf"),n&&n.call(this))):s.correct_state&&(this.get_container().children("ul").empty(),n&&n.call(this))},s.ajax.context=this,s.ajax.error=o,s.ajax.success=u,s.ajax.dataType||(s.ajax.dataType="html"),e.isFunction(s.ajax.url)&&(s.ajax.url=s.ajax.url.call(this,t)),e.isFunction(s.ajax.data)&&(s.ajax.data=s.ajax.data.call(this,t)),e.ajax(s.ajax)}}}}),e.jstree.defaults.plugins.push("html_data")}(jQuery),function(e){e.jstree.plugin("themeroller",{__init:function(){var t=this._get_settings().themeroller;this.get_container().addClass("ui-widget-content").delegate("a","mouseenter.jstree",function(){e(this).addClass(t.item_h)}).delegate("a","mouseleave.jstree",function()
 {e(this).removeClass(t.item_h)}).bind("open_node.jstree create_node.jstree",e.proxy(function(e,t){this._themeroller(t.rslt.obj)},this)).bind("loaded.jstree refresh.jstree",e.proxy(function(e
 ){this._themeroller()},this)).bind("close_node.jstree",e.proxy(function(e,n){n.rslt.obj.children("ins").removeClass(t.opened).addClass(t.closed)},this)).bind("select_node.jstree",e.proxy(function(e,n){n.rslt.obj.children("a").addClass(t.item_a)},this)).bind("deselect_node.jstree deselect_all.jstree",e.proxy(function(e,n){this.get_container().find("."+t.item_a).removeClass(t.item_a).end().find(".jstree-clicked").addClass(t.item_a)},this)).bind("move_node.jstree",e.proxy(function(e,t){this._themeroller(t.rslt.o)},this))},__destroy:function(){var t=this._get_settings().themeroller,n=["ui-icon"];e.each(t,function(e,t){t=t.split(" "),t.length&&(n=n.concat(t))}),this.get_container().removeClass("ui-widget-content").find("."+n.join(", .")).removeClass(n.join(" "))},_fn:{_themeroller:function(e){
 var t=this._get_settings().themeroller;e=!e||e==-1?this.get_container():this._get_node(e).parent(),e.find("li.jstree-closed > ins.jstree-icon").removeClass(t.opened).addClass("ui-icon "+t.cl
 osed).end().find("li.jstree-open > ins.jstree-icon").removeClass(t.closed).addClass("ui-icon "+t.opened).end().find("a").addClass(t.item).children("ins.jstree-icon").addClass("ui-icon "+t.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"}}),e(function(){var t=".jstree .ui-icon { overflow:visible; } .jstree a { padding:0 2px; }";e.vakata.css.add_sheet({str:t})})}(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>&#160;</ins><a class='jstree-loading' href='#'><ins class='jstree-icon'>&#160;</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'>&#160;</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'>&#160;</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'>&#160;</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'>&#160;</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'>&#160;</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'>&#160;</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'>&#160;</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'>&#160;</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'>&#160;</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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/thirdparty/jquery.observehashchange.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.observehashchange.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/thirdparty/jquery.observehashchange.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e){function i(){return"onhashchange"in window}function s(){t=document.location.hash,window.onhashchange=o}function o(n,r){var i=t;t=document.location.hash,e(window).trigger("jQuery.hashchange",{before:i,after:t})}function u(e){t==null&&(t=document.location.hash),n!=null&&clearInterval(n),r!=e.interval&&(n=setInterval(a,e.interval),r=e.interval)}function a(){if(t!=document.location.hash){var n=t;t=document.location.hash,e(window).trigger("jQuery.hashchange",{before:n,after:t})}}e.fn.hashchange=function(t){return e(window).bind("jQuery.hashchange",t),this},e.observeHashChange=function(t){var n=e.extend({},e.observeHashChange.defaults,t);i()?s():u(n)};var t=null,n=null,r=0;e.observeHashChange.defaults={interval:500},e.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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/thirdparty/jquery.tablednd.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.tablednd.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/thirdparty/jquery.tablednd.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e){var t={currentTable:null,dragObject:null,mouseOffset:null,oldY:0,build:function(n){return this.each(function(){var r=this,i=e.extend({onDragStyle:null,onDropStyle:null,onDragClass:"tDnD_whileDrag",onDrop:null,onDragStart:null,scrollAmount:5,dragHandle:null},n||{});e(r).delegate("td."+i.dragHandle,"mousedown",function(e){var n=e.target,s=!0;i.onDragStart&&(s=i.onDragStart(n));if(s!==!1)return t.dragObject=n.parentNode,t.currentTable=r,t.mouseOffset=t.getMouseOffset(n,e),e.stopPropagation(),e.preventDefault(),!1}),r.tableDnDConfig=i}),e(document).bind("mousemove",t.mousemove).bind("mouseup",t.mouseup),this},mousePosition:function(e){return e.pageY?e.pageY:e.clientY+document.body.scrollTop-document.body.clientTop},getMouseOffset:function(e,t){return t=t||window.event,this.mouseP
 osition(t)-this.documentPosition(e)},documentPosition:function(e){var t=0;e.offsetHeight==0&&(e=e.firstChild);while(e.offsetParent)t+=e.offsetTop,e=e.offsetParent;return t+=e.offsetTop,t},mo
 usemove:function(n){if(t.dragObject==null)return;var r=e(t.dragObject),i=t.currentTable.tableDnDConfig,s=t.mousePosition(n),o=s-t.mouseOffset,u=window.pageYOffset;document.all&&(typeof document.compatMode!="undefined"&&document.compatMode!="BackCompat"?u=document.documentElement.scrollTop:typeof document.body!="undefined"&&(u=document.body.scrollTop));if(s-u<i.scrollAmount)window.scrollBy(0,-i.scrollAmount);else{var a=window.innerHeight?window.innerHeight:document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight;a-(s-u)<i.scrollAmount&&window.scrollBy(0,i.scrollAmount)}if(o!=t.oldY){var f=o>t.oldY;t.oldY=o,i.onDragClass?r.addClass(i.onDragClass):r.css(i.onDragStyle);var l=t.findDropTargetRow(r,o);l&&(f&&t.dragObject!=l?t.dragObject.parentNode.i
 nsertBefore(t.dragObject,l.nextSibling):!f&&t.dragObject!=l&&t.dragObject.parentNode.insertBefore(t.dragObject,l))}return!1},findDropTargetRow:function(e,n){var r=$(t.currentTable).children(
 "tr");for(var i=0,s=r.length;i<s;i++){var o=r[i],u=this.documentPosition(o),a=parseInt(o.offsetHeight)/2;o.offsetHeight==0&&(u=this.documentPosition(o.firstChild),a=parseInt(o.firstChild.offsetHeight)/2);if(n>u-a&&n<u+a){if(o==e)return null;var f=t.currentTable.tableDnDConfig;return f.onAllowDrop?f.onAllowDrop(e,o)?o:null:o}}return null},mouseup:function(n){if(t.currentTable&&t.dragObject){var r=t.dragObject,i=t.currentTable.tableDnDConfig;return i.onDragClass?e(r).removeClass(i.onDragClass):e(r).css(i.onDropStyle),t.dragObject=null,i.onDrop&&i.onDrop(r),t.currentTable=null,n.stopPropagation(),n.preventDefault(),!1}}};e.fn.extend({tableDnD:t.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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/thirdparty/jquery.tipsy.min.css
--- a/src/silva/ui/static/js/thirdparty/jquery.tipsy.min.css	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/thirdparty/jquery.tipsy.min.css	Tue Jul 23 17:14:56 2013 +0200
@@ -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 e726339fabe8 -r 089134f8d2e4 src/silva/ui/static/js/thirdparty/jquery.tipsy.min.js
--- a/src/silva/ui/static/js/thirdparty/jquery.tipsy.min.js	Tue Jul 23 17:12:55 2013 +0200
+++ b/src/silva/ui/static/js/thirdparty/jquery.tipsy.min.js	Tue Jul 23 17:14:56 2013 +0200
@@ -1,1 +1,1 @@
-(function(e){function n(e,t){return typeof e=="function"?e.call(t):e}function r(t,n){this.$element=e(t),this.options=n,this.enabled=!0,this.fixTitle()}var t=function(){var n=e('<div class="tipsy"><div class="tipsy-arrow"></div><div class="tipsy-inner"></div></div>');return e("body").append(n),t=function(){return n},n};r.prototype={show:function(){var r=this.getTitle();if(r&&this.enabled&&this.$element.is(":visible")){var i=t();i.find(".tipsy-inner")[this.options.html?"html":"text"](r),i[0].className="tipsy",i.css({top:0,left:0,visibility:"hidden",display:"block"});var s=e.extend({},this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight}),o=i[0].offsetWidth,u=i[0].offsetHeight,a=n(this.options.gravity,this.$element[0]),f;switch(a.charAt(0)){case"n":
 f={top:s.top+s.height+this.options.offset,left:s.left+s.width/2-o/2};break;case"s":f={top:s.top-u-this.options.offset,left:s.left+s.width/2-o/2};break;case"e":f={top:s.top+s.height/2-u/2,lef
 t:s.left-o-this.options.offset};break;case"w":f={top:s.top+s.height/2-u/2,left:s.left+s.width+this.options.offset}}a.length==2&&(a.charAt(1)=="w"?f.left=s.left+s.width/2-15:f.left=s.left+s.width/2-o+15),i.css(f).addClass("tipsy-"+a),i.find(".tipsy-arrow")[0].className="tipsy-arrow tipsy-arrow-"+a.charAt(0),this.options.className&&i.addClass(n(this.options.className,this.$element[0])),this.options.fade?i.stop().css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:this.options.opacity}):i.css({visibility:"visible",opacity:this.options.opacity})}},hide:function(){this.options.fade?t().stop().fadeOut():t().hide()},fixTitle:function(){var e=this.$element;(e.attr("title")||typeof e.attr("original-title")!="string")&&e.attr("original-title",e.attr("title")||"").removeAttr("titl
 e")},getTitle:function(){var e,t=this.$element,n=this.options;return this.fixTitle(),typeof n.title=="string"?e=t.attr(n.title=="title"?"original-title":n.title):typeof n.title=="function"&&
 (e=n.title.call(t[0])),e=(""+e).replace(/(^\s*|\s*$)/,""),e||n.fallback},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled}},e.fn.tipsy=function(t){function i(n){var i=e.data(n,"tipsy");return i||(i=new r(n,e.fn.tipsy.elementOptions(n,t)),e.data(n,"tipsy",i)),i}function s(){var e=i(this);e.hoverState="in",t.delayIn==0?e.show():(e.fixTitle(),setTimeout(function(){e.hoverState=="in"&&e.show()},t.delayIn))}function o(){var e=i(this);e.hoverState="out",t.delayOut==0?e.hide():setTimeout(function(){e.hoverState=="out"&&e.hide()},t.delayOut)}if(t===!0)return this.data("tipsy");if(typeof t=="string"){var n=this.data("tipsy");return n&&n[t](),this}t=e.extend({},e.fn.tipsy.defaults,t),this.each(function(){i(this)});if(t.trigge
 r!="manual"){var u=t.trigger=="hover"?"mouseenter.tipsy":"focus.tipsy",a=t.trigger=="hover"?"mouseleave.tipsy":"blur.tipsy";t.delegate!==null?(this.delegate(t.delegate,u,s),this.delegate(t.d
 elegate,a,o)):this.on(u,s).on(a,o)}return this},e.fn.tipsy.elementOptions=function(t,n){return e.metadata?e.extend({},n,e(t).metadata()):n},e.fn.tipsy.autoNS=function(){return e(this).offset().top>e(document).scrollTop()+e(window).height()/2?"s":"n"},e.fn.tipsy.autoWE=function(){return e(this).offset().left>e(document).scrollLeft()+e(window).width()/2?"e":"w"},e.fn.tipsy.autoBounds=function(t,n){return function(){var r={ns:n[0],ew:n.length>1?n[1]:!1},i=e(document).scrollTop()+t,s=e(document).scrollLeft()+t,o=e(this);return o.offset().top<i&&(r.ns="n"),o.offset().left<s&&(r.ew="w"),e(window).width()+e(document).scrollLeft()-o.offset().left<t&&(r.ew="e"),e(window).height()+e(document).scrollTop()-o.offset().top<t&&(r.ns="s"),r.ns+(r.ew?r.ew:"")}},e.fn.tipsy.defaults={className:null,delayIn:
 750,delayOut:0,fade:!1,fallback:"",gravity:e.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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.