Author: jleroux
Date: Tue Oct 20 20:46:42 2015
New Revision: 1709679

URL: http://svn.apache.org/viewvc?rev=1709679&view=rev
Log:
An improved patch from Pierre Gaudin for "JGrowl to display alerts " 
https://issues.apache.org/jira/browse/OFBIZ-6023

I've been working on Jgrowl integration for a project. 
(https://github.com/stanlemon/jGrowl)
This allowS to display system's messages in a popup at the top of the windows 
even if you scroll. This is also useful for ajax call because there is no need 
to scroll to the top of the screen to view message.
Message can stick to the screen until it is intentionally closed by the user or 
not.

jleroux? as already explained in the Jira: to have it working in trunk HEAD I 
had to make some changes

    I put the jgrowl loading in GlobalActions rather than GlobalDecorator
    in showjGrowl() js function
        I Added a test for if (contentMessages.length) because of an error in 
lookups
        I did some formatting in function showjGrowl()
        I used jQuery instead of $ (same for expandAllP() and expandAll() 
functions)

Added:
    
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/
    
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/README.md
    
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/demo.html
   (with props)
    
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.js
   (with props)
    
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.min.js
   (with props)
    ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/
    
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/
    
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css
   (with props)
    
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js
   (with props)
Modified:
    ofbiz/trunk/framework/common/webcommon/includes/messages.ftl
    ofbiz/trunk/framework/common/widget/CommonScreens.xml
    ofbiz/trunk/framework/images/webapp/images/selectall.js
    ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css
    ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css
    ofbiz/trunk/themes/flatgrey/webapp/flatgrey/javascript.css
    ofbiz/trunk/themes/tomahawk/webapp/tomahawk/css/style.css

Modified: ofbiz/trunk/framework/common/webcommon/includes/messages.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/includes/messages.ftl?rev=1709679&r1=1709678&r2=1709679&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/includes/messages.ftl (original)
+++ ofbiz/trunk/framework/common/webcommon/includes/messages.ftl Tue Oct 20 
20:46:42 2015
@@ -49,6 +49,7 @@ under the License.
       </#if>
     </div>
   </#if>
+    <script>showjGrowl();</script>
   <#-- display the event messages -->
   <#if (eventMessage?has_content || eventMessageList?has_content)>
     <div id="content-messages" class="content-messages eventMessage" 
onclick="document.getElementById('content-messages').parentNode.removeChild(this)">
@@ -62,5 +63,6 @@ under the License.
         </#list>
       </#if>
     </div>
+    <script>showjGrowl();</script>
   </#if>
 </#escape>

Modified: ofbiz/trunk/framework/common/widget/CommonScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/CommonScreens.xml?rev=1709679&r1=1709678&r2=1709679&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/widget/CommonScreens.xml (original)
+++ ofbiz/trunk/framework/common/widget/CommonScreens.xml Tue Oct 20 20:46:42 
2015
@@ -149,7 +149,10 @@ under the License.
                 <set field="layoutSettings.javaScripts[+0]" value="${groovy: 
org.ofbiz.common.JsLanguageFilesMapping.jquery.getFilePath(initialLocaleComplete)}"
 global="true" />
                 <set field="layoutSettings.javaScripts[+0]" value="${groovy: 
org.ofbiz.common.JsLanguageFilesMapping.validation.getFilePath(initialLocaleComplete)}"
 global="true" />
                 <set field="layoutSettings.javaScripts[+0]" value="${groovy: 
org.ofbiz.common.JsLanguageFilesMapping.dateTime.getFilePath(initialLocaleComplete)}"
 global="true" />
-                
+                <!-- Jgrowl -->
+                <set field="layoutSettings.javaScripts[]" 
value="/images/jquery/plugins/Readmore.js-master/readmore.js" global="true"/>
+                <set field="layoutSettings.javaScripts[]" 
value="/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js" 
global="true"/>
+                <set field="layoutSettings.styleSheets[+0]" 
value="/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css" 
global="true" />
             </actions>
             <widgets />
         </section>

Added: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/README.md
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/README.md?rev=1709679&view=auto
==============================================================================
--- 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/README.md
 (added)
+++ 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/README.md
 Tue Oct 20 20:46:42 2015
@@ -0,0 +1,100 @@
+Readmore.js
+========
+
+A smooth, lightweight jQuery plugin for collapsing and expanding long blocks 
of text with "Read more" and "Close" links. 
+
+The required markup for Readmore.js is also extremely lightweight and very 
simple. No need for complicated sets of `div`s or hardcoded class names, just 
call ``.readmore()`` on the element containing your block of text and 
Readmore.js takes care of the rest.
+
+Readmore.js is compatible with all versions of jQuery greater than 1.7.0.
+
+## Example ##
+
+    $('article').readmore();
+  
+Yes, it's that simple. You can change the speed of the animation, the height 
of the collapsed block, and the open and close elements.
+
+    $('article').readmore({
+      speed: 75,
+      maxHeight: 500
+    });
+
+## The options: ##
+
+* `speed: 100` (in milliseconds)
+* `maxHeight: 200`  (in pixels)
+* `heightMargin: 16` (in pixels, avoids collapsing blocks that are only 
slightly larger than `maxHeight`)
+* `moreLink: '<a href="#">Read more</a>'`
+* `lessLink: '<a href="#">Close</a>'`
+* `embedCSS: true` (insert required CSS dynamically, set this to `false` if 
you include the necessary CSS in a stylesheet)
+* `sectionCSS: 'display: block; width: 100%;'` (sets the styling of the 
blocks, ignored if `embedCSS` is `false`)
+* `startOpen: false` (do not immediately truncate, start in the fully opened 
position)
+* `expandedClass: 'readmore-js-expanded'` (class added to expanded blocks)
+* `collapsedClass: 'readmore-js-collapsed'` (class added to collapsed blocks)
+* `beforeToggle: function() {}` (called after a more or less link is clicked, 
but *before* the block is collapsed or expanded)
+* `afterToggle: function() {}` (called *after* the block is collapsed or 
expanded)
+
+If the element has a `max-height` CSS property, Readmore.js will use that 
value rather than the value of the `maxHeight` option.
+
+### The callbacks:
+
+The callback functions, `beforeToggle()` and `afterToggle`, both receive the 
same arguments: `trigger`, `element`, and `expanded`.
+
+* `trigger`: the "Read more" or "Close" element that was clicked
+* `element`: the block that is being collapsed or expanded
+* `expanded`: Boolean; `true` means the block is expanded
+
+#### Callback example:
+
+Here's an example of how you could use the `afterToggle` callback to scroll 
back to the top of a block when the "Close" link is clicked.
+
+```javascript
+$('article').readmore({
+  afterToggle: function(trigger, element, expanded) {
+    if(! expanded) { // The "Close" link was clicked
+      $('html, body').animate( { scrollTop: element.offset().top }, {duration: 
100 } );
+    }
+  }
+});
+```
+
+### Recommended CSS:
+
+The intention behind Readmore.js is to use CSS for as much functionality as 
possible. In particular, "collapsing" is achieved by setting `overflow: hidden` 
on the containing block and changing the `height` property.
+
+By default, Readmore.js inserts the following CSS:
+
+```css
+.readmore-js-toggle, .readmore-js-section {
+  display: block;
+  width: 100%;
+}
+.readmore-js-section {
+  overflow: hidden;
+}
+```
+
+You can override the the first set of rules when you set up Readmore.js like 
so:
+
+```javascript
+$('article').readmore({sectionCSS: 'display: inline-block; width: 50%;'});
+```
+
+If you want to include the necessary styling in your site's stylesheet, you 
can disable the dynamic embedding by passing `embedCSS: false` in the options 
hash.
+
+```javascript
+$('article').readmore({embedCSS: false});
+```
+
+## Removing Readmore
+
+You can remove the Readmore functionality like so:
+
+```javascript
+$('article').readmore('destroy');
+```
+
+Or, you can be more surgical by specifying a particular element:
+
+```javascript
+$('article:first').readmore('destroy');
+```

Added: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/demo.html
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/demo.html?rev=1709679&view=auto
==============================================================================
--- 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/demo.html
 (added)
+++ 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/demo.html
 Tue Oct 20 20:46:42 2015
@@ -0,0 +1,182 @@
+<!DOCTYPE html>
+
+<html lang="en" class="no-js">
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+
+  <title>Readmore.js: jQuery plugin for long blocks of text</title>
+  <meta name="description" content="A smooth, lightweight jQuery plugin for 
collapsing and expanding long blocks of text with &#8220;Read more&#8221; and 
&#8220;Close&#8221; links.">
+  <meta name="author" content="Jed Foster">
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+  <!--[if lt IE 9]>
+    <script 
src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7/html5shiv.min.js"></script>
+  <![endif]-->
+
+  <style media="screen">
+    body { font: 16px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif; 
color: #444; }
+    code { color: #777; font-family: "Source Code Pro", "Menlo", "Courier 
New", monospace;}
+    a { color: #178DB1; }
+    .container { margin: 0 auto; max-width: 960px; }
+    #info + .readmore-js-toggle { padding-bottom: 1.5em; border-bottom: 1px 
solid #999; font-weight: bold;}
+    #demo { padding: 0 10%; }
+  </style>
+</head>
+
+<body>
+
+  <div class="container">
+    <header>
+      <h1>Readmore.js</h1>
+
+      <p>A smooth, lightweight jQuery plugin for collapsing and expanding long 
blocks of text with &#8220;Read more&#8221; and &#8220;Close&#8221; links. </p>
+    </header>
+
+    <section id="info">
+      <p>The required markup for Readmore.js is extremely lightweight. No need 
for complicated sets of <code>divs</code> or hardcoded class names, just call 
<code>.readmore()</code> on the element containing your block of text and 
Readmore.js takes care of the rest. </p>
+
+      <p>Readmore.js is compatible with all versions of jQuery greater than 
1.7.0.</p>
+
+      <h2 id="example">Example</h2>
+
+      <pre><code class="javascript">$('article').readmore();</code></pre>
+
+      <p>Yes, it&#8217;s that simple. You can change the speed of the 
animation, the height of the collapsed block, and the open and close 
elements.</p>
+
+      <pre><code>$('article').readmore({
+  speed: 75,
+  maxHeight: 500
+});</code></pre>
+
+      <h2 id="theoptions">The options:</h2>
+
+      <ul>
+        <li><code>speed: 100</code> (in milliseconds)</li>
+        <li><code>maxHeight: 200</code> (in pixels)</li>
+        <li><code>heightMargin: 16</code> (in pixels, avoids collapsing blocks 
that are only slightly larger than <code>maxHeight</code>)</li>
+        <li><code>moreLink: '&lt;a href="#"&gt;Read more&lt;/a&gt;'</code></li>
+        <li><code>lessLink: '&lt;a href="#"&gt;Close&lt;/a&gt;'</code></li>
+        <li><code>embedCSS: true</code> (insert required CSS dynamically, set 
this to <code>false</code> if you include the necessary CSS in a 
stylesheet)</li>
+        <li><code>sectionCSS: 'display: block; width: 100%;'</code> (sets the 
styling of the blocks)</li>
+        <li><code>startOpen: false</code> (do not immediately truncate, start 
in the fully opened position)</li>
+        <li><code>expandedClass: 'readmore-js-expanded'</code> (class added to 
expanded blocks)</li>
+        <li><code>collapsedClass: 'readmore-js-collapsed'</code> (class added 
to collapsed blocks)</li>
+        <li><code>beforeToggle: function() {}</code> (called after a more or 
less link is clicked, but <i>before</i> the block is collapsed or expanded)</li>
+        <li><code>afterToggle: function() {}</code> (called <i>after</i> the 
block is collapsed or expanded)</li>
+      </ul>
+
+      <p>If the element has a <code>max-height</code> CSS property, 
Readmore.js will use that value rather than the value of the 
<code>maxHeight</code> option.</p>
+
+      <h3 id="thecallbacks">The callbacks:</h3>
+
+      <p>The callback functions, <code>beforeToggle()</code> and 
<code>afterToggle</code>, both receive the same arguments: 
<code>trigger</code>, <code>element</code>, and <code>expanded</code>.</p>
+
+      <ul>
+        <li><code>trigger</code>: the "Read more" or "Close" element that was 
clicked</li>
+        <li><code>element</code>: the block that is being collapsed or 
expanded</li>
+        <li><code>expanded</code>: Boolean; <code>true</code> means the block 
is expanded</li>
+      </ul>
+
+      <h4 id="callbackexample">Callback example:</h4>
+
+      <p>Here's an example of how you could use the <code>afterToggle</code> 
callback to scroll back to the top of a block when the "Close" link is 
clicked.</p>
+
+      <pre><code class="javascript">$('article').readmore({
+  afterToggle: function(trigger, element, expanded) {
+    if(! expanded) { // The "Close" link was clicked
+      $('html, body').animate( { scrollTop: element.offset().top }, {duration: 
100 } );
+    }
+  }
+});</code></pre>
+
+      <h3 id="recommendedcss">Recommended CSS:</h3>
+
+      <p>The intention behind Readmore.js is to use CSS for as much 
functionality as possible. In particular, &#8220;collapsing&#8221; is achieved 
by setting <code>overflow: hidden</code> on the containing block and changing 
the <code>height</code> property.</p>
+
+      <p>By default, Readmore.js inserts the following CSS:</p>
+
+      <pre><code class="css">.readmore-js-toggle, .readmore-js-section {
+  display: block;
+  width: 100%;
+}
+.readmore-js-section {
+  overflow: hidden;
+}</code></pre>
+
+      <p>You can override the the first set of rules when you set up 
Readmore.js like so:</p>
+
+      <pre><code 
class="javascript">$(&apos;article&apos;).readmore({sectionCSS: &apos;display: 
inline-block; width: 50%;&apos;});</code></pre>
+
+      <p>If you want to include the necessary styling in your site&#8217;s 
stylesheet, you can disable the dynamic embedding by passing <code>embedCSS: 
false</code> in the options hash.</p>
+
+      <pre><code class="javascript">$(&apos;article&apos;).readmore({embedCSS: 
false});</code></pre>
+
+      <h2 id="removingreadmore">Removing Readmore</h2>
+
+      <p>You can remove the Readmore functionality like so:</p>
+
+      <pre><code 
class="javascript">$('article').readmore('destroy');</code></pre>
+
+      <p>Or, you can be more surgical by specifying a particular element:</p>
+
+      <pre><code 
class="javascript">$('article:first').readmore('destroy');</code></pre>
+    </section>
+
+    <h1>Demo</h1>
+
+    <section id="demo">
+
+      <article>
+        <h2>Artisanal Narwahls</h2>
+
+        <p>Salvia portland leggings banh mi fanny pack mixtape, authentic 
bushwick wes anderson intelligentsia artisan typewriter high life they sold out 
mixtape high life. Marfa ethnic wayfarers brooklyn keytar mixtape. Blue bottle 
shoreditch gluten-free, mixtape hoodie whatever pinterest viral twee fashion 
axe high life irony biodiesel tofu.</p>
+
+        <p>Retro church-key thundercats keytar, skateboard irony selvage 
ethnic freegan banjo pour-over fixie. Raw denim fashion ax eoke locavore 
disrupt, tonx retro authentic letterpress raw denim stumptown mixtape ugh kale 
chips flexitarian 90's deep v. Squid fingerstache bespoke wolf DIY. Banjo 
pour-over shoreditch cardigan try-hard.</p>
+
+        <p>Skateboard artisan bicycle rights next level vinyl cardigan beard 
twee, farm-to-table truffaut. Shoreditch freegan cliche thundercats, bushwick 
VHS intelligentsia selfies ethnic try-hard before they sold out. Marfa terry 
richardson hella, seitan odd future pug butcher. Wes anderson tousled YOLO 
cardigan. Typewriter high life carles, artisan gentrify messenger bag 
single-origin coffee truffaut thundercats cray 90's pour-over seitan. Banksy 
8-bit organic, salvia gentrify stumptown wayfarers. Godard echo park before 
they sold out chambray, skateboard twee mcsweeney's synth hella.</p>
+
+        <p>Flannel pinterest Austin twee narwhal, hoodie swag wolf photo 
booth. Hella kale chips marfa occupy pitchfork put a bird on it. Semiotics 
dreamcatcher selfies beard DIY umami craft beer 3 wolf moon. Try-hard literally 
mustache polaroid ennui VHS. High life fixie wolf, trust fund twee seitan 
pinterest blog helvetica sriracha. Tattooed selvage try-hard, biodiesel banjo 
direct trade echo park kogi tonx bespoke. Pork belly put a bird on it iphone, 
fixie literally bespoke tonx butcher +1 swag.</p>
+      </article>
+
+      <article>
+        <h2>Portland Leggings</h2>
+
+        <p>Put a bird on it you probably haven't heard of them DIY, vice photo 
booth terry richardson pickled vegan cray. Pug DIY blog stumptown 3 wolf moon, 
blue bottle farm-to-table actually banh mi fanny pack quinoa small batch. 
Mumblecore raw denim hoodie ethnic. Craft beer sriracha mlkshk, organic bicycle 
rights twee gentrify messenger bag keffiyeh ethical helvetica tumblr. 
Gluten-free tousled vinyl pop-up. Butcher keytar pickled literally, cosby 
sweater chambray authentic. Fixie odd future kale chips, church-key pinterest 
beard pour-over banksy typewriter dreamcatcher squid blue bottle sartorial.</p>
+
+        <p>Banksy blog craft beer PBR fap retro wayfarers polaroid narwhal 
blue bottle mixtape squid YOLO. Pitchfork brunch put a bird on it, fashion axe 
squid vegan vice pop-up organic blue bottle forage plaid deep v locavore +1. 
American apparel 3 wolf moon cray tonx single-origin coffee, gluten-free 
sartorial. Try-hard iphone pork belly bespoke keffiyeh leggings selfies, 
chillwave gastropub. Master cleanse plaid hella readymade. Keytar cosby sweater 
truffaut kogi, try-hard flannel chillwave. Truffaut selvage bespoke banjo 
freegan, ugh williamsburg.</p>
+
+        <p>Austin single-origin coffee umami vice pork belly, ethical 
williamsburg flexitarian forage aesthetic street art keytar fashion axe twee. 
Cliche aesthetic trust fund, williamsburg carles godard four loko. Photo booth 
authentic cred semiotics, pickled vegan williamsburg mixtape church-key 
intelligentsia irony umami PBR. Wayfarers fixie keffiyeh hella ugh, 
dreamcatcher kale chips banksy Austin swag stumptown deep v tattooed. Mlkshk 
viral seitan small batch squid cosby sweater, jean shorts neutra. Vegan 
pitchfork banjo readymade, helvetica ethical bushwick banksy artisan sriracha 
single-origin coffee. Umami viral fashion axe, marfa DIY banh mi wes anderson 
master cleanse cosby sweater cray selvage organic actually semiotics.
+  </p>
+
+        <p>Yr messenger bag fanny pack small batch, single-origin coffee 
literally gluten-free farm-to-table 8-bit godard butcher fap actually biodiesel 
trust fund. Pickled squid cred pug pop-up. Polaroid deep v 90's, +1 godard 
mumblecore retro next level carles salvia try-hard food truck gluten-free. Four 
loko post-ironic tofu lomo, narwhal readymade mustache jean shorts letterpress. 
Leggings put a bird on it farm-to-table jean shorts williamsburg cardigan. 
Gentrify pug bushwick PBR fixie etsy. PBR banh mi cardigan, cosby sweater 
master cleanse mixtape fingerstache.</p>
+      </article>
+
+      <article>
+        <h2>This section is shorter than the Readmore minimum</h2>
+
+        <p>Put a bird on it you probably haven't heard of them DIY, vice photo 
booth terry richardson pickled vegan cray. Pug DIY blog stumptown 3 wolf moon, 
blue bottle farm-to-table actually banh mi fanny pack quinoa small batch. 
Mumblecore raw denim hoodie ethnic. Craft beer sriracha mlkshk, organic bicycle 
rights twee gentrify messenger bag keffiyeh ethical helvetica tumblr. 
Gluten-free tousled vinyl pop-up. Butcher keytar pickled literally, cosby 
sweater chambray authentic. Fixie odd future kale chips, church-key pinterest 
beard pour-over banksy typewriter dreamcatcher squid blue bottle sartorial.</p>
+      </article>
+    </section>
+  </div>
+
+  <script 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js";></script>
+
+  <script src="readmore.js"></script>
+
+  <script>
+  $('#info').readmore({
+    moreLink: '<a href="#">More examples and options</a>',
+    maxHeight: 390,
+    afterToggle: function(trigger, element, expanded) {
+      if(! expanded) { // The "Close" link was clicked
+        $('html, body').animate( { scrollTop: element.offset().top }, 
{duration: 100 } );
+      }
+    }
+  });
+
+    $('article').readmore({maxHeight: 240});
+  </script>
+</body>
+</html>

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/demo.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/demo.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/demo.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.js
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.js?rev=1709679&view=auto
==============================================================================
--- 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.js
 (added)
+++ 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.js
 Tue Oct 20 20:46:42 2015
@@ -0,0 +1,192 @@
+/*!
+ * Readmore.js jQuery plugin
+ * Author: @jed_foster
+ * Project home: jedfoster.github.io/Readmore.js
+ * Licensed under the MIT license
+ */
+
+;(function($) {
+
+  var readmore = 'readmore',
+      defaults = {
+        speed: 100,
+        maxHeight: 200,
+        heightMargin: 16,
+        moreLink: '<a href="#">Read More</a>',
+        lessLink: '<a href="#">Close</a>',
+        embedCSS: true,
+        sectionCSS: 'display: block; width: 100%;',
+        startOpen: false,
+        expandedClass: 'readmore-js-expanded',
+        collapsedClass: 'readmore-js-collapsed',
+
+        // callbacks
+        beforeToggle: function(){},
+        afterToggle: function(){}
+      },
+      cssEmbedded = false;
+
+  function Readmore( element, options ) {
+    this.element = element;
+
+    this.options = $.extend( {}, defaults, options);
+
+    $(this.element).data('max-height', this.options.maxHeight);
+    $(this.element).data('height-margin', this.options.heightMargin);
+
+    delete(this.options.maxHeight);
+
+    if(this.options.embedCSS && ! cssEmbedded) {
+      var styles = '.readmore-js-toggle, .readmore-js-section { ' + 
this.options.sectionCSS + ' } .readmore-js-section { overflow: hidden; }';
+
+      (function(d,u) {
+        var css=d.createElement('style');
+        css.type = 'text/css';
+        if(css.styleSheet) {
+            css.styleSheet.cssText = u;
+        }
+        else {
+            css.appendChild(d.createTextNode(u));
+        }
+        d.getElementsByTagName('head')[0].appendChild(css);
+      }(document, styles));
+
+      cssEmbedded = true;
+    }
+
+    this._defaults = defaults;
+    this._name = readmore;
+
+    this.init();
+  }
+
+  Readmore.prototype = {
+
+    init: function() {
+      var $this = this;
+
+      $(this.element).each(function() {
+        var current = $(this),
+            maxHeight = (current.css('max-height').replace(/[^-\d\.]/g, '') > 
current.data('max-height')) ? current.css('max-height').replace(/[^-\d\.]/g, 
'') : current.data('max-height'),
+            heightMargin = current.data('height-margin');
+
+        if(current.css('max-height') != 'none') {
+          current.css('max-height', 'none');
+        }
+
+        $this.setBoxHeight(current);
+
+        if(current.outerHeight(true) <= maxHeight + heightMargin) {
+          // The block is shorter than the limit, so there's no need to 
truncate it.
+          return true;
+        }
+        else {
+          current.addClass('readmore-js-section ' + 
$this.options.collapsedClass).data('collapsedHeight', maxHeight);
+
+          var useLink = $this.options.startOpen ? $this.options.lessLink : 
$this.options.moreLink;
+          current.after($(useLink).on('click', function(event) { 
$this.toggleSlider(this, current, event) }).addClass('readmore-js-toggle'));
+
+          if(!$this.options.startOpen) {
+            current.css({height: maxHeight});
+          }
+        }
+      });
+
+      $(window).on('resize', function(event) {
+        $this.resizeBoxes();
+      });
+    },
+
+    toggleSlider: function(trigger, element, event)
+    {
+      event.preventDefault();
+
+      var $this = this,
+          newHeight = newLink = sectionClass = '',
+          expanded = false,
+          collapsedHeight = $(element).data('collapsedHeight');
+
+      if ($(element).height() <= collapsedHeight) {
+        newHeight = $(element).data('expandedHeight') + 'px';
+        newLink = 'lessLink';
+        expanded = true;
+        sectionClass = $this.options.expandedClass;
+      }
+
+      else {
+        newHeight = collapsedHeight;
+        newLink = 'moreLink';
+        sectionClass = $this.options.collapsedClass;
+      }
+
+      // Fire beforeToggle callback
+      $this.options.beforeToggle(trigger, element, expanded);
+
+      $(element).animate({'height': newHeight}, {duration: 
$this.options.speed, complete: function() {
+          // Fire afterToggle callback
+          $this.options.afterToggle(trigger, element, expanded);
+
+          $(trigger).replaceWith($($this.options[newLink]).on('click', 
function(event) { $this.toggleSlider(this, element, event) 
}).addClass('readmore-js-toggle'));
+
+          $(this).removeClass($this.options.collapsedClass + ' ' + 
$this.options.expandedClass).addClass(sectionClass);
+        }
+      });
+    },
+
+    setBoxHeight: function(element) {
+      var el = element.clone().css({'height': 'auto', 'width': 
element.width(), 'overflow': 'hidden'}).insertAfter(element),
+          height = el.outerHeight(true);
+
+      el.remove();
+
+      element.data('expandedHeight', height);
+    },
+
+    resizeBoxes: function() {
+      var $this = this;
+
+      $('.readmore-js-section').each(function() {
+        var current = $(this);
+
+        $this.setBoxHeight(current);
+
+        if(current.height() > current.data('expandedHeight') || 
(current.hasClass($this.options.expandedClass) && current.height() < 
current.data('expandedHeight')) ) {
+          current.css('height', current.data('expandedHeight'));
+        }
+      });
+    },
+
+    destroy: function() {
+      var $this = this;
+
+      $(this.element).each(function() {
+        var current = $(this);
+
+        current.removeClass('readmore-js-section ' + 
$this.options.collapsedClass + ' ' + 
$this.options.expandedClass).css({'max-height': '', 'height': 
'auto'}).next('.readmore-js-toggle').remove();
+
+        current.removeData();
+      });
+    }
+  };
+
+  $.fn[readmore] = function( options ) {
+    var args = arguments;
+    if (options === undefined || typeof options === 'object') {
+      return this.each(function () {
+        if ($.data(this, 'plugin_' + readmore)) {
+          var instance = $.data(this, 'plugin_' + readmore);
+          instance['destroy'].apply(instance);
+        }
+
+        $.data(this, 'plugin_' + readmore, new Readmore( this, options ));
+      });
+    } else if (typeof options === 'string' && options[0] !== '_' && options 
!== 'init') {
+      return this.each(function () {
+        var instance = $.data(this, 'plugin_' + readmore);
+        if (instance instanceof Readmore && typeof instance[options] === 
'function') {
+          instance[options].apply( instance, Array.prototype.slice.call( args, 
1 ) );
+        }
+      });
+    }
+  }
+})(jQuery);

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.min.js
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.min.js?rev=1709679&view=auto
==============================================================================
--- 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.min.js
 (added)
+++ 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.min.js
 Tue Oct 20 20:46:42 2015
@@ -0,0 +1,7 @@
+(function(c){function 
g(b,a){this.element=b;this.options=c.extend({},h,a);c(this.element).data("max-height",this.options.maxHeight);c(this.element).data("height-margin",this.options.heightMargin);delete
 this.options.maxHeight;if(this.options.embedCSS&&!k){var 
d=".readmore-js-toggle, .readmore-js-section { "+this.options.sectionCSS+" } 
.readmore-js-section { overflow: hidden; 
}",e=document.createElement("style");e.type="text/css";e.styleSheet?e.styleSheet.cssText=d:e.appendChild(document.createTextNode(d));
+document.getElementsByTagName("head")[0].appendChild(e);k=!0}this._defaults=h;this._name=f;this.init()}var
 f="readmore",h={speed:100,maxHeight:200,heightMargin:16,moreLink:'<a 
href="#">Read More</a>',lessLink:'<a 
href="#">Close</a>',embedCSS:!0,sectionCSS:"display: block; width: 
100%;",startOpen:!1,expandedClass:"readmore-js-expanded",collapsedClass:"readmore-js-collapsed",beforeToggle:function(){},afterToggle:function(){}},k=!1;g.prototype={init:function(){var
 b=this;c(this.element).each(function(){var a=
+c(this),d=a.css("max-height").replace(/[^-\d\.]/g,"")>a.data("max-height")?a.css("max-height").replace(/[^-\d\.]/g,""):a.data("max-height"),e=a.data("height-margin");"none"!=a.css("max-height")&&a.css("max-height","none");b.setBoxHeight(a);if(a.outerHeight(!0)<=d+e)return!0;a.addClass("readmore-js-section
 
"+b.options.collapsedClass).data("collapsedHeight",d);a.after(c(b.options.startOpen?b.options.lessLink:b.options.moreLink).on("click",function(c){b.toggleSlider(this,a,c)}).addClass("readmore-js-toggle"));
+b.options.startOpen||a.css({height:d})});c(window).on("resize",function(a){b.resizeBoxes()})},toggleSlider:function(b,a,d){d.preventDefault();var
 e=this;d=newLink=sectionClass="";var 
f=!1;d=c(a).data("collapsedHeight");c(a).height()<=d?(d=c(a).data("expandedHeight")+"px",newLink="lessLink",f=!0,sectionClass=e.options.expandedClass):(newLink="moreLink",sectionClass=e.options.collapsedClass);e.options.beforeToggle(b,a,f);c(a).animate({height:d},{duration:e.options.speed,complete:function(){e.options.afterToggle(b,
+a,f);c(b).replaceWith(c(e.options[newLink]).on("click",function(b){e.toggleSlider(this,a,b)}).addClass("readmore-js-toggle"));c(this).removeClass(e.options.collapsedClass+"
 
"+e.options.expandedClass).addClass(sectionClass)}})},setBoxHeight:function(b){var
 
a=b.clone().css({height:"auto",width:b.width(),overflow:"hidden"}).insertAfter(b),c=a.outerHeight(!0);a.remove();b.data("expandedHeight",c)},resizeBoxes:function(){var
 b=this;c(".readmore-js-section").each(function(){var 
a=c(this);b.setBoxHeight(a);
+(a.height()>a.data("expandedHeight")||a.hasClass(b.options.expandedClass)&&a.height()<a.data("expandedHeight"))&&a.css("height",a.data("expandedHeight"))})},destroy:function(){var
 b=this;c(this.element).each(function(){var 
a=c(this);a.removeClass("readmore-js-section "+b.options.collapsedClass+" 
"+b.options.expandedClass).css({"max-height":"",height:"auto"}).next(".readmore-js-toggle").remove();a.removeData()})}};c.fn[f]=function(b){var
 a=arguments;if(void 0===b||"object"===typeof b)return 
this.each(function(){if(c.data(this,
+"plugin_"+f)){var 
a=c.data(this,"plugin_"+f);a.destroy.apply(a)}c.data(this,"plugin_"+f,new 
g(this,b))});if("string"===typeof b&&"_"!==b[0]&&"init"!==b)return 
this.each(function(){var d=c.data(this,"plugin_"+f);d instanceof 
g&&"function"===typeof 
d[b]&&d[b].apply(d,Array.prototype.slice.call(a,1))})}})(jQuery);

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.min.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/Readmore.js-master/readmore.min.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css?rev=1709679&view=auto
==============================================================================
--- 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css
 (added)
+++ 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css
 Tue Oct 20 20:46:42 2015
@@ -0,0 +1 @@
+.jGrowl{z-index:9999;color:#fff;font-size:12px;font-family:"Helvetica 
Neue",Helvetica,Arial,sans-serif;position:fixed}.jGrowl.top-left{left:0;top:0}.jGrowl.top-right{right:0;top:0}.jGrowl.bottom-left{left:0;bottom:0}.jGrowl.bottom-right{right:0;bottom:0}.jGrowl.center{top:0;width:50%;left:25%}.jGrowl.center
 .jGrowl-closer,.jGrowl.center 
.jGrowl-notification{margin-left:auto;margin-right:auto}.jGrowl-notification{background-color:#000;opacity:.9;-ms-filter:alpha(90);filter:alpha(90);zoom:1;width:250px;padding:10px;margin:10px;text-align:left;display:none;border-radius:5px;min-height:40px}.jGrowl-notification
 .ui-state-highlight,.jGrowl-notification .ui-widget-content 
.ui-state-highlight,.jGrowl-notification .ui-widget-header 
.ui-state-highlight{border:1px solid 
#000;background:#000;color:#fff}.jGrowl-notification 
.jGrowl-header{font-weight:700;font-size:.85em}.jGrowl-notification 
.jGrowl-close{background-color:transparent;color:inherit;border:none;z-index:99;float:right;font-weight:7
 
00;font-size:1em;cursor:pointer}.jGrowl-closer{background-color:#000;opacity:.9;-ms-filter:alpha(90);filter:alpha(90);zoom:1;width:250px;padding:10px;margin:10px;display:none;border-radius:5px;padding-top:4px;padding-bottom:4px;cursor:pointer;font-size:.9em;font-weight:700;text-align:center}.jGrowl-closer
 .ui-state-highlight,.jGrowl-closer .ui-widget-content 
.ui-state-highlight,.jGrowl-closer .ui-widget-header 
.ui-state-highlight{border:1px solid #000;background:#000;color:#fff}@media 
print{.jGrowl{display:none}}
\ No newline at end of file

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js?rev=1709679&view=auto
==============================================================================
--- 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js
 (added)
+++ 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js
 Tue Oct 20 20:46:42 2015
@@ -0,0 +1,2 @@
+!function(a){a.jGrowl=function(b,c){0===a("#jGrowl").length&&a('<div 
id="jGrowl"></div>').addClass(c&&c.position?c.position:a.jGrowl.defaults.position).appendTo(c&&c.appendTo?c.appendTo:a.jGrowl.defaults.appendTo),a("#jGrowl").jGrowl(b,c)},a.fn.jGrowl=function(b,c){if(void
 0===c&&a.isPlainObject(b)&&(c=b,b=c.message),a.isFunction(this.each)){var 
d=arguments;return this.each(function(){void 
0===a(this).data("jGrowl.instance")&&(a(this).data("jGrowl.instance",a.extend(new
 
a.fn.jGrowl,{notifications:[],element:null,interval:null})),a(this).data("jGrowl.instance").startup(this)),a.isFunction(a(this).data("jGrowl.instance")[b])?a(this).data("jGrowl.instance")[b].apply(a(this).data("jGrowl.instance"),a.makeArray(d).slice(1)):a(this).data("jGrowl.instance").create(b,c)})}},a.extend(a.fn.jGrowl.prototype,{defaults:{pool:0,header:"",group:"",sticky:!1,position:"top-right",appendTo:"body",glue:"after",theme:"default",themeState:"highlight",corners:"10px",check:250,life:3e3,closeDuration:"norm
 
al",openDuration:"normal",easing:"swing",closer:!0,closeTemplate:"&times;",closerTemplate:"<div>[
 close all 
]</div>",log:function(){},beforeOpen:function(){},afterOpen:function(){},open:function(){},beforeClose:function(){},close:function(){},click:function(){},animateOpen:{opacity:"show"},animateClose:{opacity:"hide"}},notifications:[],element:null,interval:null,create:function(b,c){var
 d=a.extend({},this.defaults,c);"undefined"!=typeof 
d.speed&&(d.openDuration=d.speed,d.closeDuration=d.speed),this.notifications.push({message:b,options:d}),d.log.apply(this.element,[this.element,b,d])},render:function(b){var
 
c=this,d=b.message,e=b.options;e.themeState=""===e.themeState?"":"ui-state-"+e.themeState;var
 f=a("<div/>").addClass("jGrowl-notification alert "+e.themeState+" 
ui-corner-all"+(void 0!==e.group&&""!==e.group?" 
"+e.group:"")).append(a("<button/>").addClass("jGrowl-close").html(e.closeTemplate)).append(a("<div/>").addClass("jGrowl-header").html(e.header)).append(a("<div/>").addCla
 
ss("jGrowl-message").html(d)).data("jGrowl",e).addClass(e.theme).children(".jGrowl-close").bind("click.jGrowl",function(){return
 
a(this).parent().trigger("jGrowl.beforeClose"),!1}).parent();a(f).bind("mouseover.jGrowl",function(){a(".jGrowl-notification",c.element).data("jGrowl.pause",!0)}).bind("mouseout.jGrowl",function(){a(".jGrowl-notification",c.element).data("jGrowl.pause",!1)}).bind("jGrowl.beforeOpen",function(){e.beforeOpen.apply(f,[f,d,e,c.element])!==!1&&a(this).trigger("jGrowl.open")}).bind("jGrowl.open",function(){e.open.apply(f,[f,d,e,c.element])!==!1&&("after"==e.glue?a(".jGrowl-notification:last",c.element).after(f):a(".jGrowl-notification:first",c.element).before(f),a(this).animate(e.animateOpen,e.openDuration,e.easing,function(){a.support.opacity===!1&&this.style.removeAttribute("filter"),null!==a(this).data("jGrowl")&&"undefined"!=typeof
 a(this).data("jGrowl")&&(a(this).data("jGrowl").created=new 
Date),a(this).trigger("jGrowl.afterOpen")}))}).bind("jGrowl.afterOpe
 
n",function(){e.afterOpen.apply(f,[f,d,e,c.element])}).bind("click",function(){e.click.apply(f,[f.message,e,c.element])}).bind("jGrowl.beforeClose",function(){e.beforeClose.apply(f,[f,d,e,c.element])!==!1&&a(this).trigger("jGrowl.close")}).bind("jGrowl.close",function(){a(this).data("jGrowl.pause",!0),a(this).animate(e.animateClose,e.closeDuration,e.easing,function(){a.isFunction(e.close)?e.close.apply(f,[f,d,e,c.element])!==!1&&a(this).remove():a(this).remove()})}).trigger("jGrowl.beforeOpen"),""!==e.corners&&void
 
0!==a.fn.corner&&a(f).corner(e.corners),a(".jGrowl-notification:parent",c.element).length>1&&0===a(".jGrowl-closer",c.element).length&&this.defaults.closer!==!1&&a(this.defaults.closerTemplate).addClass("jGrowl-closer
 "+this.defaults.themeState+" 
ui-corner-all").addClass(this.defaults.theme).appendTo(c.element).animate(this.defaults.animateOpen,this.defaults.speed,this.defaults.easing).bind("click.jGrowl",function(){a(this).siblings().trigger("jGrowl.beforeClose"),a.isFun
 
ction(c.defaults.closer)&&c.defaults.closer.apply(a(this).parent()[0],[a(this).parent()[0]])})},update:function(){a(this.element).find(".jGrowl-notification:parent").each(function(){void
 0!==a(this).data("jGrowl")&&void 
0!==a(this).data("jGrowl").created&&a(this).data("jGrowl").created.getTime()+parseInt(a(this).data("jGrowl").life,10)<(new
 Date).getTime()&&a(this).data("jGrowl").sticky!==!0&&(void 
0===a(this).data("jGrowl.pause")||a(this).data("jGrowl.pause")!==!0)&&a(this).trigger("jGrowl.beforeClose")}),this.notifications.length>0&&(0===this.defaults.pool||a(this.element).find(".jGrowl-notification:parent").length<this.defaults.pool)&&this.render(this.notifications.shift()),a(this.element).find(".jGrowl-notification:parent").length<2&&a(this.element).find(".jGrowl-closer").animate(this.defaults.animateClose,this.defaults.speed,this.defaults.easing,function(){a(this).remove()})},startup:function(b){this.element=a(b).addClass("jGrowl").append('<div
 class="jGrowl-notification"></div
 >'),this.interval=setInterval(function(){a(b).data("jGrowl.instance").update()},parseInt(this.defaults.check,10))},shutdown:function(){a(this.element).removeClass("jGrowl").find(".jGrowl-notification").trigger("jGrowl.close").parent().empty(),clearInterval(this.interval)},close:function(){a(this.element).find(".jGrowl-notification").each(function(){a(this).trigger("jGrowl.beforeClose")})}}),a.jGrowl.defaults=a.fn.jGrowl.prototype.defaults}(jQuery);
+//# sourceMappingURL=jquery.jgrowl.map
\ No newline at end of file

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/trunk/framework/images/webapp/images/jquery/plugins/jquery-jgrowl/1.4.1/jquery.jgrowl.min.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/trunk/framework/images/webapp/images/selectall.js
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/images/webapp/images/selectall.js?rev=1709679&r1=1709678&r2=1709679&view=diff
==============================================================================
--- ofbiz/trunk/framework/images/webapp/images/selectall.js (original)
+++ ofbiz/trunk/framework/images/webapp/images/selectall.js Tue Oct 20 20:46:42 
2015
@@ -732,6 +732,44 @@ function submitFormDisableSubmits(form)
     }
 }
 
+
+function showjGrowl() {
+    var contentMessages = jQuery("#content-messages");
+    if (contentMessages.length) { 
+       jQuery("#content-messages").hide();
+       var errMessage = jQuery("#content-messages").html();
+       var classeEvent = "";
+       var classList = jQuery("#content-messages").attr('class').split(/\s+/);
+       var stickyValue = false;
+       jQuery(classList).each(function(index){
+            var localClass = classList[index];
+            if(localClass == "eventMessage" || localClass == "errorMessage" ){
+            classEvent = localClass + "JGrowl";
+            }
+       });
+       if(classEvent == "errorMessageJGrowl"){
+           stickyValue = true;
+       }
+       
+        if (errMessage == null || errMessage == "" || errMessage == undefined 
) {
+            // No Error Message Information is set, Error Msg Box can't be 
created
+            return;
+        }
+        $.jGrowl.defaults.closerTemplate = '<div class="closeAllJGrowl">Hide 
All Notifications</div>';
+        $.jGrowl(errMessage, { theme: classEvent, sticky: stickyValue,
+           afterOpen: function(e,m) {
+               jQuery(".jGrowl-message").readmore({
+                   moreLink: '<a href="#" style="display: block; width: auto; 
padding: 0px;text-align: right; margin-top: 10px; color: #ffffff; font-size: 
0.8em">Show All</a>',
+                   lessLink: '<a href="#" style="display: block; width: auto; 
padding: 0px;text-align: right; margin-top: 10px; color: #ffffff; font-size: 
0.8em">Show Less</a>',
+                   maxHeight: 75
+                   });
+            },
+            speed:1000
+        });
+    }
+}
+
+
 // prevents doubleposts for <submit> inputs of type "button" or "image"
 function submitFormDisableButton(button) {
     if (button.form.action != null && button.form.action.length) {
@@ -760,7 +798,7 @@ function submitFormEnableButton(button)
  */
 function expandAllP(bool, portalPortletId) {
     jQuery('#scrlt_'+portalPortletId+' .fieldgroup').each(function() {
-        var titleBar = $(this).children('.fieldgroup-title-bar'), body = 
$(this).children('.fieldgroup-body');
+        var titleBar = jQuery(this).children('.fieldgroup-title-bar'), body = 
jQuery(this).children('.fieldgroup-body');
         if (titleBar.children().length > 0 && body.is(':visible') != bool) {
             toggleCollapsiblePanel(titleBar.find('a'), body.attr('id'), 
'expand', 'collapse');
         }
@@ -774,7 +812,7 @@ function expandAllP(bool, portalPortletI
  */
 function expandAll(bool) {
     jQuery('.fieldgroup').each(function() {
-        var titleBar = $(this).children('.fieldgroup-title-bar'), body = 
$(this).children('.fieldgroup-body');
+        var titleBar = jQuery(this).children('.fieldgroup-title-bar'), body = 
jQuery(this).children('.fieldgroup-body');
         if (titleBar.children().length > 0 && body.is(':visible') != bool) {
             toggleCollapsiblePanel(titleBar.find('a'), body.attr('id'), 
'expand', 'collapse');
         }

Modified: ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css?rev=1709679&r1=1709678&r2=1709679&view=diff
==============================================================================
--- ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css (original)
+++ ofbiz/trunk/themes/bluelight/webapp/bluelight/style.css Tue Oct 20 20:46:42 
2015
@@ -2608,6 +2608,41 @@ width:10%
 width:10%
 }
 
+/*set Jgrowl css here to avoid side effect with other class*/
+.errorMessageJGrowl {
+background: url("/bluelight/images/exclamation.png") no-repeat scroll 5px 50% 
#820f05;
+border: 3px solid #f0f0f0;
+color: #ffffff;
+font-size: 1.3em;
+font-weight: bold;
+padding: 10px 10px 10px 50px;
+line-height: 1.3em;
+min-width: 350px;
+word-wrap: break-word;
+box-shadow: -0px -0px 20px 5px #888888;
+text-overflow: ellipsis;
+}
+.eventMessageJGrowl {
+background: url("/bluelight/images/information.png") no-repeat scroll 5px 50% 
#105fa8;
+border: 3px solid #f0f0f0;
+color: #ffffff;
+font-size: 1.3em;
+font-weight: bold;
+padding: 10px 10px 10px 50px;
+line-height: 1.3em;
+min-width: 350px;
+word-wrap: break-word;
+box-shadow: -0px -0px 20px 5px #888888;
+}
+.closeAllJGrowl{
+min-width: 350px;
+padding: 5px 5px 5px 50px;
+border: 1px solid #f0f0f0;
+}
+.content-messages p {
+display: none;
+}
+
 /* From http://jqueryui.com/demos/autocomplete/maxheight.html */
 /* When displaying a long list of options, you can simply set the max-height 
for the autocomplete menu to prevent the menu from growing too large */
 .ui-autocomplete {

Modified: ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css?rev=1709679&r1=1709678&r2=1709679&view=diff
==============================================================================
--- ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css 
(original)
+++ ofbiz/trunk/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css Tue 
Oct 20 20:46:42 2015
@@ -2607,6 +2607,41 @@ width:10%
 width:10%
 }
 
+/*set Jgrowl css here to avoid side effect with other class*/
+.errorMessageJGrowl {
+background: url("/droppingcrumbs/images/exclamation.png") no-repeat scroll 5px 
50% #820f05;
+border: 3px solid #f0f0f0;
+color: #ffffff;
+font-size: 1.3em;
+font-weight: bold;
+padding: 10px 10px 10px 50px;
+line-height: 1.3em;
+min-width: 350px;
+word-wrap: break-word;
+box-shadow: -0px -0px 20px 5px #888888;
+text-overflow: ellipsis;
+}
+.eventMessageJGrowl {
+background: url("/droppingcrumbs/images/information.png") no-repeat scroll 5px 
50% #105fa8;
+border: 3px solid #f0f0f0;
+color: #ffffff;
+font-size: 1.3em;
+font-weight: bold;
+padding: 10px 10px 10px 50px;
+line-height: 1.3em;
+min-width: 350px;
+word-wrap: break-word;
+box-shadow: -0px -0px 20px 5px #888888;
+}
+.closeAllJGrowl{
+min-width: 350px;
+padding: 5px 5px 5px 50px;
+border: 1px solid #f0f0f0;
+}
+.content-messages p {
+display: none;
+}
+
 /* From http://jqueryui.com/demos/autocomplete/maxheight.html */
 /* When displaying a long list of options, you can simply set the max-height 
for the autocomplete menu to prevent the menu from growing too large */
 .ui-autocomplete {

Modified: ofbiz/trunk/themes/flatgrey/webapp/flatgrey/javascript.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/themes/flatgrey/webapp/flatgrey/javascript.css?rev=1709679&r1=1709678&r2=1709679&view=diff
==============================================================================
--- ofbiz/trunk/themes/flatgrey/webapp/flatgrey/javascript.css (original)
+++ ofbiz/trunk/themes/flatgrey/webapp/flatgrey/javascript.css Tue Oct 20 
20:46:42 2015
@@ -556,3 +556,39 @@ width: 18px;
 .ui-timepicker-div dl dd { margin: 0 10px 10px 65px; }
 .ui-timepicker-div td { font-size: 90%; }
 .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 
0; }
+
+/*set Jgrowl css here to avoid side effect with other class*/
+.errorMessageJGrowl {
+background: url("/flatgrey/images/exclamation.png") no-repeat scroll 5px 50% 
#820f05;
+border: 3px solid #f0f0f0;
+color: #ffffff;
+font-size: 1.3em;
+font-weight: bold;
+padding: 10px 10px 10px 50px;
+line-height: 1.3em;
+min-width: 350px;
+word-wrap: break-word;
+box-shadow: -0px -0px 20px 5px #888888;
+text-overflow: ellipsis;
+}
+.eventMessageJGrowl {
+background: url("/flatgrey/images/information.png") no-repeat scroll 5px 50% 
#105fa8;
+border: 3px solid #f0f0f0;
+color: #ffffff;
+font-size: 1.3em;
+font-weight: bold;
+padding: 10px 10px 10px 50px;
+line-height: 1.3em;
+min-width: 350px;
+word-wrap: break-word;
+box-shadow: -0px -0px 20px 5px #888888;
+}
+.closeAllJGrowl{
+min-width: 350px;
+padding: 5px 5px 5px 50px;
+border: 1px solid #f0f0f0;
+}
+.content-messages p {
+display: none;
+}
+

Modified: ofbiz/trunk/themes/tomahawk/webapp/tomahawk/css/style.css
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/themes/tomahawk/webapp/tomahawk/css/style.css?rev=1709679&r1=1709678&r2=1709679&view=diff
==============================================================================
--- ofbiz/trunk/themes/tomahawk/webapp/tomahawk/css/style.css (original)
+++ ofbiz/trunk/themes/tomahawk/webapp/tomahawk/css/style.css Tue Oct 20 
20:46:42 2015
@@ -527,10 +527,12 @@ background: #820f05 url(../images/exclam
 color: #ffffff;
 border: solid 3px #f0f0f0;
 }
+
 .content-messages p {
 margin: 0.5em 0 0.5em 0;
 }
 
+
 .mediumSubmit,.largeSubmit,.loginButton {
 background-color: #ffffff;
 border: #999999 solid 0.1em;
@@ -3030,6 +3032,42 @@ width:10%
 width:10%
 }
 
+/*set Jgrowl css here to avoid side effect with other class*/
+.errorMessageJGrowl {
+background: url("/tomahawk/images/exclamation.png") no-repeat scroll 5px 50% 
#820f05;
+border: 3px solid #f0f0f0;
+color: #ffffff;
+font-size: 1.3em;
+font-weight: bold;
+padding: 10px 10px 10px 50px;
+line-height: 1.3em;
+min-width: 350px;
+word-wrap: break-word;
+box-shadow: -0px -0px 20px 5px #888888;
+text-overflow: ellipsis;
+}
+.eventMessageJGrowl {
+background: url("/tomahawk/images/information.png") no-repeat scroll 5px 50% 
#105fa8;
+border: 3px solid #f0f0f0;
+color: #ffffff;
+font-size: 1.3em;
+font-weight: bold;
+padding: 10px 10px 10px 50px;
+line-height: 1.3em;
+min-width: 350px;
+word-wrap: break-word;
+box-shadow: -0px -0px 20px 5px #888888;
+}
+.closeAllJGrowl{
+min-width: 350px;
+padding: 5px 5px 5px 50px;
+border: 1px solid #f0f0f0;
+}
+.content-messages p {
+display: none;
+}
+
+
 /* From http://jqueryui.com/demos/autocomplete/maxheight.html */
 /* When displaying a long list of options, you can simply set the max-height 
for the autocomplete menu to prevent the menu from growing too large */
 .ui-autocomplete {


Reply via email to