Author: brushed
Date: Sun Aug 30 08:19:20 2009
New Revision: 809265

URL: http://svn.apache.org/viewvc?rev=809265&view=rev
Log:
v2.8.3-svn-16:
        * JSPWIKI-577: Fixed the 'jumping' behavior of clicking this wide tabs.
        * Open/Close of collapsible boxes is now only possible by clicking the 
+/- icon.
        * Implemented the standard css overflow treatment of the 'diff' body. 

Modified:
    incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog
    
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java
    
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/scripts/jspwiki-common.js
    
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/templates/default/jspwiki.css

Modified: incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog
URL: 
http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog?rev=809265&r1=809264&r2=809265&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/ChangeLog Sun Aug 30 08:19:20 
2009
@@ -1,3 +1,22 @@
+2009-08-30 Dirk Frederickx <[email protected]>
+
+        * 2.8.3-svn-16
+                
+        * JSPWIKI-577: tabbed sections with many tabs with long names will 
float the 
+        tabs to a next line. Fixed the 'jumping' behavior of clicking this 
wide tabs,
+        which was caused by a superfluous bottom-border css style.
+
+        * Open/Close of collapsible boxes is now only possible by clicking the 
+/- icon.
+        Any clicks on the header-bar will not change the status of the 
+        collapsible box anymore. E.G. in the Info tab, when looking at page 
+        differences between 2 versions, you can now click the version 
drop-downs
+        without changing the status of the collapsible box.
+
+        * Implemented the standard css overflow treatment of the 'diff' body. 
Horizontal 
+        scroll-bars will only be shown when looking at wide content.
+        This is the same overflow treatment as the page content.
+
+        
 2009-08-25 Dirk Frederickx <[email protected]>
 
         * 2.8.3-svn-15

Modified: 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java
URL: 
http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java?rev=809265&r1=809264&r2=809265&view=diff
==============================================================================
--- 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java
 (original)
+++ 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/com/ecyrd/jspwiki/Release.java
 Sun Aug 30 08:19:20 2009
@@ -77,7 +77,7 @@
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "15";
+    public static final String     BUILD         = "16";
     
     /**
      *  This is the generic version string you should use

Modified: 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/scripts/jspwiki-common.js
URL: 
http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/scripts/jspwiki-common.js?rev=809265&r1=809264&r2=809265&view=diff
==============================================================================
--- 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/scripts/jspwiki-common.js
 (original)
+++ 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/scripts/jspwiki-common.js
 Sun Aug 30 08:19:20 2009
@@ -1,4 +1,4 @@
-/* 
+/*
     JSPWiki - a JSP-based WikiWiki clone.
 
     Licensed to the Apache Software Foundation (ASF) under one
@@ -16,19 +16,19 @@
     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
     specific language governing permissions and limitations
-    under the License.  
+    under the License.
  */
- 
+
 /*
 Javascript routines to support JSPWiki
 Since v.2.6.0
 
-Uses mootools v1.1, with following components:  
+Uses mootools v1.1, with following components:
 *      Core, Class,  Native, Element(ex. Dimensions), Window,
 *      Effects(ex. Scroll), Drag(Base), Remote, Plugins(Hash.Cookie, Tips, 
Accordion)
 
 Core JS Routine
-*      100 Wiki object (page parms, UserPrefs and setting focus) 
+*      100 Wiki object (page parms, UserPrefs and setting focus)
 *      140 SearchBox object: remember 10 most recent search topics
 *      290 HighlightWords in the page-content
 
@@ -36,21 +36,21 @@
        Wiki.addPageRender( XYZ )
        Wiki.renderPage(page-element, page-name)
 
-*      110 WikiSlimbox (attachment viewer): dynamic style 
+*      110 WikiSlimbox (attachment viewer): dynamic style
 *      130 TabbedSection object: dynamic style
 *      150 Colors, GraphBar object: dynamic style
 *      200 Collapsible list items: dynamic style
-*      230 Sortable: dynamic style 
+*      230 Sortable: dynamic style
 *      240 Table-filter (excel like column filters): dynamic style
 *      280 ZebraTable (color odd/even rows): dynmaic style
 
 Complementary Dynamic Styles (see jspwiki-commonstyles.js)
-*      114 Reflection (adds reflection to images): dynamic style 
+*      114 Reflection (adds reflection to images): dynamic style
 *      116 WikiCoverflow (based on MooFlow) : dynamic style
 *      118 Google Chart: dynamic style
 *      132 Accordion object: dynamic style
 *      220 RoundedCorners: dynamic style
-*      260 WikiTips: dynamic style 
+*      260 WikiTips: dynamic style
 *      270 WikiColumns: dynamic style
 *      300 Prettify: dynamic style
 
@@ -105,7 +105,7 @@
        },
 
        toggle: function() {
-               return this.visible() ? this.hide() : this.show();  
+               return this.visible() ? this.hide() : this.show();
        },
 
        scrollTo: function(x, y){
@@ -185,17 +185,17 @@
  * LocalizedStrings takes form { "javascript.some.resource.key":"localised 
resource key {0}" }
  * Examples:
  * "moreInfo".localize();
- * "imageInfo".localize(2,4); => "Image {0} of {1}" becomes "Image 2 of 4 
+ * "imageInfo".localize(2,4); => "Image {0} of {1}" becomes "Image 2 of 4
  */
 var LocalizedStrings = LocalizedStrings || []; //defensive
 String.extend({
        localize: function(){
-               var s = LocalizedStrings["javascript."+this], 
+               var s = LocalizedStrings["javascript."+this],
                        args = arguments;
 
                if(!s) return("???" + this + "???");
 
-               return s.replace(/\{(\d)\}/g, function(m){ 
+               return s.replace(/\{(\d)\}/g, function(m){
                        return args[m.charAt(1)] || "???"+m.charAt(1)+"???";
                });
        }
@@ -206,7 +206,7 @@
 
 /** TABLE stuff **/
 function $T(el) {
-       var t = $(el); 
+       var t = $(el);
        return (t && t.tBodies[0]) ? $(t.tBodies[0]) : t;
 };
 
@@ -214,10 +214,10 @@
 // find first ancestor element with tagName
 function getAncestorByTagName( node, tagName ) {
        if( !node) return null;
-       if( node.nodeType == 1 && (node.tagName.toLowerCase() == 
tagName.toLowerCase())){ 
-               return node; 
-       } else { 
-               return getAncestorByTagName( node.parentNode, tagName ); 
+       if( node.nodeType == 1 && (node.tagName.toLowerCase() == 
tagName.toLowerCase())){
+               return node;
+       } else {
+               return getAncestorByTagName( node.parentNode, tagName );
        }
 }
 
@@ -238,11 +238,11 @@
 
                // If JSPWiki is installed in the root, then we have to make 
sure that
                // the cookie-cutter works properly here.
-               
+
                if( this.BasePath == '' ) this.BasePath = '/';
-               
+
                this.prefs = new Hash.Cookie('JSPWikiUserPrefs', 
{path:Wiki.BasePath, duration:20});
-               
+
                this.PermissionEdit = !!$$('a.edit')[0]; //deduct permission 
level
                this.url = null;
                this.parseLocationHash.periodical(500);
@@ -256,12 +256,12 @@
        /* show popup alert, which allows any html msg to be displayed */
        alert: function(msg){
                return alert(msg); //standard js
-               
+
        },
        /* show popup prompt, which allows any html msg to be displayed and 
replied to */
        prompt: function(msg, defaultreply, callback){
                return callback( prompt(msg,defaultreply) ); //standard js
-               
+
        },
 
        renderPage: function(page, name){
@@ -285,7 +285,7 @@
 
        getUrl: function(pagename){
                return this.PageUrl.replace(/%23%24%25/, pagename);
-       },      
+       },
 
        /* retrieve pagename from any wikipage url format */
        getPageName: function(url){
@@ -296,7 +296,7 @@
 
        //ref com.ecyrd.jspwiki.parser.MarkupParser.cleanLink()
        //trim repeated whitespace
-       //allow letters, digits and punctuation chars: ()&+,-=._$ 
+       //allow letters, digits and punctuation chars: ()&+,-=._$
        cleanLink: function(p){
                return p.trim().replace(/\s+/g,' ')
                                .replace(/[^A-Za-z0-9()&+,-=._$ ]/g, '');
@@ -324,7 +324,7 @@
                        }
                });
        },
-       
+
        //FIXME
        locatemenu: function(base,el){
                var win = {'x': window.getWidth(), 'y': window.getHeight()},
@@ -344,7 +344,7 @@
        parseLocationHash: function(){
                if(this.url && this.url == location.href ) return;
                this.url = location.href;
-               var h = location.hash; 
+               var h = location.hash;
                if( h=="" ) return;
                h = h.replace(/^#/,'');
 
@@ -366,11 +366,11 @@
 
                location = location.href; /* now jump to the #hash */
        },
-       
+
        /* SubmitOnce: disable all buttons to avoid double submit */
        submitOnce: function(form){
                window.onbeforeunload = null; /* regular exit of this page -- 
see jspwiki-edit.js */
-               (function(){ 
+               (function(){
                        $A(form.elements).each(function(e){
                                if( (/submit|button/i).test(e.type)) e.disabled 
= true;
                        });
@@ -392,7 +392,7 @@
        addEditLinks: function(){
                if( $("previewcontent") || !this.PermissionEdit || 
this.prefs.get('SectionEditing') != 'on') return;
 
-               var aa = new 
Element('a',{'class':'editsection'}).setHTML('quick.edit'.localize()), 
+               var aa = new 
Element('a',{'class':'editsection'}).setHTML('quick.edit'.localize()),
                        i = 0,
                        url = this.EditUrl;
 
@@ -405,21 +405,21 @@
        },
        /*
        Function: getSections
-               Returns the list of all section headers, excluding the header 
of the 
+               Returns the list of all section headers, excluding the header 
of the
                Table Of Contents.
        */
        getSections: function(){
-               return $$('#pagecontent *[id^=section]').filter( 
+               return $$('#pagecontent *[id^=section]').filter(
                        function(item){ return(item.id != 'section-TOC') }
                );
        },
 
        $jsonid : 10000,
-       jsonrpc: function(method, params, fn) { 
+       jsonrpc: function(method, params, fn) {
                new Ajax( Wiki.JsonUrl, {
-                       postBody: Json.toString({"id":Wiki.$jsonid++, 
"method":method, "params":params}), 
-                       method: 'post', 
-                       onComplete: function(result){ 
+                       postBody: Json.toString({"id":Wiki.$jsonid++, 
"method":method, "params":params}),
+                       method: 'post',
+                       onComplete: function(result){
                                var r = Json.evaluate(result,true);
                                if(r){
                                        if(r.result){ fn(r.result) }
@@ -427,7 +427,7 @@
                                }
                        }
                }).request();
-       }       
+       }
 }
 
 
@@ -442,13 +442,13 @@
        render: function(page, name){
                var i = 0,
                        lnk = new 
Element('a',{'class':'slimbox'}).setHTML('&raquo;');
-                       
+
                $ES('*[class^=slimbox]',page).each(function(slim){
                        var group = 'lightbox'+ i++,
                                parm = slim.className.split('-')[1] || 'img 
ajax',
                                filter = [];
-                       if(parm.test('img')) filter.extend(['img.inline', 
'a.attachment']); 
-                       if(parm.test('ajax')) filter.extend(['a.wikipage', 
'a.external']); 
+                       if(parm.test('img')) filter.extend(['img.inline', 
'a.attachment']);
+                       if(parm.test('ajax')) filter.extend(['a.wikipage', 
'a.external']);
 
                        $ES(filter.join(','),slim).each(function(el){
                                var href = el.src||el.href,
@@ -457,7 +457,7 @@
                                if((rel=='img') && 
!href.test('(.bmp|.gif|.png|.jpg|.jpeg)(\\?.*)?$','i')) return;
 
                                lnk.clone().setProperties({
-                                       'href':href, 
+                                       'href':href,
                                        'rel':group+' '+rel,
                                        'title':el.alt||el.getText()
                                }).injectBefore(el);
@@ -539,7 +539,7 @@
                //new Element('a', {'id': 'lbCloseLink', 'href': '#', 
'title':'slimbox.close.title'.localize()}).setHTML('slimbox.close'.localize()).inject(this.bottom).onclick
 = this.overlay.onclick = this.close.bind(this);
                this.caption = new Element('div', {'id': 
'lbCaption'}).inject(this.bottom);
 
-               var info = new Element('div').inject(this.bottom);  
+               var info = new Element('div').inject(this.bottom);
                this.prevLink = new Element('a', {'id': 'lbPrevLink', 'href': 
'#', 'styles': {'display': 
'none'}}).setHTML("slimbox.previous".localize()).inject(info);
                this.number = new Element('span', {'id': 
'lbNumber'}).inject(info);
                this.nextLink = this.prevLink.clone().setProperties({'id': 
'lbNextLink' }).setHTML("slimbox.next".localize()).inject(info);
@@ -548,7 +548,7 @@
 
                this.error = new Element('div').setProperty('id', 
'lbError').setHTML(this.options.errorMessage);
                new Element('div', {'styles': {'clear': 
'both'}}).inject(this.bottom);
-               
+
                var nextEffect = this.nextEffect.bind(this);
                this.fx = {
                        overlay: this.overlay.effect('opacity', {duration: 
500}).hide(),
@@ -558,7 +558,7 @@
                };
 
                this.fxs = new Fx.Elements([this.center, this.image], 
$extend({duration: this.options.resizeDuration, onComplete: nextEffect}, 
this.options.resizeTransition ? {transition: this.options.resizeTransition} : 
{}));
-               
+
                this.preloadPrev = new Image();
                this.preloadNext = new Image();
        },
@@ -607,7 +607,7 @@
        keyboardListener: function(event){
                switch (event.keyCode){
                        case 27: case 88: case 67: this.close(); break;
-                       case 37: case 38: case 80: this.previous(); break;      
+                       case 37: case 38: case 80: this.previous(); break;
                        case 13: case 32: case 39: case 40: case 78: 
this.next(); break;
                        default: return;
                }
@@ -637,14 +637,14 @@
                if( this.images[imageNum][2] == 'img' ){
                        this.preload.onload = this.nextEffect.bind(this);
                        this.preload.src = this.images[imageNum][0];
-               } else {                        
+               } else {
                        this.iframeId = "lbFrame_"+new Date().getTime();        
// Safari would not update iframe content that has static id.
                        this.so = new Element('iframe').setProperties({
-                               id: this.iframeId, 
-//                             width: this.contentsWidth, 
-//                             height: this.contentsHeight, 
-                               frameBorder:0, 
-                               scrolling:'auto', 
+                               id: this.iframeId,
+//                             width: this.contentsWidth,
+//                             height: this.contentsHeight,
+                               frameBorder:0,
+                               scrolling:'auto',
                                src:this.images[imageNum][0]
                        }).inject(this.image);
                        this.nextEffect();      //asynchronous loading?
@@ -658,7 +658,7 @@
                this.image.setHTML('').adopt(this.error.clone());
                this.nextEffect();
        },
-       
+
        nextEffect: function(){
                switch (this.step++){
                case 1:
@@ -667,7 +667,7 @@
                                        'href':this.images[this.activeImage][0],
                                        'title':"slimbox.directLink".localize()
                                }).setHTML(this.images[this.activeImage][1] || 
''));
-                               
+
                        var type = (this.images[this.activeImage][2]=='img') ? 
"slimbox.info" : "slimbox.remoteRequest";
                        this.number.setHTML((this.images.length == 1) ? '' : 
type.localize(this.activeImage+1, this.images.length));
                        this.image.style.backgroundImage = 'none';
@@ -682,13 +682,13 @@
 
                        this.image.style.width = this.bottom.style.width = 
w+'px';
                        this.image.style.height = /*this.prevLink.style.height 
= this.nextLink.style.height = */ h+'px';
-                       
+
                        if( this.images[this.activeImage][2]=='img') {
                                this.image.style.backgroundImage = 
'url('+this.images[this.activeImage][0]+')';
 
                                if (this.activeImage) this.preloadPrev.src = 
this.images[this.activeImage-1][0];
                                if (this.activeImage != (this.images.length - 
1)) this.preloadNext.src = this.images[this.activeImage+1][0];
-                       
+
                                
this.number.setHTML(this.number.innerHTML+'&nbsp;&nbsp;['+this.preload.width+'&#215;'+this.preload.height+']');
                        } else {
                                this.so.style.width=w+'px';
@@ -700,7 +700,7 @@
                        this.fxs.start({
                                '0': { height: [this.image.offsetHeight], 
width: [this.image.offsetWidth], marginLeft: [-this.image.offsetWidth/2] },
                                '1': { opacity: [1] }
-                       });     
+                       });
 
                        break;
                case 2:
@@ -760,19 +760,19 @@
                // add click handlers to existing tabmenu's, generated by 
<wiki:tabbedSection>
                $ES('.tabmenu a',page).each(function(el){
                        if(!el.href) el.addEvent('click', this.click);
-               },this);        
-       
+               },this);
+
                // convert tabbedSections into tabmenu's with click handlers
                $ES('.tabbedSection',page).each( function(tt){
                        if(tt.hasClass('tabs')) return;
                        tt.addClass('tabs'); //css styling on tabs
-                       
+
                        var menu = new 
Element('div',{'class':'tabmenu'}).injectBefore(tt);
 
                        tt.getChildren().each(function(tab,i) {
                                //find nested %%tab-XXX
                                var clazz = tab.className;
-                               if( !clazz.test('^tab-') ) return; 
+                               if( !clazz.test('^tab-') ) return;
 
                                if( !tab.id || (tab.id=="") ) tab.id = clazz; 
//unique id
 
@@ -782,7 +782,7 @@
 
                                var title = clazz.substr(4).deCamelize(); 
//drop 'tab-' prefix
                                new Element('a', {
-                                       'id':'menu-'+tab.id, 
+                                       'id':'menu-'+tab.id,
                                        'class':(i==0) ? 'activetab' : '',
                                        'events':{ 'click': this.click }
                                }).appendText(title).inject(menu);
@@ -794,14 +794,14 @@
        click: function(){
                var menu = $(this).getParent(),
                        tabs = menu.getNext();
-                       
+
                menu.getChildren().removeClass('activetab');
                this.addClass('activetab');
 
                tabs.getChildren().addClass('hidetab');
-               tabs.getElementById(this.id.substr(5)).removeClass('hidetab');  
        
+               tabs.getElementById(this.id.substr(5)).removeClass('hidetab');
        }
-       
+
 }
 Wiki.addPageRender(TabbedSection);
 
@@ -821,18 +821,18 @@
 
        onPageLoadQuickSearch : function(){
                var q = $('query'); if( !q ) return;
-               this.query = q; 
-               q.observe(this.ajaxQuickSearch.bind(this) ); 
+               this.query = q;
+               q.observe(this.ajaxQuickSearch.bind(this) );
 
                this.hover = 
$('searchboxMenu').setProperty('visibility','visible')
                        .effect('opacity', {wait:false}).set(0);
-       
+
                $(q.form).addEvent('submit',this.submit.bind(this))
                        //FIXME .addEvent('blur',function(){ 
this.hasfocus=false; this.hover.start(0) }.bind(this))
                        //FIXME .addEvent('focus',function(){ 
this.hasfocus=true; this.hover.start(0.9) }.bind(this))
                          .addEvent('mouseout',function(){ this.hover.start(0) 
}.bind(this))
                          .addEvent('mouseover',function(){ 
Wiki.locatemenu(this.query, $('searchboxMenu') ); this.hover.start(0.9) 
}.bind(this));
-               
+
                /* use advanced search-input on safari - experimental */
                //if(window.webkit){
                //      
q.setProperties({type:"search",autosave:q.form.action,results:"9",placeholder:q.defaultValue});
@@ -844,9 +844,9 @@
                        var ul = new 
Element('ul',{'id':'recentItems'}).inject($('recentSearches').show());
                        this.recent.each(function(el){
                                // xss vulnerability JSPWIKI-384
-                               el = el.stripScripts();                         
+                               el = el.stripScripts();
                                new Element('a',{
-                                       'href':'#', 
+                                       'href':'#',
                                        'events': {'click':function(){ q.value 
= el; q.form.submit(); }}
                                        }).setHTML(el).inject( new 
Element('li').inject(ul) );
                        });
@@ -856,18 +856,18 @@
        onPageLoadFullSearch : function(){
                var q2 = $("query2"); if( !q2 ) return;
                this.query2 = q2;
-               
+
                var changescope = function(){
                        var qq = 
this.query2.value.replace(/^(?:author:|name:|contents:|attachment:)/,'');
                        this.query2.value = $('scope').getValue() + qq;
                        this.runfullsearch();
                }.bind(this);
-               
+
                q2.observe( this.runfullsearch0.bind(this) );
-               
+
                $('scope').addEvent('change', changescope);
                $('details').addEvent('click', this.runfullsearch.bind(this));
-               
+
                if(location.hash){
                        /* hash contains query:pagination(-1=all,0,1,2...) */
                        var s = 
decodeURIComponent(location.hash.substr(1)).match(/(.*):(-?\d+)$/);
@@ -887,13 +887,13 @@
 
        runfullsearch: function(e){
                var q2 = this.query2.value;
-               if( !q2 || (q2.trim()=='')) { 
+               if( !q2 || (q2.trim()=='')) {
                        $('searchResult2').empty();
-                       return; 
+                       return;
                }
                $('spin').show();
 
-               var scope = $('scope'), 
+               var scope = $('scope'),
                        match= 
q2.match(/^(?:author:|name:|contents:|attachment:)/) ||"";
 
                $each(scope.options, function(option){
@@ -902,19 +902,19 @@
 
                new Ajax(Wiki.TemplateUrl+'AJAXSearch.jsp', {
                        postBody: $('searchform2').toQueryString(),
-                       update: 'searchResult2', 
+                       update: 'searchResult2',
                        method: 'post',
-                       onComplete: function() { 
-                               $('spin').hide(); 
-                               GraphBar.render($('searchResult2')); 
-                               Wiki.prefs.set('PrevQuery', q2); 
-                       } 
+                       onComplete: function() {
+                               $('spin').hide();
+                               GraphBar.render($('searchResult2'));
+                               Wiki.prefs.set('PrevQuery', q2);
+                       }
                }).request();
 
                location.hash = '#'+q2+":"+$('start').value;  /* push the query 
into the url history */
        },
 
-       submit: function(){ 
+       submit: function(){
                var v = this.query.value.stripScripts(); //xss vulnerability
                if( v == this.query.defaultValue) this.query.value = '';
                if( !this.recent ) this.recent=[];
@@ -925,7 +925,7 @@
                }
        },
 
-       clear: function(){              
+       clear: function(){
                this.recent = [];
                Wiki.prefs.remove('RecentSearch');
                $('recentSearches','recentClear').hide();
@@ -941,13 +941,13 @@
                $('searchSpin').show();
 
                Wiki.jsonrpc('search.findPages', [qv,20], function(result){
-                               $('searchSpin').hide(); 
+                               $('searchSpin').hide();
                                if(!result.list) return;
                                var frag = new Element('ul');
-                               
+
                                result.list.each(function(el){
-                                       new Element('li').adopt( 
-                                               new 
Element('a',{'href':Wiki.getUrl(el.map.page) }).setHTML(el.map.page), 
+                                       new Element('li').adopt(
+                                               new 
Element('a',{'href':Wiki.getUrl(el.map.page) }).setHTML(el.map.page),
                                                new 
Element('span',{'class':'small'}).setHTML(" ("+el.map.score+")")
                                        ).inject(frag);
                                });
@@ -960,25 +960,25 @@
        navigate: function(url, promptText, clone, search){
                var p = Wiki.PageName,
                        defaultResult = (clone) ? 
p+'sbox.clone.suffix'.localize() : p,
-                       s = this.query.value;                   
+                       s = this.query.value;
                if(s == this.query.defaultValue) s = '';
 
                var handleResult = function(s){
                        if(s == '') return;
                        if(!search)     s = Wiki.cleanLink(s);//remove invalid 
chars from the pagename
-               
+
                        p=encodeURIComponent(p);
                        s=encodeURIComponent(s);
                        if(clone && (s != p)) s += '&clone=' + p;
 
                        location.href = url.replace('__PAGEHERE__', s );
                };
-               
+
                if(s!='') {
-                       handleResult(s); 
+                       handleResult(s);
                } else {
                        Wiki.prompt(promptText, defaultResult, 
handleResult.bind(this));
-               } 
+               }
        }
 }
 
@@ -1004,9 +1004,9 @@
                black  :"000000", green :"008000", silver :"c0c0c0", lime  
:"00ff00",
                gray   :"808080", olive :"808000", white  :"ffffff", 
yellow:"ffff00",
                maroon :"800000", navy  :"000080", red    :"ff0000", blue  
:"0000ff",
-               purple :"800080", teal  :"008080", fuchsia:"ff00ff", aqua  
:"00ffff" 
+               purple :"800080", teal  :"008080", fuchsia:"ff00ff", aqua  
:"00ffff"
        },
-       
+
        initialize: function(color, type){
                if(!color) return false;
                type = type || (color.push ? 'rgb' : 'hex');
@@ -1022,7 +1022,7 @@
                        rgb = this.copy(),
                        alpha = (($type(colors[colors.length - 1]) == 'number') 
? colors.pop() : 50)/100,
                        alphaI = 1-alpha;
-               
+
                colors.each(function(color){
                        color = new Color(color);
                        for (var i = 0; i < 3; i++) rgb[i] = Math.round((rgb[i] 
* alphaI) + (color[i] * alpha));
@@ -1052,7 +1052,7 @@
                                isHorizontal = true,// horizontal or vertical 
orientation
                                parms = g.className.substr(9).split('-'),
                                barName = parms.shift(); //first param is 
optional barName
-                       
+
                        parms.each(function(p){
                                p = p.toLowerCase();
                                if(p == "vertical") { isHorizontal = false; }
@@ -1062,7 +1062,7 @@
                                else if(p.indexOf("max") == 0) { ubound = 
p.substr(3).toInt(); }
                                else if(p != "") {
                                        p = new Color(p,'hex'); if(!p.hex) 
return;
-                                       if(!color1) color1 = p; 
+                                       if(!color1) color1 = p;
                                        else if(!color2) color2 = p;
                                }
                        });
@@ -1081,17 +1081,17 @@
                                border = (isHorizontal ? 'borderLeft' : 
'borderBottom');
 
                        bars.each(function(b,j){
-                               var bar1 = $H().set(border+'Width',barData[j]), 
-                                       bar2 = $H(), // 2nd bar only valid ico 
'progress' 
+                               var bar1 = $H().set(border+'Width',barData[j]),
+                                       bar2 = $H(), // 2nd bar only valid ico 
'progress'
                                        barEL = new 
Element('span',{'class':'graphBar'}),
                                        pb = b.getParent(); // parent of gBar 
element
 
                                if(isHorizontal){
                                        barEL.setHTML('x');
-                                       if(isProgress){ 
+                                       if(isProgress){
                                                bar2.extend(bar1.obj);
-                                               
bar1.set(border+'Width',ubound-barData[j]).set('marginLeft','-1ex'); 
-                                       }                                       
+                                               
bar1.set(border+'Width',ubound-barData[j]).set('marginLeft','-1ex');
+                                       }
                                } else { // isVertical
                                        if(pb.getTag()=='td') { pb = new 
Element('div').wrapChildren(pb); }
 
@@ -1100,22 +1100,22 @@
                                        if( !isProgress ) { b.setStyle('top', 
(ubound-barData[j])); }
 
                                        bar1.extend({'position':'absolute', 
'width':vwidth, 'bottom':'0'});
-                                       if(isProgress){ 
-                                               
bar2.extend(bar1.obj).set(border+'Width', ubound); 
+                                       if(isProgress){
+                                               
bar2.extend(bar1.obj).set(border+'Width', ubound);
                                        }
                                }
                                if(isProgress){
                                        if(color1){ bar1.set('borderColor', 
color1.hex); }
-                                       if(color2){ 
-                                               bar2.set('borderColor', 
color2.hex); 
-                                       } else { 
+                                       if(color2){
+                                               bar2.set('borderColor', 
color2.hex);
+                                       } else {
                                                bar1.set('borderColor', 
'transparent');
                                        }
                                } else if(color1){
                                        var percent = isGauge ? 
(barData[j]-lbound)/size : j/(bars.length-1);
                                        bar1.set('borderColor', 
color1.mix(color2, 100 * percent).hex);
                                }
-                               
+
                                if(bar2.length > 0){ 
barEL.clone().setStyles(bar2.obj).injectBefore(b); };
                                if(bar1.length > 0){ 
barEL.setStyles(bar1.obj).injectBefore(b); };
 
@@ -1126,11 +1126,11 @@
 
        // parse bar data types and scale according to lbound and size
        parseBarData: function(nodes, lbound, size){
-               var barData=[], 
-                       maxValue=Number.MIN_VALUE, 
+               var barData=[],
+                       maxValue=Number.MIN_VALUE,
                        minValue=Number.MAX_VALUE,
                        num=date=true;
-       
+
                nodes.each(function(n,i){
                        var s = n.getText();
                        barData.push(s);
@@ -1140,11 +1140,11 @@
                barData = barData.map(function(b){
                        if(date)     { b = new Date(Date.parse(b) ).valueOf();  
}
                        else if(num) { b = parseFloat( 
b.match(Number.REparsefloat) ); }
-                       
+
                        maxValue = Math.max(maxValue, b);
                        minValue = Math.min(minValue, b);
                        return b;
-               });             
+               });
 
                if(maxValue==minValue) maxValue=minValue+1; /* avoid div by 0 */
                size = size/(maxValue-minValue);
@@ -1199,27 +1199,27 @@
                var cookie = Wiki.Context.test(/view|edit|comment/) ? 
"JSPWikiCollapse"+ name: "";
 
                if(!this.bullet) {
-                       this.bullet = new 
Element('div',{'class':'collapseBullet'}).setHTML('&bull;');          
+                       this.bullet = new 
Element('div',{'class':'collapseBullet'}).setHTML('&bull;');
                }
 
                this.pims.push({
                        'name':cookie,
                        'value':'',
-                       'initial': (cookie ? Cookie.get(cookie) : "") 
+                       'initial': (cookie ? Cookie.get(cookie) : "")
                });
-               $ES('.collapse', page).each(function(el){ 
+               $ES('.collapse', page).each(function(el){
                        if(!$E('.collapseBullet',el)) this.collapseNode(el); // 
no nesting
                }, this);
-               $ES('.collapsebox,.collapsebox-closed', 
page).each(function(el){ 
-                       this.collapseBox(el); 
-               }, this);       
+               $ES('.collapsebox,.collapsebox-closed', page).each(function(el){
+                       this.collapseBox(el);
+               }, this);
        },
 
        collapseBox: function(el){
                if($E('.collapsetitle',el)) return; //been here before
                var title = el.getFirst(); if( !title ) return;
-               
-               var body = new Element('div', {'class':'collapsebody'}), 
+
+               var body = new Element('div', {'class':'collapsebody'}),
                        bullet  = this.bullet.clone(),
                        isclosed = el.hasClass('collapsebox-closed');
 
@@ -1237,8 +1237,8 @@
        collapseNode: function(node){
                $ES('li',node).each(function(li){
                        var ulol = $E('ul',li) || $E('ol',li);
-                       
-                       //dont insert bullet when LI is 'empty': no text or no 
non-ul/ol tags                   
+
+                       //dont insert bullet when LI is 'empty': no text or no 
non-ul/ol tags
                        var emptyLI = true;
                        for( var n = li.firstChild; n ; n = n.nextSibling ) {
                                if((n.nodeType == 3 ) && ( n.nodeValue.trim() 
== "" ) ) continue; //keep searching
@@ -1247,7 +1247,7 @@
                                break;
                        }
                        if( emptyLI ) return;
-                       
+
                        new 
Element('div',{'class':'collapsebody'}).wrapChildren(li);
                        var bullet = this.bullet.clone().injectTop(li);
                        if(ulol) this.newBullet(bullet, ulol, 
(ulol.getTag()=='ul'));
@@ -1260,19 +1260,19 @@
                if(!clicktarget) clicktarget = bullet;
 
                var bodyfx = body.setStyle('overflow','hidden')
-                       .effect('height', { 
+                       .effect('height', {
                                wait:false,
                                onStart:this.renderBullet.bind(bullet),
-                               onComplete:function(){ 
if(bullet.hasClass('collapseOpen')) body.setStyle('height','auto'); } 
+                               onComplete:function(){ 
if(bullet.hasClass('collapseOpen')) body.setStyle('height','auto'); }
                        });
 
                bullet.className = (isopen ? 'collapseClose' : 'collapseOpen'); 
//ready for rendering
-               clicktarget.addEvent('click', this.clickBullet.bind(bullet, 
[ck, ck.value.length-1, bodyfx]))
+               clicktarget.addEvent('click', 
this.clickBullet.bindWithEvent(bullet, [ck, ck.value.length-1, bodyfx]))
                        .addEvent('mouseenter', function(){ 
clicktarget.addClass('hover')} )
                        .addEvent('mouseleave', function(){ 
clicktarget.removeClass('hover')} );
-                         
+
                bodyfx.fireEvent('onStart');
-               if(!isopen) bodyfx.set(0);      
+               if(!isopen) bodyfx.set(0);
        },
 
        renderBullet: function(){
@@ -1283,17 +1283,21 @@
                }
        },
 
-       clickBullet: function( ck, bulletidx, bodyfx){
+       clickBullet: function( event, ck, bulletidx, bodyfx){
                var collapse = this.hasClass('collapseOpen'),
-                       bodyHeight = bodyfx.element.scrollHeight; 
+                       bodyHeight = bodyfx.element.scrollHeight;
 
-               if(collapse) bodyfx.start(bodyHeight, 0); else 
bodyfx.start(bodyHeight);
-               
-               ck.value = ck.value.substring(0,bulletidx) + (collapse ? 'c' : 
'o') + ck.value.substring(bulletidx+1) ;
-               if(ck.name) Cookie.set(ck.name, ck.value, {path:Wiki.BasePath, 
duration:20});
+               if(event.target==this){ /* don't handle clicks on nested 
elements */
+
+                       if(collapse) bodyfx.start(bodyHeight, 0); else 
bodyfx.start(bodyHeight);
+
+                       ck.value = ck.value.slice(0,bulletidx) + (collapse ? 
'c' : 'o') + ck.value.slice(bulletidx+1);
+                       if(ck.name) Cookie.set(ck.name, ck.value, 
{path:Wiki.BasePath, duration:20});
+
+               }
        },
 
-       // parse initial cookie versus actual document 
+       // parse initial cookie versus actual document
        // returns true if collapse status is open
        parseCookie: function( isopen ){
                var ck = this.pims.getLast(),
@@ -1324,7 +1328,7 @@
                this.DefaultTitle = "sort.click".localize();
                this.AscendingTitle = "sort.ascending".localize();
                this.DescendingTitle = "sort.descending".localize();
-               
+
                $ES('.sortable table',page).each(function(table){
                        if( table.rows.length <= 2 ) return;
 
@@ -1344,7 +1348,7 @@
                        filter = (table.filterStack),
                        rows = (table.sortCache || []),
                        colidx = 0, //target column to sort
-                       body = $T(table); 
+                       body = $T(table);
                th = $(th);
 
                //todo add spinner while sorting
@@ -1361,20 +1365,20 @@
                                if((i==0) || ((i==1) && (filter))) return;
                                rows.push( r );
                        });
-               };              
+               };
                var datatype = Sortable.guessDataType(rows,colidx);
 
                //do the actual sorting
-               if(th.hasClass('sort')){ 
+               if(th.hasClass('sort')){
                        rows.sort( Sortable.createCompare(colidx, datatype) )
                }
-               else rows.reverse(); 
-               
+               else rows.reverse();
+
                var fl=th.hasClass('sortDescending');
                
th.removeClass('sort').removeClass('sortAscending').removeClass('sortDescending');
                th.addClass(fl ? 'sortAscending': 'sortDescending')
                        .title= fl ? Sortable.DescendingTitle: 
Sortable.AscendingTitle;
-               
+
                var frag = document.createDocumentFragment();
                rows.each( function(r,i){ frag.appendChild(r); });
                body.appendChild(frag);
@@ -1389,7 +1393,7 @@
                rows.each(function(r,i){
 
                        var v = r.cells[colidx];
-                       
+
                        v = v.getAttribute('jspwiki:sortvalue') || $getText(v);
                        v = v.clean().toLowerCase();
 
@@ -1409,16 +1413,16 @@
 
                switch( datatype ){
 
-                       case "num" : 
+                       case "num" :
                                return parseFloat( val.match( 
Number.REparsefloat ) );
-                               
-                       case "euro": 
+
+                       case "euro":
                                return parseFloat( val.replace(/[^0-9.,]/g,'') 
);
-                               
-                       case "date": 
+
+                       case "date":
                                return new Date( Date.parse( val ) );
-                               
-                       case "ip4" : 
+
+                       case "ip4" :
                                var octet = val.split( "." );
                                return parseInt(octet[0]) * 1000000000 + 
parseInt(octet[1]) * 1000000 + parseInt(octet[2]) * 1000 + parseInt(octet[3]);
 
@@ -1429,7 +1433,7 @@
                                z = (z=='m') ? 3 : (z=='g') ? 6 : (z=='t') ? 9 
: 0;
                                return v[1].toFloat()*Math.pow(10,z);
 
-                       default: 
+                       default:
                                return val.toString().toLowerCase();
 
                }
@@ -1446,14 +1450,14 @@
                                val1 = Sortable.convert( 
v1.getAttribute('jspwiki:sortvalue') || $getText(v1), datatype ),
                                val2 = Sortable.convert( 
v2.getAttribute('jspwiki:sortvalue') || $getText(v2), datatype );
 
-                       return (val1<val2) ? -1 : (val1>val2) ? 1 : 0; 
-                       
+                       return (val1<val2) ? -1 : (val1>val2) ? 1 : 0;
+
                }
        }
 }
 Wiki.addPageRender(Sortable);
 
-/** 240 table-filters 
+/** 240 table-filters
  ** inspired by http://www.codeproject.com/jscript/filter.asp
  **/
 var TableFilter =
@@ -1461,32 +1465,32 @@
        render: function(page,name){
                this.All = "filter.all".localize();
                this.FilterRow = 1; //row number of filter dropdowns
-               
+
                $ES('.table-filter table',page).each( function(table){
                        if( table.rows.length < 2 ) return;
 
                        /*
                        $A(table.rows[0].cells).each(function(e,i){
-                               var s = new Element('select',{ 
-                                       'events': { 
-                                               'click':function(event){ 
event.stop(); }.bindWithEvent(), 
-                                               'change':TableFilter.filter 
-                                       } 
+                               var s = new Element('select',{
+                                       'events': {
+                                               'click':function(event){ 
event.stop(); }.bindWithEvent(),
+                                               'change':TableFilter.filter
+                                       }
                                });
                                s.fcol = i; //store index
-                               e.adopt(s);             
+                               e.adopt(s);
                        },this);
                        */
-                       
+
                        var r = 
$(table.insertRow(TableFilter.FilterRow)).addClass('filterrow');
                        for(var j=0; j < table.rows[0].cells.length; j++ ){
-                               var s = new Element('select',{ 
-                                       'events': { 
-                                               'change':TableFilter.filter 
-                                       } 
+                               var s = new Element('select',{
+                                       'events': {
+                                               'change':TableFilter.filter
+                                       }
                                });
                                s.fcol = j; //store index
-                               
+
                                new Element('th').adopt(s).inject(r);
                        }
                        table.filterStack = [];
@@ -1499,7 +1503,7 @@
                        var ff = table.filterStack.some(function(f){ return 
f.fcol==i });
                        if(!ff) TableFilter.buildFilter(table, i);
                }
-               if(table.zebra) table.zebra();                  
+               if(table.zebra) table.zebra();
        },
 
        // this function initialises a column dropdown filter
@@ -1577,7 +1581,7 @@
        render: function (page,name){
 
                $ES('.category a.wikipage',page).each(function(link){
-                       var page = Wiki.getPageName(link.href); 
+                       var page = Wiki.getPageName(link.href);
                        if(!page) return;
                        var wrap = new 
Element('span').injectBefore(link).adopt(link),
                                popup = new 
Element('div',{'class':'categoryPopup'}).inject(wrap),
@@ -1588,7 +1592,7 @@
                                .addEvent('click', function(e){
                                new Event(e).stop();  //dont jump to top of 
page ;-)
 
-                               new Ajax( Wiki.TemplateUrl + 
'AJAXCategories.jsp', { 
+                               new Ajax( Wiki.TemplateUrl + 
'AJAXCategories.jsp', {
                                        postBody: '&page=' + page,
                                        update: popup,
                                        onComplete: function(){
@@ -1597,19 +1601,19 @@
                                                        .addEvent('mouseout', 
function(e){ popfx.start(0); });
                                                popup.setStyle('left', 
link.getPosition().x);
                                                popup.setStyle('top', 
link.getPosition().y+16);
-                                               popfx.start(0.9); 
-                                               
+                                               popfx.start(0.9);
+
                                                
$ES('li,div.categoryTitle',popup).each(function(el){
                                                        
el.addEvent('mouseout',function(){ this.removeClass('hover')})
                                                          
.addEvent('mouseover',function(){ this.addClass('hover')});
                                                });
 
-                                               
+
                                        }
                                }).request();
                        });
                });
-       } 
+       }
 }
 Wiki.addPageRender(Categories);
 
@@ -1630,9 +1634,9 @@
 var ZebraTable = {
        render: function(page,name){
                $ES('*[class^=zebra]',page).each(function(z){
-                       var parms = z.className.split('-'), 
+                       var parms = z.className.split('-'),
                                isDefault = parms[1].test('table'),
-                               c1 = '', 
+                               c1 = '',
                                c2 = '';
                        if(parms[1]) c1= new Color(parms[1],'hex');
                        if(parms[2]) c2= new Color(parms[2],'hex');

Modified: 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/templates/default/jspwiki.css
URL: 
http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/templates/default/jspwiki.css?rev=809265&r1=809264&r2=809265&view=diff
==============================================================================
--- 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/templates/default/jspwiki.css
 (original)
+++ 
incubator/jspwiki/branches/JSPWIKI_2_8_BRANCH/src/webdocs/templates/default/jspwiki.css
 Sun Aug 30 08:19:20 2009
@@ -3,7 +3,7 @@
  * Styles can be overwritten by print and skin stylesheets
  * /
 
-/* COLOR scheme   
+/* COLOR scheme
        normal font color
        #f9f9f9 code, comment, weblogentries, (light grey)
        #d7d7d7 table header(darker grey)
@@ -18,7 +18,7 @@
 
 /* +++ 010 LAYOUT of main ID blocks +++ */
 #wikibody {
-       margin:1em 2em; 
+       margin:1em 2em;
        padding:0.25em;
 }
 #header, #footer {
@@ -26,7 +26,7 @@
 }
 #header .applicationlogo {
        position:absolute;
-       left:2em; 
+       left:2em;
        right:auto;
        width:18%;
 }
@@ -34,8 +34,8 @@
 #footer .companylogo,
 #footer .wikiversion,
 #footer .rssfeed,
-#header .companylogo { 
-       display:none; 
+#header .companylogo {
+       display:none;
 }
 #header .userbox {
        float:right;
@@ -61,14 +61,14 @@
        border:1px solid #ddd;
        margin-bottom:0.5em;
        padding:0.25em 0.5em;
-       display:none; 
+       display:none;
 }
 #favorites .login, #favorites .logoff {
        clear:left;
 }
-#footer .copyright { 
+#footer .copyright {
 }
-#content { 
+#content {
        margin:1em 0;
 }
 /*#wikibody.fav-left*/ #page, #wikibody.fav-right #favorites {
@@ -89,21 +89,21 @@
 }
 #wikibody.fav-right #header .applicationlogo {
        left:auto;
-       right:2em; 
+       right:2em;
 }
-#page { 
+#page {
        width:80%;
 }
 #wikibody.fav-slide #page {
        width:100%;
 }
 
-#actionsTop    { 
+#actionsTop    {
        float:right;
        z-index:10;
 }
 /* ie hack */
-* html #actionsTop     { 
+* html #actionsTop     {
        margin-top:1px;
 }
 #actionsBottom {
@@ -134,28 +134,28 @@
 :focus {
        outline:0;
 }
-body { 
-       color:black; 
-       background:white; 
+body {
+       color:black;
+       background:white;
        margin: 0;
        /*font: 12px/1.5 "Lucida Grande", Arial, Helvetica, Sans-Serif;*/
        font:76%/140% Verdana,Arial,Helvetica,sans-serif;
 }
-table {        
-       border-collapse:collapse; 
+table {
+       border-collapse:collapse;
        border-spacing:0;
-       empty-cells:show; 
+       empty-cells:show;
 }
 
 h1, h2, h3, h4, p, blockquote, label, ul, ol, dl, hr, .hr, .quote {
-       margin:0.5em 0; 
+       margin:0.5em 0;
 }
-th, td { 
-       padding:0.25em 0.5em; 
+th, td {
+       padding:0.25em 0.5em;
 }
-.hr { 
+.hr {
        display:block;
-       border-bottom:1px solid #ddd; 
+       border-bottom:1px solid #ddd;
 }
 hr, .hr, .clearbox {
        clear:both;
@@ -174,12 +174,12 @@
 }
 /*
 Headings:
-       The headings h2, h3 and h4 get a {{clear:left}} so they can appear 
+       The headings h2, h3 and h4 get a {{clear:left}} so they can appear
        side by side with .commentbox-es.
-       
+
        The {{.editsection}} and {{hashlink}} define the styling of the
        [[Edit] and # hash-hover link on each heading.
-       
+
 DOM structure:
 >      <h2 id="section-...">Header-Title
 >      <a class="hashlink" href="...">#</a>
@@ -200,12 +200,12 @@
 h4 { font-size: 116%; }
 h4 .editsection, h4 .hashlink { font-size: 86%; }
 
-a.editsection, a.hashlink {    
+a.editsection, a.hashlink {
        font-weight:normal;
        line-height:1.2;
        padding:0.25em;
        text-decoration:none;
-       color:#ccc; 
+       color:#ccc;
 }
 a.editsection:hover, a.hashlink:hover {
        background-color:#ddd;
@@ -292,7 +292,7 @@
        _padding-bottom:1.5em; /*take scrollbar into account on ie ugh*/
 }
 
-#previewcontent, #info, #pagecontent, #attach, #findcontent {
+#previewcontent, #info, #pagecontent, #attach, #findcontent, .diffbody {
        overflow-y:hidden; /*safari only -- ?? */
        _width:100%;
        _overflow-x:auto;
@@ -313,11 +313,11 @@
        background-color:#eee;
 }
 /* ie6 hack */
-* html .hover { 
+* html .hover {
        background-color:#eee;
 }
 /* ie7 hack */
-*:first-child+html .hover { 
+*:first-child+html .hover {
        background-color:#eee;
 }
 
@@ -343,7 +343,7 @@
        text-indent:16px;
        margin:0 0.5em;
        width:16px;
-       height:16px; 
+       height:16px;
        text-decoration:none;
        overflow:hidden;
        display:block;
@@ -371,9 +371,9 @@
 img.inline {
 }
 img.outlink {
-} 
+}
 img.attlink {
-} 
+}
 .applicationlogo a {
        display:block;
        height:64px;
@@ -583,7 +583,6 @@
 /* .diffnote equals .information */
 td.diffadd, td.diffrem, td.diff {
        font:110% Monaco, "Courier New", Courier, monospace;
-       overflow:auto;
        line-height:1;
 }
 td.diffadd {
@@ -606,12 +605,12 @@
        background:#9f9;
        text-decoration:none;
        color:black;
-} 
+}
 .diff-deletion {
        background:#f93;
        text-decoration:line-through;
        color:black;
-} 
+}
 .diff-nextprev {
        vertical-align:super;
        text-decoration:none;
@@ -620,18 +619,18 @@
 
 /* +++ 425 Edit/EditContent and CommentContent +++ */
 body.edit {
-} 
+}
 body.comment {
-} 
-#edithelp {     
+}
+#edithelp {
 }
 
 /* +++ 430 Edit/EditContent +++ */
 .textarea-resizer {
     background:#eee url(images/resize-horizontal.gif) top center;
-       cursor:s-resize; /* css3 row-resize */ 
+       cursor:s-resize; /* css3 row-resize */
     font-size:1px;
-       height:6px; 
+       height:6px;
     line-height:6px;
     overflow:hidden;
 }
@@ -659,14 +658,14 @@
 a.tool:hover, .btn:hover {
        background-color:#ddd !important;
 }
-#tools a.tool { 
-       border:none; 
+#tools a.tool {
+       border:none;
        background-repeat:no-repeat;
        background-image:url("images/editor-strip.gif");
        background-color:transparent;
-       height:16px; 
+       height:16px;
        width:16px;
-       text-indent:20px; 
+       text-indent:20px;
        overflow:hidden;
 }
 
@@ -674,9 +673,9 @@
 #tbUNDO                { background-position:0 -16px; width:auto !important;}
 
 /*#tbOUTLINE   { background-position:0 0; width:auto !important;}
-#tbOUTLINE     { 
+#tbOUTLINE     {
        width:auto !important;
-       background-image:url("images/book_open.png") !important; 
+       background-image:url("images/book_open.png") !important;
 }
 */
 /*
@@ -684,9 +683,9 @@
        background-repeat:no-repeat;
        background-position:center left;
        xxbackground-image:url("images/editor-strip.gif");
-       background-image:url("images/book_open.png") !important; 
+       background-image:url("images/book_open.png") !important;
        background-color:transparent;
-       padding:2px 0 2px 20px; 
+       padding:2px 0 2px 20px;
 }
 */
 #tbH1          { background-position:0 -192px; }
@@ -744,14 +743,14 @@
        height:150px;
        list-style:none;
        margin:0;
-       padding:0;      
+       padding:0;
 }
 #toctoc a {
        display:block;
        padding:0 0.5em;
        cursor:pointer;
        overflow:hidden;
-       white-space:nowrap;     
+       white-space:nowrap;
 }
 
 /* ie6 hack ensure moremenu remains properly aligned */
@@ -802,21 +801,21 @@
        margin:0;
        padding:0;
 }
-#findSuggestionMenu li { 
+#findSuggestionMenu li {
        padding:0.25em 0.5em;
        cursor:pointer;
 }
-#findSuggestionMenu .hover { 
+#findSuggestionMenu .hover {
        background-color:rgba(0,0,0,0.5);
        -moz-border-radius:10px;
        -webkit-border-radius:5px;
 }
 /* ie6 hack */
-* html #findSuggestionMenu .hover { 
+* html #findSuggestionMenu .hover {
        background-color:black;
 }
 /* ie7 hack */
-*:first-child+html #findSuggestionMenu .hover { 
+*:first-child+html #findSuggestionMenu .hover {
        background-color:black;
 }
 
@@ -824,9 +823,9 @@
 /* +++ 440 Favorites +++ */
 /* fixme
 #collapseFavs {
-       position:absolute; 
-       margin-left:-1px; 
-       left:-0.5em; 
+       position:absolute;
+       margin-left:-1px;
+       left:-0.5em;
        top:-1px;
        width:0.5em;
        height:100%;
@@ -912,7 +911,7 @@
 
 /* +++ 450 FindContent +++ */
 #details, #scope {
-       margin-left:2em; 
+       margin-left:2em;
 }
 .gBar {
 }
@@ -945,7 +944,7 @@
        background-color:#f93;
        color:black;
        text-decoration:inherit;
-} 
+}
 
 /* +++ 455 Footer +++ */
 .copyright {
@@ -958,7 +957,7 @@
 /* +++ 460 Header +++ */
 .breadcrumbs {
        font-size:90%;
-       padding:0 1.5em 1em 0;   
+       padding:0 1.5em 1em 0;
 }
 
 /* +++ 465 InfoContent +++ */
@@ -966,13 +965,13 @@
 }
 #incomingLinks, #outgoingLinks, #externalLinks, #attachmentLinks, 
#versionhistory {
        width:30%;
-       overflow:hidden;        
+       overflow:hidden;
        margin-right:0.5em;
        float:left;
-}  
+}
 #versionhistory td {
        white-space:nowrap;
-}  
+}
 .pagination {
        margin:0.25em;
        padding:0.5em;
@@ -1028,7 +1027,7 @@
        white-space:nowrap;
        float:none;
 }
-.pageactions li ul li.separator { 
+.pageactions li ul li.separator {
        border-top:2px solid #ddd;
 }
 /* undo settings for nested information! */
@@ -1078,7 +1077,7 @@
        padding:0.25em 0.5em;
        text-decoration:none;
        line-height:normal;
-       border:1px solid #ddd;          
+       border:1px solid #ddd;
        background:#f9f9f9;
        white-space:nowrap;
 }
@@ -1092,9 +1091,9 @@
 }
 a.action.quick2top, a.action.quick2bottom {
        overflow:hidden;
-       padding:0; 
+       padding:0;
        text-indent:20px;
-       width:20px; 
+       width:20px;
        margin:0 0 0 2px;
 }
 a.action.quick2top {
@@ -1104,7 +1103,7 @@
 
 /*********/
 .popup ul {
-       position:absolute; 
+       position:absolute;
        background:white;
        border:2px solid #ddd;
        padding:0.25em;
@@ -1121,7 +1120,7 @@
 }
 .popup a:hover {
        background-color:#eee !important;
-} 
+}
 
 /* +++ 472 PageContent.jsp +++ */
 #pagecontent {
@@ -1135,19 +1134,19 @@
        background-color:#ddd;
        padding:0.5em;
        margin:0.5em 0;
-}  
+}
 #sneakpreview {
-}  
+}
 #previewcontent {
-}  
+}
 .previewcontent {
        background-image:url(images/preview.gif);
-}  
+}
 
 /* +++ 480 PreferencesContent, LoginContent, GroupContent +++ */
 
 /* +++ 485 SearchBox +++ */
-.spin { 
+.spin {
        background:url(images/spin.gif) no-repeat;
        width:16px;
        height:16px;
@@ -1157,7 +1156,7 @@
 }
 #searchForm #query {
        width:164px;
-       padding:2px 22px 2px 2px;       
+       padding:2px 22px 2px 2px;
        vertical-align: middle;
        color:#555;
 }
@@ -1166,13 +1165,13 @@
     top:5px;
        right:3px;
 
-       margin:0; 
+       margin:0;
        padding:0;
-       width:16px; 
+       width:16px;
        height:16px;
-       border:none; 
+       border:none;
        background: url(images/search.gif) no-repeat center;
-       overflow:hidden;        
+       overflow:hidden;
     cursor:pointer;
 }
 #searchboxMenu {
@@ -1196,19 +1195,19 @@
        padding:0 0.5em;
 }
 
-#searchTools a:hover, #searchboxMenu li:hover { 
+#searchTools a:hover, #searchboxMenu li:hover {
        background:#eee;
 }
 #searchboxMenu div {
        margin:0.5em 0;
 }
-#searchTools { 
+#searchTools {
        text-align:left;
 }
 
 /* +++ 490 ViewTemplate +++ */
 body.view {
-       /*background-image:white;*/ 
+       /*background-image:white;*/
 }
 
 
@@ -1252,13 +1251,13 @@
 
 /* +++ 625 Table of contents plugin +++ */
 div.toc {
-       width:60%; 
+       width:60%;
        float:left;
        clear:left;
 }
 /* duplicate toc items links back to the first rendered table of contents */
 a.toc {
-       color:grey;     
+       color:grey;
        padding:0.25em;
 }
 a.toc:hover {
@@ -1337,7 +1336,7 @@
        margin-left:0 !important;
 }
 .archiveyear:after {
-       content:" AD" 
+       content:" AD"
 }
 
 .weblogcommentstitle {
@@ -1359,7 +1358,7 @@
 .recentchanges {
        table-layout:fixed;
 } /*faster renderer */
-.recentchanges .changenote { 
+.recentchanges .changenote {
        font-style:italic;
 }
 .recentchanges td {
@@ -1374,11 +1373,11 @@
 }
 .recentchanges tr.odd td {
        background-color:transparent;
-} 
+}
 
 
 /* +++ 800 JSPWiki JSP Taglibs +++ */
-   
+
 /* +++ 805 CalendarTag +++ */
 div.calendar {
        border:1px solid black;
@@ -1401,9 +1400,9 @@
 }
 
 /* +++ 900 "Special-effects" JavaScript styles +++ */
-   
+
 /* +++ 910 Tabbed Pages +++ */
-/* use absolute position trick to avoid page bump when inserting tabmenu 
+/* use absolute position trick to avoid page bump when inserting tabmenu
  * "tabs" surrounds the actual tab-content :only border right-bottom-left
  * "tabmenu" visualises the actuals tabs :border-bottom to close the tabs box
  * "tabmenu a" for the actual tabs :border left-top-right to draw the tab
@@ -1427,7 +1426,7 @@
 .tabmenu {
        padding:0 1em;
        font-weight:bold;
-} 
+}
 /* nested tabs should not allow floated stuff to appear next to the tabmenu - 
ugh */
 .tabs .tabmenu {
        clear:both;
@@ -1447,12 +1446,10 @@
        margin:0 0 -1px -1px;
        padding:0.25em 0.5em;
        border:1px solid #ddd;
-       border-bottom:none;
        color:gray;
        background:#f9f9f9;
        text-decoration:none;
        cursor:pointer;
-       white-space:nowrap;
        line-height:normal;
 }
 .tabmenu a:hover {
@@ -1489,7 +1486,7 @@
 .menu {
     clear:both; /* check out */
        color:gray;
-       font-weight:bold; 
+       font-weight:bold;
 }
 .menu.top {
        margin-left:0.5em; /* small left indent of first toggle */
@@ -1508,7 +1505,7 @@
        cursor:pointer;
        padding:0.25em 0.5em;
 }
-.menu.top .toggle { 
+.menu.top .toggle {
        float:left;
        margin:0 0 -1px -1px; /* adjacent toggle will stick: let 1px border 
overlap.*/
        display:inline;
@@ -1523,7 +1520,7 @@
        background:transparent;
        cursor:default;
        color:black;
-} 
+}
 .menu.top .toggle.active {
        border-bottom:1px solid white;
 }
@@ -1532,29 +1529,29 @@
 }
 .menu.right .toggle.active {
        border-left:1px solid white;
-} 
+}
 .tabbedAccordion {
        padding:0.5em;
 }
 .leftAccordion, .rightAccordion {
-       margin-bottom:0.5em;    
+       margin-bottom:0.5em;
 }
 .leftAccordion .tab, .rightAccordion .tab {
        border:1px solid #ddd !important;
        margin:0 0 -2px 0; /* trick :: -2px to reveal top and bottom borders 
the tabs */
        padding:0.25em 0.5em;
-} 
+}
 
 /* ie only hack no needed ?
 * html .togglemenu {
        margin-top:1px;
-}  
+}
 */
 
 /* margin is not compatible with scrollHeigth used by accordion - replace it 
by padding */
 /*
-.tab h1, .tab h2, .tab h3, .tab h4, 
-.tab p, .tab pre, .tab blockquote, .tab label, 
+.tab h1, .tab h2, .tab h3, .tab h4,
+.tab p, .tab pre, .tab blockquote, .tab label,
 .tab ul, .tab ol, .tab dl, .xxtab hr {
        margin:0 auto;
        padding-top:0.5em;
@@ -1583,7 +1580,7 @@
 }
 .tip-tip {
        color:white;
-       width:auto; /*240px;*/ 
+       width:auto; /*240px;*/
        z-index:100;
        font-size:90%;
        background-color:rgba(0,0,0,0.7);
@@ -1636,7 +1633,7 @@
        padding-left:1.5em;
 }
 /* ie7 hack */
-*:first-child+html .collapse .collapsebody, 
+*:first-child+html .collapse .collapsebody,
 *:first-child+html .collapsebox .collapse .collapsebody {
        float:left;
        padding-left:0.5em;
@@ -1648,7 +1645,7 @@
 }
 
 
-/* collapse icons */   
+/* collapse icons */
 .collapseBullet, .collapseOpen, .collapseClose {
        clear:left;
        float:left;
@@ -1668,7 +1665,7 @@
     clear:right; /* avoid clash with intern floated bullet */
        border:1px solid #ddd;
        margin:0 0 0.5em 0;
-}  
+}
 .collapsetitle {
        margin:0;
        padding:0.25em 0;
@@ -1796,7 +1793,7 @@
 .categoryLink {
        border-bottom:2px solid #545454;
        text-decoration:none;
-} 
+}
 .categoryPopup {
        color:white;
        z-index:100;
@@ -1853,7 +1850,7 @@
        display:block;
        padding:0 8px;
 }
-.categoryPopup .hover { 
+.categoryPopup .hover {
        background-color:rgba(0,0,0,0.5);
        -moz-border-radius:10px;
        -webkit-border-radius:5px;
@@ -1869,7 +1866,7 @@
 
 
 /* Pretty printing styles. Used with prettify.js. */
-pre.prettyprint {   
+pre.prettyprint {
 }
 
 .str {color: #489a1b; } /* string 080*/


Reply via email to