MDL-33357 theme : mymobile whitespaces fixup
authorAparup Banerjee <aparup@moodle.com>
Wed, 20 Jun 2012 03:56:00 +0000 (11:56 +0800)
committerAparup Banerjee <aparup@moodle.com>
Wed, 20 Jun 2012 04:11:28 +0000 (12:11 +0800)
theme/mymobile/javascript/jquery.mobile-1.1.0.js
theme/mymobile/style/jmobile11.css

index da86c3a..63b19b5 100644 (file)
@@ -524,61 +524,61 @@ if ( eventCaptureSupported ) {
 
 
 // Script: jQuery hashchange event
-// 
+//
 // *Version: 1.3, Last updated: 7/21/2010*
-// 
+//
 // Project Home - http://benalman.com/projects/jquery-hashchange-plugin/
 // GitHub       - http://github.com/cowboy/jquery-hashchange/
 // Source       - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.js
 // (Minified)   - http://github.com/cowboy/jquery-hashchange/raw/master/jquery.ba-hashchange.min.js (0.8kb gzipped)
-// 
+//
 // About: License
-// 
+//
 // Copyright (c) 2010 "Cowboy" Ben Alman,
 // Dual licensed under the MIT and GPL licenses.
 // http://benalman.com/about/license/
-// 
+//
 // About: Examples
-// 
+//
 // These working examples, complete with fully commented code, illustrate a few
 // ways in which this plugin can be used.
-// 
+//
 // hashchange event - http://benalman.com/code/projects/jquery-hashchange/examples/hashchange/
 // document.domain - http://benalman.com/code/projects/jquery-hashchange/examples/document_domain/
-// 
+//
 // About: Support and Testing
-// 
+//
 // Information about what version or versions of jQuery this plugin has been
 // tested with, what browsers it has been tested in, and where the unit tests
 // reside (so you can test it yourself).
-// 
+//
 // jQuery Versions - 1.2.6, 1.3.2, 1.4.1, 1.4.2
 // Browsers Tested - Internet Explorer 6-8, Firefox 2-4, Chrome 5-6, Safari 3.2-5,
 //                   Opera 9.6-10.60, iPhone 3.1, Android 1.6-2.2, BlackBerry 4.6-5.
 // Unit Tests      - http://benalman.com/code/projects/jquery-hashchange/unit/
-// 
+//
 // About: Known issues
-// 
+//
 // While this jQuery hashchange event implementation is quite stable and
 // robust, there are a few unfortunate browser bugs surrounding expected
 // hashchange event-based behaviors, independent of any JavaScript
 // window.onhashchange abstraction. See the following examples for more
 // information:
-// 
+//
 // Chrome: Back Button - http://benalman.com/code/projects/jquery-hashchange/examples/bug-chrome-back-button/
 // Firefox: Remote XMLHttpRequest - http://benalman.com/code/projects/jquery-hashchange/examples/bug-firefox-remote-xhr/
 // WebKit: Back Button in an Iframe - http://benalman.com/code/projects/jquery-hashchange/examples/bug-webkit-hash-iframe/
 // Safari: Back Button from a different domain - http://benalman.com/code/projects/jquery-hashchange/examples/bug-safari-back-from-diff-domain/
-// 
-// Also note that should a browser natively support the window.onhashchange 
+//
+// Also note that should a browser natively support the window.onhashchange
 // event, but not report that it does, the fallback polling loop will be used.
-// 
+//
 // About: Release History
-// 
+//
 // 1.3   - (7/21/2010) Reorganized IE6/7 Iframe code to make it more
 //         "removable" for mobile-only development. Added IE6/7 document.title
 //         support. Attempted to make Iframe as hidden as possible by using
-//         techniques from http://www.paciellogroup.com/blog/?p=604. Added 
+//         techniques from http://www.paciellogroup.com/blog/?p=604. Added
 //         support for the "shortcut" format $(window).hashchange( fn ) and
 //         $(window).hashchange() like jQuery provides for built-in events.
 //         Renamed jQuery.hashchangeDelay to <jQuery.fn.hashchange.delay> and
@@ -604,37 +604,37 @@ if ( eventCaptureSupported ) {
 (function($,window,undefined){
   // Reused string.
   var str_hashchange = 'hashchange',
-    
+
     // Method / object references.
     doc = document,
     fake_onhashchange,
     special = $.event.special,
-    
+
     // Does the browser support window.onhashchange? Note that IE8 running in
     // IE7 compatibility mode reports true for 'onhashchange' in window, even
     // though the event isn't supported, so also test document.documentMode.
     doc_mode = doc.documentMode,
     supports_onhashchange = 'on' + str_hashchange in window && ( doc_mode === undefined || doc_mode > 7 );
-  
+
   // Get location.hash (or what you'd expect location.hash to be) sans any
   // leading #. Thanks for making this necessary, Firefox!
   function get_fragment( url ) {
     url = url || location.href;
     return '#' + url.replace( /^[^#]*#?(.*)$/, '$1' );
   };
-  
+
   // Method: jQuery.fn.hashchange
-  // 
+  //
   // Bind a handler to the window.onhashchange event or trigger all bound
   // window.onhashchange event handlers. This behavior is consistent with
   // jQuery's built-in event handlers.
-  // 
+  //
   // Usage:
-  // 
+  //
   // > jQuery(window).hashchange( [ handler ] );
-  // 
+  //
   // Arguments:
-  // 
+  //
   //  handler - (Function) Optional handler to be bound to the hashchange
   //    event. This is a "shortcut" for the more verbose form:
   //    jQuery(window).bind( 'hashchange', handler ). If handler is omitted,
@@ -642,127 +642,127 @@ if ( eventCaptureSupported ) {
   //    is a shortcut for the more verbose
   //    jQuery(window).trigger( 'hashchange' ). These forms are described in
   //    the <hashchange event> section.
-  // 
+  //
   // Returns:
-  // 
+  //
   //  (jQuery) The initial jQuery collection of elements.
-  
+
   // Allow the "shortcut" format $(elem).hashchange( fn ) for binding and
   // $(elem).hashchange() for triggering, like jQuery does for built-in events.
   $.fn[ str_hashchange ] = function( fn ) {
     return fn ? this.bind( str_hashchange, fn ) : this.trigger( str_hashchange );
   };
-  
+
   // Property: jQuery.fn.hashchange.delay
-  // 
+  //
   // The numeric interval (in milliseconds) at which the <hashchange event>
   // polling loop executes. Defaults to 50.
-  
+
   // Property: jQuery.fn.hashchange.domain
-  // 
+  //
   // If you're setting document.domain in your JavaScript, and you want hash
   // history to work in IE6/7, not only must this property be set, but you must
   // also set document.domain BEFORE jQuery is loaded into the page. This
   // property is only applicable if you are supporting IE6/7 (or IE8 operating
   // in "IE7 compatibility" mode).
-  // 
+  //
   // In addition, the <jQuery.fn.hashchange.src> property must be set to the
   // path of the included "document-domain.html" file, which can be renamed or
   // modified if necessary (note that the document.domain specified must be the
   // same in both your main JavaScript as well as in this file).
-  // 
+  //
   // Usage:
-  // 
+  //
   // jQuery.fn.hashchange.domain = document.domain;
-  
+
   // Property: jQuery.fn.hashchange.src
-  // 
+  //
   // If, for some reason, you need to specify an Iframe src file (for example,
   // when setting document.domain as in <jQuery.fn.hashchange.domain>), you can
   // do so using this property. Note that when using this property, history
   // won't be recorded in IE6/7 until the Iframe src file loads. This property
   // is only applicable if you are supporting IE6/7 (or IE8 operating in "IE7
   // compatibility" mode).
-  // 
+  //
   // Usage:
-  // 
+  //
   // jQuery.fn.hashchange.src = 'path/to/file.html';
-  
+
   $.fn[ str_hashchange ].delay = 50;
   /*
   $.fn[ str_hashchange ].domain = null;
   $.fn[ str_hashchange ].src = null;
   */
-  
+
   // Event: hashchange event
-  // 
+  //
   // Fired when location.hash changes. In browsers that support it, the native
   // HTML5 window.onhashchange event is used, otherwise a polling loop is
   // initialized, running every <jQuery.fn.hashchange.delay> milliseconds to
   // see if the hash has changed. In IE6/7 (and IE8 operating in "IE7
   // compatibility" mode), a hidden Iframe is created to allow the back button
   // and hash-based history to work.
-  // 
+  //
   // Usage as described in <jQuery.fn.hashchange>:
-  // 
+  //
   // > // Bind an event handler.
   // > jQuery(window).hashchange( function(e) {
   // >   var hash = location.hash;
   // >   ...
   // > });
-  // > 
+  // >
   // > // Manually trigger the event handler.
   // > jQuery(window).hashchange();
-  // 
+  //
   // A more verbose usage that allows for event namespacing:
-  // 
+  //
   // > // Bind an event handler.
   // > jQuery(window).bind( 'hashchange', function(e) {
   // >   var hash = location.hash;
   // >   ...
   // > });
-  // > 
+  // >
   // > // Manually trigger the event handler.
   // > jQuery(window).trigger( 'hashchange' );
-  // 
+  //
   // Additional Notes:
-  // 
+  //
   // * The polling loop and Iframe are not created until at least one handler
   //   is actually bound to the 'hashchange' event.
   // * If you need the bound handler(s) to execute immediately, in cases where
   //   a location.hash exists on page load, via bookmark or page refresh for
-  //   example, use jQuery(window).hashchange() or the more verbose 
+  //   example, use jQuery(window).hashchange() or the more verbose
   //   jQuery(window).trigger( 'hashchange' ).
   // * The event can be bound before DOM ready, but since it won't be usable
   //   before then in IE6/7 (due to the necessary Iframe), recommended usage is
   //   to bind it inside a DOM ready handler.
-  
+
   // Override existing $.event.special.hashchange methods (allowing this plugin
   // to be defined after jQuery BBQ in BBQ's source code).
   special[ str_hashchange ] = $.extend( special[ str_hashchange ], {
-    
+
     // Called only when the first 'hashchange' event is bound to window.
     setup: function() {
       // If window.onhashchange is supported natively, there's nothing to do..
       if ( supports_onhashchange ) { return false; }
-      
+
       // Otherwise, we need to create our own. And we don't want to call this
       // until the user binds to the event, just in case they never do, since it
       // will create a polling loop and possibly even a hidden Iframe.
       $( fake_onhashchange.start );
     },
-    
+
     // Called only when the last 'hashchange' event is unbound from window.
     teardown: function() {
       // If window.onhashchange is supported natively, there's nothing to do..
       if ( supports_onhashchange ) { return false; }
-      
+
       // Otherwise, we need to stop ours (if possible).
       $( fake_onhashchange.stop );
     }
-    
+
   });
-  
+
   // fake_onhashchange does all the work of triggering the window.onhashchange
   // event for browsers that don't natively support it, including creating a
   // polling loop to watch for hash changes and in IE 6/7 creating a hidden
@@ -770,79 +770,79 @@ if ( eventCaptureSupported ) {
   fake_onhashchange = (function(){
     var self = {},
       timeout_id,
-      
+
       // Remember the initial hash so it doesn't get triggered immediately.
       last_hash = get_fragment(),
-      
+
       fn_retval = function(val){ return val; },
       history_set = fn_retval,
       history_get = fn_retval;
-    
+
     // Start the polling loop.
     self.start = function() {
       timeout_id || poll();
     };
-    
+
     // Stop the polling loop.
     self.stop = function() {
       timeout_id && clearTimeout( timeout_id );
       timeout_id = undefined;
     };
-    
+
     // This polling loop checks every $.fn.hashchange.delay milliseconds to see
     // if location.hash has changed, and triggers the 'hashchange' event on
     // window when necessary.
     function poll() {
       var hash = get_fragment(),
         history_hash = history_get( last_hash );
-      
+
       if ( hash !== last_hash ) {
         history_set( last_hash = hash, history_hash );
-        
+
         $(window).trigger( str_hashchange );
-        
+
       } else if ( history_hash !== last_hash ) {
         location.href = location.href.replace( /#.*/, '' ) + history_hash;
       }
-      
+
       timeout_id = setTimeout( poll, $.fn[ str_hashchange ].delay );
     };
-    
+
     // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
     // vvvvvvvvvvvvvvvvvvv REMOVE IF NOT SUPPORTING IE6/7/8 vvvvvvvvvvvvvvvvvvv
     // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
     $.browser.msie && !supports_onhashchange && (function(){
       // Not only do IE6/7 need the "magical" Iframe treatment, but so does IE8
       // when running in "IE7 compatibility" mode.
-      
+
       var iframe,
         iframe_src;
-      
+
       // When the event is bound and polling starts in IE 6/7, create a hidden
       // Iframe for history handling.
       self.start = function(){
         if ( !iframe ) {
           iframe_src = $.fn[ str_hashchange ].src;
           iframe_src = iframe_src && iframe_src + get_fragment();
-          
+
           // Create hidden Iframe. Attempt to make Iframe as hidden as possible
           // by using techniques from http://www.paciellogroup.com/blog/?p=604.
           iframe = $('<iframe tabindex="-1" title="empty"/>').hide()
-            
+
             // When Iframe has completely loaded, initialize the history and
             // start polling.
             .one( 'load', function(){
               iframe_src || history_set( get_fragment() );
               poll();
             })
-            
+
             // Load Iframe src if specified, otherwise nothing.
             .attr( 'src', iframe_src || 'javascript:0' )
-            
+
             // Append Iframe after the end of the body to prevent unnecessary
             // initial page scrolling (yes, this works).
             .insertAfter( 'body' )[0].contentWindow;
-          
+
           // Whenever `document.title` changes, update the Iframe's title to
           // prettify the back/next history menu entries. Since IE sometimes
           // errors with "Unspecified error" the very first time this is set
@@ -854,53 +854,53 @@ if ( eventCaptureSupported ) {
               }
             } catch(e) {}
           };
-          
+
         }
       };
-      
+
       // Override the "stop" method since an IE6/7 Iframe was created. Even
       // if there are no longer any bound event handlers, the polling loop
       // is still necessary for back/next to work at all!
       self.stop = fn_retval;
-      
+
       // Get history by looking at the hidden Iframe's location.hash.
       history_get = function() {
         return get_fragment( iframe.location.href );
       };
-      
+
       // Set a new history item by opening and then closing the Iframe
       // document, *then* setting its location.hash. If document.domain has
       // been set, update that as well.
       history_set = function( hash, history_hash ) {
         var iframe_doc = iframe.document,
           domain = $.fn[ str_hashchange ].domain;
-        
+
         if ( hash !== history_hash ) {
           // Update Iframe with any initial `document.title` that might be set.
           iframe_doc.title = doc.title;
-          
+
           // Opening the Iframe's document after it has been closed is what
           // actually adds a history entry.
           iframe_doc.open();
-          
+
           // Set document.domain for the Iframe document as well, if necessary.
           domain && iframe_doc.write( '<script>document.domain="' + domain + '"</script>' );
-          
+
           iframe_doc.close();
-          
+
           // Update the Iframe's hash, for great justice.
           iframe.location.hash = hash;
         }
       };
-      
+
     })();
     // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     // ^^^^^^^^^^^^^^^^^^^ REMOVE IF NOT SUPPORTING IE6/7/8 ^^^^^^^^^^^^^^^^^^^
     // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    
+
     return self;
   })();
-  
+
 })(jQuery,this);
 
 /*!
@@ -1630,9 +1630,9 @@ function validStyle( prop, value, check_vend ) {
                        var vend_prop = vend_pref( vend ) + prop + ": " + value + ";",
                                uc_vend = uc( vend ),
                                propStyle = uc_vend + uc( prop );
-               
+
                        div.setAttribute( "style", vend_prop );
-               
+
                        if( !!div.style[ propStyle ] ) {
                                ret = true;
                        }
@@ -2130,9 +2130,9 @@ $.widget( "mobile.page", $.mobile.widget, {
        },
 
        _create: function() {
-               
+
                var self = this;
-               
+
                // if false is returned by the callbacks do not create the page
                if( self._trigger( "beforecreate" ) === false ){
                        return false;
@@ -2149,11 +2149,11 @@ $.widget( "mobile.page", $.mobile.widget, {
                        } );
 
        },
-       
+
        removeContainerBackground: function(){
                $.mobile.pageContainer.removeClass( "ui-overlay-" + $.mobile.getInheritedTheme( this.element.parent() ) );
        },
-       
+
        // set the page container background to the page theme
        setContainerBackground: function( theme ){
                if( this.options.theme ){
@@ -2178,12 +2178,12 @@ $.widget( "mobile.page", $.mobile.widget, {
 (function( $, window, undefined ) {
 
 var createHandler = function( sequential ){
-       
+
        // Default to sequential
        if( sequential === undefined ){
                sequential = true;
        }
-       
+
        return function( name, reverse, $to, $from ) {
 
                var deferred = new $.Deferred(),
@@ -2200,9 +2200,9 @@ var createHandler = function( sequential ){
                                // By using scrollTo instead of silentScroll, we can keep things better in order
                                // Just to be precautios, disable scrollstart listening like silentScroll would
                                $.event.special.scrollstart.enabled = false;
-                               
+
                                window.scrollTo( 0, toScroll );
-                               
+
                                // reenable scrollstart listening like silentScroll would
                                setTimeout(function() {
                                        $.event.special.scrollstart.enabled = true;
@@ -2219,64 +2219,64 @@ var createHandler = function( sequential ){
                                        doneOut();
                                }
                                else {
-                                       $from.animationComplete( doneOut );     
+                                       $from.animationComplete( doneOut );
                                }
-                               
+
                                // Set the from page's height and start it transitioning out
                                // Note: setting an explicit height helps eliminate tiling in the transitions
                                $from
                                        .height( screenHeight + $(window ).scrollTop() )
                                        .addClass( name + " out" + reverseClass );
                        },
-                       
+
                        doneOut = function() {
 
                                if ( $from && sequential ) {
                                        cleanFrom();
                                }
-                               
+
                                startIn();
                        },
-                       
-                       startIn = function(){   
-                       
-                               $to.addClass( $.mobile.activePageClass );                               
-                       
+
+                       startIn = function(){
+
+                               $to.addClass( $.mobile.activePageClass );
+
                                // Send focus to page as it is now display: block
                                $.mobile.focusPage( $to );
 
                                // Set to page height
                                $to.height( screenHeight + toScroll );
-                               
+
                                scrollPage();
-                               
+
                                if( !none ){
                                        $to.animationComplete( doneIn );
                                }
-                               
+
                                $to.addClass( name + " in" + reverseClass );
-                               
+
                                if( none ){
                                        doneIn();
                                }
-                               
+
                        },
-               
+
                        doneIn = function() {
-                       
+
                                if ( !sequential ) {
-                                       
+
                                        if( $from ){
                                                cleanFrom();
                                        }
                                }
-                       
+
                                $to
                                        .removeClass( "out in reverse " + name )
                                        .height( "" );
-                               
+
                                toggleViewportClass();
-                               
+
                                // In some browsers (iOS5), 3D transitions block the ability to scroll to the desired location during transition
                                // This ensures we jump to that spot after the fact, if we aren't there already.
                                if( $( window ).scrollTop() !== toScroll ){
@@ -2287,7 +2287,7 @@ var createHandler = function( sequential ){
                        };
 
                toggleViewportClass();
-       
+
                if ( $from && !none ) {
                        startOut();
                }
@@ -2751,7 +2751,7 @@ $.mobile.transitionFallbacks = {};
        // because the recording of the scroll position is delayed for 100ms after
        // the browser might have changed the position because of the hashchange
        $window.bind( $.support.pushState ? "popstate" : "hashchange", function() {
-               setLastScrollEnabled = false;
+            setLastScrollEnabled = false;
        });
 
        // handle initial hashchange from chrome :(
@@ -2764,7 +2764,7 @@ $.mobile.transitionFallbacks = {};
                // once the page has changed, re-enable the scroll recording
                $.mobile.pageContainer.bind( "pagechange", function() {
 
-                       setLastScrollEnabled = true;
+                        setLastScrollEnabled = true;
 
                        // remove any binding that previously existed on the get scroll
                        // which may or may not be different than the scroll element determined for
@@ -2792,12 +2792,12 @@ $.mobile.transitionFallbacks = {};
 
                //clear page loader
                $.mobile.hidePageLoadingMsg();
-               
+
                // If transition is defined, check if css 3D transforms are supported, and if not, if a fallback is specified
                if( transition && !$.support.cssTransform3d && $.mobile.transitionFallbacks[ transition ] ){
                        transition = $.mobile.transitionFallbacks[ transition ];
                }
-               
+
                //find the transition handler for the specified transition. If there
                //isn't one in our transitionHandlers dictionary, use the default one.
                //call the handler immediately to kick-off the transition.
@@ -2820,7 +2820,7 @@ $.mobile.transitionFallbacks = {};
 
        //simply set the active page's minimum height to screen height, depending on orientation
        function getScreenHeight(){
-               // Native innerHeight returns more accurate value for this across platforms, 
+               // Native innerHeight returns more accurate value for this across platforms,
                // jQuery version is here as a normalized fallback for platforms like Symbian
                return window.innerHeight || $( window ).height();
        }
@@ -2832,7 +2832,7 @@ $.mobile.transitionFallbacks = {};
                var aPage = $( "." + $.mobile.activePageClass ),
                        aPagePadT = parseFloat( aPage.css( "padding-top" ) ),
                        aPagePadB = parseFloat( aPage.css( "padding-bottom" ) );
-                               
+
                aPage.css( "min-height", getScreenHeight() - aPagePadT - aPagePadB );
        }
 
@@ -2975,7 +2975,7 @@ $.mobile.transitionFallbacks = {};
                        page = settings.pageContainer.children( "#" + dataUrl )
                                .attr( "data-" + $.mobile.ns + "url", dataUrl );
                }
-               
+
                // If we failed to find a page in the DOM, check the URL to see if it
                // refers to the first page in the application. If it isn't a reference
                // to the first page and refers to non-existent embedded page, error out.
@@ -3068,7 +3068,7 @@ $.mobile.transitionFallbacks = {};
                                                pageElemRegex = new RegExp( "(<[^>]+\\bdata-" + $.mobile.ns + "role=[\"']?page[\"']?[^>]*>)" ),
                                                dataUrlRegex = new RegExp( "\\bdata-" + $.mobile.ns + "url=[\"']?([^\"'>]*)[\"']?" );
 
-                       
+
                                        // data-url must be provided for the base tag so resource requests can be directed to the
                                        // correct url. loading into a temprorary element makes these requests immediately
                                        if( pageElemRegex.test( html )
@@ -3110,7 +3110,7 @@ $.mobile.transitionFallbacks = {};
                                                        //            base URL, and then prepends with the new page URL.
                                                        //if full path exists and is same, chop it - helps IE out
                                                        thisUrl = thisUrl.replace( location.protocol + '//' + location.host + location.pathname, '' );
-                                                       
+
                                                        if( !/^(\w+:|#|\/)/.test( thisUrl ) ) {
                                                                $( this ).attr( thisAttr, newPath + thisUrl );
                                                        }
@@ -4055,7 +4055,7 @@ $.widget( "mobile.dialog", $.mobile.widget, {
                                });
 
                $el.addClass( "ui-dialog ui-overlay-" + this.options.overlayTheme );
-               
+
                // Class the markup for dialog styling
                // Set aria role
                $el
@@ -4187,7 +4187,7 @@ $.fn.grid = function( options ) {
 
 $( document ).bind( "pagecreate create", function( e ){
        $( ":jqmData(role='nojs')", e.target ).addClass( "ui-nojs" );
-       
+
 });
 
 })( jQuery );
@@ -4249,11 +4249,11 @@ $.fn.buttonMarkup = function( options ) {
                if ( attachEvents && !buttonElements) {
                        attachEvents();
                }
-               
-               // if not, try to find closest theme container  
+
+               // if not, try to find closest theme container
                if ( !o.theme ) {
-                       o.theme = $.mobile.getInheritedTheme( el, "c" );        
-               }               
+                       o.theme = $.mobile.getInheritedTheme( el, "c" );
+               }
 
                buttonClass = "ui-btn ui-btn-up-" + o.theme;
                buttonClass += o.inline ? " ui-btn-inline" : "";
@@ -4264,13 +4264,13 @@ $.fn.buttonMarkup = function( options ) {
                        // Used to control styling in headers/footers, where buttons default to `mini` style.
                        buttonClass += o.mini ? " ui-mini" : " ui-fullsize";
                }
-               
-               if ( o.inline !== undefined ) {                 
+
+               if ( o.inline !== undefined ) {
                        // Used to control styling in headers/footers, where buttons default to `mini` style.
                        buttonClass += o.inline === false ? " ui-btn-block" : " ui-btn-inline";
                }
-               
-               
+
+
                if ( o.icon ) {
                        o.icon = "ui-icon-" + o.icon;
                        o.iconpos = o.iconpos || "left";
@@ -4289,7 +4289,7 @@ $.fn.buttonMarkup = function( options ) {
                                el.attr( "title", el.getEncodedText() );
                        }
                }
-    
+
                innerClass += o.corners ? " ui-btn-corner-all" : "";
 
                if ( o.iconpos && o.iconpos === "notext" && !el.attr( "title" ) ) {
@@ -4378,10 +4378,10 @@ var attachEvents = function() {
                        var theme,
                                $btn = $( closestEnabledButton( event.target ) ),
                                evt = event.type;
-               
+
                        if ( $btn.length ) {
                                theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
-               
+
                                if ( evt === "vmousedown" ) {
                                        if ( $.support.touch ) {
                                                hov = setTimeout(function() {
@@ -4817,10 +4817,10 @@ $.widget( "mobile.listview", $.mobile.widget, {
        _create: function() {
                var t = this,
                        listviewClasses = "";
-                       
+
                listviewClasses += t.options.inset ? " ui-listview-inset ui-corner-all ui-shadow " : "";
                listviewClasses += t.element.jqmData( "mini" ) || t.options.mini === true ? " ui-mini" : "";
-               
+
                // create listview markup
                t.element.addClass(function( i, orig ) {
                        return orig + " ui-listview " + listviewClasses;
@@ -5429,9 +5429,9 @@ $.widget( "mobile.button", $.mobile.widget, {
 
                // if this is a link, check if it's been enhanced and, if not, use the right function
                if( $el[ 0 ].tagName === "A" ) {
-                       !$el.hasClass( "ui-btn" ) && $el.buttonMarkup();
-                       return;
-               }
+                        !$el.hasClass( "ui-btn" ) && $el.buttonMarkup();
+                        return;
+                }
 
                // get the inherited theme
                // TODO centralize for all widgets
@@ -5612,28 +5612,28 @@ $( document ).bind( "pagecreate create", function( e ){
         disabledZoom = initialContent + ",maximum-scale=1, user-scalable=no",
         enabledZoom = initialContent + ",maximum-scale=10, user-scalable=yes",
                disabledInitially = /(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test( initialContent );
-       
+
        $.mobile.zoom = $.extend( {}, {
                enabled: !disabledInitially,
                locked: false,
                disable: function( lock ) {
                        if( !disabledInitially && !$.mobile.zoom.locked ){
-                       meta.attr( "content", disabledZoom );
-                       $.mobile.zoom.enabled = false;
+                                meta.attr( "content", disabledZoom );
+                                $.mobile.zoom.enabled = false;
                                $.mobile.zoom.locked = lock || false;
                        }
                },
                enable: function( unlock ) {
                        if( !disabledInitially && ( !$.mobile.zoom.locked || unlock === true ) ){
-                       meta.attr( "content", enabledZoom );
-                       $.mobile.zoom.enabled = true;
+                                meta.attr( "content", enabledZoom );
+                                $.mobile.zoom.enabled = true;
                                $.mobile.zoom.locked = false;
                        }
                },
                restore: function() {
                        if( !disabledInitially ){
-                       meta.attr( "content", initialContent );
-                       $.mobile.zoom.enabled = true;
+                            meta.attr( "content", initialContent );
+                            $.mobile.zoom.enabled = true;
                        }
                }
        });
@@ -6355,11 +6355,11 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
                if( !!~this.element[0].className.indexOf( "ui-btn-left" ) ) {
                        classes =  " ui-btn-left";
                }
-               
+
                if(  !!~this.element[0].className.indexOf( "ui-btn-right" ) ) {
                        classes = " ui-btn-right";
                }
-               
+
                this.select = this.element.wrap( "<div class='ui-select" + classes + "'>" );
                this.selectID  = this.select.attr( "id" );
                this.label = $( "label[for='"+ this.selectID +"']" ).addClass( "ui-select" );
@@ -6372,7 +6372,7 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
        _create: function() {
                this._preExtension();
 
-               // Allows for extension of the native select for custom selects and other plugins
+                // Allows for extension of the native select for custom selects and other plugins
                // see select.custom for example extension
                // TODO explore plugin registration
                this._trigger( "beforeCreate" );
@@ -7195,7 +7195,7 @@ $( document ).bind( "pagecreate create", function( e ){
                                        self.updatePagePadding();
                                        if( o.updatePagePadding ){
                                                $( window ).bind( "throttledresize." + self.widgetName, function(){
-                                                       self.updatePagePadding();
+                                                    self.updatePagePadding();
                                                });
                                        }
                                })
@@ -7239,7 +7239,7 @@ $( document ).bind( "pagecreate create", function( e ){
 
                        $el.closest( ".ui-page" ).css( "padding-" + ( header ? "top" : "bottom" ), $el.outerHeight() );
                },
-               
+
                _useTransition: function( notransition ){
                        var $win = $( window ),
                                $el = this.element,
@@ -7248,7 +7248,7 @@ $( document ).bind( "pagecreate create", function( e ){
                                pHeight = $el.closest( ".ui-page" ).height(),
                                viewportHeight = $.mobile.getScreenHeight(),
                                tbtype = $el.is( ":jqmData(role='header')" ) ? "header" : "footer";
-                               
+
                        return !notransition &&
                                ( this.options.transition && this.options.transition !== "none" &&
                                (
@@ -7326,41 +7326,41 @@ $( document ).bind( "pagecreate create", function( e ){
        //auto self-init widgets
        $( document )
                .bind( "pagecreate create", function( e ){
-                       
+
                        // DEPRECATED in 1.1: support for data-fullscreen=true|false on the page element.
                        // This line ensures it still works, but we recommend moving the attribute to the toolbars themselves.
                        if( $( e.target ).jqmData( "fullscreen" ) ){
                                $( $.mobile.fixedtoolbar.prototype.options.initSelector, e.target ).not( ":jqmData(fullscreen)" ).jqmData( "fullscreen", true );
                        }
-                       
+
                        $.mobile.fixedtoolbar.prototype.enhanceWithin( e.target );
                });
 
 })( jQuery );
 
 ( function( $, window ) {
-       
+
        // This fix addresses an iOS bug, so return early if the UA claims it's something else.
        if( !(/iPhone|iPad|iPod/.test( navigator.platform ) && navigator.userAgent.indexOf( "AppleWebKit" ) > -1 ) ){
                return;
        }
-       
+
     var zoom = $.mobile.zoom,
                evt, x, y, z, aig;
-       
+
     function checkTilt( e ){
                evt = e.originalEvent;
                aig = evt.accelerationIncludingGravity;
-               
+
                x = Math.abs( aig.x );
                y = Math.abs( aig.y );
                z = Math.abs( aig.z );
-                               
+
                // If portrait orientation and in one of the danger zones
         if( !window.orientation && ( x > 7 || ( ( z > 6 && y < 8 || z < 8 && y > 6 ) && x > 5 ) ) ){
                        if( zoom.enabled ){
                                zoom.disable();
-                       }               
+                       }
         }
                else if( !zoom.enabled ){
                        zoom.enable();
@@ -7378,7 +7378,7 @@ $( document ).bind( "pagecreate create", function( e ){
                        $head = $( "head" ),
                        $window = $( window );
 
-       // trigger mobileinit event - useful hook for configuring $.mobile settings before they're used
+        // trigger mobileinit event - useful hook for configuring $.mobile settings before they're used
        $( window.document ).trigger( "mobileinit" );
 
        // support conditions
index 9d18114..4e0a49c 100644 (file)
@@ -24,9 +24,9 @@
        background-image:         linear-gradient( #3c3c3c /*{a-bar-background-start}*/, #111 /*{a-bar-background-end}*/);
 }
 .ui-bar-a,
-.ui-bar-a input, 
+.ui-bar-a input,
 .ui-bar-a select,
-.ui-bar-a textarea, 
+.ui-bar-a textarea,
 .ui-bar-a button {
        font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/;
 }
@@ -58,7 +58,7 @@
        background-image:    -moz-linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* FF3.6 */
        background-image:     -ms-linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* IE10 */
        background-image:      -o-linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/); /* Opera 11.10+ */
-       background-image:         linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/);       
+       background-image:         linear-gradient( #444 /*{a-body-background-start}*/, #222 /*{a-body-background-end}*/);
 }
 .ui-overlay-a {
        background-image: none;
@@ -814,7 +814,7 @@ a.ui-link-inherit {
 @media only screen and (-webkit-min-device-pixel-ratio: 1.5),
        only screen and (min--moz-device-pixel-ratio: 1.5),
        only screen and (min-resolution: 240dpi) {
-       
+
        .ui-icon-plus, .ui-icon-minus, .ui-icon-delete, .ui-icon-arrow-r,
        .ui-icon-arrow-l, .ui-icon-arrow-u, .ui-icon-arrow-d, .ui-icon-check,
        .ui-icon-gear, .ui-icon-refresh, .ui-icon-forward, .ui-icon-back,
@@ -909,7 +909,7 @@ a.ui-link-inherit {
 }
 .ui-icon-checkbox-off,
 .ui-icon-radio-off {
-       background-color: transparent;  
+       background-color: transparent;
 }
 .ui-checkbox-on .ui-icon,
 .ui-radio-on .ui-icon {
@@ -985,7 +985,7 @@ a.ui-link-inherit {
 .ui-corner-bl,
 .ui-corner-br,
 .ui-corner-top,
-.ui-corner-bottom, 
+.ui-corner-bottom,
 .ui-corner-right,
 .ui-corner-left,
 .ui-corner-all,
@@ -994,7 +994,7 @@ a.ui-link-inherit {
 .ui-btn-corner-bl,
 .ui-btn-corner-br,
 .ui-btn-corner-top,
-.ui-btn-corner-bottom, 
+.ui-btn-corner-bottom,
 .ui-btn-corner-right,
 .ui-btn-corner-left,
 .ui-btn-corner-all {
@@ -1534,7 +1534,6 @@ div.ui-mobile-viewport { overflow-x: hidden; }
        -moz-animation-name: flipintoright;
        -webkit-animation-duration: 250ms;
        -moz-animation-duration: 250ms;
-       
 }
 .turn.out.reverse {
        -webkit-transform: rotateY(90deg) scale(.9);
@@ -1587,7 +1586,7 @@ div.ui-mobile-viewport { overflow-x: hidden; }
 }
 .ui-dialog.flow {
        -webkit-transform-origin: none;
-       -moz-transform-origin: none;    
+       -moz-transform-origin: none;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
 }
@@ -1846,7 +1845,7 @@ div.ui-mobile-viewport { overflow-x: hidden; }
 @media all and (min-width: 450px){
        .ui-field-contain .ui-controlgroup-label { vertical-align: top; display: inline-block;  width: 20%;  margin: 0 2% 0 0;  }
        .ui-field-contain .ui-controlgroup-controls { width: 60%; display: inline-block; }
-       .ui-field-contain .ui-controlgroup .ui-select { width: 100%; } 
+       .ui-field-contain .ui-controlgroup .ui-select { width: 100%; }
        .ui-field-contain .ui-controlgroup-horizontal .ui-select { width: auto; }
 }
 .ui-dialog {
@@ -1858,25 +1857,25 @@ div.ui-mobile-viewport { overflow-x: hidden; }
        border: none;
        overflow: hidden;
 }
-.ui-dialog .ui-header, 
+.ui-dialog .ui-header,
 .ui-dialog .ui-content,
-.ui-dialog .ui-footer { 
+.ui-dialog .ui-footer {
        display: block;
        position: relative;
        width: auto;
 }
-.ui-dialog .ui-header, 
+.ui-dialog .ui-header,
 .ui-dialog .ui-footer  {
-       z-index: 10; 
+       z-index: 10;
        padding: 0;
 }
 .ui-dialog .ui-footer {
        padding: 0 15px;
 }
-.ui-dialog .ui-content { 
+.ui-dialog .ui-content {
        padding: 15px;
 }
-.ui-dialog { 
+.ui-dialog {
        margin-top: -15px;
 }
 .ui-checkbox, .ui-radio { position: relative; clear: both; margin: .2em 0 .5em; z-index: 1;  }
@@ -1924,7 +1923,7 @@ div.ui-mobile-viewport { overflow-x: hidden; }
 .ui-select .ui-disabled { opacity: .3; }
 @-moz-document url-prefix() {.ui-select .ui-btn select { opacity: 0.0001; }}
 .ui-select .ui-btn select.ui-select-nativeonly { opacity: 1; text-indent: 0; }
-.ui-select .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; } 
+.ui-select .ui-btn-icon-right .ui-btn-inner { padding-right: 45px; }
 .ui-select .ui-btn-icon-right .ui-icon { right: 15px;  }
 .ui-select .ui-mini.ui-btn-icon-right .ui-icon { right: 7px;  }
 /* labels */
@@ -1945,7 +1944,7 @@ label.ui-select { font-size: 16px; line-height: 1.4;  font-weight: normal; margi
 @media all and (min-width: 450px){
        .ui-field-contain label.ui-select { vertical-align: top;  display: inline-block;  width: 20%;  margin: 0 2% 0 0; }
        .ui-field-contain .ui-select { width: 60%; display: inline-block; }
-}      
+}
 /* when no placeholder is defined in a multiple select, the header height doesn't even extend past the close button.  this shim's content in there */
 .ui-selectmenu .ui-header h1:after { content: '.'; visibility: hidden; }
 label.ui-input-text { font-size: 16px; line-height: 1.4; display: block; font-weight: normal; margin: 0 0 .3em; }
@@ -1969,9 +1968,9 @@ textarea.ui-mini { height: 45px; }
        .ui-field-contain textarea.ui-input-text,
        .ui-field-contain .ui-input-search { width: 60%; display: inline-block; }
        .ui-field-contain .ui-input-search { width: 50%; }
-       .ui-hide-label input.ui-input-text, 
+       .ui-hide-label input.ui-input-text,
        .ui-hide-label textarea.ui-input-text,
-       .ui-hide-label .ui-input-search { padding: .4em; width: 97%; } 
+       .ui-hide-label .ui-input-search { padding: .4em; width: 97%; }
        .ui-input-search input.ui-input-text { width: 98%; /*echos rule from above*/ }
 }
 .ui-listview { margin: 0; counter-reset: listnumbering; }