6212920904641a07b1f0058a2081a37599a19c37
[platform/framework/web/web-ui-fw.git] / libs / js / jquery-mobile-1.0.1pre / js / jquery.mobile.grid.js
1 /*
2 * plugin for creating CSS grids
3 */
4
5 (function( $, undefined ) {
6
7 $.fn.grid = function( options ) {
8         return this.each(function() {
9
10                 var $this = $( this ),
11                         o = $.extend({
12                                 grid: null
13                         },options),
14                         $kids = $this.children(),
15                         gridCols = {solo:1, a:2, b:3, c:4, d:5},
16                         grid = o.grid,
17                         iterator;
18
19                         if ( !grid ) {
20                                 if ( $kids.length <= 5 ) {
21                                         for ( var letter in gridCols ) {
22                                                 if ( gridCols[ letter ] === $kids.length ) {
23                                                         grid = letter;
24                                                 }
25                                         }
26                                 } else {
27                                         grid = "a";
28                                 }
29                         }
30                         iterator = gridCols[grid];
31
32                 $this.addClass( "ui-grid-" + grid );
33
34                 $kids.filter( ":nth-child(" + iterator + "n+1)" ).addClass( "ui-block-a" );
35
36                 if ( iterator > 1 ) {
37                         $kids.filter( ":nth-child(" + iterator + "n+2)" ).addClass( "ui-block-b" );
38                 }
39                 if ( iterator > 2 ) {
40                         $kids.filter( ":nth-child(3n+3)" ).addClass( "ui-block-c" );
41                 }
42                 if ( iterator > 3 ) {
43                         $kids.filter( ":nth-child(4n+4)" ).addClass( "ui-block-d" );
44                 }
45                 if ( iterator > 4 ) {
46                         $kids.filter( ":nth-child(5n+5)" ).addClass( "ui-block-e" );
47                 }
48         });
49 };
50 })( jQuery );