fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [12417] update mmenu from upstream


From: Sigurd Nes
Subject: [Fmsystem-commits] [12417] update mmenu from upstream
Date: Wed, 03 Dec 2014 10:38:17 +0000

Revision: 12417
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=12417
Author:   sigurdne
Date:     2014-12-03 10:38:16 +0000 (Wed, 03 Dec 2014)
Log Message:
-----------
update mmenu from upstream

Modified Paths:
--------------
    branches/dev-syncromind/phpgwapi/js/jquery/mmenu/bower.json
    branches/dev-syncromind/phpgwapi/js/jquery/mmenu/mmenu.jquery.json
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/addons/jquery.mmenu.labels.css
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/addons/jquery.mmenu.offcanvas.css
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.fullscreen.css
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.positioning.css
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.widescreen.css
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.all.css
    branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.css
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.oncanvas.css
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/addon-template.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.buttonbars.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.buttonbars.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.counters.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.counters.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.dragopen.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.dragopen.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.fixedelements.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.fixedelements.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.footer.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.footer.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.header.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.header.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.labels.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.labels.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.offcanvas.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.offcanvas.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.searchfield.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.searchfield.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.toggles.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.toggles.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.debugger.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.min.all.js
    branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.oncanvas.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.oncanvas.min.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.buttonbars.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.counters.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.dragopen.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.fixedelements.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.footer.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.header.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.labels.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.offcanvas.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.searchfield.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/addons/jquery.mmenu.toggles.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/jquery.mmenu.oncanvas.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/jquery.mmenu.umd.all.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/umd/jquery.mmenu.umd.js
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/scss/addons/jquery.mmenu.labels.scss
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/scss/addons/jquery.mmenu.offcanvas.scss
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/scss/extensions/jquery.mmenu.positioning.scss
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/scss/extensions/jquery.mmenu.widescreen.scss
    branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/scss/inc/_mixins.scss
    branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/scss/inc/_sizing.scss
    
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/scss/jquery.mmenu.oncanvas.scss
    branches/dev-syncromind/phpgwapi/templates/pure/css/demo_mmenu.css

Modified: branches/dev-syncromind/phpgwapi/js/jquery/mmenu/bower.json
===================================================================
--- branches/dev-syncromind/phpgwapi/js/jquery/mmenu/bower.json 2014-12-02 
23:30:42 UTC (rev 12416)
+++ branches/dev-syncromind/phpgwapi/js/jquery/mmenu/bower.json 2014-12-03 
10:38:16 UTC (rev 12417)
@@ -1,7 +1,7 @@
 {
        "name": "jQuery.mmenu",
        "main": "src/js/jquery.mmenu.min.js",
-       "version": "4.5.7",
+       "version": "4.7.4",
        "homepage": "http://mmenu.frebsite.nl/";,
        "authors": [
                "Fred Heusschen <address@hidden>"

Modified: branches/dev-syncromind/phpgwapi/js/jquery/mmenu/mmenu.jquery.json
===================================================================
--- branches/dev-syncromind/phpgwapi/js/jquery/mmenu/mmenu.jquery.json  
2014-12-02 23:30:42 UTC (rev 12416)
+++ branches/dev-syncromind/phpgwapi/js/jquery/mmenu/mmenu.jquery.json  
2014-12-03 10:38:16 UTC (rev 12417)
@@ -1,6 +1,6 @@
 {
        "name": "mmenu",
-       "version": "4.5.7",
+       "version": "4.7.4",
        "title": "jQuery mmenu",
        "description": "The best jQuery plugin for app look-alike on- and 
off-canvas menus with sliding submenus for your website and webapp.",
        "keywords": [

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/addons/jquery.mmenu.labels.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/addons/jquery.mmenu.labels.css
     2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/addons/jquery.mmenu.labels.css
     2014-12-03 10:38:16 UTC (rev 12417)
@@ -1,19 +1,19 @@
 /*
        jQuery.mmenu labels addon CSS
 */
-.mm-list > li.mm-label > span {
+.mm-list li.mm-label > span {
   text-overflow: ellipsis;
   white-space: nowrap;
   overflow: hidden;
   padding: 0;
   line-height: 25px; }
-.mm-list > li.mm-label.mm-opened a.mm-subopen:after {
+.mm-list li.mm-label.mm-opened a.mm-subopen:after {
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg); }
-.mm-list > li.mm-collapsed {
+.mm-list li.mm-collapsed:not(.mm-uncollapsed) {
   display: none; }
 
 .mm-menu.mm-vertical .mm-list > li.mm-label > a.mm-subopen:after {

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/addons/jquery.mmenu.offcanvas.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/addons/jquery.mmenu.offcanvas.css
  2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/addons/jquery.mmenu.offcanvas.css
  2014-12-03 10:38:16 UTC (rev 12417)
@@ -3,7 +3,9 @@
 */
 .mm-page {
   box-sizing: border-box;
-  position: relative;
+  position: relative; }
+
+.mm-slideout {
   -webkit-transition: -webkit-transform 0.4s ease;
   -ms-transition: -ms-transform 0.4s ease;
   transition: transform 0.4s ease; }
@@ -42,8 +44,7 @@
   min-width: 140px;
   max-width: 440px; }
 
-html.mm-opening .mm-page,
-html.mm-opening #mm-blocker {
+html.mm-opening .mm-slideout {
   -webkit-transform: translate(80%, 0);
   -moz-transform: translate(80%, 0);
   -ms-transform: translate(80%, 0);
@@ -51,16 +52,14 @@
   transform: translate(80%, 0); }
 
 @media all and (max-width: 175px) {
-  html.mm-opening .mm-page,
-  html.mm-opening #mm-blocker {
+  html.mm-opening .mm-slideout {
     -webkit-transform: translate(140px, 0);
     -moz-transform: translate(140px, 0);
     -ms-transform: translate(140px, 0);
     -o-transform: translate(140px, 0);
     transform: translate(140px, 0); } }
 @media all and (min-width: 550px) {
-  html.mm-opening .mm-page,
-  html.mm-opening #mm-blocker {
+  html.mm-opening .mm-slideout {
     -webkit-transform: translate(440px, 0);
     -moz-transform: translate(440px, 0);
     -ms-transform: translate(440px, 0);

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.fullscreen.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.fullscreen.css
     2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.fullscreen.css
     2014-12-03 10:38:16 UTC (rev 12417)
@@ -6,8 +6,7 @@
   min-width: 140px;
   max-width: 10000px; }
 
-html.mm-opening.mm-fullscreen .mm-page,
-html.mm-opening.mm-fullscreen #mm-blocker {
+html.mm-opening.mm-fullscreen .mm-slideout {
   -webkit-transform: translate(100%, 0);
   -moz-transform: translate(100%, 0);
   -ms-transform: translate(100%, 0);
@@ -15,23 +14,20 @@
   transform: translate(100%, 0); }
 
 @media all and (max-width: 140px) {
-  html.mm-opening.mm-fullscreen .mm-page,
-  html.mm-opening.mm-fullscreen #mm-blocker {
+  html.mm-opening.mm-fullscreen .mm-slideout {
     -webkit-transform: translate(140px, 0);
     -moz-transform: translate(140px, 0);
     -ms-transform: translate(140px, 0);
     -o-transform: translate(140px, 0);
     transform: translate(140px, 0); } }
 @media all and (min-width: 10000px) {
-  html.mm-opening.mm-fullscreen .mm-page,
-  html.mm-opening.mm-fullscreen #mm-blocker {
+  html.mm-opening.mm-fullscreen .mm-slideout {
     -webkit-transform: translate(10000px, 0);
     -moz-transform: translate(10000px, 0);
     -ms-transform: translate(10000px, 0);
     -o-transform: translate(10000px, 0);
     transform: translate(10000px, 0); } }
-html.mm-right.mm-opening.mm-fullscreen .mm-page,
-html.mm-right.mm-opening.mm-fullscreen #mm-blocker {
+html.mm-right.mm-opening.mm-fullscreen .mm-slideout {
   -webkit-transform: translate(-100%, 0);
   -moz-transform: translate(-100%, 0);
   -ms-transform: translate(-100%, 0);
@@ -39,16 +35,14 @@
   transform: translate(-100%, 0); }
 
 @media all and (max-width: 140px) {
-  html.mm-right.mm-opening.mm-fullscreen .mm-page,
-  html.mm-right.mm-opening.mm-fullscreen #mm-blocker {
+  html.mm-right.mm-opening.mm-fullscreen .mm-slideout {
     -webkit-transform: translate(-140px, 0);
     -moz-transform: translate(-140px, 0);
     -ms-transform: translate(-140px, 0);
     -o-transform: translate(-140px, 0);
     transform: translate(-140px, 0); } }
 @media all and (min-width: 10000px) {
-  html.mm-right.mm-opening.mm-fullscreen .mm-page,
-  html.mm-right.mm-opening.mm-fullscreen #mm-blocker {
+  html.mm-right.mm-opening.mm-fullscreen .mm-slideout {
     -webkit-transform: translate(-10000px, 0);
     -moz-transform: translate(-10000px, 0);
     -ms-transform: translate(-10000px, 0);

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.positioning.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.positioning.css
    2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.positioning.css
    2014-12-03 10:38:16 UTC (rev 12417)
@@ -15,8 +15,7 @@
   top: auto;
   bottom: 0; }
 
-html.mm-right.mm-opening .mm-page,
-html.mm-right.mm-opening #mm-blocker {
+html.mm-right.mm-opening .mm-slideout {
   -webkit-transform: translate(-80%, 0);
   -moz-transform: translate(-80%, 0);
   -ms-transform: translate(-80%, 0);
@@ -24,16 +23,14 @@
   transform: translate(-80%, 0); }
 
 @media all and (max-width: 175px) {
-  html.mm-right.mm-opening .mm-page,
-  html.mm-right.mm-opening #mm-blocker {
+  html.mm-right.mm-opening .mm-slideout {
     -webkit-transform: translate(-140px, 0);
     -moz-transform: translate(-140px, 0);
     -ms-transform: translate(-140px, 0);
     -o-transform: translate(-140px, 0);
     transform: translate(-140px, 0); } }
 @media all and (min-width: 550px) {
-  html.mm-right.mm-opening .mm-page,
-  html.mm-right.mm-opening #mm-blocker {
+  html.mm-right.mm-opening .mm-slideout {
     -webkit-transform: translate(-440px, 0);
     -moz-transform: translate(-440px, 0);
     -ms-transform: translate(-440px, 0);
@@ -42,14 +39,13 @@
 /*
        jQuery.mmenu z-position extension CSS
 */
-html.mm-front .mm-page,
-html.mm-front #mm-blocker {
-  -webkit-transform: translate(0, 0) !important;
-  -moz-transform: translate(0, 0) !important;
-  -ms-transform: translate(0, 0) !important;
-  -o-transform: translate(0, 0) !important;
-  transform: translate(0, 0) !important;
-  z-index: 0; }
+html.mm-front .mm-slideout {
+  -webkit-transform: none !important;
+  -moz-transform: none !important;
+  -ms-transform: none !important;
+  -o-transform: none !important;
+  transform: none !important;
+  z-index: 0 !important; }
 
 .mm-menu.mm-front {
   z-index: 1;
@@ -60,6 +56,7 @@
 
 .mm-menu.mm-front, .mm-menu.mm-next {
   -webkit-transition: -webkit-transform 0.4s ease;
+  -ms-transition: -ms-transform 0.4s ease;
   transition: transform 0.4s ease;
   -webkit-transform: translate(-100%, 0);
   -moz-transform: translate(-100%, 0);

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.widescreen.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.widescreen.css
     2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/extensions/jquery.mmenu.widescreen.css
     2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,7 +4,10 @@
        To use on widescreens only, include it using a mediaquery:
        <link type="text/css" href="mmenu-widescreen.css" media="all and 
(min-width: 900px)"/>
 */
-html, body {
+html,
+body,
+html.mm-opened,
+html.mm-opened body {
   overflow: auto; }
 
 body {
@@ -25,13 +28,21 @@
   top: 0 !important;
   z-index: 1; }
 
+.mm-slideout {
+  -webkit-transform: none !important;
+  -moz-transform: none !important;
+  -ms-transform: none !important;
+  -o-transform: none !important;
+  transform: none !important; }
+
 .mm-menu {
   width: 30% !important;
-  z-index: 0; }
-  .mm-menu.mm-top, .mm-menu.mm-right, .mm-menu.mm-bottom {
-    top: 0 !important;
-    right: auto !important;
-    bottom: auto !important;
-    left: 0 !important; }
+  min-width: none !important;
+  max-width: none !important;
+  z-index: 0;
+  top: 0 !important;
+  right: auto !important;
+  bottom: auto !important;
+  left: 0 !important; }
   .mm-menu:first-child, .mm-menu.mm-current {
     display: block; }

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.all.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.all.css   
    2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.all.css   
    2014-12-03 10:38:16 UTC (rev 12417)
@@ -37,23 +37,23 @@
     overflow-y: auto;
     box-sizing: border-box;
     padding: 20px;
-    -webkit-transform: translateX(100%);
-    -moz-transform: translateX(100%);
-    -ms-transform: translateX(100%);
-    -o-transform: translateX(100%);
-    transform: translateX(100%); }
+    -webkit-transform: translate(100%, 0);
+    -moz-transform: translate(100%, 0);
+    -ms-transform: translate(100%, 0);
+    -o-transform: translate(100%, 0);
+    transform: translate(100%, 0); }
     .mm-menu > .mm-panel.mm-opened {
-      -webkit-transform: translateX(0%);
-      -moz-transform: translateX(0%);
-      -ms-transform: translateX(0%);
-      -o-transform: translateX(0%);
-      transform: translateX(0%); }
+      -webkit-transform: translate(0%, 0);
+      -moz-transform: translate(0%, 0);
+      -ms-transform: translate(0%, 0);
+      -o-transform: translate(0%, 0);
+      transform: translate(0%, 0); }
     .mm-menu > .mm-panel.mm-subopened {
-      -webkit-transform: translateX(-30%);
-      -moz-transform: translateX(-30%);
-      -ms-transform: translateX(-30%);
-      -o-transform: translateX(-30%);
-      transform: translateX(-30%); }
+      -webkit-transform: translate(-30%, 0);
+      -moz-transform: translate(-30%, 0);
+      -ms-transform: translate(-30%, 0);
+      -o-transform: translate(-30%, 0);
+      transform: translate(-30%, 0); }
     .mm-menu > .mm-panel.mm-highest {
       z-index: 1; }
   .mm-menu .mm-list {
@@ -234,7 +234,9 @@
 */
 .mm-page {
   box-sizing: border-box;
-  position: relative;
+  position: relative; }
+
+.mm-slideout {
   -webkit-transition: -webkit-transform 0.4s ease;
   -ms-transition: -ms-transform 0.4s ease;
   transition: transform 0.4s ease; }
@@ -273,8 +275,7 @@
   min-width: 140px;
   max-width: 440px; }
 
-html.mm-opening .mm-page,
-html.mm-opening #mm-blocker {
+html.mm-opening .mm-slideout {
   -webkit-transform: translate(80%, 0);
   -moz-transform: translate(80%, 0);
   -ms-transform: translate(80%, 0);
@@ -282,16 +283,14 @@
   transform: translate(80%, 0); }
 
 @media all and (max-width: 175px) {
-  html.mm-opening .mm-page,
-  html.mm-opening #mm-blocker {
+  html.mm-opening .mm-slideout {
     -webkit-transform: translate(140px, 0);
     -moz-transform: translate(140px, 0);
     -ms-transform: translate(140px, 0);
     -o-transform: translate(140px, 0);
     transform: translate(140px, 0); } }
 @media all and (min-width: 550px) {
-  html.mm-opening .mm-page,
-  html.mm-opening #mm-blocker {
+  html.mm-opening .mm-slideout {
     -webkit-transform: translate(440px, 0);
     -moz-transform: translate(440px, 0);
     -ms-transform: translate(440px, 0);
@@ -545,19 +544,19 @@
 /*
        jQuery.mmenu labels addon CSS
 */
-.mm-list > li.mm-label > span {
+.mm-list li.mm-label > span {
   text-overflow: ellipsis;
   white-space: nowrap;
   overflow: hidden;
   padding: 0;
   line-height: 25px; }
-.mm-list > li.mm-label.mm-opened a.mm-subopen:after {
+.mm-list li.mm-label.mm-opened a.mm-subopen:after {
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   transform: rotate(45deg); }
-.mm-list > li.mm-collapsed {
+.mm-list li.mm-collapsed:not(.mm-uncollapsed) {
   display: none; }
 
 .mm-menu.mm-vertical .mm-list > li.mm-label > a.mm-subopen:after {
@@ -906,8 +905,7 @@
   min-width: 140px;
   max-width: 10000px; }
 
-html.mm-opening.mm-fullscreen .mm-page,
-html.mm-opening.mm-fullscreen #mm-blocker {
+html.mm-opening.mm-fullscreen .mm-slideout {
   -webkit-transform: translate(100%, 0);
   -moz-transform: translate(100%, 0);
   -ms-transform: translate(100%, 0);
@@ -915,23 +913,20 @@
   transform: translate(100%, 0); }
 
 @media all and (max-width: 140px) {
-  html.mm-opening.mm-fullscreen .mm-page,
-  html.mm-opening.mm-fullscreen #mm-blocker {
+  html.mm-opening.mm-fullscreen .mm-slideout {
     -webkit-transform: translate(140px, 0);
     -moz-transform: translate(140px, 0);
     -ms-transform: translate(140px, 0);
     -o-transform: translate(140px, 0);
     transform: translate(140px, 0); } }
 @media all and (min-width: 10000px) {
-  html.mm-opening.mm-fullscreen .mm-page,
-  html.mm-opening.mm-fullscreen #mm-blocker {
+  html.mm-opening.mm-fullscreen .mm-slideout {
     -webkit-transform: translate(10000px, 0);
     -moz-transform: translate(10000px, 0);
     -ms-transform: translate(10000px, 0);
     -o-transform: translate(10000px, 0);
     transform: translate(10000px, 0); } }
-html.mm-right.mm-opening.mm-fullscreen .mm-page,
-html.mm-right.mm-opening.mm-fullscreen #mm-blocker {
+html.mm-right.mm-opening.mm-fullscreen .mm-slideout {
   -webkit-transform: translate(-100%, 0);
   -moz-transform: translate(-100%, 0);
   -ms-transform: translate(-100%, 0);
@@ -939,16 +934,14 @@
   transform: translate(-100%, 0); }
 
 @media all and (max-width: 140px) {
-  html.mm-right.mm-opening.mm-fullscreen .mm-page,
-  html.mm-right.mm-opening.mm-fullscreen #mm-blocker {
+  html.mm-right.mm-opening.mm-fullscreen .mm-slideout {
     -webkit-transform: translate(-140px, 0);
     -moz-transform: translate(-140px, 0);
     -ms-transform: translate(-140px, 0);
     -o-transform: translate(-140px, 0);
     transform: translate(-140px, 0); } }
 @media all and (min-width: 10000px) {
-  html.mm-right.mm-opening.mm-fullscreen .mm-page,
-  html.mm-right.mm-opening.mm-fullscreen #mm-blocker {
+  html.mm-right.mm-opening.mm-fullscreen .mm-slideout {
     -webkit-transform: translate(-10000px, 0);
     -moz-transform: translate(-10000px, 0);
     -ms-transform: translate(-10000px, 0);
@@ -979,8 +972,7 @@
   top: auto;
   bottom: 0; }
 
-html.mm-right.mm-opening .mm-page,
-html.mm-right.mm-opening #mm-blocker {
+html.mm-right.mm-opening .mm-slideout {
   -webkit-transform: translate(-80%, 0);
   -moz-transform: translate(-80%, 0);
   -ms-transform: translate(-80%, 0);
@@ -988,16 +980,14 @@
   transform: translate(-80%, 0); }
 
 @media all and (max-width: 175px) {
-  html.mm-right.mm-opening .mm-page,
-  html.mm-right.mm-opening #mm-blocker {
+  html.mm-right.mm-opening .mm-slideout {
     -webkit-transform: translate(-140px, 0);
     -moz-transform: translate(-140px, 0);
     -ms-transform: translate(-140px, 0);
     -o-transform: translate(-140px, 0);
     transform: translate(-140px, 0); } }
 @media all and (min-width: 550px) {
-  html.mm-right.mm-opening .mm-page,
-  html.mm-right.mm-opening #mm-blocker {
+  html.mm-right.mm-opening .mm-slideout {
     -webkit-transform: translate(-440px, 0);
     -moz-transform: translate(-440px, 0);
     -ms-transform: translate(-440px, 0);
@@ -1006,14 +996,13 @@
 /*
        jQuery.mmenu z-position extension CSS
 */
-html.mm-front .mm-page,
-html.mm-front #mm-blocker {
-  -webkit-transform: translate(0, 0) !important;
-  -moz-transform: translate(0, 0) !important;
-  -ms-transform: translate(0, 0) !important;
-  -o-transform: translate(0, 0) !important;
-  transform: translate(0, 0) !important;
-  z-index: 0; }
+html.mm-front .mm-slideout {
+  -webkit-transform: none !important;
+  -moz-transform: none !important;
+  -ms-transform: none !important;
+  -o-transform: none !important;
+  transform: none !important;
+  z-index: 0 !important; }
 
 .mm-menu.mm-front {
   z-index: 1;
@@ -1024,6 +1013,7 @@
 
 .mm-menu.mm-front, .mm-menu.mm-next {
   -webkit-transition: -webkit-transform 0.4s ease;
+  -ms-transition: -ms-transform 0.4s ease;
   transition: transform 0.4s ease;
   -webkit-transform: translate(-100%, 0);
   -moz-transform: translate(-100%, 0);

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.css
===================================================================
--- branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.css   
2014-12-02 23:30:42 UTC (rev 12416)
+++ branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.css   
2014-12-03 10:38:16 UTC (rev 12417)
@@ -37,23 +37,23 @@
     overflow-y: auto;
     box-sizing: border-box;
     padding: 20px;
-    -webkit-transform: translateX(100%);
-    -moz-transform: translateX(100%);
-    -ms-transform: translateX(100%);
-    -o-transform: translateX(100%);
-    transform: translateX(100%); }
+    -webkit-transform: translate(100%, 0);
+    -moz-transform: translate(100%, 0);
+    -ms-transform: translate(100%, 0);
+    -o-transform: translate(100%, 0);
+    transform: translate(100%, 0); }
     .mm-menu > .mm-panel.mm-opened {
-      -webkit-transform: translateX(0%);
-      -moz-transform: translateX(0%);
-      -ms-transform: translateX(0%);
-      -o-transform: translateX(0%);
-      transform: translateX(0%); }
+      -webkit-transform: translate(0%, 0);
+      -moz-transform: translate(0%, 0);
+      -ms-transform: translate(0%, 0);
+      -o-transform: translate(0%, 0);
+      transform: translate(0%, 0); }
     .mm-menu > .mm-panel.mm-subopened {
-      -webkit-transform: translateX(-30%);
-      -moz-transform: translateX(-30%);
-      -ms-transform: translateX(-30%);
-      -o-transform: translateX(-30%);
-      transform: translateX(-30%); }
+      -webkit-transform: translate(-30%, 0);
+      -moz-transform: translate(-30%, 0);
+      -ms-transform: translate(-30%, 0);
+      -o-transform: translate(-30%, 0);
+      transform: translate(-30%, 0); }
     .mm-menu > .mm-panel.mm-highest {
       z-index: 1; }
   .mm-menu .mm-list {
@@ -234,7 +234,9 @@
 */
 .mm-page {
   box-sizing: border-box;
-  position: relative;
+  position: relative; }
+
+.mm-slideout {
   -webkit-transition: -webkit-transform 0.4s ease;
   -ms-transition: -ms-transform 0.4s ease;
   transition: transform 0.4s ease; }
@@ -273,8 +275,7 @@
   min-width: 140px;
   max-width: 440px; }
 
-html.mm-opening .mm-page,
-html.mm-opening #mm-blocker {
+html.mm-opening .mm-slideout {
   -webkit-transform: translate(80%, 0);
   -moz-transform: translate(80%, 0);
   -ms-transform: translate(80%, 0);
@@ -282,16 +283,14 @@
   transform: translate(80%, 0); }
 
 @media all and (max-width: 175px) {
-  html.mm-opening .mm-page,
-  html.mm-opening #mm-blocker {
+  html.mm-opening .mm-slideout {
     -webkit-transform: translate(140px, 0);
     -moz-transform: translate(140px, 0);
     -ms-transform: translate(140px, 0);
     -o-transform: translate(140px, 0);
     transform: translate(140px, 0); } }
 @media all and (min-width: 550px) {
-  html.mm-opening .mm-page,
-  html.mm-opening #mm-blocker {
+  html.mm-opening .mm-slideout {
     -webkit-transform: translate(440px, 0);
     -moz-transform: translate(440px, 0);
     -ms-transform: translate(440px, 0);

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.oncanvas.css
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.oncanvas.css
  2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/css/jquery.mmenu.oncanvas.css
  2014-12-03 10:38:16 UTC (rev 12417)
@@ -34,23 +34,23 @@
     overflow-y: auto;
     box-sizing: border-box;
     padding: 20px;
-    -webkit-transform: translateX(100%);
-    -moz-transform: translateX(100%);
-    -ms-transform: translateX(100%);
-    -o-transform: translateX(100%);
-    transform: translateX(100%); }
+    -webkit-transform: translate(100%, 0);
+    -moz-transform: translate(100%, 0);
+    -ms-transform: translate(100%, 0);
+    -o-transform: translate(100%, 0);
+    transform: translate(100%, 0); }
     .mm-menu > .mm-panel.mm-opened {
-      -webkit-transform: translateX(0%);
-      -moz-transform: translateX(0%);
-      -ms-transform: translateX(0%);
-      -o-transform: translateX(0%);
-      transform: translateX(0%); }
+      -webkit-transform: translate(0%, 0);
+      -moz-transform: translate(0%, 0);
+      -ms-transform: translate(0%, 0);
+      -o-transform: translate(0%, 0);
+      transform: translate(0%, 0); }
     .mm-menu > .mm-panel.mm-subopened {
-      -webkit-transform: translateX(-30%);
-      -moz-transform: translateX(-30%);
-      -ms-transform: translateX(-30%);
-      -o-transform: translateX(-30%);
-      transform: translateX(-30%); }
+      -webkit-transform: translate(-30%, 0);
+      -moz-transform: translate(-30%, 0);
+      -ms-transform: translate(-30%, 0);
+      -o-transform: translate(-30%, 0);
+      transform: translate(-30%, 0); }
     .mm-menu > .mm-panel.mm-highest {
       z-index: 1; }
   .mm-menu .mm-list {

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/addon-template.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/addon-template.js
    2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/addon-template.js
    2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,38 +12,52 @@
                _ADDON_  = '{ADDON}';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !addon_initiated )
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
+               {                       
+//                     var that = this,
+//                             opts = this.opts[ _ADDON_ ],
+//                             conf = this.conf[ _ADDON_ ];
+       
+                       //      ...
+
+               },
+
+               //      _setup: fired once per menu
+               _setup: function()
                {
-                       _initAddon();
-               }
-               
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
+                       //      Extend shortcut options
+                       //      Extend shortcut configuration
+                       //      ...
+               },
 
-               if ( !addon_added )
+               //      _add: fired once per page load
+               _add: function()
                {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       //      ...Add classnames, data and events
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
+               },
+               
+               //      _clickAnchor: prevents default behavior when clicking 
an anchor
+               _clickAnchor: function( $a, inMenu )
+               {
+//                     if ( $a.is( '.CLASSNAME' ) )
+//                     {
+//                             return true;
+//                     }
+//                     return false;
                }
-
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
-
-
-               //      ...
-
-
        };
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
-
-
-       //      Defaults
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {
                //      ...
        };
@@ -52,32 +66,6 @@
        };
 
 
-       function extendOptions( o )
-       {
-               //      ...Extend shortcut options
-               return o;
-       }
+       var _c, _d, _e, glbl;
 
-       function extendConfiguration( c )
-       {
-               //      ...Extend shortcut configuration
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               //      ...Add classnames, data and events
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.buttonbars.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.buttonbars.js
   2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.buttonbars.js
   2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,96 +12,72 @@
                _ADDON_  = 'buttonbars';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !addon_initiated )
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
                {
-                       _initAddon();
-               }
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
 
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
 
-               if ( !addon_added )
-               {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
-               }
+                       //      Refactor buttonbar class
+                       this.__refactorClass( $('div', $panels), 
this.conf.classNames[ _ADDON_ ].buttonbar, 'buttonbar' );
 
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
 
+                       //      Add markup
+                       $('.' + _c.buttonbar, $panels)
+                               .each(
+                                       function()
+                                       {
+                                               var $bbar = $(this),
+                                                       $btns = 
$bbar.children().not( 'input' ),
+                                                       $inpt = 
$bbar.children().filter( 'input' );
 
-               //      Refactor counter class
-               this.__refactorClass( $('div', $panels), this.conf.classNames[ 
_ADDON_ ].buttonbar, 'buttonbar' );
-
-
-               //      Add markup
-               $('div.' + _c.buttonbar, $panels)
-                       .each(
-                               function()
-                               {
-                                       var $bbar = $(this),
-                                               $btns = $bbar.children().not( 
'input' ),
-                                               $inpt = 
$bbar.children().filter( 'input' );
-
-                                       $bbar.addClass( _c.buttonbar + '-' + 
$btns.length );
-                                       
-                                       $inpt
-                                               .each(
-                                                       function()
-                                                       {
-                                                               var $inp = 
$(this),
-                                                                       $lbl = 
$btns.filter( 'label[for="' + $inp.attr( 'id' ) + '"]' );
-
-                                                               if ( 
$lbl.length )
+                                               $bbar.addClass( _c.buttonbar + 
'-' + $btns.length );
+                                               
+                                               $inpt
+                                                       .each(
+                                                               function()
                                                                {
-                                                                       
$inp.insertBefore( $lbl );
+                                                                       var 
$inp = $(this),
+                                                                               
$lbl = $btns.filter( 'label[for="' + $inp.attr( 'id' ) + '"]' );
+       
+                                                                       if ( 
$lbl.length )
+                                                                       {
+                                                                               
$inp.insertBefore( $lbl );
+                                                                       }
                                                                }
-                                                       }
-                                               );
-                               }
-                       );
+                                                       );
+                                       }
+                               );
+               },
 
+               //      _setup: fired once per menu
+               _setup: function() {},
+
+               //      _add: fired once per page load
+               _add: function()
+               {                       
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       _c.add( 'buttonbar' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
+               }
        };
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
-
-
-       //      Defaults
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {};
        $[ _PLUGIN_ ].configuration.classNames[ _ADDON_ ] = {
                buttonbar: 'Buttonbar'
        };
 
 
-       function extendOptions( o )
-       {
-               return o;
-       }
+       var _c, _d, _e, glbl;
 
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'buttonbar' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.buttonbars.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.buttonbars.min.js
       2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.buttonbars.min.js
       2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(t){function n(t){return t}function a(t){return t}function 
i(){d=!0,o=t[r]._c,e=t[r]._d,u=t[r]._e,o.add("buttonbar"),c=t[r].glbl}var 
r="mmenu",s="buttonbars";t[r].prototype["_init_"+s]=function(r){d||i();var 
e=this.vars[s+"_added"];this.vars[s+"_added"]=!0,e||(this.opts[s]=n(this.opts[s]),this.conf[s]=a(this.conf[s])),this.opts[s],this.conf[s],this.__refactorClass(t("div",r),this.conf.classNames[s].buttonbar,"buttonbar"),t("div."+o.buttonbar,r).each(function(){var
 
n=t(this),a=n.children().not("input"),i=n.children().filter("input");n.addClass(o.buttonbar+"-"+a.length),i.each(function(){var
 
n=t(this),i=a.filter('label[for="'+n.attr("id")+'"]');i.length&&n.insertBefore(i)})})},t[r].addons.push(s),t[r].defaults[s]={},t[r].configuration.classNames[s]={buttonbar:"Buttonbar"};var
 o,e,u,c,d=!1}(jQuery);
\ No newline at end of file
+!function(t){var 
n="mmenu",a="buttonbars";t[n].addons[a]={_init:function(n){this.opts[a],this.conf[a],this.__refactorClass(t("div",n),this.conf.classNames[a].buttonbar,"buttonbar"),t("."+i.buttonbar,n).each(function(){var
 
n=t(this),a=n.children().not("input"),o=n.children().filter("input");n.addClass(i.buttonbar+"-"+a.length),o.each(function(){var
 
n=t(this),i=a.filter('label[for="'+n.attr("id")+'"]');i.length&&n.insertBefore(i)})})},_setup:function(){},_add:function(){i=t[n]._c,o=t[n]._d,r=t[n]._e,i.add("buttonbar"),s=t[n].glbl}},t[n].defaults[a]={},t[n].configuration.classNames[a]={buttonbar:"Buttonbar"};var
 i,o,r,s}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.counters.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.counters.js
     2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.counters.js
     2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,101 +12,123 @@
                _ADDON_  = 'counters';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !addon_initiated )
-               {
-                       _initAddon();
-               }
-               
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
+               {                       
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
 
-               if ( !addon_added )
-               {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
-               }
 
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
+                       //      Refactor counter class
+                       this.__refactorClass( $('em', $panels), 
this.conf.classNames[ _ADDON_ ].counter, 'counter' );
 
 
-               //      Refactor counter class
-               this.__refactorClass( $('em', $panels), this.conf.classNames[ 
_ADDON_ ].counter, 'counter' );
-
-
-               //      Add the counters
-               if ( opts.add )
-               {
-                       $panels
-                               .each(
-                                       function()
-                                       {
-                                               var $prnt = $(this).data( 
_d.parent );
-                                               if ( $prnt )
+                       //      Add the counters
+                       if ( opts.add )
+                       {
+                               $panels
+                                       .each(
+                                               function()
                                                {
-                                                       if ( !$prnt.find( '> 
em.' + _c.counter ).length )
+                                                       var $prnt = 
$(this).data( _d.parent );
+                                                       if ( $prnt )
                                                        {
-                                                               $prnt.prepend( 
$( '<em class="' + _c.counter + '" />' ) );
+                                                               if ( 
!$prnt.find( '> em.' + _c.counter ).length )
+                                                               {
+                                                                       
$prnt.prepend( $( '<em class="' + _c.counter + '" />' ) );
+                                                               }
                                                        }
                                                }
-                                       }
-                       );
-               }
+                               );
+                       }
 
 
-               //      Update the counter
-               if ( opts.update )
-               {
-                       $panels
-                               .each(
-                                       function()
-                                       {
-                                               var $panl = $(this),
-                                                       $prnt = $panl.data( 
_d.parent );
-
-                                               if ( $prnt )
+                       //      Update the counter
+                       if ( opts.update )
+                       {
+                               $panels
+                                       .each(
+                                               function()
                                                {
-                                                       var $cntr = $prnt.find( 
'> em.' + _c.counter );
-                                                       if ( $cntr.length )
+                                                       var $panl = $(this),
+                                                               $prnt = 
$panl.data( _d.parent );
+       
+                                                       if ( $prnt )
                                                        {
-                                                               if ( !$panl.is( 
'.' + _c.list ) )
+                                                               var $cntr = 
$prnt.find( '> em.' + _c.counter );
+                                                               if ( 
$cntr.length )
                                                                {
-                                                                       $panl = 
$panl.find( '> .' + _c.list );
+                                                                       if ( 
!$panl.is( '.' + _c.list ) )
+                                                                       {
+                                                                               
$panl = $panl.find( '> .' + _c.list );
+                                                                       }
+                                                                       if ( 
$panl.length && !$panl.data( _d.updatecounter ) )
+                                                                       {
+                                                                               
$panl.data( _d.updatecounter, true );
+                                                                               
that._update(
+                                                                               
        function()
+                                                                               
        {
+                                                                               
                var $lis = $panl.children()
+                                                                               
                        .not( '.' + _c.label )
+                                                                               
                        .not( '.' + _c.subtitle )
+                                                                               
                        .not( '.' + _c.hidden )
+                                                                               
                        .not( '.' + _c.search )
+                                                                               
                        .not( '.' + _c.noresultsmsg );
+               
+                                                                               
                $cntr.html( $lis.length );
+                                                                               
        }
+                                                                               
);
+                                                                       }
                                                                }
-                                                               if ( 
$panl.length && !$panl.data( _d.updatecounter ) )
-                                                               {
-                                                                       
$panl.data( _d.updatecounter, true );
-                                                                       
that._update(
-                                                                               
function()
-                                                                               
{
-                                                                               
        var $lis = $panl.children()
-                                                                               
                .not( '.' + _c.label )
-                                                                               
                .not( '.' + _c.subtitle )
-                                                                               
                .not( '.' + _c.hidden )
-                                                                               
                .not( '.' + _c.search )
-                                                                               
                .not( '.' + _c.noresultsmsg );
-       
-                                                                               
        $cntr.html( $lis.length );
-                                                                               
}
-                                                                       );
-                                                               }
                                                        }
                                                }
-                                       }
-                               );
+                                       );
+                       }
+               },
 
-               }
-       };
+               //      _setup: fired once per menu
+               _setup: function()
+               {
+                       var opts = this.opts[ _ADDON_ ];
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
+                       //      Extend shortcut options
+                       if ( typeof opts == 'boolean' )
+                       {
+                               opts = {
+                                       add             : opts,
+                                       update  : opts
+                               };
+                       }
+                       if ( typeof opts != 'object' )
+                       {
+                               opts = {};
+                       }
+                       opts = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ 
_ADDON_ ], opts );
 
 
-       //      Defaults
+                       this.opts[ _ADDON_ ] = opts;
+               },
+
+               //      _add: fired once per page load
+               _add: function()
+               {
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       _c.add( 'counter search noresultsmsg' );
+                       _d.add( 'updatecounter' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
+               }
+       };
+
+
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {
                add             : false,
                update  : false
@@ -116,43 +138,6 @@
        };
 
 
-       function extendOptions( o )
-       {
-               if ( typeof o == 'boolean' )
-               {
-                       o = {
-                               add             : o,
-                               update  : o
-                       };
-               }
-               if ( typeof o != 'object' )
-               {
-                       o = {};
-               }
-               o = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ _ADDON_ ], o );
-               return o;
-       }
+       var _c, _d, _e, glbl;
 
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'counter search noresultsmsg' );
-               _d.add( 'updatecounter' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.counters.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.counters.min.js
 2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.counters.min.js
 2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(t){function e(e){return"boolean"==typeof 
e&&(e={add:e,update:e}),"object"!=typeof 
e&&(e={}),e=t.extend(!0,{},t[o].defaults[s],e)}function n(t){return t}function 
a(){i=!0,d=t[o]._c,r=t[o]._d,u=t[o]._e,d.add("counter search 
noresultsmsg"),r.add("updatecounter"),c=t[o].glbl}var 
o="mmenu",s="counters";t[o].prototype["_init_"+s]=function(o){i||a();var 
u=this.vars[s+"_added"];this.vars[s+"_added"]=!0,u||(this.opts[s]=e(this.opts[s]),this.conf[s]=n(this.conf[s]));var
 
c=this,h=this.opts[s];this.conf[s],this.__refactorClass(t("em",o),this.conf.classNames[s].counter,"counter"),h.add&&o.each(function(){var
 e=t(this).data(r.parent);e&&(e.find("> 
em."+d.counter).length||e.prepend(t('<em class="'+d.counter+'" 
/>')))}),h.update&&o.each(function(){var e=t(this),n=e.data(r.parent);if(n){var 
a=n.find("> em."+d.counter);a.length&&(e.is("."+d.list)||(e=e.find("> 
."+d.list)),e.length&&!e.data(r.updatecounter)&&(e.data(r.updatecounter,!0),c._update(function(){var
 
t=e.children().not("."+d.label).not("."+d.subtitle).not("."+d.hidden).not("."+d.search).not("."+d.noresultsmsg);a.html(t.length)})))}})},t[o].addons.push(s),t[o].defaults[s]={add:!1,update:!1},t[o].configuration.classNames[s]={counter:"Counter"};var
 d,r,u,c,i=!1}(jQuery);
\ No newline at end of file
+!function(t){var e="mmenu",n="counters";t[e].addons[n]={_init:function(e){var 
s=this,d=this.opts[n];this.conf[n],this.__refactorClass(t("em",e),this.conf.classNames[n].counter,"counter"),d.add&&e.each(function(){var
 e=t(this).data(o.parent);e&&(e.find("> 
em."+a.counter).length||e.prepend(t('<em class="'+a.counter+'" 
/>')))}),d.update&&e.each(function(){var e=t(this),n=e.data(o.parent);if(n){var 
d=n.find("> em."+a.counter);d.length&&(e.is("."+a.list)||(e=e.find("> 
."+a.list)),e.length&&!e.data(o.updatecounter)&&(e.data(o.updatecounter,!0),s._update(function(){var
 
t=e.children().not("."+a.label).not("."+a.subtitle).not("."+a.hidden).not("."+a.search).not("."+a.noresultsmsg);d.html(t.length)})))}})},_setup:function(){var
 a=this.opts[n];"boolean"==typeof a&&(a={add:a,update:a}),"object"!=typeof 
a&&(a={}),a=t.extend(!0,{},t[e].defaults[n],a),this.opts[n]=a},_add:function(){a=t[e]._c,o=t[e]._d,s=t[e]._e,a.add("counter
 search 
noresultsmsg"),o.add("updatecounter"),d=t[e].glbl}},t[e].defaults[n]={add:!1,update:!1},t[e].configuration.classNames[n]={counter:"Counter"};var
 a,o,s,d}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.dragopen.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.dragopen.js
     2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.dragopen.js
     2014-12-03 10:38:16 UTC (rev 12417)
@@ -11,242 +11,266 @@
        var _PLUGIN_ = 'mmenu',
                _ADDON_  = 'dragOpen';
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( typeof Hammer != 'function' )
-               {
-                       return;
-               }
-               if ( !this.opts.offCanvas )
-               {
-                       return;
-               }
-               if ( this.vars[ _ADDON_ + '_added' ] )
-               {
-                       return;
-               }
-               this.vars[ _ADDON_ + '_added' ] = true;
 
-               if ( !addon_initiated )
-               {
-                       _initAddon();
-               }
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels ) {},
 
-               this.opts[ _ADDON_ ] = extendOptions( this.opts[ _ADDON_ ] );
-               this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ _ADDON_ 
] );
-
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
-
-               if ( opts.open )
+               //      _setup: fired once per menu
+               _setup: function()
                {
-                       if ( Hammer.VERSION < 2 )
+                       if ( !this.opts.offCanvas )
                        {
                                return;
                        }
 
-                       //      Set up variables
-                       var drag                        = {},
-                               _stage                  = 0,
-                               _direction              = false,
-                               _dimension              = false,
-                               _distance               = 0,
-                               _maxDistance    = 0;
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
 
-                       var new_distance, drag_distance, css_value, pointer_pos;
 
-                       switch( this.opts.offCanvas.position )
+                       //      Extend shortcut options
+                       if ( typeof opts == 'boolean' )
                        {
-                               case 'left':
-                               case 'right':
-                                       drag.events             = 'panleft 
panright';
-                                       drag.typeLower  = 'x';
-                                       drag.typeUpper  = 'X';
-                                       
-                                       _dimension              = 'width';
-                                       break;
-
-                               case 'top':
-                               case 'bottom':
-                                       drag.events             = 'panup 
pandown';
-                                       drag.typeLower  = 'y';
-                                       drag.typeUpper  = 'Y';
-
-                                       _dimension = 'height';
-                                       break;
+                               opts = {
+                                       open: opts
+                               };
                        }
-                       
-                       switch( this.opts.offCanvas.position )
+                       if ( typeof opts != 'object' )
                        {
-                               case 'left':
-                               case 'top':
-                                       drag.negative   = false;
-                                       break;
-                               
-                               case 'right':
-                               case 'bottom':
-                                       drag.negative   = true;
-                                       break;
+                               opts = {};
                        }
+                       opts = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ 
_ADDON_ ], opts );
+                       
 
-                       switch( this.opts.offCanvas.position )
+                       //      Drag open                       
+                       if ( opts.open )
                        {
-                               case 'left':
-                                       drag.open_dir   = 'right';
-                                       drag.close_dir  = 'left';
-                                       break;
+                               if ( Hammer.VERSION < 2 )
+                               {
+                                       return;
+                               }
 
-                               case 'right':
-                                       drag.open_dir   = 'left';
-                                       drag.close_dir  = 'right';
-                                       break;
+                               //      Set up variables
+                               var drag                        = {},
+                                       _stage                  = 0,
+                                       _direction              = false,
+                                       _dimension              = false,
+                                       _distance               = 0,
+                                       _maxDistance    = 0;
+       
+                               var new_distance, drag_distance, css_value, 
pointer_pos;
+       
+                               switch( this.opts.offCanvas.position )
+                               {
+                                       case 'left':
+                                       case 'right':
+                                               drag.events             = 
'panleft panright';
+                                               drag.typeLower  = 'x';
+                                               drag.typeUpper  = 'X';
+                                               
+                                               _dimension              = 
'width';
+                                               break;
+       
+                                       case 'top':
+                                       case 'bottom':
+                                               drag.events             = 
'panup pandown';
+                                               drag.typeLower  = 'y';
+                                               drag.typeUpper  = 'Y';
+       
+                                               _dimension = 'height';
+                                               break;
+                               }
+                               
+                               switch( this.opts.offCanvas.position )
+                               {
+                                       case 'left':
+                                       case 'top':
+                                               drag.negative   = false;
+                                               break;
+                                       
+                                       case 'right':
+                                       case 'bottom':
+                                               drag.negative   = true;
+                                               break;
+                               }
 
-                               case 'top':
-                                       drag.open_dir   = 'down';
-                                       drag.close_dir  = 'up';
-                                       break;
+                               switch( this.opts.offCanvas.position )
+                               {
+                                       case 'left':
+                                               drag.open_dir   = 'right';
+                                               drag.close_dir  = 'left';
+                                               break;
+       
+                                       case 'right':
+                                               drag.open_dir   = 'left';
+                                               drag.close_dir  = 'right';
+                                               break;
+       
+                                       case 'top':
+                                               drag.open_dir   = 'down';
+                                               drag.close_dir  = 'up';
+                                               break;
+       
+                                       case 'bottom':
+                                               drag.open_dir   = 'up';
+                                               drag.close_dir  = 'down';
+                                               break;
+                               }
+       
+                               var $dragNode = this.__valueOrFn( 
opts.pageNode, this.$menu, glbl.$page );
 
-                               case 'bottom':
-                                       drag.open_dir   = 'up';
-                                       drag.close_dir  = 'down';
-                                       break;
-                       }
+                               if ( typeof $dragNode == 'string' )
+                               {
+                                       $dragNode = $($dragNode);
+                               }
 
-                       var $dragNode = this.__valueOrFn( opts.pageNode, 
this.$menu, glbl.$page );
-                       if ( typeof $dragNode == 'string' )
-                       {
-                               $dragNode = $($dragNode);
-                       }
+                               var $dragg = glbl.$page;
 
-                       var $dragg = glbl.$page;
+                               switch ( this.opts.offCanvas.zposition )
+                               {
+                                       case 'front':
+                                               $dragg = this.$menu;
+                                               break;
+       
+                                       case 'next':
+                                               $dragg = $dragg.add( this.$menu 
);
+                                               break;
+                               };
+       
+       
+                               //      Bind events
+                               var _hammer = new Hammer( $dragNode[ 0 ], 
opts.vendors.hammer );
 
-                       switch ( this.opts.offCanvas.zposition )
-                       {
-                               case 'front':
-                                       $dragg = this.$menu;
-                                       break;
-
-                               case 'next':
-                                       $dragg = $dragg.add( this.$menu );
-                                       break;
-                       };
-
-
-                       //      Bind events
-                       var _hammer = new Hammer( $dragNode[ 0 ], 
opts.vendors.hammer );
-
-                       _hammer
-                               .on( 'panstart',
-                                       function( e )
-                                       {
-                                               pointer_pos = e.center[ 
drag.typeLower ];
-                                               switch( 
that.opts.offCanvas.position )
+                               _hammer
+                                       .on( 'panstart',
+                                               function( e )
                                                {
-                                                       case 'right':
-                                                       case 'bottom':
-                                                               if ( 
pointer_pos >= glbl.$wndw[ _dimension ]() - opts.maxStartPos )
-                                                               {
-                                                                       _stage 
= 1;
-                                                               }
-                                                               break;
-
-                                                       default:
-                                                               if ( 
pointer_pos <= opts.maxStartPos )
-                                                               {
-                                                                       _stage 
= 1;
-                                                               }
-                                                               break;
+                                                       pointer_pos = e.center[ 
drag.typeLower ];
+                                                       switch( 
that.opts.offCanvas.position )
+                                                       {
+                                                               case 'right':
+                                                               case 'bottom':
+                                                                       if ( 
pointer_pos >= glbl.$wndw[ _dimension ]() - opts.maxStartPos )
+                                                                       {
+                                                                               
_stage = 1;
+                                                                       }
+                                                                       break;
+       
+                                                               default:
+                                                                       if ( 
pointer_pos <= opts.maxStartPos )
+                                                                       {
+                                                                               
_stage = 1;
+                                                                       }
+                                                                       break;
+                                                       }
+                                                       _direction = 
drag.open_dir;
                                                }
-                                               _direction = drag.open_dir;
-                                       }
-                               )
-                               .on( drag.events + ' panend',
-                                       function( e )
-                                       {
-                                               if ( _stage > 0 )
+                                       )
+                                       .on( drag.events + ' panend',
+                                               function( e )
                                                {
-                                                       e.preventDefault();
+                                                       if ( _stage > 0 )
+                                                       {
+                                                               
e.preventDefault();
+                                                       }
                                                }
-                                       }
-                               )
-                               .on( drag.events,
-                                       function( e )
-                                       {
-
-                                               new_distance = e[ 'delta' + 
drag.typeUpper ];
-                                               if ( drag.negative )
+                                       )
+                                       .on( drag.events,
+                                               function( e )
                                                {
-                                                       new_distance = 
-new_distance;
-                                               }
-
-                                               if ( new_distance != _distance )
-                                               {
-                                                       _direction = ( 
new_distance >= _distance )
-                                                               ? drag.open_dir
-                                                               : 
drag.close_dir;
-                                               }
-
-                                               _distance = new_distance;
-
-                                               if ( _distance > opts.threshold 
)
-                                               {
-                                                       if ( _stage == 1 )
+       
+                                                       new_distance = e[ 
'delta' + drag.typeUpper ];
+                                                       if ( drag.negative )
                                                        {
-                                                               if ( 
glbl.$html.hasClass( _c.opened ) )
+                                                               new_distance = 
-new_distance;
+                                                       }
+       
+                                                       if ( new_distance != 
_distance )
+                                                       {
+                                                               _direction = ( 
new_distance >= _distance )
+                                                                       ? 
drag.open_dir
+                                                                       : 
drag.close_dir;
+                                                       }
+       
+                                                       _distance = 
new_distance;
+       
+                                                       if ( _distance > 
opts.threshold )
+                                                       {
+                                                               if ( _stage == 
1 )
                                                                {
-                                                                       return;
+                                                                       if ( 
glbl.$html.hasClass( _c.opened ) )
+                                                                       {
+                                                                               
return;
+                                                                       }
+                                                                       _stage 
= 2;
+       
+                                                                       
that._openSetup();
+                                                                       
that.$menu.trigger( _e.opening );
+                                                                       
glbl.$html.addClass( _c.dragging );
+       
+                                                                       
_maxDistance = minMax( 
+                                                                               
glbl.$wndw[ _dimension ]() * conf[ _dimension ].perc, 
+                                                                               
conf[ _dimension ].min, 
+                                                                               
conf[ _dimension ].max
+                                                                       );
                                                                }
-                                                               _stage = 2;
-
-                                                               
that._openSetup();
-                                                               
that.$menu.trigger( _e.opening );
-                                                               
glbl.$html.addClass( _c.dragging );
-
-                                                               _maxDistance = 
minMax( 
-                                                                       
glbl.$wndw[ _dimension ]() * conf[ _dimension ].perc, 
-                                                                       conf[ 
_dimension ].min, 
-                                                                       conf[ 
_dimension ].max
-                                                               );
                                                        }
+                                                       if ( _stage == 2 )
+                                                       {
+                                                               drag_distance = 
minMax( _distance, 10, _maxDistance ) - ( that.opts.offCanvas.zposition == 
'front' ? _maxDistance : 0 );
+                                                               if ( 
drag.negative )
+                                                               {
+                                                                       
drag_distance = -drag_distance;
+                                                               }
+                                                               css_value = 
'translate' + drag.typeUpper + '(' + drag_distance + 'px )';
+       
+                                                               $dragg.css({
+                                                                       
'-webkit-transform': '-webkit-' + css_value,    
+                                                                       
'transform': css_value
+                                                               });
+                                                       }
                                                }
-                                               if ( _stage == 2 )
+                                       )
+                                       .on( 'panend',
+                                               function( e )
                                                {
-                                                       drag_distance = minMax( 
_distance, 10, _maxDistance ) - ( that.opts.offCanvas.zposition == 'front' ? 
_maxDistance : 0 );
-                                                       if ( drag.negative )
+                                                       if ( _stage == 2 )
                                                        {
-                                                               drag_distance = 
-drag_distance;
+                                                               
glbl.$html.removeClass( _c.dragging );
+                                                               $dragg.css( 
'transform', '' );
+                                                               that[ 
_direction == drag.open_dir ? '_openFinish' : 'close' ]();
                                                        }
-                                                       css_value = 'translate' 
+ drag.typeUpper + '(' + drag_distance + 'px )';
+                                               _stage = 0;
+                                           }
+                                       );
+                       }
+               },
 
-                                                       $dragg.css({
-                                                               
'-webkit-transform': '-webkit-' + css_value,    
-                                                               'transform': 
css_value
-                                                       });
-                                               }
-                                       }
-                               )
-                               .on( 'panend',
-                                       function( e )
-                                       {
-                                               if ( _stage == 2 )
-                                               {
-                                                       glbl.$html.removeClass( 
_c.dragging );
-                                                       $dragg.css( 
'transform', '' );
-                                                       that[ _direction == 
drag.open_dir ? '_openFinish' : 'close' ]();
-                                               }
-                                       _stage = 0;
-                                   }
-                               );
+               //      _add: fired once per page load
+               _add: function()
+               {
+                       if ( typeof Hammer != 'function' )
+                       {
+                               $[ _PLUGIN_ ].addons[ _ADDON_ ]._init = 
function() {};
+                               $[ _PLUGIN_ ].addons[ _ADDON_ ]._setup = 
function() {};
+
+                               return;
+                       }
+
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       _c.add( 'dragging' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
                }
        };
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
-
-
-       //      Defaults
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {
                open            : false,
 //             pageNode        : null,
@@ -270,6 +294,9 @@
        };
 
 
+       var _c, _d, _e, glbl;
+
+
        function minMax( val, min, max )
        {
                if ( val < min )
@@ -283,43 +310,4 @@
                return val;
        }
 
-
-       function extendOptions( o )
-       {
-               if ( typeof o == 'boolean' )
-               {
-                       o = {
-                               open: o
-                       };
-               }
-               if ( typeof o != 'object' )
-               {
-                       o = {};
-               }
-               o = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ _ADDON_ ], o );
-
-               return o;
-       }
-
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'dragging' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.dragopen.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.dragopen.min.js
 2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.dragopen.min.js
 2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(e){function t(e,t,n){return t>e&&(e=t),e>n&&(e=n),e}function 
n(t){return"boolean"==typeof t&&(t={open:t}),"object"!=typeof 
t&&(t={}),t=e.extend(!0,{},e[a].defaults[i],t)}function o(e){return e}function 
s(){c=!0,r=e[a]._c,p=e[a]._d,f=e[a]._e,r.add("dragging"),d=e[a].glbl}var 
a="mmenu",i="dragOpen";e[a].prototype["_init_"+i]=function(){if("function"==typeof
 
Hammer&&this.opts.offCanvas&&!this.vars[i+"_added"]){this.vars[i+"_added"]=!0,c||s(),this.opts[i]=n(this.opts[i]),this.conf[i]=o(this.conf[i]);var
 a=this,p=this.opts[i],h=this.conf[i];if(p.open){if(Hammer.VERSION<2)return;var 
m,u,g,l,v={},_=0,w=!1,b=!1,y=0,$=0;switch(this.opts.offCanvas.position){case"left":case"right":v.events="panleft
 
panright",v.typeLower="x",v.typeUpper="X",b="width";break;case"top":case"bottom":v.events="panup
 
pandown",v.typeLower="y",v.typeUpper="Y",b="height"}switch(this.opts.offCanvas.position){case"left":case"top":v.negative=!1;break;case"right":case"bottom":v.negative=!0}switch(this.opts.offCanvas.position){case"left":v.open_dir="right",v.close_dir="left";break;case"right":v.open_dir="left",v.close_dir="right";break;case"top":v.open_dir="down",v.close_dir="up";break;case"bottom":v.open_dir="up",v.close_dir="down"}var
 x=this.__valueOrFn(p.pageNode,this.$menu,d.$page);"string"==typeof 
x&&(x=e(x));var 
C=d.$page;switch(this.opts.offCanvas.zposition){case"front":C=this.$menu;break;case"next":C=C.add(this.$menu)}var
 k=new 
Hammer(x[0],p.vendors.hammer);k.on("panstart",function(e){switch(l=e.center[v.typeLower],a.opts.offCanvas.position){case"right":case"bottom":l>=d.$wndw[b]()-p.maxStartPos&&(_=1);break;default:l<=p.maxStartPos&&(_=1)}w=v.open_dir}).on(v.events+"
 
panend",function(e){_>0&&e.preventDefault()}).on(v.events,function(e){if(m=e["delta"+v.typeUpper],v.negative&&(m=-m),m!=y&&(w=m>=y?v.open_dir:v.close_dir),y=m,y>p.threshold&&1==_){if(d.$html.hasClass(r.opened))return;_=2,a._openSetup(),a.$menu.trigger(f.opening),d.$html.addClass(r.dragging),$=t(d.$wndw[b]()*h[b].perc,h[b].min,h[b].max)}2==_&&(u=t(y,10,$)-("front"==a.opts.offCanvas.zposition?$:0),v.negative&&(u=-u),g="translate"+v.typeUpper+"("+u+"px
 
)",C.css({"-webkit-transform":"-webkit-"+g,transform:g}))}).on("panend",function(){2==_&&(d.$html.removeClass(r.dragging),C.css("transform",""),a[w==v.open_dir?"_openFinish":"close"]()),_=0})}}},e[a].addons.push(i),e[a].defaults[i]={open:!1,maxStartPos:100,threshold:50,vendors:{hammer:{}}},e[a].configuration[i]={width:{perc:.8,min:140,max:440},height:{perc:.8,min:140,max:880}};var
 r,p,f,d,c=!1}(jQuery);
\ No newline at end of file
+!function(e){function t(e,t,n){return t>e&&(e=t),e>n&&(e=n),e}var 
n="mmenu",o="dragOpen";e[n].addons[o]={_init:function(){},_setup:function(){if(this.opts.offCanvas){var
 s=this,p=this.opts[o],d=this.conf[o];if("boolean"==typeof 
p&&(p={open:p}),"object"!=typeof 
p&&(p={}),p=e.extend(!0,{},e[n].defaults[o],p),p.open){if(Hammer.VERSION<2)return;var
 
f,c,h,m,u={},g=0,l=!1,v=!1,_=0,w=0;switch(this.opts.offCanvas.position){case"left":case"right":u.events="panleft
 
panright",u.typeLower="x",u.typeUpper="X",v="width";break;case"top":case"bottom":u.events="panup
 
pandown",u.typeLower="y",u.typeUpper="Y",v="height"}switch(this.opts.offCanvas.position){case"left":case"top":u.negative=!1;break;case"right":case"bottom":u.negative=!0}switch(this.opts.offCanvas.position){case"left":u.open_dir="right",u.close_dir="left";break;case"right":u.open_dir="left",u.close_dir="right";break;case"top":u.open_dir="down",u.close_dir="up";break;case"bottom":u.open_dir="up",u.close_dir="down"}var
 b=this.__valueOrFn(p.pageNode,this.$menu,r.$page);"string"==typeof 
b&&(b=e(b));var 
y=r.$page;switch(this.opts.offCanvas.zposition){case"front":y=this.$menu;break;case"next":y=y.add(this.$menu)}var
 $=new 
Hammer(b[0],p.vendors.hammer);$.on("panstart",function(e){switch(m=e.center[u.typeLower],s.opts.offCanvas.position){case"right":case"bottom":m>=r.$wndw[v]()-p.maxStartPos&&(g=1);break;default:m<=p.maxStartPos&&(g=1)}l=u.open_dir}).on(u.events+"
 
panend",function(e){g>0&&e.preventDefault()}).on(u.events,function(e){if(f=e["delta"+u.typeUpper],u.negative&&(f=-f),f!=_&&(l=f>=_?u.open_dir:u.close_dir),_=f,_>p.threshold&&1==g){if(r.$html.hasClass(a.opened))return;g=2,s._openSetup(),s.$menu.trigger(i.opening),r.$html.addClass(a.dragging),w=t(r.$wndw[v]()*d[v].perc,d[v].min,d[v].max)}2==g&&(c=t(_,10,w)-("front"==s.opts.offCanvas.zposition?w:0),u.negative&&(c=-c),h="translate"+u.typeUpper+"("+c+"px
 
)",y.css({"-webkit-transform":"-webkit-"+h,transform:h}))}).on("panend",function(){2==g&&(r.$html.removeClass(a.dragging),y.css("transform",""),s[l==u.open_dir?"_openFinish":"close"]()),g=0})}}},_add:function(){return"function"!=typeof
 
Hammer?(e[n].addons[o]._init=function(){},e[n].addons[o]._setup=function(){},void
 0):(a=e[n]._c,s=e[n]._d,i=e[n]._e,a.add("dragging"),r=e[n].glbl,void 
0)}},e[n].defaults[o]={open:!1,maxStartPos:100,threshold:50,vendors:{hammer:{}}},e[n].configuration[o]={width:{perc:.8,min:140,max:440},height:{perc:.8,min:140,max:880}};var
 a,s,i,r}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.fixedelements.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.fixedelements.js
        2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.fixedelements.js
        2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,83 +12,45 @@
                _ADDON_  = 'fixedElements';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !this.opts.offCanvas )
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
                {
-                       return;
-               }
+                       if ( !this.opts.offCanvas )
+                       {
+                               return;
+                       }
 
-               if ( !addon_initiated )
-               {
-                       _initAddon();
-               }
 
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
+                       //      Refactor fixed classes
+                       var $elms = $('div, span, a', glbl.$page),
+                               $tops = this.__refactorClass( $elms, 
this.conf.classNames[ _ADDON_ ].fixedTop, 'fixed-top' ),
+                               $bots = this.__refactorClass( $elms, 
this.conf.classNames[ _ADDON_ ].fixedBottom, 'fixed-bottom' );
 
-               if ( !addon_added )
-               {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
-               }
+                       $tops.add( $bots )
+                               .appendTo( glbl.$body )
+                               .addClass( _c.slideout );
+               },
 
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
+               //      _setup: fired once per menu
+               _setup: function() {},
 
-
-               //      Refactor fixed classes
-               this.__refactorClass( $('div, span, a', glbl.$page), 
this.conf.classNames[ _ADDON_ ].fixedTop, 'fixed-top' );
-               this.__refactorClass( $('div, span, a', glbl.$page), 
this.conf.classNames[ _ADDON_ ].fixedBottom, 'fixed-bottom' );
-
-
-               if ( addon_added )
+               //      _add: fired once per page load
+               _add: function()
                {
-                       return;
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       _c.add( 'fixed-top fixed-bottom' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
                }
-
-
-               //      Position the elements
-               var $tops, $bots;
-               this.$menu
-                       .on( _e.opening, 
-                               function( e )
-                               {
-                                       var _top = $(window).scrollTop(),
-                                               _bot = glbl.$page.height() - 
_top - glbl.$wndw.height();
-
-                                       $tops = $('.' + _c[ 'fixed-top' ]);
-                                       $bots = $('.' + _c[ 'fixed-bottom' ]);
-
-                                       $tops.css({
-                                               '-webkit-transform': 
'translateY( ' + _top + 'px )',
-                                               'transform': 'translateY( ' + 
_top + 'px )'
-                                       });
-                                       
-                                       $bots.css({
-                                               '-webkit-transform': 
'translateY( -' + _bot + 'px )',
-                                               'transform': 'translateY( -' + 
_bot + 'px )'
-                                       });
-                               }
-                       )
-                       .on( _e.closed,
-                               function( e )
-                               {
-                                       $tops.add( $bots ).css({
-                                               '-webkit-transform': 'none',
-                                               'transform': 'none'
-                                       });
-                               }
-                       );
        };
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
-
-
-       //      Defaults
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {};
        $[ _PLUGIN_ ].configuration.classNames[ _ADDON_ ] = {
                fixedTop        : 'FixedTop',
@@ -96,30 +58,6 @@
        };
 
 
-       function extendOptions( o )
-       {
-               return o;
-       }
+       var _c, _d, _e, glbl;
 
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'fixed-top fixed-bottom' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.fixedelements.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.fixedelements.min.js
    2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.fixedelements.min.js
    2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(t){function s(t){return t}function o(t){return t}function 
n(){c=!0,e=t[i]._c,f=t[i]._d,r=t[i]._e,e.add("fixed-top 
fixed-bottom"),d=t[i].glbl}var 
i="mmenu",a="fixedElements";t[i].prototype["_init_"+a]=function(){if(this.opts.offCanvas){c||n();var
 
i=this.vars[a+"_added"];if(this.vars[a+"_added"]=!0,i||(this.opts[a]=s(this.opts[a]),this.conf[a]=o(this.conf[a])),this.opts[a],this.conf[a],this.__refactorClass(t("div,
 span, 
a",d.$page),this.conf.classNames[a].fixedTop,"fixed-top"),this.__refactorClass(t("div,
 span, a",d.$page),this.conf.classNames[a].fixedBottom,"fixed-bottom"),!i){var 
f,p;this.$menu.on(r.opening,function(){var 
s=t(window).scrollTop(),o=d.$page.height()-s-d.$wndw.height();f=t("."+e["fixed-top"]),p=t("."+e["fixed-bottom"]),f.css({"-webkit-transform":"translateY(
 "+s+"px )",transform:"translateY( "+s+"px 
)"}),p.css({"-webkit-transform":"translateY( -"+o+"px )",transform:"translateY( 
-"+o+"px 
)"})}).on(r.closed,function(){f.add(p).css({"-webkit-transform":"none",transform:"none"})})}}},t[i].addons.push(a),t[i].defaults[a]={},t[i].configuration.classNames[a]={fixedTop:"FixedTop",fixedBottom:"FixedBottom"};var
 e,f,r,d,c=!1}(jQuery);
\ No newline at end of file
+!function(o){var 
t="mmenu",s="fixedElements";o[t].addons[s]={_init:function(){if(this.opts.offCanvas){var
 t=o("div, span, 
a",e.$page),d=this.__refactorClass(t,this.conf.classNames[s].fixedTop,"fixed-top"),i=this.__refactorClass(t,this.conf.classNames[s].fixedBottom,"fixed-bottom");d.add(i).appendTo(e.$body).addClass(a.slideout)}},_setup:function(){},_add:function(){a=o[t]._c,d=o[t]._d,i=o[t]._e,a.add("fixed-top
 
fixed-bottom"),e=o[t].glbl}},o[t].defaults[s]={},o[t].configuration.classNames[s]={fixedTop:"FixedTop",fixedBottom:"FixedBottom"};var
 a,d,i,e}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.footer.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.footer.js
       2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.footer.js
       2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,91 +12,116 @@
                _ADDON_  = 'footer';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !addon_initiated )
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
                {
-                       _initAddon();
-               }
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ];
 
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
 
-               if ( !addon_added )
-               {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
-               }
+                       //      Update content
+                       var $footer = $('div.' + _c.footer, this.$menu);
+                       if ( $footer.length )
+                       {
+                               //      Auto-update the footer content
+                               if ( opts.update )
+                               {
+                                       $panels
+                                               .each(
+                                                       function()
+                                                       {
+                                                               var $panl = 
$(this);
+       
+                                                               //      Find 
content
+                                                               var $cnt = 
$('.' + that.conf.classNames[ _ADDON_ ].panelFooter, $panl),
+                                                                       _cnt = 
$cnt.html();
+       
+                                                               if ( !_cnt )
+                                                               {
+                                                                       _cnt = 
opts.title;
+                                                               }
+       
+                                                               //      Update 
footer info
+                                                               var 
updateFooter = function()
+                                                               {
+                                                                       
$footer[ _cnt ? 'show' : 'hide' ]();
+                                                                       
$footer.html( _cnt );
+                                                               };
+       
+                                                               $panl.on( 
_e.open, updateFooter );
+       
+                                                               if ( 
$panl.hasClass( _c.current ) )
+                                                               {
+                                                                       
updateFooter();
+                                                               }
+                                                       }
+                                               );
+                               }
 
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
+                               //      Init other add-ons
+                               if ( $[ _PLUGIN_ ].addons.buttonbars )
+                               {
+                                       $[ _PLUGIN_ 
].addons.buttonbars._init.call( this, $footer );
+                               }
+                       }
+               },
 
-               if ( !addon_added && opts.add )
+               //      _setup: fired once per menu
+               _setup: function()
                {
-                       var content = opts.content
-                               ? opts.content
-                               : opts.title;
+                       var opts = this.opts[ _ADDON_ ];
 
-                       $( '<div class="' + _c.footer + '" />' )
-                               .appendTo( this.$menu )
-                               .append( content );
-               }
 
-               var $footer = $('div.' + _c.footer, this.$menu);
-               if ( $footer.length )
-               {
-                       this.$menu.addClass( _c.hasfooter );
-
-                       //      Auto-update the footer content
-                       if ( opts.update )
+                       //      Extend shortcut options
+                       if ( typeof opts == 'boolean' )
                        {
-                               $panels
-                                       .each(
-                                               function()
-                                               {
-                                                       var $panl = $(this);
+                               opts = {
+                                       add             : opts,
+                                       update  : opts
+                               };
+                       }
+                       if ( typeof opts != 'object' )
+                       {
+                               opts = {};
+                       }
+                       opts = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ 
_ADDON_ ], opts );
 
-                                                       //      Find content
-                                                       var $cnt = $('.' + 
that.conf.classNames[ _ADDON_ ].panelFooter, $panl),
-                                                               _cnt = 
$cnt.html();
 
-                                                       if ( !_cnt )
-                                                       {
-                                                               _cnt = 
opts.title;
-                                                       }
+                       this.opts[ _ADDON_ ] = opts;
+                       
 
-                                                       //      Update footer 
info
-                                                       var updateFooter = 
function()
-                                                       {
-                                                               $footer[ _cnt ? 
'show' : 'hide' ]();
-                                                               $footer.html( 
_cnt );
-                                                       };
+                       //      Add markup
+                       if ( opts.add )
+                       {
+                               var content = opts.content
+                                       ? opts.content
+                                       : opts.title;
+       
+                               $( '<div class="' + _c.footer + '" />' )
+                                       .appendTo( this.$menu )
+                                       .append( content );
 
-                                                       $panl.on( _e.open, 
updateFooter );
-
-                                                       if ( $panl.hasClass( 
_c.current ) )
-                                                       {
-                                                               updateFooter();
-                                                       }
-                                               }
-                                       );
+                               this.$menu.addClass( _c.hasfooter );
                        }
+               },
 
-                       //      Init other add-ons
-                       if ( typeof this._init_buttonbars == 'function' )
-                       {
-                               this._init_buttonbars( $footer );
-                       }
+               //      _add: fired once per page load
+               _add: function()
+               {
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       _c.add( 'footer hasfooter' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
                }
        };
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
-
-
-       //      Defaults
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {
                add             : false,
                content : false,
@@ -108,43 +133,6 @@
        };
 
 
-       function extendOptions( o )
-       {
-               if ( typeof o == 'boolean' )
-               {
-                       o = {
-                               add             : o,
-                               update  : o
-                       };
-               }
-               if ( typeof o != 'object' )
-               {
-                       o = {};
-               }
-               o = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ _ADDON_ ], o );
+       var _c, _d, _e, glbl;
 
-               return o;
-       }
-
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'footer hasfooter' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.footer.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.footer.min.js
   2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.footer.min.js
   2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(t){function o(o){return"boolean"==typeof 
o&&(o={add:o,update:o}),"object"!=typeof 
o&&(o={}),o=t.extend(!0,{},t[a].defaults[s],o)}function n(t){return t}function 
e(){h=!0,i=t[a]._c,d=t[a]._d,r=t[a]._e,i.add("footer 
hasfooter"),f=t[a].glbl}var 
a="mmenu",s="footer";t[a].prototype["_init_"+s]=function(a){h||e();var 
d=this.vars[s+"_added"];this.vars[s+"_added"]=!0,d||(this.opts[s]=o(this.opts[s]),this.conf[s]=n(this.conf[s]));var
 f=this,u=this.opts[s];if(this.conf[s],!d&&u.add){var 
c=u.content?u.content:u.title;t('<div class="'+i.footer+'" 
/>').appendTo(this.$menu).append(c)}var 
p=t("div."+i.footer,this.$menu);p.length&&(this.$menu.addClass(i.hasfooter),u.update&&a.each(function(){var
 
o=t(this),n=t("."+f.conf.classNames[s].panelFooter,o),e=n.html();e||(e=u.title);var
 
a=function(){p[e?"show":"hide"](),p.html(e)};o.on(r.open,a),o.hasClass(i.current)&&a()}),"function"==typeof
 
this._init_buttonbars&&this._init_buttonbars(p))},t[a].addons.push(s),t[a].defaults[s]={add:!1,content:!1,title:"",update:!1},t[a].configuration.classNames[s]={panelFooter:"Footer"};var
 i,d,r,f,h=!1}(jQuery);
\ No newline at end of file
+!function(t){var o="mmenu",e="footer";t[o].addons[e]={_init:function(a){var 
d=this,i=this.opts[e],r=t("div."+n.footer,this.$menu);r.length&&(i.update&&a.each(function(){var
 
o=t(this),a=t("."+d.conf.classNames[e].panelFooter,o),u=a.html();u||(u=i.title);var
 
l=function(){r[u?"show":"hide"](),r.html(u)};o.on(s.open,l),o.hasClass(n.current)&&l()}),t[o].addons.buttonbars&&t[o].addons.buttonbars._init.call(this,r))},_setup:function(){var
 a=this.opts[e];if("boolean"==typeof a&&(a={add:a,update:a}),"object"!=typeof 
a&&(a={}),a=t.extend(!0,{},t[o].defaults[e],a),this.opts[e]=a,a.add){var 
s=a.content?a.content:a.title;t('<div class="'+n.footer+'" 
/>').appendTo(this.$menu).append(s),this.$menu.addClass(n.hasfooter)}},_add:function(){n=t[o]._c,a=t[o]._d,s=t[o]._e,n.add("footer
 
hasfooter"),d=t[o].glbl}},t[o].defaults[e]={add:!1,content:!1,title:"",update:!1},t[o].configuration.classNames[e]={panelFooter:"Footer"};var
 n,a,s,d}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.header.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.header.js
       2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.header.js
       2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,182 +12,187 @@
                _ADDON_  = 'header';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !addon_initiated )
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
                {
-                       _initAddon();
-               }
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
 
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
 
-               if ( !addon_added )
-               {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
-               }
-
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
-
-               if ( !addon_added && opts.add )
-               {
-                       if ( opts.content )
+                       //      Update content
+                       var $header = $('.' + _c.header, this.$menu);
+                       if ( $header.length )
                        {
-                               var content = opts.content;
-                       }
-                       else
-                       {
-                               var content = '';
-                               for ( var a = 0, l = opts.add.length; a < l; 
a++ )
+                               //      Auto-update the title, prev- and next 
button
+                               if ( opts.update )
                                {
-                                       switch ( opts.add[ a ] )
+                                       var $titl = $header.find( '.' + 
_c.title ),
+                                               $prev = $header.find( '.' + 
_c.prev ),
+                                               $next = $header.find( '.' + 
_c.next ),
+                                               $clse = $header.find( '.' + 
_c.close ),
+                                               _page = false;
+
+                                       if ( glbl.$page )
                                        {
-                                               case 'prev':
-                                               case 'next':
-                                               case 'close':
-                                                       content += '<a class="' 
+ _c[ opts.add[ a ] ] + '" href="#"></a>';
-                                                       break;
-                                               
-                                               case 'title':
-                                                       content += '<span 
class="' + _c.title + '"></span>';
-                                                       break;
-                                               
-                                               default:
-                                                       content += opts.add[ a 
];
-                                                       break;
+                                               _page = '#' + glbl.$page.attr( 
'id' );
+                                               $clse.attr( 'href', _page );
                                        }
-                               }
-                       }
 
-                       $( '<div class="' + _c.header + '" />' )
-                               .prependTo( this.$menu )
-                               .append( content );
-               }
-
-               var $header = $('div.' + _c.header, this.$menu);
-               if ( $header.length )
-               {
-                       this.$menu.addClass( _c.hasheader );
-
-                       //      Auto-update the title, prev- and next button
-                       if ( opts.update )
-                       {
-                               var $titl = $header.find( '.' + _c.title ),
-                                       $prev = $header.find( '.' + _c.prev ),
-                                       $next = $header.find( '.' + _c.next ),
-                                       $clse = $header.find( '.' + _c.close ),
-                                       _page = false;
-
-                               if ( glbl.$page )
-                               {
-                                       _page = '#' + glbl.$page.attr( 'id' );
-                                       $clse.attr( 'href', _page );
-                               }
-
-                               if ( !addon_added )
-                               {
-                                       $prev
-                                               .add( $next )
-                                               .add( $clse )
-                                               .off( _e.click )
-                                               .on( _e.click,
-                                                       function( e )
+                                       $panels
+                                               .each(
+                                                       function()
                                                        {
-                                                               
e.preventDefault();
-                                                               
e.stopPropagation();
+                                                               var $panl = 
$(this);
+       
+                                                               //      Find 
title, prev and next
+                                                               var $ttl = 
$panl.find('.' + that.conf.classNames[ _ADDON_ ].panelHeader),
+                                                                       $prv = 
$panl.find('.' + that.conf.classNames[ _ADDON_ ].panelPrev),
+                                                                       $nxt = 
$panl.find('.' + that.conf.classNames[ _ADDON_ ].panelNext);
+       
+                                                               var _ttl = 
$ttl.html(),
+                                                                       _prv = 
$prv.attr( 'href' ),
+                                                                       _nxt = 
$nxt.attr( 'href' );
+                                                                       
+                                                               var _prv_txt = 
$prv.html(),
+                                                                       
_nxt_txt = $nxt.html();
 
-                                                               var href = 
$(this).attr( 'href' );
-                                                               if ( href !== 
'#' )
+                                                               if ( !_ttl )
                                                                {
-                                                                       if ( 
_page && href == _page )
-                                                                       {
-                                                                               
that.$menu.trigger( _e.close );
-                                                                       }
-                                                                       else
-                                                                       {
-                                                                               
$(href, that.$menu).trigger( _e.open );
-                                                                       }
+                                                                       _ttl = 
$panl.find('.' + _c.subclose).html();
                                                                }
+                                                               if ( !_ttl )
+                                                               {
+                                                                       _ttl = 
opts.title;
+                                                               }
+                                                               if ( !_prv )
+                                                               {
+                                                                       _prv = 
$panl.find('.' + _c.subclose).attr( 'href' );
+                                                               }
+       
+                                                               //      Update 
header info
+                                                               var 
updateHeader = function()
+                                                               {
+                                                                       $titl[ 
_ttl ? 'show' : 'hide' ]();
+                                                                       
$titl.html( _ttl );
+       
+                                                                       $prev[ 
_prv ? 'attr' : 'removeAttr' ]( 'href', _prv );
+                                                                       $prev[ 
_prv || _prv_txt ? 'show' : 'hide' ]();
+                                                                       
$prev.html( _prv_txt );
+       
+                                                                       $next[ 
_nxt ? 'attr' : 'removeAttr' ]( 'href', _nxt );
+                                                                       $next[ 
_nxt || _nxt_txt ? 'show' : 'hide' ]();
+                                                                       
$next.html( _nxt_txt );
+                                                               };
+       
+                                                               $panl.on( 
_e.open, updateHeader );
+       
+                                                               if ( 
$panl.hasClass( _c.current ) )
+                                                               {
+                                                                       
updateHeader();
+                                                               }
                                                        }
                                                );
                                }
 
-                               $panels
-                                       .each(
-                                               function()
-                                               {
-                                                       var $panl = $(this);
+                               //      Init other add-ons
+                               if ( $[ _PLUGIN_ ].addons.buttonbars )
+                               {
+                                       $[ _PLUGIN_ 
].addons.buttonbars._init.call( this, $header );
+                               }
+                       }
+               },
 
-                                                       //      Find title, 
prev and next
-                                                       var $ttl = $('.' + 
that.conf.classNames[ _ADDON_ ].panelHeader, $panl),
-                                                               $prv = $('.' + 
that.conf.classNames[ _ADDON_ ].panelPrev, $panl),
-                                                               $nxt = $('.' + 
that.conf.classNames[ _ADDON_ ].panelNext, $panl),
+               //      _setup: fired once per menu
+               _setup: function()
+               {
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
 
-                                                               _ttl = 
$ttl.html(),
-                                                               _prv = 
$prv.attr( 'href' ),
-                                                               _nxt = 
$nxt.attr( 'href' );
 
-                                                       if ( !_ttl )
-                                                       {
-                                                               _ttl = $('.' + 
_c.subclose, $panl).html();
-                                                       }
-                                                       if ( !_ttl )
-                                                       {
-                                                               _ttl = 
opts.title;
-                                                       }
-                                                       if ( !_prv )
-                                                       {
-                                                               _prv = $('.' + 
_c.subclose, $panl).attr( 'href' );
-                                                       }
-                                                       
-                                                       var _prv_txt = 
$prv.html(),
-                                                               _nxt_txt = 
$nxt.html();
+                       //      Extend shortcut options
+                       if ( typeof opts == 'boolean' )
+                       {
+                               opts = {
+                                       add             : opts,
+                                       update  : opts
+                               };
+                       }
+                       if ( typeof opts != 'object' )
+                       {
+                               opts = {};
+                       }
+                       if ( typeof opts.content == 'undefined' )
+                       {
+                               opts.content = [ 'prev', 'title', 'next' ];
+                       }
+                       opts = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ 
_ADDON_ ], opts );
 
-                                                       //      Update header 
info
-                                                       var updateHeader = 
function()
-                                                       {
-                                                               $titl[ _ttl ? 
'show' : 'hide' ]();
-                                                               $titl.html( 
_ttl );
 
-                                                               $prev[ _prv ? 
'attr' : 'removeAttr' ]( 'href', _prv );
-                                                               $prev[ _prv || 
_prv_txt ? 'show' : 'hide' ]();
-                                                               $prev.html( 
_prv_txt );
+                       this.opts[ _ADDON_ ] = opts;
 
-                                                               $next[ _nxt ? 
'attr' : 'removeAttr' ]( 'href', _nxt );
-                                                               $next[ _nxt || 
_nxt_txt ? 'show' : 'hide' ]();
-                                                               $next.html( 
_nxt_txt );
-                                                       };
 
-                                                       $panl.on( _e.open, 
updateHeader );
-
-                                                       if ( $panl.hasClass( 
_c.current ) )
-                                                       {
-                                                               updateHeader();
-                                                       }
+                       //      Add markup
+                       if ( opts.add )
+                       {
+                               if ( opts.content instanceof Array )
+                               {
+                                       var $content = $( '<div />' );
+                                       for ( var c = 0, l = 
opts.content.length; c < l; c++ )
+                                       {
+                                               switch ( opts.content[ c ] )
+                                               {
+                                                       case 'prev':
+                                                       case 'next':
+                                                       case 'close':
+                                                               
$content.append( '<a class="' + _c[ opts.content[ c ] ] + '" href="#"></a>' );
+                                                               break;
+                                                       
+                                                       case 'title':
+                                                               
$content.append( '<span class="' + _c.title + '"></span>' );
+                                                               break;
+                                                       
+                                                       default:
+                                                               
$content.append( opts.content[ c ] );
+                                                               break;
                                                }
-                                       );
-                       }
+                                       }
+                                       $content = $content.html();
+                               }
+                               else
+                               {
+                                       var $content = opts.content;
+                               }
 
-                       //      Init other add-ons
-                       if ( typeof this._init_buttonbars == 'function' )
-                       {
-                               this._init_buttonbars( $header );
+                               $( '<div class="' + _c.header + '" />' )
+                                       .prependTo( this.$menu )
+                                       .append( $content );
+                               
+                               this.$menu.addClass( _c.hasheader );
                        }
+               },
+
+               //      _add: fired once per page load
+               _add: function()
+               {
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       _c.add( 'header hasheader prev next close title' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
                }
        };
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
-
-
-       //      Defaults
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {
                add             : false,
-               content : false,
+//             content : [ 'prev', 'title', 'next' ],
                title   : 'Menu',
                update  : false
        };
@@ -198,47 +203,6 @@
        };
 
 
-       function extendOptions( o )
-       {
-               if ( typeof o == 'boolean' )
-               {
-                       o = {
-                               add             : o,
-                               update  : o
-                       };
-               }
-               if ( typeof o != 'object' )
-               {
-                       o = {};
-               }
-               if ( !( o.add instanceof Array ) )
-               {
-                       o.add = [ 'prev', 'title', 'next' ];
-               }
-               o = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ _ADDON_ ], o );
+       var _c, _d, _e, glbl;
 
-               return o;
-       }
-
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'header hasheader prev next close title' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.header.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.header.min.js
   2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.header.min.js
   2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(e){function t(t){return"boolean"==typeof 
t&&(t={add:t,update:t}),"object"!=typeof t&&(t={}),t.add instanceof 
Array||(t.add=["prev","title","next"]),t=e.extend(!0,{},e[s].defaults[r],t)}function
 a(e){return e}function n(){l=!0,d=e[s]._c,i=e[s]._d,o=e[s]._e,d.add("header 
hasheader prev next close title"),h=e[s].glbl}var 
s="mmenu",r="header";e[s].prototype["_init_"+r]=function(s){l||n();var 
i=this.vars[r+"_added"];this.vars[r+"_added"]=!0,i||(this.opts[r]=t(this.opts[r]),this.conf[r]=a(this.conf[r]));var
 c=this,f=this.opts[r];if(this.conf[r],!i&&f.add){if(f.content)var 
p=f.content;else for(var 
p="",u=0,v=f.add.length;v>u;u++)switch(f.add[u]){case"prev":case"next":case"close":p+='<a
 class="'+d[f.add[u]]+'" href="#"></a>';break;case"title":p+='<span 
class="'+d.title+'"></span>';break;default:p+=f.add[u]}e('<div 
class="'+d.header+'" />').prependTo(this.$menu).append(p)}var 
m=e("div."+d.header,this.$menu);if(m.length){if(this.$menu.addClass(d.hasheader),f.update){var
 
b=m.find("."+d.title),g=m.find("."+d.prev),_=m.find("."+d.next),x=m.find("."+d.close),N=!1;h.$page&&(N="#"+h.$page.attr("id"),x.attr("href",N)),i||g.add(_).add(x).off(o.click).on(o.click,function(t){t.preventDefault(),t.stopPropagation();var
 
a=e(this).attr("href");"#"!==a&&(N&&a==N?c.$menu.trigger(o.close):e(a,c.$menu).trigger(o.open))}),s.each(function(){var
 
t=e(this),a=e("."+c.conf.classNames[r].panelHeader,t),n=e("."+c.conf.classNames[r].panelPrev,t),s=e("."+c.conf.classNames[r].panelNext,t),i=a.html(),h=n.attr("href"),l=s.attr("href");i||(i=e("."+d.subclose,t).html()),i||(i=f.title),h||(h=e("."+d.subclose,t).attr("href"));var
 
p=n.html(),u=s.html(),v=function(){b[i?"show":"hide"](),b.html(i),g[h?"attr":"removeAttr"]("href",h),g[h||p?"show":"hide"](),g.html(p),_[l?"attr":"removeAttr"]("href",l),_[l||u?"show":"hide"](),_.html(u)};t.on(o.open,v),t.hasClass(d.current)&&v()})}"function"==typeof
 
this._init_buttonbars&&this._init_buttonbars(m)}},e[s].addons.push(r),e[s].defaults[r]={add:!1,content:!1,title:"Menu",update:!1},e[s].configuration.classNames[r]={panelHeader:"Header",panelNext:"Next",panelPrev:"Prev"};var
 d,i,o,h,l=!1}(jQuery);
\ No newline at end of file
+!function(e){var t="mmenu",a="header";e[t].addons[a]={_init:function(s){var 
i=this,o=this.opts[a],l=(this.conf[a],e("."+n.header,this.$menu));if(l.length){if(o.update){var
 
h=l.find("."+n.title),c=l.find("."+n.prev),f=l.find("."+n.next),p=l.find("."+n.close),u=!1;r.$page&&(u="#"+r.$page.attr("id"),p.attr("href",u)),s.each(function(){var
 
t=e(this),s=t.find("."+i.conf.classNames[a].panelHeader),r=t.find("."+i.conf.classNames[a].panelPrev),l=t.find("."+i.conf.classNames[a].panelNext),p=s.html(),u=r.attr("href"),v=l.attr("href"),m=r.html(),b=l.html();p||(p=t.find("."+n.subclose).html()),p||(p=o.title),u||(u=t.find("."+n.subclose).attr("href"));var
 
x=function(){h[p?"show":"hide"](),h.html(p),c[u?"attr":"removeAttr"]("href",u),c[u||m?"show":"hide"](),c.html(m),f[v?"attr":"removeAttr"]("href",v),f[v||b?"show":"hide"](),f.html(b)};t.on(d.open,x),t.hasClass(n.current)&&x()})}e[t].addons.buttonbars&&e[t].addons.buttonbars._init.call(this,l)}},_setup:function(){var
 s=this.opts[a];if(this.conf[a],"boolean"==typeof 
s&&(s={add:s,update:s}),"object"!=typeof s&&(s={}),"undefined"==typeof 
s.content&&(s.content=["prev","title","next"]),s=e.extend(!0,{},e[t].defaults[a],s),this.opts[a]=s,s.add){if(s.content
 instanceof Array){for(var d=e("<div 
/>"),r=0,i=s.content.length;i>r;r++)switch(s.content[r]){case"prev":case"next":case"close":d.append('<a
 class="'+n[s.content[r]]+'" href="#"></a>');break;case"title":d.append('<span 
class="'+n.title+'"></span>');break;default:d.append(s.content[r])}d=d.html()}else
 var d=s.content;e('<div class="'+n.header+'" 
/>').prependTo(this.$menu).append(d),this.$menu.addClass(n.hasheader)}},_add:function(){n=e[t]._c,s=e[t]._d,d=e[t]._e,n.add("header
 hasheader prev next close 
title"),r=e[t].glbl}},e[t].defaults[a]={add:!1,title:"Menu",update:!1},e[t].configuration.classNames[a]={panelHeader:"Header",panelNext:"Next",panelPrev:"Prev"};var
 n,s,d,r}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.labels.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.labels.js
       2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.labels.js
       2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,81 +12,100 @@
                _ADDON_  = 'labels';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !addon_initiated )
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
                {
-                       _initAddon();
-               }
-               
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
-               
-               if ( !addon_added )
-               {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
-               }
+                       var opts = this.opts[ _ADDON_ ];
 
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
 
-
-               //      Toggle collapsed labels
-               if ( opts.collapse )
-               {
-
                        //      Refactor collapsed class
                        this.__refactorClass( $('li', this.$menu), 
this.conf.classNames[ _ADDON_ ].collapsed, 'collapsed' );
 
-                       $('.' + _c.label, $panels )
-                               .each(
-                                       function()
-                                       {
-                                               var $labl = $(this),
-                                                       $expn = 
$labl.nextUntil( '.' + _c.label, ( opts.collapse == 'all' ) ? null : '.' + 
_c.collapsed );
 
-                                               if ( opts.collapse == 'all' )
+                       //      Toggle collapsed labels
+                       if ( opts.collapse )
+                       {
+                               $('.' + _c.label, $panels )
+                                       .each(
+                                               function()
                                                {
-                                                       $labl.addClass( 
_c.opened );
-                                                       $expn.removeClass( 
_c.collapsed );
-                                               }
-
-                                               if ( $expn.length )
-                                               {
-                                                       if ( !$labl.data( 
_d.updatelabel ) )
+                                                       var $l = $(this),
+                                                               $e = 
$l.nextUntil( '.' + _c.label, '.' + _c.collapsed );
+       
+                                                       if ( $e.length )
                                                        {
-                                                               $labl.data( 
_d.updatelabel, true );
-                                                               
$labl.wrapInner( '<span />' );
-                                                               $labl.prepend( 
'<a href="#" class="' + _c.subopen + ' ' + _c.fullsubopen + '" />' );
+                                                               if ( 
!$l.children( '.' + _c.subopen ).length )
+                                                               {
+                                                                       
$l.wrapInner( '<span />' );
+                                                                       
$l.prepend( '<a href="#" class="' + _c.subopen + ' ' + _c.fullsubopen + '" />' 
);
+                                                               }
                                                        }
+                                               }
+                                       );
+                       }
 
-                                                       $labl
-                                                               .find( 'a.' + 
_c.subopen )
-                                                               .off( _e.click )
-                                                               .on( _e.click,
-                                                                       
function( e )
-                                                                       {
-                                                                               
e.preventDefault();
+               },
 
-                                                                               
$labl.toggleClass( _c.opened );
-                                                                               
$expn[ $labl.hasClass( _c.opened ) ? 'removeClass' : 'addClass' ]( _c.collapsed 
);
-                                                                       }
-                                                               );
-                                               }
-                                       }
-                               );
-               }
+               //      _setup: fired once per menu
+               _setup: function()
+               {
+                       var opts = this.opts[ _ADDON_ ];
 
-       };
 
+                       //      Extend shortcut options
+                       if ( typeof opts == 'boolean' )
+                       {
+                               opts = {
+                                       collapse: opts
+                               };
+                       }
+                       if ( typeof opts != 'object' )
+                       {
+                               opts = {};
+                       }
+                       opts = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ 
_ADDON_ ], opts );
+                       
+                       
+                       this.opts[ _ADDON_ ] = opts;
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
+               },
 
+               //      _add: fired once per page load
+               _add: function()
+               {
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       _c.add( 'collapsed uncollapsed' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
+               },
 
-       //      Defaults
+               //      _clickAnchor: prevents default behavior when clicking 
an anchor
+               _clickAnchor: function( $a, inMenu )
+               {
+                       if ( inMenu )
+                       {
+                               var $l = $a.parent();
+                               if ( $l.is( '.' + _c.label ) )
+                               {
+                                       var $e = $l.nextUntil( '.' + _c.label, 
'.' + _c.collapsed );
+                       
+                                       $l.toggleClass( _c.opened );
+                                       $e[ $l.hasClass( _c.opened ) ? 
'addClass' : 'removeClass' ]( _c.uncollapsed );
+                                       
+                                       return true;
+                               }
+                       }
+                       return false;
+               }
+       };
+
+
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {
                collapse: false
        };
@@ -95,44 +114,6 @@
        };
 
 
-       function extendOptions( o )
-       {
-               if ( typeof o == 'boolean' )
-               {
-                       o = {
-                               collapse: o
-                       };
-               }
-               if ( typeof o != 'object' )
-               {
-                       o = {};
-               }
-               o = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ _ADDON_ ], o );
+       var _c, _d, _e, glbl;
 
-               return o;
-       }
-
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'collapsed' );
-               _d.add( 'updatelabel' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.labels.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.labels.min.js
   2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.labels.min.js
   2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(l){function a(a){return"boolean"==typeof 
a&&(a={collapse:a}),"object"!=typeof 
a&&(a={}),a=l.extend(!0,{},l[o].defaults[t],a)}function e(l){return l}function 
s(){i=!0,n=l[o]._c,d=l[o]._d,c=l[o]._e,n.add("collapsed"),d.add("updatelabel"),p=l[o].glbl}var
 o="mmenu",t="labels";l[o].prototype["_init_"+t]=function(o){i||s();var 
p=this.vars[t+"_added"];this.vars[t+"_added"]=!0,p||(this.opts[t]=a(this.opts[t]),this.conf[t]=e(this.conf[t]));var
 
u=this.opts[t];this.conf[t],u.collapse&&(this.__refactorClass(l("li",this.$menu),this.conf.classNames[t].collapsed,"collapsed"),l("."+n.label,o).each(function(){var
 
a=l(this),e=a.nextUntil("."+n.label,"all"==u.collapse?null:"."+n.collapsed);"all"==u.collapse&&(a.addClass(n.opened),e.removeClass(n.collapsed)),e.length&&(a.data(d.updatelabel)||(a.data(d.updatelabel,!0),a.wrapInner("<span
 />"),a.prepend('<a href="#" class="'+n.subopen+" "+n.fullsubopen+'" 
/>')),a.find("a."+n.subopen).off(c.click).on(c.click,function(l){l.preventDefault(),a.toggleClass(n.opened),e[a.hasClass(n.opened)?"removeClass":"addClass"](n.collapsed)}))}))},l[o].addons.push(t),l[o].defaults[t]={collapse:!1},l[o].configuration.classNames[t]={collapsed:"Collapsed"};var
 n,d,c,p,i=!1}(jQuery);
\ No newline at end of file
+!function(l){var e="mmenu",s="labels";l[e].addons[s]={_init:function(e){var 
n=this.opts[s];this.__refactorClass(l("li",this.$menu),this.conf.classNames[s].collapsed,"collapsed"),n.collapse&&l("."+a.label,e).each(function(){var
 
e=l(this),s=e.nextUntil("."+a.label,"."+a.collapsed);s.length&&(e.children("."+a.subopen).length||(e.wrapInner("<span
 />"),e.prepend('<a href="#" class="'+a.subopen+" "+a.fullsubopen+'" 
/>')))})},_setup:function(){var a=this.opts[s];"boolean"==typeof 
a&&(a={collapse:a}),"object"!=typeof 
a&&(a={}),a=l.extend(!0,{},l[e].defaults[s],a),this.opts[s]=a},_add:function(){a=l[e]._c,n=l[e]._d,o=l[e]._e,a.add("collapsed
 uncollapsed"),t=l[e].glbl},_clickAnchor:function(l,e){if(e){var 
s=l.parent();if(s.is("."+a.label)){var 
n=s.nextUntil("."+a.label,"."+a.collapsed);return 
s.toggleClass(a.opened),n[s.hasClass(a.opened)?"addClass":"removeClass"](a.uncollapsed),!0}}return!1}},l[e].defaults[s]={collapse:!1},l[e].configuration.classNames[s]={collapsed:"Collapsed"};var
 a,n,o,t}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.offcanvas.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.offcanvas.js
    2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.offcanvas.js
    2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,62 +12,141 @@
                _ADDON_  = 'offCanvas';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !this.opts[ _ADDON_ ] )
-               {
-                       return;
-               }
-               if ( this.vars[ _ADDON_ + '_added' ] )
-               {
-                       return;
-               }
-               this.vars[ _ADDON_ + '_added' ] = true;
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
 
-               if ( !addon_initiated )
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels ) {},
+
+               //      _setup: fired once per menu
+               _setup: function()
                {
-                       _initAddon();
-               }
+                       if ( !this.opts[ _ADDON_ ] )
+                       {
+                               return;
+                       }
 
-               this.opts[ _ADDON_ ] = extendOptions( this.opts[ _ADDON_ ] );
-               this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ _ADDON_ 
] );
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
 
-               var opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ],
-                       clsn = [ _c.offcanvas ];
 
-               if ( typeof this.vars.opened != 'boolean' )
-               {
+                       //      Extend shortcut configuration
+                       if ( typeof conf.pageSelector != 'string' )
+                       {
+                               conf.pageSelector = '> ' + conf.pageNodetype;
+                       }
+
+
+                       glbl.$allMenus = ( glbl.$allMenus || $() ).add( 
this.$menu );
+
+
+                       //      Setup the menu
                        this.vars.opened = false;
-               }
+                       
+                       var clsn = [ _c.offcanvas ];
+       
+                       if ( opts.position != 'left' )
+                       {
+                               clsn.push( _c.mm( opts.position ) );
+                       }
+                       if ( opts.zposition != 'back' )
+                       {
+                               clsn.push( _c.mm( opts.zposition ) );
+                       }
 
-               if ( opts.position != 'left' )
-               {
-                       clsn.push( _c.mm( opts.position ) );
-               }
-               if ( opts.zposition != 'back' )
-               {
-                       clsn.push( _c.mm( opts.zposition ) );
-               }
+                       this.$menu
+                               .addClass( clsn.join( ' ' ) )
+                               .parent()
+                               .removeClass( _c.wrapper );
 
-               this.$menu
-                       .addClass( clsn.join( ' ' ) )
-                       .parent()
-                       .removeClass( _c.wrapper );
+                       
+                       //      Setup the page
+                       this.setPage( glbl.$page );
 
-               this[ _ADDON_ + '_initPage' ]( glbl.$page );
-               this[ _ADDON_ + '_initBlocker' ]();
-               this[ _ADDON_ + '_initOpenClose' ]();
-               this[ _ADDON_ + '_bindCustomEvents' ]();
 
-               this.$menu[ conf.menuInjectMethod + 'To' ]( 
conf.menuWrapperSelector );
-       };
+                       //      Setup the UI blocker and the window
+                       this[ _ADDON_ + '_initBlocker' ]();
+                       this[ _ADDON_ + '_initWindow' ]();
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
+                       //      Add events
+                       this.$menu
+                               .on( _e.open + ' ' + _e.opening + ' ' + 
_e.opened + ' ' + 
+                                       _e.close + ' ' + _e.closing + ' ' + 
_e.closed + ' ' + _e.setPage,
+                                       function( e )
+                                       {
+                                               e.stopPropagation();
+                                       }
+                               )
+                               .on( _e.open + ' ' + _e.close + ' ' + 
_e.setPage,
+                                       function( e )
+                                       {
+                                               that[ e.type ]();
+                                       }
+                               );
 
 
+                       //      Append to the body
+                       this.$menu[ conf.menuInjectMethod + 'To' ]( 
conf.menuWrapperSelector );
+               },
+
+               //      _add: fired once per page load
+               _add: function()
+               {
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+
+                       _c.add( 'offcanvas slideout modal background opening 
blocker page' );
+                       _d.add( 'style' );
+                       _e.add( 'opening opened closing closed setPage' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
+               },
+
+               //      _clickAnchor: prevents default behavior when clicking 
an anchor
+               _clickAnchor: function( $a, inMenu )
+               {
+                       if ( !this.opts[ _ADDON_ ] )
+                       {
+                               return false;
+                       }
+
+                       //      Open menu
+                       var id = this.$menu.attr( 'id' );
+                       if ( id && id.length )
+                       {
+                               if ( this.conf.clone )
+                               {
+                                       id = _c.umm( id );
+                               }
+                               if ( $a.is( '[href="#' + id + '"]' ) )
+                               {
+                                       this.open();
+                                       return true;
+                               }
+                       }
+                       
+                       //      Close menu
+                       if ( !glbl.$page )
+                       {
+                               return;
+                       }
+                       var id = glbl.$page.attr( 'id' );
+                       if ( id && id.length )
+                       {
+                               if ( $a.is( '[href="#' + id + '"]' ) )
+                               {
+                                       this.close();
+                                       return true;
+                               }
+                       }
+
+                       return false;
+               }
+       };
+
+
        //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {
                position                : 'left',
@@ -108,6 +187,8 @@
 
        $[ _PLUGIN_ ].prototype._openSetup = function()
        {
+               var that = this;
+
                //      Close other menus
                glbl.$allMenus.not( this.$menu ).trigger( _e.close );
 
@@ -143,7 +224,10 @@
                glbl.$html.addClass( clsn.join( ' ' ) );
 
                //      Open
-               this.vars.opened = true;
+               setTimeout(function(){
+            that.vars.opened = true;
+        },this.conf.openingInterval);
+
                this.$menu.addClass( _c.current + ' ' + _c.opened );
        };
 
@@ -208,40 +292,8 @@
 
                return 'close';
        };
-
-       $[ _PLUGIN_ ].prototype[ _ADDON_ + '_initBlocker' ] = function()
-       {
-               var that = this;
-
-               if ( !glbl.$blck )
-               {
-                       glbl.$blck = $( '<div id="' + _c.blocker + '" />' )
-                               .appendTo( glbl.$body );
-               }
-
-               glbl.$blck
-                       .off( _e.touchstart )
-                       .on( _e.touchstart,
-                               function( e )
-                               {
-                                       e.preventDefault();
-                                       e.stopPropagation();
-                                       glbl.$blck.trigger( _e.mousedown );
-                               }
-                       )
-                       .on( _e.mousedown,
-                               function( e )
-                               {
-                                       e.preventDefault();
-                                       if ( !glbl.$html.hasClass( _c.modal ) )
-                                       {
-                                               that.close();
-                                       }
-                               }
-                       );
-       };
        
-       $[ _PLUGIN_ ].prototype[ _ADDON_ + '_initPage' ] = function( $page )
+       $[ _PLUGIN_ ].prototype.setPage = function( $page )
        {
                if ( !$page )
                {
@@ -252,117 +304,12 @@
                        }
                }
 
-               $page.addClass( _c.page );
+               $page.addClass( _c.page + ' ' + _c.slideout );
                glbl.$page = $page;                     
        };
 
-       $[ _PLUGIN_ ].prototype[ _ADDON_ + '_initOpenClose' ] = function()
+       $[ _PLUGIN_ ].prototype[ _ADDON_ + '_initWindow' ] = function()
        {
-               var that = this;
-
-               //      Open menu
-               var id = this.$menu.attr( 'id' );
-               if ( id && id.length )
-               {
-                       if ( this.conf.clone )
-                       {
-                               id = _c.umm( id );
-                       }
-
-                       $('a[href="#' + id + '"]')
-                               .off( _e.click )
-                               .on( _e.click,
-                                       function( e )
-                                       {
-                                               e.preventDefault();
-                                               that.open();
-                                       }
-                               );
-               }
-
-               //      Close menu
-               var id = glbl.$page.attr( 'id' );
-               if ( id && id.length )
-               {
-                       $('a[href="#' + id + '"]')
-                               .on( _e.click,
-                                       function( e )
-                                       {
-                                               e.preventDefault();
-                                               that.close();
-                                       }
-                               );
-               }
-       };
-
-       $[ _PLUGIN_ ].prototype[ _ADDON_ + '_bindCustomEvents' ] = function()
-       {
-               var that = this,
-                       evnt = _e.open + ' ' + _e.opening + ' ' + _e.opened + ' 
' + _e.close + ' ' + _e.closing + ' ' + _e.closed + ' ' + _e.setPage;
-
-               this.$menu
-                       .off( evnt )
-                       .on( evnt,
-                               function( e )
-                               {
-                                       e.stopPropagation();
-                               }
-                       );
-
-               //      Menu-events
-               this.$menu
-                       .on( _e.open,
-                               function( e )
-                               {
-                                       that.open();
-                               }
-                       )
-                       .on( _e.close,
-                               function( e )
-                               {
-                                       that.close();
-                               }
-                       )
-                       .on( _e.setPage,
-                               function( e, $page )
-                               {
-                                       that[ _ADDON_ + '_initPage' ]( $page );
-                                       that[ _ADDON_ + '_initOpenClose' ]();
-                               }
-                       );
-       };
-
-
-       function extendOptions( o )
-       {
-               return o;
-       }
-
-       function extendConfiguration( c )
-       {
-               if ( typeof c.pageSelector != 'string' )
-               {
-                       c.pageSelector = '> ' + c.pageNodetype;
-               }
-               
-               return c;
-       }
-
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'offcanvas modal background opening blocker page' );
-               _d.add( 'style' );
-               _e.add( 'opening opened closing closed setPage' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-               glbl.$allMenus = ( glbl.$allMenus || $() ).add( this.$menu );
-
                //      Prevent tabbing
                glbl.$wndw
                        .on( _e.keydown,
@@ -396,9 +343,44 @@
                                        }
                                }
                        );
-       }
 
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
 
+               //      Once fired, it can be removed
+               $[ _PLUGIN_ ].prototype[ _ADDON_ + '_initWindow' ] = function() 
{};
+       };
+
+       $[ _PLUGIN_ ].prototype[ _ADDON_ + '_initBlocker' ] = function()
+       {
+               var that = this;
+               var $blck = $( '<div id="' + _c.blocker + '" class="' + 
_c.slideout + '" />' )
+                       .appendTo( glbl.$body );
+                       
+               $blck
+                       .on( _e.touchstart,
+                               function( e )
+                               {
+                                       e.preventDefault();
+                                       e.stopPropagation();
+                                       $blck.trigger( _e.mousedown );
+                               }
+                       )
+                       .on( _e.mousedown,
+                               function( e )
+                               {
+                                       e.preventDefault();
+                                       if ( !glbl.$html.hasClass( _c.modal ) )
+                                       {
+                                               glbl.$allMenus.trigger( 
_e.close );
+                                       }
+                               }
+                       );
+
+
+               //      Once fired, it can be removed
+               $[ _PLUGIN_ ].prototype[ _ADDON_ + '_initBlocker' ] = 
function() {};
+       };
+
+
+       var _c, _d, _e, glbl;
+
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.offcanvas.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.offcanvas.min.js
        2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.offcanvas.min.js
        2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(e){function t(e){return e}function o(e){return"string"!=typeof 
e.pageSelector&&(e.pageSelector="> "+e.pageNodetype),e}function 
n(){c=!0,a=e[s]._c,p=e[s]._d,r=e[s]._e,a.add("offcanvas modal background 
opening blocker page"),p.add("style"),r.add("opening opened closing closed 
setPage"),l=e[s].glbl,l.$allMenus=(l.$allMenus||e()).add(this.$menu),l.$wndw.on(r.keydown,function(e){return
 l.$html.hasClass(a.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var 
t=0;l.$wndw.on(r.resize,function(e,o){if(o||l.$html.hasClass(a.opened)){var 
n=l.$wndw.height();(o||n!=t)&&(t=n,l.$page.css("minHeight",n))}})}var 
s="mmenu",i="offCanvas";e[s].prototype["_init_"+i]=function(){if(this.opts[i]&&!this.vars[i+"_added"]){this.vars[i+"_added"]=!0,c||n(),this.opts[i]=t(this.opts[i]),this.conf[i]=o(this.conf[i]);var
 e=this.opts[i],s=this.conf[i],p=[a.offcanvas];"boolean"!=typeof 
this.vars.opened&&(this.vars.opened=!1),"left"!=e.position&&p.push(a.mm(e.position)),"back"!=e.zposition&&p.push(a.mm(e.zposition)),this.$menu.addClass(p.join("
 
")).parent().removeClass(a.wrapper),this[i+"_initPage"](l.$page),this[i+"_initBlocker"](),this[i+"_initOpenClose"](),this[i+"_bindCustomEvents"](),this.$menu[s.menuInjectMethod+"To"](s.menuWrapperSelector)}},e[s].addons.push(i),e[s].defaults[i]={position:"left",zposition:"back",modal:!1,moveBackground:!0},e[s].configuration[i]={pageNodetype:"div",pageSelector:null,menuWrapperSelector:"body",menuInjectMethod:"prepend"},e[s].prototype.open=function(){if(this.vars.opened)return!1;var
 e=this;return 
this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),"open"},e[s].prototype._openSetup=function(){l.$allMenus.not(this.$menu).trigger(r.close),l.$page.data(p.style,l.$page.attr("style")||""),l.$wndw.trigger(r.resize,[!0]);var
 
e=[a.opened];this.opts[i].modal&&e.push(a.modal),this.opts[i].moveBackground&&e.push(a.background),"left"!=this.opts[i].position&&e.push(a.mm(this.opts[i].position)),"back"!=this.opts[i].zposition&&e.push(a.mm(this.opts[i].zposition)),this.opts.classes&&e.push(this.opts.classes),l.$html.addClass(e.join("
 ")),this.vars.opened=!0,this.$menu.addClass(a.current+" 
"+a.opened)},e[s].prototype._openFinish=function(){var 
e=this;this.__transitionend(l.$page,function(){e.$menu.trigger(r.opened)},this.conf.transitionDuration),l.$html.addClass(a.opening),this.$menu.trigger(r.opening)},e[s].prototype.close=function(){if(!this.vars.opened)return!1;var
 e=this;return 
this.__transitionend(l.$page,function(){e.$menu.removeClass(a.current).removeClass(a.opened),l.$html.removeClass(a.opened).removeClass(a.modal).removeClass(a.background).removeClass(a.mm(e.opts[i].position)).removeClass(a.mm(e.opts[i].zposition)),e.opts.classes&&l.$html.removeClass(e.opts.classes),l.$page.attr("style",l.$page.data(p.style)),e.vars.opened=!1,e.$menu.trigger(r.closed)},this.conf.transitionDuration),l.$html.removeClass(a.opening),this.$menu.trigger(r.closing),"close"},e[s].prototype[i+"_initBlocker"]=function(){var
 t=this;l.$blck||(l.$blck=e('<div id="'+a.blocker+'" 
/>').appendTo(l.$body)),l.$blck.off(r.touchstart).on(r.touchstart,function(e){e.preventDefault(),e.stopPropagation(),l.$blck.trigger(r.mousedown)}).on(r.mousedown,function(e){e.preventDefault(),l.$html.hasClass(a.modal)||t.close()})},e[s].prototype[i+"_initPage"]=function(t){t||(t=e(this.conf[i].pageSelector,l.$body),t.length>1&&(t=t.wrapAll("<"+this.conf[i].pageNodetype+"
 
/>").parent())),t.addClass(a.page),l.$page=t},e[s].prototype[i+"_initOpenClose"]=function(){var
 
t=this,o=this.$menu.attr("id");o&&o.length&&(this.conf.clone&&(o=a.umm(o)),e('a[href="#'+o+'"]').off(r.click).on(r.click,function(e){e.preventDefault(),t.open()}));var
 
o=l.$page.attr("id");o&&o.length&&e('a[href="#'+o+'"]').on(r.click,function(e){e.preventDefault(),t.close()})},e[s].prototype[i+"_bindCustomEvents"]=function(){var
 e=this,t=r.open+" "+r.opening+" "+r.opened+" "+r.close+" "+r.closing+" 
"+r.closed+" 
"+r.setPage;this.$menu.off(t).on(t,function(e){e.stopPropagation()}),this.$menu.on(r.open,function(){e.open()}).on(r.close,function(){e.close()}).on(r.setPage,function(t,o){e[i+"_initPage"](o),e[i+"_initOpenClose"]()})};var
 a,p,r,l,c=!1}(jQuery);
\ No newline at end of file
+!function(e){var 
t="mmenu",o="offCanvas";e[t].addons[o]={_init:function(){},_setup:function(){if(this.opts[o]){var
 t=this,s=this.opts[o],p=this.conf[o];"string"!=typeof 
p.pageSelector&&(p.pageSelector="> 
"+p.pageNodetype),a.$allMenus=(a.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var
 
r=[n.offcanvas];"left"!=s.position&&r.push(n.mm(s.position)),"back"!=s.zposition&&r.push(n.mm(s.zposition)),this.$menu.addClass(r.join("
 
")).parent().removeClass(n.wrapper),this.setPage(a.$page),this[o+"_initBlocker"](),this[o+"_initWindow"](),this.$menu.on(i.open+"
 "+i.opening+" "+i.opened+" "+i.close+" "+i.closing+" "+i.closed+" 
"+i.setPage,function(e){e.stopPropagation()}).on(i.open+" "+i.close+" 
"+i.setPage,function(e){t[e.type]()}),this.$menu[p.menuInjectMethod+"To"](p.menuWrapperSelector)}},_add:function(){n=e[t]._c,s=e[t]._d,i=e[t]._e,n.add("offcanvas
 slideout modal background opening blocker page"),s.add("style"),i.add("opening 
opened closing closed 
setPage"),a=e[t].glbl},_clickAnchor:function(e){if(!this.opts[o])return!1;var 
t=this.$menu.attr("id");if(t&&t.length&&(this.conf.clone&&(t=n.umm(t)),e.is('[href="#'+t+'"]')))return
 this.open(),!0;if(a.$page){var t=a.$page.attr("id");return 
t&&t.length&&e.is('[href="#'+t+'"]')?(this.close(),!0):!1}}},e[t].defaults[o]={position:"left",zposition:"back",modal:!1,moveBackground:!0},e[t].configuration[o]={pageNodetype:"div",pageSelector:null,menuWrapperSelector:"body",menuInjectMethod:"prepend"},e[t].prototype.open=function(){if(this.vars.opened)return!1;var
 e=this;return 
this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),"open"},e[t].prototype._openSetup=function(){var
 
e=this;a.$allMenus.not(this.$menu).trigger(i.close),a.$page.data(s.style,a.$page.attr("style")||""),a.$wndw.trigger(i.resize,[!0]);var
 
t=[n.opened];this.opts[o].modal&&t.push(n.modal),this.opts[o].moveBackground&&t.push(n.background),"left"!=this.opts[o].position&&t.push(n.mm(this.opts[o].position)),"back"!=this.opts[o].zposition&&t.push(n.mm(this.opts[o].zposition)),this.opts.classes&&t.push(this.opts.classes),a.$html.addClass(t.join("
 
")),setTimeout(function(){e.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(n.current+"
 "+n.opened)},e[t].prototype._openFinish=function(){var 
e=this;this.__transitionend(a.$page,function(){e.$menu.trigger(i.opened)},this.conf.transitionDuration),a.$html.addClass(n.opening),this.$menu.trigger(i.opening)},e[t].prototype.close=function(){if(!this.vars.opened)return!1;var
 e=this;return 
this.__transitionend(a.$page,function(){e.$menu.removeClass(n.current).removeClass(n.opened),a.$html.removeClass(n.opened).removeClass(n.modal).removeClass(n.background).removeClass(n.mm(e.opts[o].position)).removeClass(n.mm(e.opts[o].zposition)),e.opts.classes&&a.$html.removeClass(e.opts.classes),a.$page.attr("style",a.$page.data(s.style)),e.vars.opened=!1,e.$menu.trigger(i.closed)},this.conf.transitionDuration),a.$html.removeClass(n.opening),this.$menu.trigger(i.closing),"close"},e[t].prototype.setPage=function(t){t||(t=e(this.conf[o].pageSelector,a.$body),t.length>1&&(t=t.wrapAll("<"+this.conf[o].pageNodetype+"
 />").parent())),t.addClass(n.page+" 
"+n.slideout),a.$page=t},e[t].prototype[o+"_initWindow"]=function(){a.$wndw.on(i.keydown,function(e){return
 a.$html.hasClass(n.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var 
s=0;a.$wndw.on(i.resize,function(e,t){if(t||a.$html.hasClass(n.opened)){var 
o=a.$wndw.height();(t||o!=s)&&(s=o,a.$page.css("minHeight",o))}}),e[t].prototype[o+"_initWindow"]=function(){}},e[t].prototype[o+"_initBlocker"]=function(){var
 s=e('<div id="'+n.blocker+'" class="'+n.slideout+'" 
/>').appendTo(a.$body);s.on(i.touchstart,function(e){e.preventDefault(),e.stopPropagation(),s.trigger(i.mousedown)}).on(i.mousedown,function(e){e.preventDefault(),a.$html.hasClass(n.modal)||a.$allMenus.trigger(i.close)}),e[t].prototype[o+"_initBlocker"]=function(){}};var
 n,s,i,a}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.searchfield.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.searchfield.js
  2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.searchfield.js
  2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,261 +12,301 @@
                _ADDON_  = 'searchfield';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !addon_initiated )
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
                {
-                       _initAddon();
-               }
-               
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
 
-               if ( !addon_added )
-               {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
-               }
 
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
-
-
-               //      Add the searchfield(s)
-               if ( opts.add )
-               {
-                       switch( opts.addTo )
+                       //      Add the searchfield(s)
+                       if ( opts.add )
                        {
-                               case 'menu':
-                                       var $wrapper = this.$menu;
-                                       break;
-
-                               case 'panels':
-                                       var $wrapper = $panels;
-                                       break;
-
-                               default:
-                                       var $wrapper = $(opts.addTo, 
this.$menu).filter( '.' + _c.panel );
-                                       break;
-                       }
-
-                       if ( $wrapper.length )
-                       {
-                               $wrapper.each(
-                                       function()
-                                       {
-                                               //      Add the searchfield
-                                               var $panl = $(this),
-                                                       _node = $panl.is( '.' + 
_c.list ) ? 'li' : 'div';
-
-                                               if ( !$panl.children( _node + 
'.' + _c.search ).length )
+                               switch( opts.addTo )
+                               {
+                                       case 'menu':
+                                               var $wrapper = this.$menu;
+                                               break;
+       
+                                       case 'panels':
+                                               var $wrapper = $panels;
+                                               break;
+       
+                                       default:
+                                               var $wrapper = $(opts.addTo, 
this.$menu).filter( '.' + _c.panel );
+                                               break;
+                               }
+       
+                               if ( $wrapper.length )
+                               {
+                                       $wrapper.each(
+                                               function()
                                                {
-                                                       if ( $panl.is( '.' + 
_c.menu ) )
+                                                       //      Add the 
searchfield
+                                                       var $panl = $(this),
+                                                               _node = 
$panl.is( '.' + _c.menu ) ? ( conf.form ) ? 'form' : 'div' : 'li';
+       
+                                                       if ( !$panl.children( 
_node + '.' + _c.search ).length )
                                                        {
-                                                               var $wrpr = 
that.$menu,
-                                                                       insrt = 
'prependTo';
+                                                               if ( $panl.is( 
'.' + _c.menu ) )
+                                                               {
+                                                                       var 
$wrpr = that.$menu,
+                                                                               
insrt = 'prependTo';
+                                                               }
+                                                               else
+                                                               {
+                                                                       var 
$wrpr = $panl.children().first(),
+                                                                               
insrt = ( $wrpr.is( '.' + _c.subtitle ) )
+                                                                               
        ? 'insertAfter'
+                                                                               
        : 'insertBefore';
+                                                               }
+       
+                                                               var $node = $( 
'<' + _node + ' class="' + _c.search + '" />' );
+       
+                                                               if ( _node == 
'form' && typeof conf.form == 'object' )
+                                                               {
+                                                                       for ( 
var f in conf.form )
+                                                                       {
+                                                                               
$node.attr( f, conf.form[ f ] );
+                                                                       }
+                                                               }
+       
+                                                               $node.append( 
'<input placeholder="' + opts.placeholder + '" type="text" autocomplete="off" 
/>' );
+                                                               $node[ insrt ]( 
$wrpr );
                                                        }
-                                                       else
+       
+                                                       if ( opts.noResults )
                                                        {
-                                                               var $wrpr = 
$panl.children().first(),
-                                                                       insrt = 
( $wrpr.is( '.' + _c.subtitle ) )
-                                                                               
? 'insertAfter'
-                                                                               
: 'insertBefore';
+                                                               if ( $panl.is( 
'.' + _c.menu ) )
+                                                               {
+                                                                       $panl = 
$panl.children( '.' + _c.panel ).first();
+                                                               }
+                                                               _node = 
$panl.is( '.' + _c.list ) ? 'li' : 'div';
+       
+                                                               if ( 
!$panl.children( _node + '.' + _c.noresultsmsg ).length )
+                                                               {
+                                                                       $( '<' 
+ _node + ' class="' + _c.noresultsmsg + '" />' )
+                                                                               
.html( opts.noResults )
+                                                                               
.appendTo( $panl );
+                                                               }
                                                        }
-
-                                                       $( '<' + _node + ' 
class="' + _c.search + '" />' )
-                                                               .append( 
'<input placeholder="' + opts.placeholder + '" type="text" autocomplete="off" 
/>' )
-                                                               [ insrt ]( 
$wrpr );
                                                }
-
-                                               if ( opts.noResults )
-                                               {
-                                                       if ( $panl.is( '.' + 
_c.menu ) )
-                                                       {
-                                                               $panl = 
$panl.children( '.' + _c.panel ).first();
-                                                       }
-                                                       _node = $panl.is( '.' + 
_c.list ) ? 'li' : 'div';
-
-                                                       if ( !$panl.children( 
_node + '.' + _c.noresultsmsg ).length )
-                                                       {
-                                                               $( '<' + _node 
+ ' class="' + _c.noresultsmsg + '" />' )
-                                                                       .html( 
opts.noResults )
-                                                                       
.appendTo( $panl );
-                                                       }
-                                               }
-                                       }
-                               );
+                                       );
+                               }
                        }
-               }
-
-               if ( this.$menu.children( 'div.' + _c.search ).length )
-               {
-                       this.$menu.addClass( _c.hassearch );
-               }
-
-               //      Search through list items
-               if ( opts.search )
-               {
-                       var $search = $('.' + _c.search, this.$menu);
-                       if ( $search.length )
+       
+                       if ( this.$menu.children( '.' + _c.search ).length )
                        {
-                               $search
-                                       .each(
-                                               function()
-                                               {
-                                                       var $srch = $(this);
-
-                                                       if ( opts.addTo == 
'menu' )
+                               this.$menu.addClass( _c.hassearch );
+                       }
+       
+                       //      Search through list items
+                       if ( opts.search )
+                       {
+                               var $search = $('.' + _c.search, this.$menu);
+                               if ( $search.length )
+                               {
+                                       $search
+                                               .each(
+                                                       function()
                                                        {
-                                                               var $pnls = 
$('.' + _c.panel, that.$menu),
-                                                                       $panl = 
that.$menu;
-                                                       }
-                                                       else
-                                                       {
-                                                               var $pnls = 
$srch.closest( '.' + _c.panel ),
-                                                                       $panl = 
$pnls;
-                                                       }
-                                                       var $inpt = 
$srch.children( 'input' ),
-                                                               $itms = 
that.__findAddBack( $pnls, '.' + _c.list ).children( 'li' ),
-                                                               $lbls = 
$itms.filter( '.' + _c.label ),
-                                                               $rslt = $itms
-                                                                       .not( 
'.' + _c.subtitle )
-                                                                       .not( 
'.' + _c.label )
-                                                                       .not( 
'.' + _c.search )
-                                                                       .not( 
'.' + _c.noresultsmsg );
-
-                                                       var _searchText = '> a';
-                                                       if ( 
!opts.showLinksOnly )
-                                                       {
-                                                               _searchText += 
', > span';
-                                                       }
-
-                                                       $inpt
-                                                               .off( _e.keyup 
+ ' ' + _e.change )
-                                                               .on( _e.keyup,
-                                                                       
function( e )
-                                                                       {
-                                                                               
if ( !preventKeypressSearch( e.keyCode ) )
+                                                               var $srch = 
$(this);
+       
+                                                               if ( opts.addTo 
== 'menu' )
+                                                               {
+                                                                       var 
$pnls = $('.' + _c.panel, that.$menu),
+                                                                               
$panl = that.$menu;
+                                                               }
+                                                               else
+                                                               {
+                                                                       var 
$pnls = $srch.closest( '.' + _c.panel ),
+                                                                               
$panl = $pnls;
+                                                               }
+                                                               var $inpt = 
$srch.children( 'input' ),
+                                                                       $itms = 
that.__findAddBack( $pnls, '.' + _c.list ).children( 'li' ),
+                                                                       $lbls = 
$itms.filter( '.' + _c.label ),
+                                                                       $rslt = 
$itms
+                                                                               
.not( '.' + _c.subtitle )
+                                                                               
.not( '.' + _c.label )
+                                                                               
.not( '.' + _c.search )
+                                                                               
.not( '.' + _c.noresultsmsg );
+       
+                                                               var _searchText 
= '> a';
+                                                               if ( 
!opts.showLinksOnly )
+                                                               {
+                                                                       
_searchText += ', > span';
+                                                               }
+       
+                                                               $inpt
+                                                                       .off( 
_e.keyup + ' ' + _e.change )
+                                                                       .on( 
_e.keyup,
+                                                                               
function( e )
                                                                                
{
+                                                                               
        if ( !preventKeypressSearch( e.keyCode ) )
+                                                                               
        {
+                                                                               
                $srch.trigger( _e.search );
+                                                                               
        }
+                                                                               
}
+                                                                       )
+                                                                       .on( 
_e.change,
+                                                                               
function( e )
+                                                                               
{
                                                                                
        $srch.trigger( _e.search );
                                                                                
}
-                                                                       }
-                                                               )
-                                                               .on( _e.change,
-                                                                       
function( e )
-                                                                       {
-                                                                               
$srch.trigger( _e.search );
-                                                                       }
-                                                               );
-                       
-                                                       $srch
-                                                               .off( _e.reset 
+ ' ' + _e.search )
-                                                               .on( _e.reset + 
' ' + _e.search,
-                                                                       
function( e )
-                                                                       {
-                                                                               
e.stopPropagation();
-                                                                       }
-                                                               )
-                                                               .on( _e.reset,
-                                                                       
function( e )
-                                                                       {
-                                                                               
$srch.trigger( _e.search, [ '' ] );
-                                                                       }
-                                                               )
-                                                               .on( _e.search,
-                                                                       
function( e, query )
-                                                                       {
-                                                                               
if ( typeof query == 'string' )
+                                                                       );
+                               
+                                                               $srch
+                                                                       .off( 
_e.reset + ' ' + _e.search )
+                                                                       .on( 
_e.reset + ' ' + _e.search,
+                                                                               
function( e )
                                                                                
{
-                                                                               
        $inpt.val( query );
+                                                                               
        e.stopPropagation();
                                                                                
}
-                                                                               
else
+                                                                       )
+                                                                       .on( 
_e.reset,
+                                                                               
function( e )
                                                                                
{
-                                                                               
        query = $inpt.val();
+                                                                               
        $srch.trigger( _e.search, [ '' ] );
                                                                                
}
-                                                                               
query = query.toLowerCase();
-
-                                                                               
//      Scroll to top
-                                                                               
$pnls.scrollTop( 0 );
-                       
-                                                                               
//      Search through items
-                                                                               
$rslt
-                                                                               
        .add( $lbls )
-                                                                               
        .addClass( _c.hidden );
-
-                                                                               
$rslt
-                                                                               
        .each(
-                                                                               
                function()
-                                                                               
                {
-                                                                               
                        var $item = $(this);
-                                                                               
                        if ( $(_searchText, 
$item).text().toLowerCase().indexOf( query ) > -1 )
-                                                                               
                        {
-                                                                               
                                $item.add( $item.prevAll( '.' + _c.label 
).first() ).removeClass( _c.hidden );
-                                                                               
                        }
-                                                                               
                }
-                                                                               
        );
-       
-                                                                               
//      Update parent for submenus
-                                                                               
$( $pnls.get().reverse() ).each(
-                                                                               
        function( i )
+                                                                       )
+                                                                       .on( 
_e.search,
+                                                                               
function( e, query )
+                                                                               
{
+                                                                               
        if ( typeof query == 'string' )
                                                                                
        {
-                                                                               
                var $panl = $(this),
-                                                                               
                        $prnt = $panl.data( _d.parent );
+                                                                               
                $inpt.val( query );
+                                                                               
        }
+                                                                               
        else
+                                                                               
        {
+                                                                               
                query = $inpt.val();
+                                                                               
        }
+                                                                               
        query = query.toLowerCase();
        
-                                                                               
                if ( $prnt )
-                                                                               
                {
-                                                                               
                        var $i = $panl.add( $panl.find( '> .' + _c.list ) 
).find( '> li' )
-                                                                               
                                .not( '.' + _c.subtitle )
-                                                                               
                                .not( '.' + _c.search )
-                                                                               
                                .not( '.' + _c.noresultsmsg )
-                                                                               
                                .not( '.' + _c.label )
-                                                                               
                                .not( '.' + _c.hidden );
-                       
-                                                                               
                        if ( $i.length )
+                                                                               
        //      Scroll to top
+                                                                               
        $pnls.scrollTop( 0 );
+                               
+                                                                               
        //      Search through items
+                                                                               
        $rslt
+                                                                               
                .add( $lbls )
+                                                                               
                .addClass( _c.hidden );
+       
+                                                                               
        $rslt
+                                                                               
                .each(
+                                                                               
                        function()
                                                                                
                        {
-                                                                               
                                $prnt
-                                                                               
                                        .removeClass( _c.hidden )
-                                                                               
                                        .removeClass( _c.nosubresults )
-                                                                               
                                        .prevAll( '.' + _c.label 
).first().removeClass( _c.hidden );
+                                                                               
                                var $item = $(this);
+                                                                               
                                if ( $(_searchText, 
$item).text().toLowerCase().indexOf( query ) > -1 )
+                                                                               
                                {
+                                                                               
                                        $item.add( $item.prevAll( '.' + 
_c.label ).first() ).removeClass( _c.hidden );
+                                                                               
                                }
                                                                                
                        }
-                                                                               
                        else if ( opts.addTo == 'menu' )
+                                                                               
                );
+               
+                                                                               
        //      Update parent for submenus
+                                                                               
        $( $pnls.get().reverse() ).each(
+                                                                               
                function( i )
+                                                                               
                {
+                                                                               
                        var $panl = $(this),
+                                                                               
                                $prnt = $panl.data( _d.parent );
+               
+                                                                               
                        if ( $prnt )
                                                                                
                        {
-                                                                               
                                if ( $panl.hasClass( _c.opened ) )
+                                                                               
                                var $i = $panl.add( $panl.find( '> .' + _c.list 
) ).find( '> li' )
+                                                                               
                                        .not( '.' + _c.subtitle )
+                                                                               
                                        .not( '.' + _c.search )
+                                                                               
                                        .not( '.' + _c.noresultsmsg )
+                                                                               
                                        .not( '.' + _c.label )
+                                                                               
                                        .not( '.' + _c.hidden );
+                               
+                                                                               
                                if ( $i.length )
                                                                                
                                {
-                                                                               
                                        //      Compensate the timeout for the 
opening animation
-                                                                               
                                        setTimeout(
-                                                                               
                                                function()
-                                                                               
                                                {
-                                                                               
                                                        $prnt.trigger( _e.open 
);
-                                                                               
                                                }, ( i + 1 ) * ( 
that.conf.openingInterval * 1.5 )
-                                                                               
                                        );
+                                                                               
                                        $prnt
+                                                                               
                                                .removeClass( _c.hidden )
+                                                                               
                                                .removeClass( _c.nosubresults )
+                                                                               
                                                .prevAll( '.' + _c.label 
).first().removeClass( _c.hidden );
                                                                                
                                }
-                                                                               
                                $prnt.addClass( _c.nosubresults );
+                                                                               
                                else if ( opts.addTo == 'menu' )
+                                                                               
                                {
+                                                                               
                                        if ( $panl.hasClass( _c.opened ) )
+                                                                               
                                        {
+                                                                               
                                                //      Compensate the timeout 
for the opening animation
+                                                                               
                                                setTimeout(
+                                                                               
                                                        function()
+                                                                               
                                                        {
+                                                                               
                                                                $prnt.trigger( 
_e.open );
+                                                                               
                                                        }, ( i + 1 ) * ( 
that.conf.openingInterval * 1.5 )
+                                                                               
                                                );
+                                                                               
                                        }
+                                                                               
                                        $prnt.addClass( _c.nosubresults );
+                                                                               
                                }
                                                                                
                        }
                                                                                
                }
-                                                                               
        }
-                                                                               
);
+                                                                               
        );
+               
+                                                                               
        //      Show/hide no results message
+                                                                               
        $panl[ $rslt.not( '.' + _c.hidden ).length ? 'removeClass' : 'addClass' 
]( _c.noresults );
        
-                                                                               
//      Show/hide no results message
-                                                                               
$panl[ $rslt.not( '.' + _c.hidden ).length ? 'removeClass' : 'addClass' ]( 
_c.noresults );
+                                                                               
        // Update for other addons
+                                                                               
        that._update();
+                                                                               
}
+                                                                       );
+                                                       }
+                                               );
+                               }
+                       }
 
-                                                                               
// Update for other addons
-                                                                               
that._update();
-                                                                       }
-                                                               );
-                                               }
-                                       );
+               },
+
+               //      _setup: fired once per menu
+               _setup: function()
+               {
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
+
+
+                       //      Extend shortcut options
+                       if ( typeof opts == 'boolean' )
+                       {
+                               opts = {
+                                       add             : opts,
+                                       search  : opts
+                               };
                        }
+                       if ( typeof opts != 'object' )
+                       {
+                               opts = {};
+                       }
+                       opts = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ 
_ADDON_ ], opts );
+
+                       if ( typeof opts.showLinksOnly != 'boolean' )
+                       {
+                               opts.showLinksOnly = ( opts.addTo == 'menu' );
+                       }
+
+
+                       this.opts[ _ADDON_ ] = opts;
+               },
+
+               //      _add: fired once per page load
+               _add: function()
+               {
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+
+                       _c.add( 'search hassearch noresultsmsg noresults 
nosubresults' );
+                       _e.add( 'search reset change' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
                }
        };
 
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
-
-
-       //      Defaults
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {
                add                             : false,
                addTo                   : 'menu',
@@ -275,8 +315,15 @@
                placeholder             : 'Search',
                noResults               : 'No results found.'
        };
+       $[ _PLUGIN_ ].configuration[ _ADDON_ ] = {
+               form                    : false
+       };
        
 
+
+       var _c, _d, _e, glbl;
+
+
        function preventKeypressSearch( c )
        {
                switch( c )
@@ -294,49 +341,4 @@
                return false;
        }
 
-
-       function extendOptions( o )
-       {
-               if ( typeof o == 'boolean' )
-               {
-                       o = {
-                               add             : o,
-                               search  : o
-                       };
-               }
-               if ( typeof o != 'object' )
-               {
-                       o = {};
-               }
-               o = $.extend( true, {}, $[ _PLUGIN_ ].defaults[ _ADDON_ ], o );
-
-               if ( typeof o.showLinksOnly != 'boolean' )
-               {
-                       o.showLinksOnly = ( o.addTo == 'menu' );
-               }
-               return o;
-       }
-
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-       
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'search hassearch noresultsmsg noresults nosubresults' 
);
-               _e.add( 'search reset change' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.searchfield.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.searchfield.min.js
      2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.searchfield.min.js
      2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(e){function s(e){switch(e){case 9:case 16:case 17:case 18:case 
37:case 38:case 39:case 40:return!0}return!1}function 
n(s){return"boolean"==typeof s&&(s={add:s,search:s}),"object"!=typeof 
s&&(s={}),s=e.extend(!0,{},e[r].defaults[o],s),"boolean"!=typeof 
s.showLinksOnly&&(s.showLinksOnly="menu"==s.addTo),s}function t(e){return 
e}function a(){c=!0,i=e[r]._c,l=e[r]._d,d=e[r]._e,i.add("search hassearch 
noresultsmsg noresults nosubresults"),d.add("search reset 
change"),h=e[r].glbl}var 
r="mmenu",o="searchfield";e[r].prototype["_init_"+o]=function(r){c||a();var 
h=this.vars[o+"_added"];this.vars[o+"_added"]=!0,h||(this.opts[o]=n(this.opts[o]),this.conf[o]=t(this.conf[o]));var
 u=this,f=this.opts[o];if(this.conf[o],f.add){switch(f.addTo){case"menu":var 
p=this.$menu;break;case"panels":var p=r;break;default:var 
p=e(f.addTo,this.$menu).filter("."+i.panel)}p.length&&p.each(function(){var 
s=e(this),n=s.is("."+i.list)?"li":"div";if(!s.children(n+"."+i.search).length){if(s.is("."+i.menu))var
 t=u.$menu,a="prependTo";else var 
t=s.children().first(),a=t.is("."+i.subtitle)?"insertAfter":"insertBefore";e("<"+n+'
 class="'+i.search+'" />').append('<input placeholder="'+f.placeholder+'" 
type="text" autocomplete="off" 
/>')[a](t)}f.noResults&&(s.is("."+i.menu)&&(s=s.children("."+i.panel).first()),n=s.is("."+i.list)?"li":"div",s.children(n+"."+i.noresultsmsg).length||e("<"+n+'
 class="'+i.noresultsmsg+'" 
/>').html(f.noResults).appendTo(s))})}if(this.$menu.children("div."+i.search).length&&this.$menu.addClass(i.hassearch),f.search){var
 v=e("."+i.search,this.$menu);v.length&&v.each(function(){var 
n=e(this);if("menu"==f.addTo)var t=e("."+i.panel,u.$menu),a=u.$menu;else var 
t=n.closest("."+i.panel),a=t;var 
r=n.children("input"),o=u.__findAddBack(t,"."+i.list).children("li"),h=o.filter("."+i.label),c=o.not("."+i.subtitle).not("."+i.label).not("."+i.search).not("."+i.noresultsmsg),p=">
 a";f.showLinksOnly||(p+=", > span"),r.off(d.keyup+" 
"+d.change).on(d.keyup,function(e){s(e.keyCode)||n.trigger(d.search)}).on(d.change,function(){n.trigger(d.search)}),n.off(d.reset+"
 "+d.search).on(d.reset+" 
"+d.search,function(e){e.stopPropagation()}).on(d.reset,function(){n.trigger(d.search,[""])}).on(d.search,function(s,n){"string"==typeof
 
n?r.val(n):n=r.val(),n=n.toLowerCase(),t.scrollTop(0),c.add(h).addClass(i.hidden),c.each(function(){var
 
s=e(this);e(p,s).text().toLowerCase().indexOf(n)>-1&&s.add(s.prevAll("."+i.label).first()).removeClass(i.hidden)}),e(t.get().reverse()).each(function(s){var
 n=e(this),t=n.data(l.parent);if(t){var a=n.add(n.find("> ."+i.list)).find("> 
li").not("."+i.subtitle).not("."+i.search).not("."+i.noresultsmsg).not("."+i.label).not("."+i.hidden);a.length?t.removeClass(i.hidden).removeClass(i.nosubresults).prevAll("."+i.label).first().removeClass(i.hidden):"menu"==f.addTo&&(n.hasClass(i.opened)&&setTimeout(function(){t.trigger(d.open)},1.5*(s+1)*u.conf.openingInterval),t.addClass(i.nosubresults))}}),a[c.not("."+i.hidden).length?"removeClass":"addClass"](i.noresults),u._update()})})}},e[r].addons.push(o),e[r].defaults[o]={add:!1,addTo:"menu",search:!1,placeholder:"Search",noResults:"No
 results found."};var i,l,d,h,c=!1}(jQuery);
\ No newline at end of file
+!function(e){function s(e){switch(e){case 9:case 16:case 17:case 18:case 
37:case 38:case 39:case 40:return!0}return!1}var 
n="mmenu",t="searchfield";e[n].addons[t]={_init:function(n){var 
i=this,l=this.opts[t],d=this.conf[t];if(l.add){switch(l.addTo){case"menu":var 
c=this.$menu;break;case"panels":var c=n;break;default:var 
c=e(l.addTo,this.$menu).filter("."+a.panel)}c.length&&c.each(function(){var 
s=e(this),n=s.is("."+a.menu)?d.form?"form":"div":"li";if(!s.children(n+"."+a.search).length){if(s.is("."+a.menu))var
 t=i.$menu,r="prependTo";else var 
t=s.children().first(),r=t.is("."+a.subtitle)?"insertAfter":"insertBefore";var 
o=e("<"+n+' class="'+a.search+'" />');if("form"==n&&"object"==typeof 
d.form)for(var c in d.form)o.attr(c,d.form[c]);o.append('<input 
placeholder="'+l.placeholder+'" type="text" autocomplete="off" 
/>'),o[r](t)}l.noResults&&(s.is("."+a.menu)&&(s=s.children("."+a.panel).first()),n=s.is("."+a.list)?"li":"div",s.children(n+"."+a.noresultsmsg).length||e("<"+n+'
 class="'+a.noresultsmsg+'" 
/>').html(l.noResults).appendTo(s))})}if(this.$menu.children("."+a.search).length&&this.$menu.addClass(a.hassearch),l.search){var
 h=e("."+a.search,this.$menu);h.length&&h.each(function(){var 
n=e(this);if("menu"==l.addTo)var t=e("."+a.panel,i.$menu),d=i.$menu;else var 
t=n.closest("."+a.panel),d=t;var 
c=n.children("input"),h=i.__findAddBack(t,"."+a.list).children("li"),u=h.filter("."+a.label),f=h.not("."+a.subtitle).not("."+a.label).not("."+a.search).not("."+a.noresultsmsg),p=">
 a";l.showLinksOnly||(p+=", > span"),c.off(o.keyup+" 
"+o.change).on(o.keyup,function(e){s(e.keyCode)||n.trigger(o.search)}).on(o.change,function(){n.trigger(o.search)}),n.off(o.reset+"
 "+o.search).on(o.reset+" 
"+o.search,function(e){e.stopPropagation()}).on(o.reset,function(){n.trigger(o.search,[""])}).on(o.search,function(s,n){"string"==typeof
 
n?c.val(n):n=c.val(),n=n.toLowerCase(),t.scrollTop(0),f.add(u).addClass(a.hidden),f.each(function(){var
 
s=e(this);e(p,s).text().toLowerCase().indexOf(n)>-1&&s.add(s.prevAll("."+a.label).first()).removeClass(a.hidden)}),e(t.get().reverse()).each(function(s){var
 n=e(this),t=n.data(r.parent);if(t){var d=n.add(n.find("> ."+a.list)).find("> 
li").not("."+a.subtitle).not("."+a.search).not("."+a.noresultsmsg).not("."+a.label).not("."+a.hidden);d.length?t.removeClass(a.hidden).removeClass(a.nosubresults).prevAll("."+a.label).first().removeClass(a.hidden):"menu"==l.addTo&&(n.hasClass(a.opened)&&setTimeout(function(){t.trigger(o.open)},1.5*(s+1)*i.conf.openingInterval),t.addClass(a.nosubresults))}}),d[f.not("."+a.hidden).length?"removeClass":"addClass"](a.noresults),i._update()})})}},_setup:function(){var
 s=this.opts[t];this.conf[t],"boolean"==typeof 
s&&(s={add:s,search:s}),"object"!=typeof 
s&&(s={}),s=e.extend(!0,{},e[n].defaults[t],s),"boolean"!=typeof 
s.showLinksOnly&&(s.showLinksOnly="menu"==s.addTo),this.opts[t]=s},_add:function(){a=e[n]._c,r=e[n]._d,o=e[n]._e,a.add("search
 hassearch noresultsmsg noresults nosubresults"),o.add("search reset 
change"),i=e[n].glbl}},e[n].defaults[t]={add:!1,addTo:"menu",search:!1,placeholder:"Search",noResults:"No
 results found."},e[n].configuration[t]={form:!1};var a,r,o,i}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.toggles.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.toggles.js
      2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.toggles.js
      2014-12-03 10:38:16 UTC (rev 12417)
@@ -12,60 +12,60 @@
                _ADDON_  = 'toggles';
 
 
-       $[ _PLUGIN_ ].prototype[ '_init_' + _ADDON_ ] = function( $panels )
-       {
-               if ( !addon_initiated )
-               {
-                       _initAddon();
-               }
-               
-               var addon_added = this.vars[ _ADDON_ + '_added' ];
-               this.vars[ _ADDON_ + '_added' ] = true;
-
-               if ( !addon_added )
-               {
-                       this.opts[ _ADDON_ ] = extendOptions( this.opts[ 
_ADDON_ ] );
-                       this.conf[ _ADDON_ ] = extendConfiguration( this.conf[ 
_ADDON_ ] );
-               }
-
-               var that = this,
-                       opts = this.opts[ _ADDON_ ],
-                       conf = this.conf[ _ADDON_ ];
-
-
-               //      Refactor toggle classes
-               this.__refactorClass( $('input', $panels), 
this.conf.classNames[ _ADDON_ ].toggle, 'toggle' );
-               this.__refactorClass( $('input', $panels), 
this.conf.classNames[ _ADDON_ ].check, 'check' );
-
-               //      Add markup
-               $('input.' + _c.toggle, $panels)
-                       .add( 'input.' + _c.check, $panels )
-                       .each(
-                               function()
-                               {
-                                       var $inpt = $(this),
-                                               $prnt = $inpt.closest( 'li' ),
-                                               cl = $inpt.hasClass( _c.toggle 
) ? 'toggle' : 'check',
-                                               id = $inpt.attr( 'id' ) || 
that.__getUniqueId();
-                                       
-                                       if ( !$prnt.children( 'label[for="' + 
id + '"]' ).length )
+       $[ _PLUGIN_ ].addons[ _ADDON_ ] = {
+       
+               //      _init: fired when (re)initiating the plugin
+               _init: function( $panels )
+               {                       
+                       var that = this,
+                               opts = this.opts[ _ADDON_ ],
+                               conf = this.conf[ _ADDON_ ];
+       
+       
+                       //      Refactor toggle classes
+                       this.__refactorClass( $('input', $panels), 
this.conf.classNames[ _ADDON_ ].toggle, 'toggle' );
+                       this.__refactorClass( $('input', $panels), 
this.conf.classNames[ _ADDON_ ].check, 'check' );
+       
+                       //      Add markup
+                       $('input.' + _c.toggle + ', input.' + _c.check, $panels)
+                               .each(
+                                       function()
                                        {
-                                               $inpt.attr( 'id', id );
-                                               $prnt.prepend( $inpt );
+                                               var $inpt = $(this),
+                                                       $prnt = $inpt.closest( 
'li' ),
+                                                       cl = $inpt.hasClass( 
_c.toggle ) ? 'toggle' : 'check',
+                                                       id = $inpt.attr( 'id' ) 
|| that.__getUniqueId();
 
-                                               $('<label for="' + id + '" 
class="' + _c[ cl ] + '"></label>')
-                                                       .insertBefore( 
$prnt.children( 'a, span' ).last() );
+                                               if ( !$prnt.children( 
'label[for="' + id + '"]' ).length )
+                                               {
+                                                       $inpt.attr( 'id', id );
+                                                       $prnt.prepend( $inpt );
+       
+                                                       $('<label for="' + id + 
'" class="' + _c[ cl ] + '"></label>')
+                                                               .insertBefore( 
$prnt.children( 'a, span' ).last() );
+                                               }
                                        }
-                               }
-                       );
-       };
+                               );
+               },
 
+               //      _setup: fired once per menu
+               _setup: function() {},
 
-       //      Add to plugin
-       $[ _PLUGIN_ ].addons.push( _ADDON_ );
+               //      _add: fired once per page load
+               _add: function()
+               {
+                       _c = $[ _PLUGIN_ ]._c;
+                       _d = $[ _PLUGIN_ ]._d;
+                       _e = $[ _PLUGIN_ ]._e;
+       
+                       _c.add( 'toggle check' );
+       
+                       glbl = $[ _PLUGIN_ ].glbl;
+               }
+       };
 
 
-       //      Defaults
+       //      Default options and configuration
        $[ _PLUGIN_ ].defaults[ _ADDON_ ] = {};
        $[ _PLUGIN_ ].configuration.classNames[ _ADDON_ ] = {
                toggle  : 'Toggle',
@@ -73,30 +73,6 @@
        };
 
 
-       function extendOptions( o )
-       {
-               return o;
-       }
+       var _c, _d, _e, glbl;
 
-       function extendConfiguration( c )
-       {
-               return c;
-       }
-
-       function _initAddon()
-       {
-               addon_initiated = true;
-
-               _c = $[ _PLUGIN_ ]._c;
-               _d = $[ _PLUGIN_ ]._d;
-               _e = $[ _PLUGIN_ ]._e;
-
-               _c.add( 'toggle check' );
-
-               glbl = $[ _PLUGIN_ ].glbl;
-       }
-
-       var _c, _d, _e, glbl,
-               addon_initiated = false;
-
 })( jQuery );
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.toggles.min.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.toggles.min.js
  2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/addons/jquery.mmenu.toggles.min.js
  2014-12-03 10:38:16 UTC (rev 12417)
@@ -4,4 +4,4 @@
  *
  * Copyright (c) Fred Heusschen
  */
-!function(t){function s(t){return t}function e(t){return t}function 
a(){r=!0,n=t[c]._c,o=t[c]._d,l=t[c]._e,n.add("toggle check"),h=t[c].glbl}var 
c="mmenu",i="toggles";t[c].prototype["_init_"+i]=function(c){r||a();var 
o=this.vars[i+"_added"];this.vars[i+"_added"]=!0,o||(this.opts[i]=s(this.opts[i]),this.conf[i]=e(this.conf[i]));var
 
l=this;this.opts[i],this.conf[i],this.__refactorClass(t("input",c),this.conf.classNames[i].toggle,"toggle"),this.__refactorClass(t("input",c),this.conf.classNames[i].check,"check"),t("input."+n.toggle,c).add("input."+n.check,c).each(function(){var
 
s=t(this),e=s.closest("li"),a=s.hasClass(n.toggle)?"toggle":"check",c=s.attr("id")||l.__getUniqueId();e.children('label[for="'+c+'"]').length||(s.attr("id",c),e.prepend(s),t('<label
 for="'+c+'" class="'+n[a]+'"></label>').insertBefore(e.children("a, 
span").last()))})},t[c].addons.push(i),t[c].defaults[i]={},t[c].configuration.classNames[i]={toggle:"Toggle",check:"Check"};var
 n,o,l,h,r=!1}(jQuery);
\ No newline at end of file
+!function(e){var t="mmenu",s="toggles";e[t].addons[s]={_init:function(t){var 
a=this;this.opts[s],this.conf[s],this.__refactorClass(e("input",t),this.conf.classNames[s].toggle,"toggle"),this.__refactorClass(e("input",t),this.conf.classNames[s].check,"check"),e("input."+c.toggle+",
 input."+c.check,t).each(function(){var 
t=e(this),s=t.closest("li"),l=t.hasClass(c.toggle)?"toggle":"check",n=t.attr("id")||a.__getUniqueId();s.children('label[for="'+n+'"]').length||(t.attr("id",n),s.prepend(t),e('<label
 for="'+n+'" class="'+c[l]+'"></label>').insertBefore(s.children("a, 
span").last()))})},_setup:function(){},_add:function(){c=e[t]._c,a=e[t]._d,l=e[t]._e,c.add("toggle
 
check"),n=e[t].glbl}},e[t].defaults[s]={},e[t].configuration.classNames[s]={toggle:"Toggle",check:"Check"};var
 c,a,l,n}(jQuery);
\ No newline at end of file

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.debugger.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.debugger.js
    2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.debugger.js
    2014-12-03 10:38:16 UTC (rev 12417)
@@ -1,5 +1,5 @@
 /*     
- * Debugger for jQuery mmenu v4.5.7
+ * Debugger for jQuery mmenu
  * Include this file after including the jquery.mmenu plugin to debug your 
menu.
  */
 
@@ -20,11 +20,11 @@
                _e = $[ _PLUGIN_ ]._e;
 
 
-       $[ _PLUGIN_ ].debug = function( msg )
+       function debug( msg )
        {
                console.log( 'MMENU: ' + msg );
        };
-       $[ _PLUGIN_ ].deprecated = function( depr, repl, vers )
+       function deprecated( depr, repl, vers )
        {
                var msg = 'MMENU: ' + depr + 'is deprecated';
 
@@ -50,7 +50,7 @@
                //      Options 4.1
                if ( this.opts.onClick && typeof 
this.opts.onClick.setLocationHref != 'undefined' )
                {
-                       $[ _PLUGIN_ ].deprecated( 'onClick.setLocationHref 
option', '!onClick.preventDefault', '4.1' );
+                       deprecated( 'onClick.setLocationHref option', 
'!onClick.preventDefault', '4.1' );
                        if ( typeof this.opts.onClick.setLocationHref == 
'boolean' )
                        {
                                this.opts.onClick.preventDefault = 
!this.opts.onClick.setLocationHref;
@@ -62,7 +62,7 @@
                {
                        if ( typeof this.opts[ a[ b ] ] != 'undefined' )
                        {
-                               $[ _PLUGIN_ ].deprecated( 'The option "' + a[ b 
] + '"', 'offCanvas.' + a[ b ], '4.3' );
+                               deprecated( 'The option "' + a[ b ] + '"', 
'offCanvas.' + a[ b ], '4.3' );
                                this.opts.offCanvas = this.opts.offCanvas || {};
                                this.opts.offCanvas[ a[ b ] ] = this.opts[ a[ b 
] ];
                        }
@@ -75,17 +75,29 @@
                        {
                                if ( this.opts.offCanvas.zposition == 'back' || 
this.opts.offCanvas.zposition == 'next' )
                                {
-                                       $[ _PLUGIN_ ].deprecated( 'Using 
offCanvas.position "' + this.opts.offCanvas.position + '" in combination with 
offCanvas.zposition "' + this.opts.offCanvas.zposition + '"', 
'offCanvas.zposition "front"', '4.2' );
+                                       deprecated( 'Using offCanvas.position 
"' + this.opts.offCanvas.position + '" in combination with offCanvas.zposition 
"' + this.opts.offCanvas.zposition + '"', 'offCanvas.zposition "front"', '4.2' 
);
                                        this.opts.offCanvas.zposition = 'front';
                                }
                        }
                }
+               
+               //      Options 4.6
+               if ( this.opts.header )
+               {
+                       if ( this.opts.header.add instanceof Array )
+                       {
+                               deprecated( 'An array for the header.add 
option', 'header.content', '4.6' );
+                               this.opts.header.content = this.opts.header.add;
+                               this.opts.header.add = true;
+                       }
+               }
 
 
+
                //      Configuration 4.1
                if ( typeof this.conf.panelNodeType != 'undefined' )
                {
-                       $[ _PLUGIN_ ].deprecated( 'panelNodeType configuration 
option', 'panelNodetype' );
+                       deprecated( 'panelNodeType configuration option', 
'panelNodetype' );
                        this.conf.panelNodetype = this.conf.panelNodeType;
                }
 
@@ -94,19 +106,19 @@
                {
                        if ( typeof this.conf[ a[ b ] + 'Class' ] != 
'undefined' )
                        {
-                               $[ _PLUGIN_ ].deprecated( 'The configuration 
option "' + a[ b ] + 'Class"', 'classNames.' + a[ b ], '4.3' );
+                               deprecated( 'The configuration option "' + a[ b 
] + 'Class"', 'classNames.' + a[ b ], '4.3' );
                                this.conf.classNames[ a[ b ] ] = this.conf[ a[ 
b ] + 'Class' ];
                        }
                }
                if ( typeof this.conf.counterClass != 'undefined' )
                {
-                       $[ _PLUGIN_ ].deprecated( 'The configuration option 
"counterClass"', 'classNames.counters.counter', '4.3' );
+                       deprecated( 'The configuration option "counterClass"', 
'classNames.counters.counter', '4.3' );
                        this.conf.classNames.counters = 
this.conf.classNames.counters || {};
                        this.conf.classNames.counters.counter = 
this.conf.counterClass;
                }
                if ( typeof this.conf.collapsedClass != 'undefined' )
                {
-                       $[ _PLUGIN_ ].deprecated( 'The configuration option 
"collapsedClass"', 'classNames.labels.collapsed', '4,3' );
+                       deprecated( 'The configuration option 
"collapsedClass"', 'classNames.labels.collapsed', '4,3' );
                        this.conf.classNames.labels = 
this.conf.classNames.labels || {};
                        this.conf.classNames.labels.collapsed = 
this.conf.collapsedClass;
                }
@@ -116,7 +128,7 @@
                        {
                                if ( typeof this.conf.header[ a[ b ] + 'Class' 
] != 'undefined' )
                                {
-                                       $[ _PLUGIN_ ].deprecated( 'The 
configuration option "header.' + a[ b ] + 'Class"', 'classNames.header.' + a[ b 
], '4.3' );
+                                       deprecated( 'The configuration option 
"header.' + a[ b ] + 'Class"', 'classNames.header.' + a[ b ], '4.3' );
                                        this.conf.classNames.header = 
this.conf.classNames.header || {};
                                        this.conf.classNames.header[ a[ b ] ] = 
this.conf.header[ a[ b ] + 'Class' ];
                                }
@@ -126,7 +138,7 @@
                {
                        if ( typeof this.conf[ a[ b ] ] != 'undefined' )
                        {
-                               $[ _PLUGIN_ ].deprecated( 'The configuration 
option "' + a[ b ] + '"', 'offCanvas.' + a[ b ], '4.3' );
+                               deprecated( 'The configuration option "' + a[ b 
] + '"', 'offCanvas.' + a[ b ], '4.3' );
                                this.conf.offCanvas = this.conf.offCanvas || {};
                                this.conf.offCanvas[ a[ b ] ] = this.conf[ a[ b 
] ];
                        }
@@ -135,7 +147,7 @@
                //      Vendors 4.4
                if ( Hammer.VERSION < 2 )
                {
-                       $[ _PLUGIN_ ].deprecated( 'Older version of the Hammer 
library', 'version 2 or newer', '4.4' );
+                       deprecated( 'Older version of the Hammer library', 
'version 2 or newer', '4.4' );
                        return;
                }
        };
@@ -150,7 +162,7 @@
                        var bg = $('body').css( 'background-color' );
                        if ( typeof bg == 'undefined' || bg  == '' || bg == 
'transparent' )
                        {
-                               $[ _PLUGIN_ ].debug( 'Set a background-color 
for the <BODY />.' );
+                               debug( 'Set a background-color for the <BODY 
/>.' );
                        }
                }
 
@@ -166,7 +178,7 @@
                        //      iconbar + effects
                        if ( fxSlide || fxZoom )
                        {
-                               $[ _PLUGIN_ ].debug( 'Don\'t use the "iconbar" 
extension in combination with the "' + ( fxSlide ? 'mm-slide' : 'mm-zoom-menu' 
) + '" effect.' );
+                               debug( 'Don\'t use the "iconbar" extension in 
combination with the "' + ( fxSlide ? 'mm-slide' : 'mm-zoom-menu' ) + '" 
effect.' );
                        }
                        
                        //      iconbar + (z)position
@@ -174,11 +186,11 @@
                        {
                                if ( position != 'left' )
                                {
-                                       $[ _PLUGIN_ ].debug( 'Don\'t use the 
"iconbar" extension in combination with the "offCanvas.position" option set to 
"' + position + '".' );
+                                       debug( 'Don\'t use the "iconbar" 
extension in combination with the "offCanvas.position" option set to "' + 
position + '".' );
                                }
                                if ( zposition != 'back' )
                                {
-                                       $[ _PLUGIN_ ].debug( 'Don\'t use the 
"iconbar" extension in combination with the "offCanvas.zposition" option set to 
"' + zposition + '".' );
+                                       debug( 'Don\'t use the "iconbar" 
extension in combination with the "offCanvas.zposition" option set to "' + 
zposition + '".' );
                                }
                        }
                }
@@ -188,11 +200,11 @@
                {
                        if ( position == 'top' || position == 'bottom' )
                        {
-                               $[ _PLUGIN_ ].debug( 'Don\'t use the "' + ( 
fxSlide ? 'mm-slide' : 'mm-zoom-menu' ) + '" effect in combination with the 
"offCanvas.position" option set to "' + position + '".' );
+                               debug( 'Don\'t use the "' + ( fxSlide ? 
'mm-slide' : 'mm-zoom-menu' ) + '" effect in combination with the 
"offCanvas.position" option set to "' + position + '".' );
                        }
                        if ( zposition != 'back' )
                        {
-                               $[ _PLUGIN_ ].debug( 'Don\'t use the "' + ( 
fxSlide ? 'mm-slide' : 'mm-zoom-menu' ) + '" effect in combination with the 
"offCanvas.zposition" option set to "' + zposition + '".' );
+                               debug( 'Don\'t use the "' + ( fxSlide ? 
'mm-slide' : 'mm-zoom-menu' ) + '" effect in combination with the 
"offCanvas.zposition" option set to "' + zposition + '".' );
                        }
                }
        };

Modified: 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.min.all.js
===================================================================
--- 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.min.all.js 
    2014-12-02 23:30:42 UTC (rev 12416)
+++ 
branches/dev-syncromind/phpgwapi/js/jquery/mmenu/src/js/jquery.mmenu.min.all.js 
    2014-12-03 10:38:16 UTC (rev 12417)
@@ -1,5 +1,5 @@
 /*     
- * jQuery mmenu v4.5.7
+ * jQuery mmenu v4.7.4
  * @requires jQuery 1.7.0 or later
  *
  * mmenu.frebsite.nl
@@ -10,74 +10,74 @@
  * Licensed under the MIT license:
  * http://en.wikipedia.org/wiki/MIT_License
  */
-!function(e){function 
n(){l=!0,d.$wndw=e(window),d.$html=e("html"),d.$body=e("body"),e.each([i,a,o],function(e,n){n.add=function(e){e=e.split("
 ");for(var t in 
e)n[e[t]]=n.mm(e[t])}}),i.mm=function(e){return"mm-"+e},i.add("wrapper menu 
inline panel nopanel list nolist subtitle selected label spacer current highest 
hidden opened subopened subopen fullsubopen 
subclose"),i.umm=function(e){return"mm-"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return"mm-"+e},a.add("parent"),o.mm=function(e){return
 e+".mm"},o.add("toggle open close setSelected transitionend 
webkitTransitionEnd mousedown mouseup touchstart touchmove touchend scroll 
resize click keydown keyup"),e[t]._c=i,e[t]._d=a,e[t]._e=o,e[t].glbl=d}var 
t="mmenu",s="4.5.7";if(!e[t]){var 
i={},a={},o={},l=!1,d={$wndw:null,$html:null,$body:null};e[t]=function(e,n,t){return
 this.$menu=e,this.opts=n,this.conf=t,this.vars={},"function"==typeof 
this.___deprecated&&this.___deprecated(),this._initMenu(),this._init(this.$menu.children(this.conf.panelNodetype)),"function"==typeof
 
this.___debug&&this.___debug(),this},e[t].version=s,e[t].addons=[],e[t].uniqueId=0,e[t].defaults={classes:"",slidingSubmenus:!0,onClick:{setSelected:!0}},e[t].configuration={panelNodetype:"ul,
 ol, 
div",transitionDuration:400,openingInterval:25,classNames:{panel:"Panel",selected:"Selected",label:"Label",spacer:"Spacer"}},e[t].prototype={_init:function(n){n=n.not("."+i.nopanel),n=this._initPanels(n),n=this._initLinks(n),n=this._bindCustomEvents(n);for(var
 s=0;s<e[t].addons.length;s++)"function"==typeof 
this["_init_"+e[t].addons[s]]&&this["_init_"+e[t].addons[s]](n);this._update()},_initMenu:function(){this.opts.offCanvas&&this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find("*")).filter("[id]").each(function(){e(this).attr("id",i.mm(e(this).attr("id")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$menu.parent().addClass(i.wrapper);var
 
n=[i.menu];n.push(i.mm(this.opts.slidingSubmenus?"horizontal":"vertical")),this.opts.classes&&n.push(this.opts.classes),this.$menu.addClass(n.join("
 "))},_initPanels:function(n){var t=this;this.__findAddBack(n,"ul, 
ol").not("."+i.nolist).addClass(i.list);var 
s=this.__findAddBack(n,"."+i.list).find("> 
li");this.__refactorClass(s,this.conf.classNames.selected,"selected"),this.__refactorClass(s,this.conf.classNames.label,"label"),this.__refactorClass(s,this.conf.classNames.spacer,"spacer"),s.off(o.setSelected).on(o.setSelected,function(n,t){n.stopPropagation(),s.removeClass(i.selected),"boolean"!=typeof
 
t&&(t=!0),t&&e(this).addClass(i.selected)}),this.__refactorClass(this.__findAddBack(n,"."+this.conf.classNames.panel),this.conf.classNames.panel,"panel"),n.add(this.__findAddBack(n,"."+i.list).children().children().filter(this.conf.panelNodetype).not("."+i.nopanel)).addClass(i.panel);var
 
l=this.__findAddBack(n,"."+i.panel),d=e("."+i.panel,this.$menu);l.each(function(){var
 
n=e(this),s=n.attr("id")||t.__getUniqueId();n.attr("id",s)}),l.each(function(){var
 n=e(this),s=n.is("ul, ol")?n:n.find("ul ,ol").first(),o=n.parent(),l=o.find("> 
a, > 
span"),d=o.closest("."+i.panel);if(o.parent().is("."+i.list)){n.data(a.parent,o);var
 r=e('<a class="'+i.subopen+'" href="#'+n.attr("id")+'" 
/>').insertBefore(l);l.is("a")||r.addClass(i.fullsubopen),t.opts.slidingSubmenus&&s.prepend('<li
 class="'+i.subtitle+'"><a class="'+i.subclose+'" 
href="#'+d.attr("id")+'">'+l.text()+"</a></li>")}});var 
r=this.opts.slidingSubmenus?o.open:o.toggle;if(d.each(function(){var 
n=e(this),t=n.attr("id");e('a[href="#'+t+'"]',d).off(o.click).on(o.click,function(e){e.preventDefault(),n.trigger(r)})}),this.opts.slidingSubmenus){var
 u=this.__findAddBack(n,"."+i.list).find("> 
li."+i.selected);u.parents("li").removeClass(i.selected).end().add(u.parents("li")).each(function(){var
 n=e(this),t=n.find("> 
."+i.panel);t.length&&(n.parents("."+i.panel).addClass(i.subopened),t.addClass(i.opened))}).closest("."+i.panel).addClass(i.opened).parents("."+i.panel).addClass(i.subopened)}else{var
 
u=e("li."+i.selected,d);u.parents("li").removeClass(i.selected).end().add(u.parents("li")).addClass(i.opened)}var
 c=d.filter("."+i.opened);return 
c.length||(c=l.first()),c.addClass(i.opened).last().addClass(i.current),this.opts.slidingSubmenus&&l.not(c.last()).addClass(i.hidden).end().appendTo(this.$menu),l},_initLinks:function(n){var
 t=this;return this.__findAddBack(n,"."+i.list).find("> li > 
a").not("."+i.subopen).not("."+i.subclose).not('[rel="external"]').not('[target="_blank"]').off(o.click).on(o.click,function(n){var
 
s=e(this),a=s.attr("href")||"";t.__valueOrFn(t.opts.onClick.setSelected,s)&&s.parent().trigger(o.setSelected);var
 
l=t.__valueOrFn(t.opts.onClick.preventDefault,s,"#"==a.slice(0,1));l&&n.preventDefault(),t.__valueOrFn(t.opts.onClick.blockUI,s,!l)&&d.$html.addClass(i.blocking),t.__valueOrFn(t.opts.onClick.close,s,l)&&t.$menu.triggerHandler(o.close)}),n},_bindCustomEvents:function(n){var
 t=this;return n.off(o.toggle+" "+o.open+" "+o.close).on(o.toggle+" "+o.open+" 
"+o.close,function(e){e.stopPropagation()}),this.opts.slidingSubmenus?n.on(o.open,function(){return
 t._openSubmenuHorizontal(e(this))}):n.on(o.toggle,function(){var 
n=e(this);return 
n.triggerHandler(n.parent().hasClass(i.opened)?o.close:o.open)}).on(o.open,function(){return
 e(this).parent().addClass(i.opened),"open"}).on(o.close,function(){return 
e(this).parent().removeClass(i.opened),"close"}),n},_openSubmenuHorizontal:function(n){if(n.hasClass(i.current))return!1;var
 t=e("."+i.panel,this.$menu),s=t.filter("."+i.current);return 
t.removeClass(i.highest).removeClass(i.current).not(n).not(s).addClass(i.hidden),n.hasClass(i.opened)?s.addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(n.addClass(i.highest),s.addClass(i.subopened)),n.removeClass(i.hidden).addClass(i.current),setTimeout(function(){n.removeClass(i.subopened).addClass(i.opened)},this.conf.openingInterval),"open"},_update:function(e){if(this.updates||(this.updates=[]),"function"==typeof
 e)this.updates.push(e);else for(var 
n=0,t=this.updates.length;t>n;n++)this.updates[n].call(this,e)},__valueOrFn:function(e,n,t){return"function"==typeof
 e?e.call(n[0]):"undefined"==typeof e&&"undefined"!=typeof 
t?t:e},__refactorClass:function(e,n,t){e.filter("."+n).removeClass(n).addClass(i[t])},__findAddBack:function(e,n){return
 e.find(n).add(e.filter(n))},__transitionend:function(e,n,t){var 
s=!1,i=function(){s||n.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*t)},__getUniqueId:function(){return
 i.mm(e[t].uniqueId++)}},e.fn[t]=function(s,i){return 
l||n(),s=e.extend(!0,{},e[t].defaults,s),i=e.extend(!0,{},e[t].configuration,i),this.each(function(){var
 n=e(this);n.data(t)||n.data(t,new 
e[t](n,s,i))})},e[t].support={touch:"ontouchstart"in window.document}}}(jQuery);

@@ Diff output truncated at 153600 characters. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]