metro-ui-rails 0.15.8.4 → 0.15.8.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
 - data/Rakefile +1 -1
 - data/lib/metro/ui/rails/engine.rb +1 -1
 - data/lib/metro/ui/rails/version.rb +1 -1
 - data/vendor/assets/fonts/metro-ui/iconFont.eot +0 -0
 - data/vendor/assets/fonts/metro-ui/iconFont.svg +383 -334
 - data/vendor/assets/fonts/metro-ui/iconFont.ttf +0 -0
 - data/vendor/assets/fonts/metro-ui/iconFont.woff +0 -0
 - data/vendor/assets/javascripts/metro-ui.js +6 -5
 - data/vendor/assets/javascripts/metro-ui/accordion.js +2 -2
 - data/vendor/assets/javascripts/metro-ui/input-control.js +3 -3
 - data/vendor/assets/javascripts/metro-ui/tile-drag.js +332 -0
 - data/vendor/toolkit/metro-ui/buttons.less +9 -0
 - data/vendor/toolkit/metro-ui/forms.less +55 -11
 - data/vendor/toolkit/metro-ui/icons.less +93 -9
 - data/vendor/toolkit/metro-ui/jqgrid.less +12 -0
 - data/vendor/toolkit/metro-ui/layout.less +4 -4
 - data/vendor/toolkit/metro-ui/listview.less +7 -7
 - data/vendor/toolkit/metro-ui/menus.less +23 -2
 - data/vendor/toolkit/metro-ui/notices.less +2 -0
 - data/vendor/toolkit/metro-ui/routines.less +5 -5
 - data/vendor/toolkit/metro-ui/typography.less +12 -12
 - metadata +4 -3
 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         @@ -1,9 +1,10 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            //= require metro-ui/accordion
         
     | 
| 
       2 
     | 
    
         
            -
            //= require metro-ui/buttonset
         
     | 
| 
       3 
     | 
    
         
            -
            //= require metro-ui/carousel
         
     | 
| 
       4 
     | 
    
         
            -
            //= require metro-ui/dropdown
         
     | 
| 
       5 
1 
     | 
    
         
             
            //= require metro-ui/input-control
         
     | 
| 
       6 
     | 
    
         
            -
            //= require metro-ui/pagecontrol
         
     | 
| 
       7 
2 
     | 
    
         
             
            //= require metro-ui/rating
         
     | 
| 
      
 3 
     | 
    
         
            +
            //= require metro-ui/dropdown
         
     | 
| 
       8 
4 
     | 
    
         
             
            //= require metro-ui/slider
         
     | 
| 
       9 
5 
     | 
    
         
             
            //= require metro-ui/tile-slider
         
     | 
| 
      
 6 
     | 
    
         
            +
            //= require metro-ui/tile-drag
         
     | 
| 
      
 7 
     | 
    
         
            +
            //= require metro-ui/pagecontrol
         
     | 
| 
      
 8 
     | 
    
         
            +
            //= require metro-ui/carousel
         
     | 
| 
      
 9 
     | 
    
         
            +
            //= require metro-ui/buttonset
         
     | 
| 
      
 10 
     | 
    
         
            +
            //= require metro-ui/accordion
         
     | 
| 
         @@ -6,14 +6,14 @@ 
     | 
|
| 
       6 
6 
     | 
    
         
             
                    var $this = $(this)
         
     | 
| 
       7 
7 
     | 
    
         
             
                        , $li = $this.children("li")
         
     | 
| 
       8 
8 
     | 
    
         
             
                        , $triggers = $li.children("a")
         
     | 
| 
       9 
     | 
    
         
            -
                        , $frames = $ 
     | 
| 
      
 9 
     | 
    
         
            +
                        , $frames = $li.children("div")
         
     | 
| 
       10 
10 
     | 
    
         
             
                        ;
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                    var initTriggers = function(triggers){
         
     | 
| 
       13 
13 
     | 
    
         
             
                        triggers.on('click', function(e){
         
     | 
| 
       14 
14 
     | 
    
         
             
                            e.preventDefault();
         
     | 
| 
       15 
15 
     | 
    
         
             
                            var $a = $(this)
         
     | 
| 
       16 
     | 
    
         
            -
                              , target = $ 
     | 
| 
      
 16 
     | 
    
         
            +
                              , target = $a.parent('li').children("div");
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
                            if ( $a.parent('li').hasClass('active') ) {
         
     | 
| 
       19 
19 
     | 
    
         
             
                                target.slideUp();
         
     | 
| 
         @@ -42,7 +42,7 @@ 
     | 
|
| 
       42 
42 
     | 
    
         
             
                            input = $element.children('input');
         
     | 
| 
       43 
43 
     | 
    
         
             
                            input.attr('value', '');
         
     | 
| 
       44 
44 
     | 
    
         
             
                            input.focus();
         
     | 
| 
       45 
     | 
    
         
            -
                        });
         
     | 
| 
      
 45 
     | 
    
         
            +
                        }).on('click', function(e){e.preventDefault(); return false;});
         
     | 
| 
       46 
46 
     | 
    
         
             
                    };
         
     | 
| 
       47 
47 
     | 
    
         | 
| 
       48 
48 
     | 
    
         
             
                    /**
         
     | 
| 
         @@ -67,14 +67,14 @@ 
     | 
|
| 
       67 
67 
     | 
    
         
             
                            password.hide();
         
     | 
| 
       68 
68 
     | 
    
         
             
                            text.insertAfter(password);
         
     | 
| 
       69 
69 
     | 
    
         
             
                            text.attr('value', password.attr('value'));
         
     | 
| 
       70 
     | 
    
         
            -
                        });
         
     | 
| 
      
 70 
     | 
    
         
            +
                        }).on('click', function(e){e.preventDefault(); return false;});
         
     | 
| 
       71 
71 
     | 
    
         | 
| 
       72 
72 
     | 
    
         
             
                        // return password and remove text element
         
     | 
| 
       73 
73 
     | 
    
         
             
                        $helper.on('mouseup, mouseout', function () {
         
     | 
| 
       74 
74 
     | 
    
         
             
                            text.detach();
         
     | 
| 
       75 
75 
     | 
    
         
             
                            password.show();
         
     | 
| 
       76 
76 
     | 
    
         
             
                            password.focus();
         
     | 
| 
       77 
     | 
    
         
            -
                        });
         
     | 
| 
      
 77 
     | 
    
         
            +
                        }).on('click', function(e){e.preventDefault(); return false;});
         
     | 
| 
       78 
78 
     | 
    
         
             
                    };
         
     | 
| 
       79 
79 
     | 
    
         | 
| 
       80 
80 
     | 
    
         
             
                    plugin.init();
         
     | 
| 
         @@ -0,0 +1,332 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /**
         
     | 
| 
      
 2 
     | 
    
         
            +
             * jQuery plugin for drag'n'drop tiles
         
     | 
| 
      
 3 
     | 
    
         
            +
             *
         
     | 
| 
      
 4 
     | 
    
         
            +
             * to init plugin just add class 'tile-drag' to your tile-group element
         
     | 
| 
      
 5 
     | 
    
         
            +
             * or add attribute data-role="tile-drag"
         
     | 
| 
      
 6 
     | 
    
         
            +
             *
         
     | 
| 
      
 7 
     | 
    
         
            +
             * to handle drag/drop events use next code
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            $(function(){
         
     | 
| 
      
 10 
     | 
    
         
            +
                $('#tile_group_id').on('drag', function(e, draggingTile, parentGroup){
         
     | 
| 
      
 11 
     | 
    
         
            +
                   ... your code ...
         
     | 
| 
      
 12 
     | 
    
         
            +
                });
         
     | 
| 
      
 13 
     | 
    
         
            +
                $('#tile_group_id').on('drop', function(e, draggingTile, targetGroup){
         
     | 
| 
      
 14 
     | 
    
         
            +
                    ... your code ...
         
     | 
| 
      
 15 
     | 
    
         
            +
                });
         
     | 
| 
      
 16 
     | 
    
         
            +
            });
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
             *
         
     | 
| 
      
 19 
     | 
    
         
            +
             * if you want to use drag'n'drop between groups use attribute data-param-group="any_id" to link groups
         
     | 
| 
      
 20 
     | 
    
         
            +
             */
         
     | 
| 
      
 21 
     | 
    
         
            +
            (function($) {
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                $.TileDrag = function(element, options) {
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                    var defaults = {
         
     | 
| 
      
 26 
     | 
    
         
            +
                        // if group sets and exists other same groups, it is possible to drag'n'drop from one group to another
         
     | 
| 
      
 27 
     | 
    
         
            +
                        group: null
         
     | 
| 
      
 28 
     | 
    
         
            +
                    };
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                    var plugin = this;
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                    plugin.settings = {};
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
                    var $element = $(element),
         
     | 
| 
      
 35 
     | 
    
         
            +
                        $groups,
         
     | 
| 
      
 36 
     | 
    
         
            +
                        settings,
         
     | 
| 
      
 37 
     | 
    
         
            +
                        tiles,
         
     | 
| 
      
 38 
     | 
    
         
            +
                        $draggingTile,
         
     | 
| 
      
 39 
     | 
    
         
            +
                        $parentGroup, // parent group for dragging tile
         
     | 
| 
      
 40 
     | 
    
         
            +
                        draggingTileWidth,
         
     | 
| 
      
 41 
     | 
    
         
            +
                        draggingTileHeight,
         
     | 
| 
      
 42 
     | 
    
         
            +
                        $phantomTile,
         
     | 
| 
      
 43 
     | 
    
         
            +
                        tileDeltaX,
         
     | 
| 
      
 44 
     | 
    
         
            +
                        tileDeltaY,
         
     | 
| 
      
 45 
     | 
    
         
            +
                        groupOffsetX,
         
     | 
| 
      
 46 
     | 
    
         
            +
                        groupOffsetY,
         
     | 
| 
      
 47 
     | 
    
         
            +
                        tilesCoordinates,
         
     | 
| 
      
 48 
     | 
    
         
            +
                        tileSearchCount = 0, // uses for findTileUnderCursor function
         
     | 
| 
      
 49 
     | 
    
         
            +
                        tileUnderCursorIndex,
         
     | 
| 
      
 50 
     | 
    
         
            +
                        tileUnderCursorSide;
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                    plugin.init = function() {
         
     | 
| 
      
 53 
     | 
    
         
            +
                        settings = plugin.settings = $.extend({}, defaults, options);
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                        // if group is set
         
     | 
| 
      
 56 
     | 
    
         
            +
                        if (settings.group) {
         
     | 
| 
      
 57 
     | 
    
         
            +
                            // search other elements with same group
         
     | 
| 
      
 58 
     | 
    
         
            +
                            $groups = $('[data-role=tile-drag], .tile-drag').filter('[data-param-group=' + settings.group + ']');
         
     | 
| 
      
 59 
     | 
    
         
            +
                        } else {
         
     | 
| 
      
 60 
     | 
    
         
            +
                            $groups = $element;
         
     | 
| 
      
 61 
     | 
    
         
            +
                        }
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                        // any tile-group must be relative
         
     | 
| 
      
 64 
     | 
    
         
            +
                        $groups.css({
         
     | 
| 
      
 65 
     | 
    
         
            +
                            'position': 'relative'
         
     | 
| 
      
 66 
     | 
    
         
            +
                        });
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
                        // select all tiles within group
         
     | 
| 
      
 69 
     | 
    
         
            +
                        tiles = $groups.children('.tile');
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                        tiles.on('mousedown', startDrag);
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
                    };
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
                    var startDrag = function(event) {
         
     | 
| 
      
 76 
     | 
    
         
            +
                        var $tile,
         
     | 
| 
      
 77 
     | 
    
         
            +
                            tilePosition,
         
     | 
| 
      
 78 
     | 
    
         
            +
                            tilePositionX,
         
     | 
| 
      
 79 
     | 
    
         
            +
                            tilePositionY,
         
     | 
| 
      
 80 
     | 
    
         
            +
                            groupOffset;
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
                        event.preventDefault();
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                        // currently dragging tile
         
     | 
| 
      
 85 
     | 
    
         
            +
                        $draggingTile = $tile = $(this);
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
                        // search parent group
         
     | 
| 
      
 88 
     | 
    
         
            +
                        $parentGroup = $tile.parents('.tile-drag');
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
                        // dragging tile dimentions
         
     | 
| 
      
 91 
     | 
    
         
            +
                        draggingTileWidth = $tile.outerWidth();
         
     | 
| 
      
 92 
     | 
    
         
            +
                        draggingTileHeight = $tile.outerHeight();
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
                        // hidden tile to place it where dragging tile will dropped
         
     | 
| 
      
 95 
     | 
    
         
            +
                        $phantomTile = $('<div></div>');
         
     | 
| 
      
 96 
     | 
    
         
            +
                        $phantomTile.css({
         
     | 
| 
      
 97 
     | 
    
         
            +
                            'background': 'none'
         
     | 
| 
      
 98 
     | 
    
         
            +
                        });
         
     | 
| 
      
 99 
     | 
    
         
            +
                        $phantomTile.addClass('tile');
         
     | 
| 
      
 100 
     | 
    
         
            +
                        if ($tile.hasClass('double')) {
         
     | 
| 
      
 101 
     | 
    
         
            +
                            $phantomTile.addClass('double');
         
     | 
| 
      
 102 
     | 
    
         
            +
                        } else if ($tile.hasClass('triple')) {
         
     | 
| 
      
 103 
     | 
    
         
            +
                            $phantomTile.addClass('triple');
         
     | 
| 
      
 104 
     | 
    
         
            +
                        } else if ($tile.hasClass('quadro')) {
         
     | 
| 
      
 105 
     | 
    
         
            +
                            $phantomTile.addClass('quadro');
         
     | 
| 
      
 106 
     | 
    
         
            +
                        } else if ($tile.hasClass('double-vertical')) {
         
     | 
| 
      
 107 
     | 
    
         
            +
                            $phantomTile.addClass('double-vertical');
         
     | 
| 
      
 108 
     | 
    
         
            +
                        } else if ($tile.hasClass('triple-vertical')) {
         
     | 
| 
      
 109 
     | 
    
         
            +
                            $phantomTile.addClass('triple-vertical');
         
     | 
| 
      
 110 
     | 
    
         
            +
                        } else if ($tile.hasClass('quadro-vertical')) {
         
     | 
| 
      
 111 
     | 
    
         
            +
                            $phantomTile.addClass('quadro-vertical');
         
     | 
| 
      
 112 
     | 
    
         
            +
                        }
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
                        // dragging tile position within group
         
     | 
| 
      
 115 
     | 
    
         
            +
                        tilePosition = $tile.position();
         
     | 
| 
      
 116 
     | 
    
         
            +
                        tilePositionX = tilePosition.left;
         
     | 
| 
      
 117 
     | 
    
         
            +
                        tilePositionY = tilePosition.top;
         
     | 
| 
      
 118 
     | 
    
         
            +
             
     | 
| 
      
 119 
     | 
    
         
            +
                        // group element offset relate to document border
         
     | 
| 
      
 120 
     | 
    
         
            +
                        groupOffset = $parentGroup.offset();
         
     | 
| 
      
 121 
     | 
    
         
            +
                        groupOffsetX = groupOffset.left;
         
     | 
| 
      
 122 
     | 
    
         
            +
                        groupOffsetY = groupOffset.top;
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
      
 124 
     | 
    
         
            +
                        // pixels count between cursor and dragging tile border
         
     | 
| 
      
 125 
     | 
    
         
            +
                        tileDeltaX = event.pageX - groupOffsetX - tilePositionX;
         
     | 
| 
      
 126 
     | 
    
         
            +
                        tileDeltaY = event.pageY - groupOffsetY - tilePositionY;
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
                        // place phantom tile instead dragging one
         
     | 
| 
      
 129 
     | 
    
         
            +
                        $phantomTile.insertAfter($tile);
         
     | 
| 
      
 130 
     | 
    
         
            +
             
     | 
| 
      
 131 
     | 
    
         
            +
                        /*$tile.detach();
         
     | 
| 
      
 132 
     | 
    
         
            +
                        $tile.appendTo($parentGroup);*/
         
     | 
| 
      
 133 
     | 
    
         
            +
             
     | 
| 
      
 134 
     | 
    
         
            +
                        // still now it absolutely positioned
         
     | 
| 
      
 135 
     | 
    
         
            +
                        $tile.css({
         
     | 
| 
      
 136 
     | 
    
         
            +
                            'position':     'absolute',
         
     | 
| 
      
 137 
     | 
    
         
            +
                            'left':         tilePositionX,
         
     | 
| 
      
 138 
     | 
    
         
            +
                            'top':          tilePositionY,
         
     | 
| 
      
 139 
     | 
    
         
            +
                            'z-index':      100000
         
     | 
| 
      
 140 
     | 
    
         
            +
                        });
         
     | 
| 
      
 141 
     | 
    
         
            +
             
     | 
| 
      
 142 
     | 
    
         
            +
                        // store it for future
         
     | 
| 
      
 143 
     | 
    
         
            +
                        $tile.data('dragging', true);
         
     | 
| 
      
 144 
     | 
    
         
            +
                        storeTilesCoordinates();
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
                        // some necessary event handlers
         
     | 
| 
      
 147 
     | 
    
         
            +
                        $(document).on('mousemove.tiledrag', dragTile);
         
     | 
| 
      
 148 
     | 
    
         
            +
                        $(document).on('mouseup.tiledrag', dragStop);
         
     | 
| 
      
 149 
     | 
    
         
            +
             
     | 
| 
      
 150 
     | 
    
         
            +
                        // triggering event
         
     | 
| 
      
 151 
     | 
    
         
            +
                        $groups.trigger('drag', [$draggingTile, $parentGroup]);
         
     | 
| 
      
 152 
     | 
    
         
            +
                    };
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 155 
     | 
    
         
            +
                     * it function called on every mousemove event
         
     | 
| 
      
 156 
     | 
    
         
            +
                     */
         
     | 
| 
      
 157 
     | 
    
         
            +
                    var dragTile = function (event) {
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
                        // all we need is index of tile under cursor (and under dragging tile) if it exists
         
     | 
| 
      
 160 
     | 
    
         
            +
                        var findTileIndex;
         
     | 
| 
      
 161 
     | 
    
         
            +
             
     | 
| 
      
 162 
     | 
    
         
            +
                        event.preventDefault();
         
     | 
| 
      
 163 
     | 
    
         
            +
             
     | 
| 
      
 164 
     | 
    
         
            +
                        // move dragging tile
         
     | 
| 
      
 165 
     | 
    
         
            +
                        $draggingTile.css({
         
     | 
| 
      
 166 
     | 
    
         
            +
                            'left': event.pageX - groupOffsetX - tileDeltaX,
         
     | 
| 
      
 167 
     | 
    
         
            +
                            'top':  event.pageY - groupOffsetY - tileDeltaY
         
     | 
| 
      
 168 
     | 
    
         
            +
                        });
         
     | 
| 
      
 169 
     | 
    
         
            +
             
     | 
| 
      
 170 
     | 
    
         
            +
                        findTileIndex = findTileUnderCursor(event);
         
     | 
| 
      
 171 
     | 
    
         
            +
                        if (findTileIndex) {
         
     | 
| 
      
 172 
     | 
    
         
            +
                            clearPlaceForTile($(tiles[findTileIndex]));
         
     | 
| 
      
 173 
     | 
    
         
            +
                        }
         
     | 
| 
      
 174 
     | 
    
         
            +
                    };
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 177 
     | 
    
         
            +
                     * when this function called dragging tile dropping to clear place (instead phantom tile)
         
     | 
| 
      
 178 
     | 
    
         
            +
                     * removing events
         
     | 
| 
      
 179 
     | 
    
         
            +
                     * and some other necessary changes
         
     | 
| 
      
 180 
     | 
    
         
            +
                     */
         
     | 
| 
      
 181 
     | 
    
         
            +
                    var dragStop = function (event) {
         
     | 
| 
      
 182 
     | 
    
         
            +
                        var targetGroup;
         
     | 
| 
      
 183 
     | 
    
         
            +
             
     | 
| 
      
 184 
     | 
    
         
            +
                        event.preventDefault();
         
     | 
| 
      
 185 
     | 
    
         
            +
             
     | 
| 
      
 186 
     | 
    
         
            +
                        $(document).off('mousemove.tiledrag');
         
     | 
| 
      
 187 
     | 
    
         
            +
                        $(document).off('mouseup.tiledrag');
         
     | 
| 
      
 188 
     | 
    
         
            +
             
     | 
| 
      
 189 
     | 
    
         
            +
                        $draggingTile.detach();
         
     | 
| 
      
 190 
     | 
    
         
            +
                        $draggingTile.insertAfter($phantomTile);
         
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
      
 192 
     | 
    
         
            +
                        targetGroup = $phantomTile.parents('.tile-drag');
         
     | 
| 
      
 193 
     | 
    
         
            +
                        $phantomTile.remove();
         
     | 
| 
      
 194 
     | 
    
         
            +
             
     | 
| 
      
 195 
     | 
    
         
            +
                        $draggingTile.css({
         
     | 
| 
      
 196 
     | 
    
         
            +
                            'position': '',
         
     | 
| 
      
 197 
     | 
    
         
            +
                            'left':     '',
         
     | 
| 
      
 198 
     | 
    
         
            +
                            'top':      '',
         
     | 
| 
      
 199 
     | 
    
         
            +
                            'z-index':  ''
         
     | 
| 
      
 200 
     | 
    
         
            +
                        });
         
     | 
| 
      
 201 
     | 
    
         
            +
             
     | 
| 
      
 202 
     | 
    
         
            +
                        $draggingTile.data('dragging', false);
         
     | 
| 
      
 203 
     | 
    
         
            +
             
     | 
| 
      
 204 
     | 
    
         
            +
                        $groups.trigger('drop', [$draggingTile, targetGroup]);
         
     | 
| 
      
 205 
     | 
    
         
            +
                    };
         
     | 
| 
      
 206 
     | 
    
         
            +
             
     | 
| 
      
 207 
     | 
    
         
            +
                    /*
         
     | 
| 
      
 208 
     | 
    
         
            +
                     * stores tiles coordinates for future finding one tile under cursor
         
     | 
| 
      
 209 
     | 
    
         
            +
                     * excluding current dragging tile
         
     | 
| 
      
 210 
     | 
    
         
            +
                     */
         
     | 
| 
      
 211 
     | 
    
         
            +
                    var storeTilesCoordinates = function () {
         
     | 
| 
      
 212 
     | 
    
         
            +
                        tilesCoordinates = {};
         
     | 
| 
      
 213 
     | 
    
         
            +
                        tiles.each(function (index, tile) {
         
     | 
| 
      
 214 
     | 
    
         
            +
                            var $tile, offset;
         
     | 
| 
      
 215 
     | 
    
         
            +
             
     | 
| 
      
 216 
     | 
    
         
            +
                            $tile = $(tile);
         
     | 
| 
      
 217 
     | 
    
         
            +
             
     | 
| 
      
 218 
     | 
    
         
            +
                            // we dont need dragging tile coordinates
         
     | 
| 
      
 219 
     | 
    
         
            +
                            if ($tile.data('dragging')) return;
         
     | 
| 
      
 220 
     | 
    
         
            +
             
     | 
| 
      
 221 
     | 
    
         
            +
                            offset = $tile.offset();
         
     | 
| 
      
 222 
     | 
    
         
            +
                            // it is not real coordinates related to document border
         
     | 
| 
      
 223 
     | 
    
         
            +
                            // but corrected for less computing during dragging (tile moving)
         
     | 
| 
      
 224 
     | 
    
         
            +
                            tilesCoordinates[index] = {
         
     | 
| 
      
 225 
     | 
    
         
            +
                                x1: offset.left + tileDeltaX - draggingTileWidth / 2,
         
     | 
| 
      
 226 
     | 
    
         
            +
                                y1: offset.top + tileDeltaY - draggingTileHeight / 2,
         
     | 
| 
      
 227 
     | 
    
         
            +
                                x2: offset.left + $tile.outerWidth() + tileDeltaX - draggingTileWidth / 2,
         
     | 
| 
      
 228 
     | 
    
         
            +
                                y2: offset.top + $tile.outerHeight() + tileDeltaY - draggingTileHeight / 2
         
     | 
| 
      
 229 
     | 
    
         
            +
                            }
         
     | 
| 
      
 230 
     | 
    
         
            +
                        });
         
     | 
| 
      
 231 
     | 
    
         
            +
                    };
         
     | 
| 
      
 232 
     | 
    
         
            +
             
     | 
| 
      
 233 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 234 
     | 
    
         
            +
                     * search tile under cursor using tileCoordinates from storeTilesCoordinates function
         
     | 
| 
      
 235 
     | 
    
         
            +
                     * search occurred only one time per ten times for less load and more smooth
         
     | 
| 
      
 236 
     | 
    
         
            +
                     */
         
     | 
| 
      
 237 
     | 
    
         
            +
                    var findTileUnderCursor = function (event) {
         
     | 
| 
      
 238 
     | 
    
         
            +
                        var i, coord,
         
     | 
| 
      
 239 
     | 
    
         
            +
                            tileIndex = false,
         
     | 
| 
      
 240 
     | 
    
         
            +
                            tileSide;
         
     | 
| 
      
 241 
     | 
    
         
            +
             
     | 
| 
      
 242 
     | 
    
         
            +
                        if (tileSearchCount < 10) {
         
     | 
| 
      
 243 
     | 
    
         
            +
                            tileSearchCount++;
         
     | 
| 
      
 244 
     | 
    
         
            +
                            return false;
         
     | 
| 
      
 245 
     | 
    
         
            +
                        }
         
     | 
| 
      
 246 
     | 
    
         
            +
                        tileSearchCount = 0;
         
     | 
| 
      
 247 
     | 
    
         
            +
             
     | 
| 
      
 248 
     | 
    
         
            +
                        for (i in tilesCoordinates) {
         
     | 
| 
      
 249 
     | 
    
         
            +
                            if (!tilesCoordinates.hasOwnProperty(i)) return;
         
     | 
| 
      
 250 
     | 
    
         
            +
                            coord = tilesCoordinates[i];
         
     | 
| 
      
 251 
     | 
    
         
            +
                            if (coord.x1 < event.pageX && event.pageX < coord.x2 && coord.y1 < event.pageY && event.pageY < coord.y2) {
         
     | 
| 
      
 252 
     | 
    
         
            +
                                tileIndex = i;
         
     | 
| 
      
 253 
     | 
    
         
            +
                                break;
         
     | 
| 
      
 254 
     | 
    
         
            +
                            }
         
     | 
| 
      
 255 
     | 
    
         
            +
                        }
         
     | 
| 
      
 256 
     | 
    
         
            +
             
     | 
| 
      
 257 
     | 
    
         
            +
                        // detect side of tile (left or right) to clear place before or after tile
         
     | 
| 
      
 258 
     | 
    
         
            +
                        if (tileIndex) {
         
     | 
| 
      
 259 
     | 
    
         
            +
                            if (event.pageX < coord.x1 + $(tiles[tileIndex]).outerWidth() / 2) {
         
     | 
| 
      
 260 
     | 
    
         
            +
                                tileSide = 'before';
         
     | 
| 
      
 261 
     | 
    
         
            +
                            } else {
         
     | 
| 
      
 262 
     | 
    
         
            +
                                tileSide = 'after';
         
     | 
| 
      
 263 
     | 
    
         
            +
                            }
         
     | 
| 
      
 264 
     | 
    
         
            +
                        }
         
     | 
| 
      
 265 
     | 
    
         
            +
                        if (tileSide === tileUnderCursorSide && tileIndex === tileUnderCursorIndex) {
         
     | 
| 
      
 266 
     | 
    
         
            +
                            return false;
         
     | 
| 
      
 267 
     | 
    
         
            +
                        }
         
     | 
| 
      
 268 
     | 
    
         
            +
                        tileUnderCursorSide = tileSide;
         
     | 
| 
      
 269 
     | 
    
         
            +
                        tileUnderCursorIndex = tileIndex;
         
     | 
| 
      
 270 
     | 
    
         
            +
             
     | 
| 
      
 271 
     | 
    
         
            +
                        return tileIndex;
         
     | 
| 
      
 272 
     | 
    
         
            +
                    };
         
     | 
| 
      
 273 
     | 
    
         
            +
             
     | 
| 
      
 274 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 275 
     | 
    
         
            +
                     * just put phantom tile near tile under cursor (before or after)
         
     | 
| 
      
 276 
     | 
    
         
            +
                     * and remove previous phantom tile
         
     | 
| 
      
 277 
     | 
    
         
            +
                     */
         
     | 
| 
      
 278 
     | 
    
         
            +
                    var clearPlaceForTile = function ($tileUnderCursor) {
         
     | 
| 
      
 279 
     | 
    
         
            +
                        var $oldPhantomTile,
         
     | 
| 
      
 280 
     | 
    
         
            +
                            groupOffset;
         
     | 
| 
      
 281 
     | 
    
         
            +
             
     | 
| 
      
 282 
     | 
    
         
            +
                        $oldPhantomTile = $phantomTile;
         
     | 
| 
      
 283 
     | 
    
         
            +
                        $phantomTile = $oldPhantomTile.clone();
         
     | 
| 
      
 284 
     | 
    
         
            +
             
     | 
| 
      
 285 
     | 
    
         
            +
                        // before or after, this is question ...
         
     | 
| 
      
 286 
     | 
    
         
            +
                        if (tileUnderCursorSide === 'before') {
         
     | 
| 
      
 287 
     | 
    
         
            +
                            $phantomTile.insertBefore($tileUnderCursor);
         
     | 
| 
      
 288 
     | 
    
         
            +
                        } else {
         
     | 
| 
      
 289 
     | 
    
         
            +
                            $phantomTile.insertAfter($tileUnderCursor);
         
     | 
| 
      
 290 
     | 
    
         
            +
                        }
         
     | 
| 
      
 291 
     | 
    
         
            +
             
     | 
| 
      
 292 
     | 
    
         
            +
                        $oldPhantomTile.remove();
         
     | 
| 
      
 293 
     | 
    
         
            +
                        // it is necessary to store new tile coordinates
         
     | 
| 
      
 294 
     | 
    
         
            +
                        storeTilesCoordinates();
         
     | 
| 
      
 295 
     | 
    
         
            +
                        // and parent group coordinates
         
     | 
| 
      
 296 
     | 
    
         
            +
                        groupOffset = $parentGroup.offset();
         
     | 
| 
      
 297 
     | 
    
         
            +
                        groupOffsetX = groupOffset.left;
         
     | 
| 
      
 298 
     | 
    
         
            +
                        groupOffsetY = groupOffset.top;
         
     | 
| 
      
 299 
     | 
    
         
            +
                    };
         
     | 
| 
      
 300 
     | 
    
         
            +
             
     | 
| 
      
 301 
     | 
    
         
            +
                    // return all groups involved to this plugin
         
     | 
| 
      
 302 
     | 
    
         
            +
                    plugin.getGroups = function () {
         
     | 
| 
      
 303 
     | 
    
         
            +
                        return $groups;
         
     | 
| 
      
 304 
     | 
    
         
            +
                    };
         
     | 
| 
      
 305 
     | 
    
         
            +
             
     | 
| 
      
 306 
     | 
    
         
            +
                    plugin.init();
         
     | 
| 
      
 307 
     | 
    
         
            +
             
     | 
| 
      
 308 
     | 
    
         
            +
                };
         
     | 
| 
      
 309 
     | 
    
         
            +
             
     | 
| 
      
 310 
     | 
    
         
            +
                $.fn.TileDrag = function(options) {
         
     | 
| 
      
 311 
     | 
    
         
            +
             
     | 
| 
      
 312 
     | 
    
         
            +
                    return this.each(function() {
         
     | 
| 
      
 313 
     | 
    
         
            +
                        if (undefined == $(this).data('TileDrag')) {
         
     | 
| 
      
 314 
     | 
    
         
            +
                            var plugin = new $.TileDrag(this, options);
         
     | 
| 
      
 315 
     | 
    
         
            +
                            var $groups = plugin.getGroups();
         
     | 
| 
      
 316 
     | 
    
         
            +
                            $groups.data('TileDrag', plugin);
         
     | 
| 
      
 317 
     | 
    
         
            +
                        }
         
     | 
| 
      
 318 
     | 
    
         
            +
                    });
         
     | 
| 
      
 319 
     | 
    
         
            +
             
     | 
| 
      
 320 
     | 
    
         
            +
                };
         
     | 
| 
      
 321 
     | 
    
         
            +
             
     | 
| 
      
 322 
     | 
    
         
            +
            })(jQuery);
         
     | 
| 
      
 323 
     | 
    
         
            +
             
     | 
| 
      
 324 
     | 
    
         
            +
            $(function(){
         
     | 
| 
      
 325 
     | 
    
         
            +
                var allTileGroups = $('[data-role=tile-drag], .tile-drag');
         
     | 
| 
      
 326 
     | 
    
         
            +
                allTileGroups.each(function (index, tileGroup) {
         
     | 
| 
      
 327 
     | 
    
         
            +
                    var params = {};
         
     | 
| 
      
 328 
     | 
    
         
            +
                    $tileGroup = $(tileGroup);
         
     | 
| 
      
 329 
     | 
    
         
            +
                    params.group         = $tileGroup.data('paramGroup');
         
     | 
| 
      
 330 
     | 
    
         
            +
                    $tileGroup.TileDrag(params);
         
     | 
| 
      
 331 
     | 
    
         
            +
                });
         
     | 
| 
      
 332 
     | 
    
         
            +
            });
         
     | 
| 
         @@ -8,6 +8,8 @@ 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            @logo: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGESURBVFhH7ZevTsNQFIfbZgKxB9gjIHgABAIcS0CSQIJE4LEIEgQCyQNMIiHhIRAgEAgECWKIySUTCEjLd3t/Cyml3em6DtMvOTn33PM3XdvbBU2SJMmKlssnjuNtZIisa2t50HQNmXAFEvQHsi9X89CzR8M31/wXZwppDpp0aX7v++XBd41q7r5Qg1I0YE8pQYixqbWFpzAMx1pnoPA5vlOZpdDzHdWPoujZGVX4c1iaH8pvhpwJshOpxtxQawM18JYdrlYXdbKIAa4o1pFphrxX8g5qD0CRPsUeZZogfkzeLjJaxAAjZIuit9oqhbgv4veQl+lGFQqfGHwdbqpLH1YMMUdK8WjfysxHlgbHyKfiM7B/obAf5LNiemfQyB1E6VkwBfsGlb9ZvduM+aVFQ3cgDV0S+gHlHrs8LqAC5gEcxLuD6c5pbeVJy9qpNECLCV1aK+lPwO86kD0TF5s2KqD2m7Au7QDtAO0A7QD/PsBcf0zIWWVdfMRmcd+M/vsvRxB8A6+/IU2N93KYAAAAAElFTkSuQmCC);
         
     | 
| 
       10 
10 
     | 
    
         
             
            @img-back-button: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAbrSURBVGhDzZpPaBRXHMdnZkMJsocchO4hJhYsBAm9GEVxYyJ4ULSQoEIpuQQqeOghpUorIlWsKNQSCx56KQgKFhQSUVBoS02yMYKR9hCk0FCN7mELOaSYSg7ZnX6+b94uyWY3zmw3u/lCMvP+zHvf7+/93m/ee7OuUyV07d69M+d53a7vv+u4brPvOAnH95tNoetm6ChDOu277t9eLpdyGhpSIyMji6b8f6BiAV1dXY3ZbLbbc5zDkN3vQtoWhYLv+7M88yDn+3disdgDxMzbokiILADiDblcrg8GFyGQsNkGCJmiwSnKMrI0WZmgxEnYkUlQZwt1Omy+AWLmKDvned73CFmw2aEQSUAymTwE6Ys81K40HS+SfgipO3Q+TOdpU/EtwAgbMUIP7RykDY1eo/K5n6atc6lU6oapGAKhBNBh3M/lrnPbo7Qh7jg33FjsFKTzVq4ItN3kZ7OnIf5pQYjjpDDI0TBtv1UAHTRjrft5q4Nh1/NE/A+brgrUD0LOQ74PIQ0YKc1k7x159GjSVimJVQWYyOK6QzSYoMEFGj8WZXgrAW66D1K36LOJPudtnz/a4hUoK8CS/4mG4jSU8Xy/d2R8/LEtXlMwGm25bFaGa1MaEf1jY2PXTGERSgowbpPNPjGWJ6rgjwfCTtBqQXMD170LwaRGHwPuLWXAFQJ4MM6DExS0G8vHYttrTT4PwyUwZFs5LryHlkPRxpKX6t56kRfoex7SH8JFL70Ehh1CVIMtNlgmQHGeSxAqmTy18vnVgIhpDHkUEQrdHYj4xBYZFFxIyij8TdYnOTw6NtYblKwP7EkmB3lbD1hXel+jo/zCCEC+z7rOouK8zV434KV5AW5z1pVO2OxgBLB+I5PluQp5zV4bTaX6TWkF2LFjRzPtFPz09evXs8+ePatooVaMzs7OsxD+CiGaGxqFjBkBrSpF3lif5YGpXQE6OjoGsM4r2ntu/7T8qBoI55fgqAmtSGnmqhHAv8O6UvBQqnQfFSLPZTBIGaTevHlzoFrWF+C2wAgM656r4WwEEHH22+sdXaOiFuTzyFmOjERS7wlPSwYsbzYjWhLrGgW1JC+w+flZcwDO2lAd8rQNVIGWDAxRpJdWrckLxo1wdd3jPl2e2SkBfGpK17CoB/kCfD9YyhN4PP4Fe1leEOYaAnUlD+x2VV7T7BJbx7B+ksQplqyXTI1VUExeoZfLFf7+NRlVwNOnT8/a25JgydPnue51+k67ncmkXmCbEVB2zZ1HCcuvCSYnJ7FpeRB4un3P+1X3CqPmrWktuSqo02pv1w3kQlr772QETjICl21+WWzbtm2QEdNIGCBKxyBX+aulC32EC92k74y7p7NziLwemFxmDXQyqLI6EPElIi7apFDTSYzRBzD6IEb/3YN4EPu1kAsJLKTJ/lmQMkhu2LDh/tatW+M2vaZYEvrT3pKQZDbQYcFEU+SpjwjX3WKu2huYg1blEWRYW2w0BSFRDxHaeOH7+3SP8cc9nRKTMauM/BI1Cmotwi79dWa0yNrtnsfaQuebD1TIKBw0tSKiliKI+wFH130M91mznNYRt66o2s8QNek+KmohwriP4xyxScPZCND5POS132zUQavyKoFE0MZ22tpr/87E4/GKDFIKuPhx2m+mXbnPbeXhNQGIrSdIfEPhgt1v1u08qBS0eWHf/icCtG+/wjvLjLYZAQFFVyH/wo7CeZu9bqCTCJGH45xOKGy2E7NXZ2ZmZrG1tfUfRqEHP2tvaWmZePny5V+2uK7o2rWrnZD5AwLeYfJeGB0dNUFHKIyAoNUo5FNUbEDILYYt0sttLQCHRC4WuwsnnZJP4ynL1mvLBAhU0DFemgeadMRdaVSqBhR1cB19K9gMp3kvm9VZ7bJvaCsEUCGjLyN6gAfb/OBAde2XB0UQefq+iScklcYz+kcmJlZse1cIEPRZhweO2WS3jrhpMFh/1AD0peNDbViCmO/7X6dSKRM2i1GYxMVgAk+1tLbO8LC+Iiawxsfvbdr0ZObVqxe2yppAEzbnOL/Q5wcmA/KEzDPmvgQK74FyKPpOpiPuqwpjeo3bKlWB3FShEsKf05cmrL6P9ZezfB5vFSDQuL5UDlHZfKCmcX2Y/o4Jf6l4UkWFfJ22j9PoaRlJebQ/bSZsCZ8vRigBQpmOZmlgWMd9OjELK0ZtaVXJBDyIlY/QnjnasYb5VqEybFuhBeRB5/r4NkBvX9Cx+TAtaMhJP+RmSpsk0pmYPWvKIlii7c8NtlC2j3QhPJOu2DUjC8gDIYoU+rnAYQgkl4oJA5HWkphb/UzhNsQrCg4VC1gKxMTNQSu3kNKn2WYYyup518iQr5/cpEnohyDjkL4X1dor4Tj/AaxI26ezfxeLAAAAAElFTkSuQmCC);
         
     | 
| 
      
 11 
     | 
    
         
            +
            @img-back-button-white: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAVESURBVGhDzZoxiFRJEIZ3hg0MNjAQnGADAw+EMzAw2EBxMzcw8MBgL9vQcA82EDRQLlgDRY9DEAwu8OCSAw/2QI8NDPQwuEDFQEThghUcUVBQUFB2/f7uej39Zt7M9NuZ92Z/qO3uqu6q6nnV/fpVb2NqTNjc3JxrNBrzW1tbe2nOQi0rhbbRS+g1/e5T3qf8SjkZ4OgunF6AbkAbtEuBMW+gm9ApmjOmtnpgbBpawvArOTIOoOsdtEx1l5lJRqkQwsgJilUe/UHP6QDjCo870GOoTZ8sZCRr0W6ppPk9tEB7v2QxkL+guNBsNn/3nDEBxTM4f4syB3jPKc5THrauyWDcAegMYx9KVwx49yg02dGBslnoiVftQVvxq0c+bd1GAnoUkv875QbaG1DpHyYHFMxBIdapf4FWqe62LmMDOrUprECfnDFA/QO0aF3KgYFy/oPpypRpDVQKs9u9QSyZOA0oUNjEv7xi/YCJKwe2Wtj8zxkH1D9BcyYeDPprwYaYN+f3mLg2YFN+PHBOAOqvoOzF2B90CrsNdYVQbb98N7CtJxFektT1VPpvHHQ44bu6zlqwlcf8MODDYShei6dNlAeyaYRx6KyaaOKQ0+aW/NLaDEeP8CaGqZX+m9Xf8qb8DnqvdgqkFFpmTPcjvg5Pb+VtA706vjxBTxbOF6ift7rroD043nWWTZQEhmjB6e2ZQ1k9g4C6k16r06uQ6rypYSx4kRNq10l+w9K3cuczoPOuqZf+zlqgccP4QufRDAF9a3NeQPWSt+BsrBvbTSDeqpLOH3St1XkB9Xu8FWdHR44ZOT/nWY65YX0Hgq61O58htkt9sclqnjeZoPP8QDBOu81txh0xlgO8nzjHX7VmlfjHSuFYE8P6hs2gj5G+2AHOC4+sFFpN/sTni7779Q5xXoh9nG0opiKnjlJXxiCHAc5fhfeLNavAZ/TnflT8nYXn1ir2X4oRfwntc70iwCtcsHUAu3fNjRxM7KAQCi8t2j15Gnhr3b/8ToIm4DIHhqLz9rWiiU0K+BKOENTbWgO3+IVPGu8H6n9ZPYA+pyj+QJY7YqDgT4qPvjV+YO8ZdNGaDtg8RPHQ6o/k3K9UHKgXn7WBJgF9sa4OtLU26suqAWzG57Y1hdBrL3JQ0qkQbJX6tX9kXAgnfp0jtG9DdU4iTqq19RiUkHVgRs9N0Bf0meiTwNa6t+qwpAnoS+yNbzsM/Qae1CSkP7NrpU820LgppuGMYw4BY2qfBPoXvSVvy9jeGeNL4FZ4CjQOqm0S6I4zJivGDo/mnRc5JGfCGFfLJNAXr1XZy58aYK54seug40Vyrp7+lU8CfXGS64qxO4CvD/twLqLeeUQJoH9lk5Bur9HpVKQUZwoRxN+c6fnICoEP+6GwS1I/Z6Ji0EG/mgN1pVrGc9GwDWBba7M7Tzs4tOlQlI8sfXc1KrCp99OacwJQV3q/52qrEHTszkdqAdX2JLClXz44L9DWgTIdDAgvDYH26Fc+CcCGYr77SutnE5cDY3V31X3lo0RrcuauDNCtnSw+1mzf+Qwo6Lnyof2UIvuGGBnomkdn2OcF2vqxyoVNP6BIV07hyicDPOUqtfWWvsFhjOJ8ESq8voWSFmxIrw8DepXi1gfPWb4DehY0MmUzlHRS3kaZhDbfEOGimyK76JZjx6H5gi88pfMvw78EffbcMQMjuyFdboe1MSrQpdugK1Tru4vDmN4Xp6H17UzGnL4H6QzWk85JRXIIDQIOKPGl+7RjkMLE/bsNYeCyHMhcSEEKKf0fxb+Uf1O+pRwBU1PfACwo53PCh30zAAAAAElFTkSuQmCC);
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
       11 
13 
     | 
    
         | 
| 
       12 
14 
     | 
    
         
             
            .modern-ui-logo, .metro-ui-logo {
         
     | 
| 
       13 
15 
     | 
    
         
             
                height: 28px;
         
     | 
| 
         @@ -38,6 +40,10 @@ 
     | 
|
| 
       38 
40 
     | 
    
         
             
                }
         
     | 
| 
       39 
41 
     | 
    
         
             
                &.page-back {
         
     | 
| 
       40 
42 
     | 
    
         
             
                }
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
                &.white {
         
     | 
| 
      
 45 
     | 
    
         
            +
                    background-image: @img-back-button-white;
         
     | 
| 
      
 46 
     | 
    
         
            +
                }
         
     | 
| 
       41 
47 
     | 
    
         
             
            }
         
     | 
| 
       42 
48 
     | 
    
         | 
| 
       43 
49 
     | 
    
         
             
            button, .button {
         
     | 
| 
         @@ -89,6 +95,9 @@ a.button { 
     | 
|
| 
       89 
95 
     | 
    
         
             
                &:hover, &:active {
         
     | 
| 
       90 
96 
     | 
    
         
             
                    color: inherit;
         
     | 
| 
       91 
97 
     | 
    
         
             
                }
         
     | 
| 
      
 98 
     | 
    
         
            +
                &.big {
         
     | 
| 
      
 99 
     | 
    
         
            +
                    padding: 14px 10px;
         
     | 
| 
      
 100 
     | 
    
         
            +
                }
         
     | 
| 
       92 
101 
     | 
    
         
             
            }
         
     | 
| 
       93 
102 
     | 
    
         | 
| 
       94 
103 
     | 
    
         
             
            button, .button, .tool-button {
         
     | 
| 
         @@ -260,15 +260,22 @@ 
     | 
|
| 
       260 
260 
     | 
    
         | 
| 
       261 
261 
     | 
    
         
             
            //Input text, password, ...
         
     | 
| 
       262 
262 
     | 
    
         | 
| 
       263 
     | 
    
         
            -
            .input-control > input[type=text], 
     | 
| 
      
 263 
     | 
    
         
            +
            .input-control > input[type=text],
         
     | 
| 
      
 264 
     | 
    
         
            +
            .input-control > input[type=email],
         
     | 
| 
      
 265 
     | 
    
         
            +
            .input-control > input[type=url],
         
     | 
| 
      
 266 
     | 
    
         
            +
            .input-control > input[type=phone],
         
     | 
| 
      
 267 
     | 
    
         
            +
            .input-control > input[type=password],
         
     | 
| 
      
 268 
     | 
    
         
            +
            .input-control > select,
         
     | 
| 
      
 269 
     | 
    
         
            +
            .input-control > textarea {
         
     | 
| 
       264 
270 
     | 
    
         
             
                border: 2px #bababa solid;
         
     | 
| 
       265 
271 
     | 
    
         
             
                width: 100%;
         
     | 
| 
       266 
272 
     | 
    
         
             
                padding: 4px 32px 6px 5px;
         
     | 
| 
       267 
     | 
    
         
            -
                .pos-rel;
         
     | 
| 
       268 
273 
     | 
    
         
             
                background-color: #fff;
         
     | 
| 
       269 
274 
     | 
    
         
             
                outline: 0;
         
     | 
| 
       270 
275 
     | 
    
         
             
                margin-right: 32px;
         
     | 
| 
       271 
     | 
    
         
            -
                 
     | 
| 
      
 276 
     | 
    
         
            +
                min-height: 32px;
         
     | 
| 
      
 277 
     | 
    
         
            +
                .pos-rel;
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
       272 
279 
     | 
    
         | 
| 
       273 
280 
     | 
    
         
             
                &:disabled {
         
     | 
| 
       274 
281 
     | 
    
         
             
                    background-color: #eaeaea;
         
     | 
| 
         @@ -278,6 +285,17 @@ 
     | 
|
| 
       278 
285 
     | 
    
         
             
                }
         
     | 
| 
       279 
286 
     | 
    
         
             
            }
         
     | 
| 
       280 
287 
     | 
    
         | 
| 
      
 288 
     | 
    
         
            +
            .input-control > input[type=text]::-ms-clear,
         
     | 
| 
      
 289 
     | 
    
         
            +
            .input-control > input[type=email]::-ms-clear,
         
     | 
| 
      
 290 
     | 
    
         
            +
            .input-control > input[type=url]::-ms-clear,
         
     | 
| 
      
 291 
     | 
    
         
            +
            .input-control > input[type=phone]::-ms-clear {
         
     | 
| 
      
 292 
     | 
    
         
            +
                display: none;
         
     | 
| 
      
 293 
     | 
    
         
            +
            }
         
     | 
| 
      
 294 
     | 
    
         
            +
            .input-control > input[type=password]::-ms-reveal {
         
     | 
| 
      
 295 
     | 
    
         
            +
                display: none;
         
     | 
| 
      
 296 
     | 
    
         
            +
            }
         
     | 
| 
      
 297 
     | 
    
         
            +
             
     | 
| 
      
 298 
     | 
    
         
            +
             
     | 
| 
       281 
299 
     | 
    
         
             
            .input-control > select {
         
     | 
| 
       282 
300 
     | 
    
         
             
                padding-right: 5px;
         
     | 
| 
       283 
301 
     | 
    
         
             
            }
         
     | 
| 
         @@ -307,31 +325,40 @@ 
     | 
|
| 
       307 
325 
     | 
    
         
             
                position: relative;
         
     | 
| 
       308 
326 
     | 
    
         | 
| 
       309 
327 
     | 
    
         
             
                &.text, &.password {
         
     | 
| 
       310 
     | 
    
         
            -
                    .helper {
         
     | 
| 
      
 328 
     | 
    
         
            +
                    .helper, .btn-search {
         
     | 
| 
       311 
329 
     | 
    
         
             
                        background: #fff;// @textbox_pass_inactive_icon 50% no-repeat;
         
     | 
| 
       312 
     | 
    
         
            -
                        right: 3px;
         
     | 
| 
       313 
330 
     | 
    
         
             
                        top: 2px;
         
     | 
| 
       314 
     | 
    
         
            -
                        width: 26px;
         
     | 
| 
       315 
     | 
    
         
            -
                        height:  
     | 
| 
      
 331 
     | 
    
         
            +
                        width: 26px !important;
         
     | 
| 
      
 332 
     | 
    
         
            +
                        height: 27px !important;
         
     | 
| 
      
 333 
     | 
    
         
            +
                        min-width: 26px !important;
         
     | 
| 
      
 334 
     | 
    
         
            +
                        min-height: 27px !important;
         
     | 
| 
       316 
335 
     | 
    
         
             
                        cursor: pointer;
         
     | 
| 
       317 
336 
     | 
    
         
             
                        color: #000;
         
     | 
| 
       318 
     | 
    
         
            -
                         
     | 
| 
      
 337 
     | 
    
         
            +
                        position: absolute;
         
     | 
| 
      
 338 
     | 
    
         
            +
                        left: 100%;
         
     | 
| 
      
 339 
     | 
    
         
            +
                        margin-left: -28px;
         
     | 
| 
      
 340 
     | 
    
         
            +
                        display: block;
         
     | 
| 
      
 341 
     | 
    
         
            +
                        border: 1px #fff solid;
         
     | 
| 
       319 
342 
     | 
    
         | 
| 
       320 
343 
     | 
    
         
             
                        &:before {
         
     | 
| 
      
 344 
     | 
    
         
            +
                            //content: "";
         
     | 
| 
       321 
345 
     | 
    
         
             
                            font-size: 12pt;
         
     | 
| 
       322 
     | 
    
         
            -
                             
     | 
| 
      
 346 
     | 
    
         
            +
                            position: absolute;
         
     | 
| 
       323 
347 
     | 
    
         
             
                            #font > .normal;
         
     | 
| 
       324 
348 
     | 
    
         
             
                        }
         
     | 
| 
       325 
349 
     | 
    
         | 
| 
      
 350 
     | 
    
         
            +
             
     | 
| 
       326 
351 
     | 
    
         
             
                        &:hover {
         
     | 
| 
       327 
352 
     | 
    
         
             
                            background: #d9d9d9;// @textbox_pass_inactive_icon 50% no-repeat;
         
     | 
| 
       328 
353 
     | 
    
         
             
                        }
         
     | 
| 
       329 
354 
     | 
    
         | 
| 
       330 
355 
     | 
    
         
             
                        &:active {
         
     | 
| 
       331 
356 
     | 
    
         
             
                            background-color: #000;
         
     | 
| 
      
 357 
     | 
    
         
            +
             
     | 
| 
       332 
358 
     | 
    
         
             
                            &:before {
         
     | 
| 
       333 
359 
     | 
    
         
             
                                color: #fff;
         
     | 
| 
       334 
360 
     | 
    
         
             
                            }
         
     | 
| 
      
 361 
     | 
    
         
            +
             
     | 
| 
       335 
362 
     | 
    
         
             
                        }
         
     | 
| 
       336 
363 
     | 
    
         
             
                    }
         
     | 
| 
       337 
364 
     | 
    
         
             
                }
         
     | 
| 
         @@ -346,11 +373,28 @@ 
     | 
|
| 
       346 
373 
     | 
    
         
             
                }
         
     | 
| 
       347 
374 
     | 
    
         
             
                &.text {
         
     | 
| 
       348 
375 
     | 
    
         
             
                    .helper {
         
     | 
| 
      
 376 
     | 
    
         
            +
             
     | 
| 
       349 
377 
     | 
    
         
             
                        &:before {
         
     | 
| 
       350 
     | 
    
         
            -
                             
     | 
| 
      
 378 
     | 
    
         
            +
                            font-family: iconFont;
         
     | 
| 
      
 379 
     | 
    
         
            +
                            font-size: 12px;
         
     | 
| 
      
 380 
     | 
    
         
            +
                            content: "\e089";
         
     | 
| 
       351 
381 
     | 
    
         
             
                            left: 7px;
         
     | 
| 
       352 
     | 
    
         
            -
                            top:  
     | 
| 
      
 382 
     | 
    
         
            +
                            top: 3px;
         
     | 
| 
       353 
383 
     | 
    
         
             
                        }
         
     | 
| 
      
 384 
     | 
    
         
            +
             
     | 
| 
      
 385 
     | 
    
         
            +
                    }
         
     | 
| 
      
 386 
     | 
    
         
            +
                }
         
     | 
| 
      
 387 
     | 
    
         
            +
                &.text {
         
     | 
| 
      
 388 
     | 
    
         
            +
                    .btn-search {
         
     | 
| 
      
 389 
     | 
    
         
            +
             
     | 
| 
      
 390 
     | 
    
         
            +
                        &:before {
         
     | 
| 
      
 391 
     | 
    
         
            +
                            font-family: iconFont;
         
     | 
| 
      
 392 
     | 
    
         
            +
                            font-size: 12px;
         
     | 
| 
      
 393 
     | 
    
         
            +
                            content: "\e041";
         
     | 
| 
      
 394 
     | 
    
         
            +
                            left: 7px;
         
     | 
| 
      
 395 
     | 
    
         
            +
                            top: 3px;
         
     | 
| 
      
 396 
     | 
    
         
            +
                        }
         
     | 
| 
      
 397 
     | 
    
         
            +
             
     | 
| 
       354 
398 
     | 
    
         
             
                    }
         
     | 
| 
       355 
399 
     | 
    
         
             
                }
         
     | 
| 
       356 
400 
     | 
    
         
             
            }
         
     |