Commit 813814f02ed7bf226782861820570117fa196026

Authored by Dmitriy Zaporozhets
1 parent 4ce034ca

Application cleanup

@@ -76,10 +76,6 @@ gem 'settingslogic' @@ -76,10 +76,6 @@ gem 'settingslogic'
76 gem "foreman" 76 gem "foreman"
77 gem "git" 77 gem "git"
78 78
79 -# Unused  
80 -gem 'tabs_on_rails'  
81 -gem "acts_as_list"  
82 -  
83 group :assets do 79 group :assets do
84 gem "sass-rails", "3.2.5" 80 gem "sass-rails", "3.2.5"
85 gem "coffee-rails", "3.2.2" 81 gem "coffee-rails", "3.2.2"
@@ -91,7 +87,7 @@ group :assets do @@ -91,7 +87,7 @@ group :assets do
91 gem "jquery-ui-rails", "0.5.0" 87 gem "jquery-ui-rails", "0.5.0"
92 gem "modernizr", "2.5.3" 88 gem "modernizr", "2.5.3"
93 gem "raphael-rails", "1.5.2" 89 gem "raphael-rails", "1.5.2"
94 - gem 'bootstrap-sass', "2.0.3.1" 90 + gem 'bootstrap-sass', "2.0.4"
95 end 91 end
96 92
97 group :development do 93 group :development do
@@ -98,7 +98,6 @@ GEM @@ -98,7 +98,6 @@ GEM
98 multi_json (~> 1.0) 98 multi_json (~> 1.0)
99 acts-as-taggable-on (2.3.1) 99 acts-as-taggable-on (2.3.1)
100 rails (~> 3.0) 100 rails (~> 3.0)
101 - acts_as_list (0.1.6)  
102 addressable (2.2.8) 101 addressable (2.2.8)
103 ansi (1.4.2) 102 ansi (1.4.2)
104 arel (3.0.2) 103 arel (3.0.2)
@@ -109,7 +108,7 @@ GEM @@ -109,7 +108,7 @@ GEM
109 awesome_print (1.0.2) 108 awesome_print (1.0.2)
110 bcrypt-ruby (3.0.1) 109 bcrypt-ruby (3.0.1)
111 blankslate (2.1.2.4) 110 blankslate (2.1.2.4)
112 - bootstrap-sass (2.0.3.1) 111 + bootstrap-sass (2.0.4.0)
113 builder (3.0.0) 112 builder (3.0.0)
114 capybara (1.1.2) 113 capybara (1.1.2)
115 mime-types (>= 1.16) 114 mime-types (>= 1.16)
@@ -338,7 +337,6 @@ GEM @@ -338,7 +337,6 @@ GEM
338 tilt (~> 1.1, != 1.3.0) 337 tilt (~> 1.1, != 1.3.0)
339 sqlite3 (1.3.6) 338 sqlite3 (1.3.6)
340 stamp (0.1.6) 339 stamp (0.1.6)
341 - tabs_on_rails (2.1.1)  
342 therubyracer (0.10.1) 340 therubyracer (0.10.1)
343 libv8 (~> 3.3.10) 341 libv8 (~> 3.3.10)
344 thin (1.3.1) 342 thin (1.3.1)
@@ -375,12 +373,11 @@ PLATFORMS @@ -375,12 +373,11 @@ PLATFORMS
375 373
376 DEPENDENCIES 374 DEPENDENCIES
377 acts-as-taggable-on (= 2.3.1) 375 acts-as-taggable-on (= 2.3.1)
378 - acts_as_list  
379 annotate! 376 annotate!
380 autotest 377 autotest
381 autotest-rails 378 autotest-rails
382 awesome_print 379 awesome_print
383 - bootstrap-sass (= 2.0.3.1) 380 + bootstrap-sass (= 2.0.4)
384 capybara 381 capybara
385 capybara-webkit 382 capybara-webkit
386 carrierwave 383 carrierwave
@@ -431,7 +428,6 @@ DEPENDENCIES @@ -431,7 +428,6 @@ DEPENDENCIES
431 six 428 six
432 sqlite3 429 sqlite3
433 stamp 430 stamp
434 - tabs_on_rails  
435 therubyracer 431 therubyracer
436 thin 432 thin
437 turn 433 turn
app/assets/javascripts/application.js
@@ -7,8 +7,6 @@ @@ -7,8 +7,6 @@
7 //= require jquery 7 //= require jquery
8 //= require jquery.ui.all 8 //= require jquery.ui.all
9 //= require jquery_ujs 9 //= require jquery_ujs
10 -//= require jquery.ui.selectmenu  
11 -//= require jquery.tagify  
12 //= require jquery.cookie 10 //= require jquery.cookie
13 //= require jquery.endless-scroll 11 //= require jquery.endless-scroll
14 //= require jquery.highlight 12 //= require jquery.highlight
app/assets/stylesheets/application.css
@@ -3,8 +3,7 @@ @@ -3,8 +3,7 @@
3 * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at 3 * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4 * the top of the compiled file, but it's generally better to create a new file per style scope. 4 * the top of the compiled file, but it's generally better to create a new file per style scope.
5 *= require jquery.ui.all 5 *= require jquery.ui.all
6 - *= require jquery-ui/jquery.ui.selectmenu  
7 - *= require jquery-ui/jquery.tagify 6 + *= require jquery.ui.aristo
8 *= require chosen 7 *= require chosen
9 *= require_self 8 *= require_self
10 *= require main 9 *= require main
app/assets/stylesheets/jquery_ui.scss
@@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
1 -/**  
2 - * JQUERY UI datepicker  
3 - *  
4 - */  
5 -.ui-datepicker {  
6 - border-color:#eee;  
7 - padding:20px;  
8 -  
9 - .ui-state-default {  
10 - background:#f1f1f1;  
11 - padding:5px;  
12 - }  
13 - .ui-state-active {  
14 - background:#fff;  
15 - }  
16 -}  
17 -  
18 -/**  
19 - * JQUERY UI progressbar  
20 - *  
21 - */  
22 -.ui-progressbar {  
23 - border:1px solid #ddd;  
24 - height:6px;  
25 - margin:0;  
26 - padding:0;  
27 -  
28 - .ui-progressbar-value {  
29 - background-color: #62C462;//$blue_link;  
30 - margin:0;  
31 - }  
32 -}  
33 -  
app/assets/stylesheets/main.scss
@@ -3,8 +3,8 @@ @@ -3,8 +3,8 @@
3 3
4 /** GITLAB colors **/ 4 /** GITLAB colors **/
5 $text_color:#222; 5 $text_color:#222;
6 -$lite_text_color: #666;  
7 -$link_color:#2A79A3; 6 +$lite_text_color: #666;
  7 +$link_color:#2A79A3;
8 $active_link_color:#2FA0BB; 8 $active_link_color:#2FA0BB;
9 $active_bg_color:#79C3E0; 9 $active_bg_color:#79C3E0;
10 $active_bd_color: #2FA0BB; 10 $active_bd_color: #2FA0BB;
@@ -31,7 +31,7 @@ $hover: #FDF5D9; @@ -31,7 +31,7 @@ $hover: #FDF5D9;
31 box-shadow: 0 0 3px #ddd; 31 box-shadow: 0 0 3px #ddd;
32 } 32 }
33 33
34 -@mixin solid_shade { 34 +@mixin solid_shade {
35 -moz-box-shadow: 0 0 0 3px #eee; 35 -moz-box-shadow: 0 0 0 3px #eee;
36 -webkit-box-shadow: 0 0 0 3px #eee; 36 -webkit-box-shadow: 0 0 0 3px #eee;
37 box-shadow: 0 0 0 3px #eee; 37 box-shadow: 0 0 0 3px #eee;
@@ -73,21 +73,21 @@ $hover: #FDF5D9; @@ -73,21 +73,21 @@ $hover: #FDF5D9;
73 73
74 74
75 /** 75 /**
76 - * Header of application. 76 + * Header of application.
77 * Contain application logo, search panel, profile icon 77 * Contain application logo, search panel, profile icon
78 */ 78 */
79 @import "sections/header.scss"; 79 @import "sections/header.scss";
80 80
81 /** 81 /**
82 - * Navigation menu of application. 82 + * Navigation menu of application.
83 * Panel with links to pages depends on project, profile or admin area 83 * Panel with links to pages depends on project, profile or admin area
84 */ 84 */
85 @import "sections/nav.scss"; 85 @import "sections/nav.scss";
86 86
87 /** 87 /**
88 - * This file represent some UI that can be changed  
89 - * during web app restyle or theme select.  
90 - * 88 + * This file represent some UI that can be changed
  89 + * during web app restyle or theme select.
  90 + *
91 * Next items should be placed there 91 * Next items should be placed there
92 * - link, button colors 92 * - link, button colors
93 * - header restyles 93 * - header restyles
@@ -118,7 +118,7 @@ $hover: #FDF5D9; @@ -118,7 +118,7 @@ $hover: #FDF5D9;
118 * Most of application styles placed here. 118 * Most of application styles placed here.
119 * This file represent common UI that should not be changed between themes 119 * This file represent common UI that should not be changed between themes
120 * or project restyling like form width or user avatar class or commit title 120 * or project restyling like form width or user avatar class or commit title
121 - * 121 + *
122 * TODO: clean it 122 * TODO: clean it
123 */ 123 */
124 @import "common.scss"; 124 @import "common.scss";
@@ -140,17 +140,17 @@ $hover: #FDF5D9; @@ -140,17 +140,17 @@ $hover: #FDF5D9;
140 @import "ref_select.scss"; 140 @import "ref_select.scss";
141 141
142 /** 142 /**
143 - * Code (files list) styles. Browsing project files there 143 + * Code (files list) styles. Browsing project files there
144 */ 144 */
145 @import "sections/tree.scss"; 145 @import "sections/tree.scss";
146 146
147 /** 147 /**
148 - * This file represent notes(comments) styles 148 + * This file represent notes(comments) styles
149 */ 149 */
150 @import "sections/notes.scss"; 150 @import "sections/notes.scss";
151 151
152 /** 152 /**
153 - * Devise styles 153 + * Devise styles
154 */ 154 */
155 @import "sections/login.scss"; 155 @import "sections/login.scss";
156 156
@@ -165,9 +165,3 @@ $hover: #FDF5D9; @@ -165,9 +165,3 @@ $hover: #FDF5D9;
165 * 165 *
166 */ 166 */
167 @import "highlight/dark.scss"; 167 @import "highlight/dark.scss";
168 -  
169 -/**  
170 - * JQUERY UI ext  
171 - *  
172 - */  
173 -@import "jquery_ui.scss";  
app/models/issue.rb
@@ -9,8 +9,6 @@ class Issue < ActiveRecord::Base @@ -9,8 +9,6 @@ class Issue < ActiveRecord::Base
9 validates :description, 9 validates :description,
10 length: { within: 0..2000 } 10 length: { within: 0..2000 }
11 11
12 - acts_as_list  
13 -  
14 def self.open_for(user) 12 def self.open_for(user)
15 opened.assigned(user) 13 opened.assigned(user)
16 end 14 end
lib/tasks/dev/tests.rake
@@ -3,7 +3,7 @@ namespace :dev do @@ -3,7 +3,7 @@ namespace :dev do
3 task :tests do 3 task :tests do
4 ["cucumber", "rspec spec"].each do |cmd| 4 ["cucumber", "rspec spec"].each do |cmd|
5 puts "Starting to run #{cmd}..." 5 puts "Starting to run #{cmd}..."
6 - system("bundle exec #{cmd}") 6 + system("export DISPLAY=:99.0 && bundle exec #{cmd}")
7 raise "#{cmd} failed!" unless $?.exitstatus == 0 7 raise "#{cmd} failed!" unless $?.exitstatus == 0
8 end 8 end
9 end 9 end
vendor/assets/images/bg_fallback.png 0 → 100644

3.63 KB

vendor/assets/images/icon_sprite.png 0 → 100644

3.14 KB

vendor/assets/images/progress_bar.gif 0 → 100644

502 Bytes

vendor/assets/images/slider_handles.png 0 → 100644

4.35 KB

vendor/assets/images/ui-icons_222222_256x240.png 0 → 100644

4.27 KB

vendor/assets/images/ui-icons_454545_256x240.png 0 → 100644

4.27 KB

vendor/assets/javascripts/jquery.tagify.js
@@ -1,143 +0,0 @@ @@ -1,143 +0,0 @@
1 -/* Author: Alicia Liu */  
2 -  
3 -(function ($) {  
4 -  
5 - $.widget("ui.tagify", {  
6 - options: {  
7 - delimiters: [13, 188], // what user can type to complete a tag in char codes: [enter], [comma]  
8 - outputDelimiter: ',', // delimiter for tags in original input field  
9 - cssClass: 'tagify-container', // CSS class to style the tagify div and tags, see stylesheet  
10 - addTagPrompt: 'add tags' // placeholder text  
11 - },  
12 -  
13 - _create: function() {  
14 - var self = this,  
15 - el = self.element,  
16 - opts = self.options;  
17 -  
18 - this.tags = [];  
19 -  
20 - // hide text field and replace with a div that contains it's own input field for entering tags  
21 - this.tagInput = $("<input type='text'>")  
22 - .attr( 'placeholder', opts.addTagPrompt )  
23 - .keypress( function(e) {  
24 - var $this = $(this),  
25 - pressed = e.which;  
26 -  
27 - for ( i in opts.delimiters ) {  
28 -  
29 - if (pressed == opts.delimiters[i]) {  
30 - self.add( $this.val() );  
31 - e.preventDefault();  
32 - return false;  
33 - }  
34 - }  
35 - })  
36 - // for some reason, in Safari, backspace is only recognized on keyup  
37 - .keyup( function(e) {  
38 - var $this = $(this),  
39 - pressed = e.which;  
40 -  
41 - // if backspace is hit with no input, remove the last tag  
42 - if (pressed == 8) { // backspace  
43 - if ( $this.val() == "" ) {  
44 - self.remove();  
45 - return false;  
46 - }  
47 - return;  
48 - }  
49 - });  
50 -  
51 - this.tagDiv = $("<div></div>")  
52 - .addClass( opts.cssClass )  
53 - .click( function() {  
54 - $(this).children('input').focus();  
55 - })  
56 - .append( this.tagInput )  
57 - .insertAfter( el.hide() );  
58 -  
59 - // if the field isn't empty, parse the field for tags, and prepopulate existing tags  
60 - var initVal = $.trim( el.val() );  
61 -  
62 - if ( initVal ) {  
63 - var initTags = initVal.split( opts.outputDelimiter );  
64 - $.each( initTags, function(i, tag) {  
65 - self.add( tag );  
66 - });  
67 - }  
68 - },  
69 -  
70 - _setOption: function( key, value ) {  
71 - options.key = value;  
72 - },  
73 -  
74 - // add a tag, public function  
75 - add: function(text) {  
76 - var self = this;  
77 - text = text || self.tagInput.val();  
78 - if (text) {  
79 - var tagIndex = self.tags.length;  
80 -  
81 - var removeButton = $("<a href='#'>x</a>")  
82 - .click( function() {  
83 - self.remove( tagIndex );  
84 - return false;  
85 - });  
86 - var newTag = $("<span></span>")  
87 - .text( text )  
88 - .append( removeButton );  
89 -  
90 - self.tagInput.before( newTag );  
91 - self.tags.push( text );  
92 - self.tagInput.val('');  
93 - }  
94 - },  
95 -  
96 - // remove a tag by index, public function  
97 - // if index is blank, remove the last tag  
98 - remove: function( tagIndex ) {  
99 - var self = this;  
100 - if ( tagIndex == null || tagIndex === (self.tags.length - 1) ) {  
101 - this.tagDiv.children("span").last().remove();  
102 - self.tags.pop();  
103 - }  
104 - if ( typeof(tagIndex) == 'number' ) {  
105 - // otherwise just hide this tag, and we don't mess up the index  
106 - this.tagDiv.children( "span:eq(" + tagIndex + ")" ).hide();  
107 - // we rely on the serialize function to remove null values  
108 - delete( self.tags[tagIndex] );  
109 - }  
110 - },  
111 -  
112 - // serialize the tags with the given delimiter, and write it back into the tagified field  
113 - serialize: function() {  
114 - var self = this;  
115 - var delim = self.options.outputDelimiter;  
116 - var tagsStr = self.tags.join( delim );  
117 -  
118 - // our tags might have deleted entries, remove them here  
119 - var dupes = new RegExp(delim + delim + '+', 'g'); // regex: /,,+/g  
120 - var ends = new RegExp('^' + delim + '|' + delim + '$', 'g'); // regex: /^,|,$/g  
121 - var outputStr = tagsStr.replace( dupes, delim ).replace(ends, '');  
122 -  
123 - self.element.val(outputStr);  
124 - return outputStr;  
125 - },  
126 -  
127 - inputField: function() {  
128 - return this.tagInput;  
129 - },  
130 -  
131 - containerDiv: function() {  
132 - return this.tagDiv;  
133 - },  
134 -  
135 - // remove the div, and show original input  
136 - destroy: function() {  
137 - $.Widget.prototype.destroy.apply(this);  
138 - this.tagDiv.remove();  
139 - this.element.show();  
140 - }  
141 - });  
142 -  
143 -})(jQuery);  
144 \ No newline at end of file 0 \ No newline at end of file
vendor/assets/javascripts/jquery.ui.selectmenu.js
@@ -1,844 +0,0 @@ @@ -1,844 +0,0 @@
1 - /*  
2 - * jQuery UI selectmenu dev version  
3 - *  
4 - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)  
5 - * Dual licensed under the MIT (MIT-LICENSE.txt)  
6 - * and GPL (GPL-LICENSE.txt) licenses.  
7 - *  
8 - * http://docs.jquery.com/UI  
9 - * https://github.com/fnagel/jquery-ui/wiki/Selectmenu  
10 - */  
11 -  
12 -(function($) {  
13 -  
14 -$.widget("ui.selectmenu", {  
15 - getter: "value",  
16 - version: "1.8",  
17 - eventPrefix: "selectmenu",  
18 - options: {  
19 - transferClasses: true,  
20 - typeAhead: "sequential",  
21 - style: 'dropdown',  
22 - positionOptions: {  
23 - my: "left top",  
24 - at: "left bottom",  
25 - offset: null  
26 - },  
27 - width: null,  
28 - menuWidth: null,  
29 - handleWidth: 26,  
30 - maxHeight: null,  
31 - icons: null,  
32 - format: null,  
33 - bgImage: function() {},  
34 - wrapperElement: "<div />"  
35 - },  
36 -  
37 - _create: function() {  
38 - var self = this, o = this.options;  
39 -  
40 - // set a default id value, generate a new random one if not set by developer  
41 - var selectmenuId = this.element.attr( 'id' ) || 'ui-selectmenu-' + Math.random().toString( 16 ).slice( 2, 10 );  
42 -  
43 - // quick array of button and menu id's  
44 - this.ids = [ selectmenuId + '-button', selectmenuId + '-menu' ];  
45 -  
46 - // define safe mouseup for future toggling  
47 - this._safemouseup = true;  
48 -  
49 - // create menu button wrapper  
50 - this.newelement = $( '<a />', {  
51 - 'class': this.widgetBaseClass + ' ui-widget ui-state-default ui-corner-all',  
52 - 'id' : this.ids[ 0 ],  
53 - 'role': 'button',  
54 - 'href': '#nogo',  
55 - 'tabindex': this.element.attr( 'disabled' ) ? 1 : 0,  
56 - 'aria-haspopup': true,  
57 - 'aria-owns': this.ids[ 1 ]  
58 - });  
59 - this.newelementWrap = $( o.wrapperElement )  
60 - .append( this.newelement )  
61 - .insertAfter( this.element );  
62 -  
63 - // transfer tabindex  
64 - var tabindex = this.element.attr( 'tabindex' );  
65 - if ( tabindex ) {  
66 - this.newelement.attr( 'tabindex', tabindex );  
67 - }  
68 -  
69 - // save reference to select in data for ease in calling methods  
70 - this.newelement.data( 'selectelement', this.element );  
71 -  
72 - // menu icon  
73 - this.selectmenuIcon = $( '<span class="' + this.widgetBaseClass + '-icon ui-icon"></span>' )  
74 - .prependTo( this.newelement );  
75 -  
76 - // append status span to button  
77 - this.newelement.prepend( '<span class="' + self.widgetBaseClass + '-status" />' );  
78 -  
79 - // make associated form label trigger focus  
80 - $( 'label[for="' + selectmenuId + '"]' )  
81 - .attr( 'for', this.ids[0] )  
82 - .bind( 'click.selectmenu', function() {  
83 - self.newelement[0].focus();  
84 - return false;  
85 - });  
86 -  
87 - // click toggle for menu visibility  
88 - this.newelement  
89 - .bind('mousedown.selectmenu', function(event) {  
90 - self._toggle(event, true);  
91 - // make sure a click won't open/close instantly  
92 - if (o.style == "popup") {  
93 - self._safemouseup = false;  
94 - setTimeout(function() { self._safemouseup = true; }, 300);  
95 - }  
96 - return false;  
97 - })  
98 - .bind('click.selectmenu', function() {  
99 - return false;  
100 - })  
101 - .bind("keydown.selectmenu", function(event) {  
102 - var ret = false;  
103 - switch (event.keyCode) {  
104 - case $.ui.keyCode.ENTER:  
105 - ret = true;  
106 - break;  
107 - case $.ui.keyCode.SPACE:  
108 - self._toggle(event);  
109 - break;  
110 - case $.ui.keyCode.UP:  
111 - if (event.altKey) {  
112 - self.open(event);  
113 - } else {  
114 - self._moveSelection(-1);  
115 - }  
116 - break;  
117 - case $.ui.keyCode.DOWN:  
118 - if (event.altKey) {  
119 - self.open(event);  
120 - } else {  
121 - self._moveSelection(1);  
122 - }  
123 - break;  
124 - case $.ui.keyCode.LEFT:  
125 - self._moveSelection(-1);  
126 - break;  
127 - case $.ui.keyCode.RIGHT:  
128 - self._moveSelection(1);  
129 - break;  
130 - case $.ui.keyCode.TAB:  
131 - ret = true;  
132 - break;  
133 - default:  
134 - ret = true;  
135 - }  
136 - return ret;  
137 - })  
138 - .bind('keypress.selectmenu', function(event) {  
139 - self._typeAhead(event.which, 'mouseup');  
140 - return true;  
141 - })  
142 - .bind('mouseover.selectmenu focus.selectmenu', function() {  
143 - if (!o.disabled) {  
144 - $(this).addClass(self.widgetBaseClass + '-focus ui-state-hover');  
145 - }  
146 - })  
147 - .bind('mouseout.selectmenu blur.selectmenu', function() {  
148 - if (!o.disabled) {  
149 - $(this).removeClass(self.widgetBaseClass + '-focus ui-state-hover');  
150 - }  
151 - });  
152 -  
153 - // document click closes menu  
154 - $(document).bind("mousedown.selectmenu", function(event) {  
155 - self.close(event);  
156 - });  
157 -  
158 - // change event on original selectmenu  
159 - this.element  
160 - .bind("click.selectmenu", function() {  
161 - self._refreshValue();  
162 - })  
163 - // FIXME: newelement can be null under unclear circumstances in IE8  
164 - // TODO not sure if this is still a problem (fnagel 20.03.11)  
165 - .bind("focus.selectmenu", function() {  
166 - if (self.newelement) {  
167 - self.newelement[0].focus();  
168 - }  
169 - });  
170 -  
171 - // set width when not set via options  
172 - if (!o.width) {  
173 - o.width = this.element.outerWidth();  
174 - }  
175 - // set menu button width  
176 - this.newelement.width(o.width);  
177 -  
178 - // hide original selectmenu element  
179 - this.element.hide();  
180 -  
181 - // create menu portion, append to body  
182 - this.list = $( '<ul />', {  
183 - 'class': 'ui-widget ui-widget-content',  
184 - 'aria-hidden': true,  
185 - 'role': 'listbox',  
186 - 'aria-labelledby': this.ids[0],  
187 - 'id': this.ids[1]  
188 - });  
189 - this.listWrap = $( o.wrapperElement )  
190 - .addClass( self.widgetBaseClass + '-menu' )  
191 - .append( this.list )  
192 - .appendTo( 'body' );  
193 -  
194 - // transfer menu click to menu button  
195 - this.list  
196 - .bind("keydown.selectmenu", function(event) {  
197 - var ret = false;  
198 - switch (event.keyCode) {  
199 - case $.ui.keyCode.UP:  
200 - if (event.altKey) {  
201 - self.close(event, true);  
202 - } else {  
203 - self._moveFocus(-1);  
204 - }  
205 - break;  
206 - case $.ui.keyCode.DOWN:  
207 - if (event.altKey) {  
208 - self.close(event, true);  
209 - } else {  
210 - self._moveFocus(1);  
211 - }  
212 - break;  
213 - case $.ui.keyCode.LEFT:  
214 - self._moveFocus(-1);  
215 - break;  
216 - case $.ui.keyCode.RIGHT:  
217 - self._moveFocus(1);  
218 - break;  
219 - case $.ui.keyCode.HOME:  
220 - self._moveFocus(':first');  
221 - break;  
222 - case $.ui.keyCode.PAGE_UP:  
223 - self._scrollPage('up');  
224 - break;  
225 - case $.ui.keyCode.PAGE_DOWN:  
226 - self._scrollPage('down');  
227 - break;  
228 - case $.ui.keyCode.END:  
229 - self._moveFocus(':last');  
230 - break;  
231 - case $.ui.keyCode.ENTER:  
232 - case $.ui.keyCode.SPACE:  
233 - self.close(event, true);  
234 - $(event.target).parents('li:eq(0)').trigger('mouseup');  
235 - break;  
236 - case $.ui.keyCode.TAB:  
237 - ret = true;  
238 - self.close(event, true);  
239 - $(event.target).parents('li:eq(0)').trigger('mouseup');  
240 - break;  
241 - case $.ui.keyCode.ESCAPE:  
242 - self.close(event, true);  
243 - break;  
244 - default:  
245 - ret = true;  
246 - }  
247 - return ret;  
248 - })  
249 - .bind('keypress.selectmenu', function(event) {  
250 - self._typeAhead(event.which, 'focus');  
251 - return true;  
252 - })  
253 - // this allows for using the scrollbar in an overflowed list  
254 - .bind( 'mousedown.selectmenu mouseup.selectmenu', function() { return false; });  
255 -  
256 - // needed when window is resized  
257 - // TODO seems to be useless, but causes errors (fnagel 01.08.11)  
258 - // see: https://github.com/fnagel/jquery-ui/issues/147  
259 - // $(window).bind( "resize.selectmenu", $.proxy( self._refreshPosition, this ) );  
260 - },  
261 -  
262 - _init: function() {  
263 - var self = this, o = this.options;  
264 -  
265 - // serialize selectmenu element options  
266 - var selectOptionData = [];  
267 - this.element  
268 - .find('option')  
269 - .each(function() {  
270 - var opt = $(this);  
271 - selectOptionData.push({  
272 - value: opt.attr('value'),  
273 - text: self._formatText(opt.text()),  
274 - selected: opt.attr('selected'),  
275 - disabled: opt.attr('disabled'),  
276 - classes: opt.attr('class'),  
277 - typeahead: opt.attr('typeahead'),  
278 - parentOptGroup: opt.parent('optgroup'),  
279 - bgImage: o.bgImage.call(opt)  
280 - });  
281 - });  
282 -  
283 - // active state class is only used in popup style  
284 - var activeClass = (self.options.style == "popup") ? " ui-state-active" : "";  
285 -  
286 - // empty list so we can refresh the selectmenu via selectmenu()  
287 - this.list.html("");  
288 -  
289 - // write li's  
290 - if (selectOptionData.length) {  
291 - for (var i = 0; i < selectOptionData.length; i++) {  
292 - var thisLiAttr = { role : 'presentation' };  
293 - if ( selectOptionData[ i ].disabled ) {  
294 - thisLiAttr[ 'class' ] = this.namespace + '-state-disabled';  
295 - }  
296 - var thisAAttr = {  
297 - html: selectOptionData[i].text,  
298 - href : '#nogo',  
299 - tabindex : -1,  
300 - role : 'option',  
301 - 'aria-selected' : false  
302 - };  
303 - if ( selectOptionData[ i ].disabled ) {  
304 - thisAAttr[ 'aria-disabled' ] = selectOptionData[ i ].disabled;  
305 - }  
306 - if ( selectOptionData[ i ].typeahead ) {  
307 - thisAAttr[ 'typeahead' ] = selectOptionData[ i ].typeahead;  
308 - }  
309 - var thisA = $('<a/>', thisAAttr);  
310 - var thisLi = $('<li/>', thisLiAttr)  
311 - .append(thisA)  
312 - .data('index', i)  
313 - .addClass(selectOptionData[i].classes)  
314 - .data('optionClasses', selectOptionData[i].classes || '')  
315 - .bind("mouseup.selectmenu", function(event) {  
316 - if (self._safemouseup && !self._disabled(event.currentTarget) && !self._disabled($( event.currentTarget ).parents( "ul>li." + self.widgetBaseClass + "-group " )) ) {  
317 - var changed = $(this).data('index') != self._selectedIndex();  
318 - self.index($(this).data('index'));  
319 - self.select(event);  
320 - if (changed) {  
321 - self.change(event);  
322 - }  
323 - self.close(event, true);  
324 - }  
325 - return false;  
326 - })  
327 - .bind("click.selectmenu", function() {  
328 - return false;  
329 - })  
330 - .bind('mouseover.selectmenu focus.selectmenu', function(e) {  
331 - // no hover if diabled  
332 - if (!$(e.currentTarget).hasClass(self.namespace + '-state-disabled') && !$(e.currentTarget).parent("ul").parent("li").hasClass(self.namespace + '-state-disabled')) {  
333 - self._selectedOptionLi().addClass(activeClass);  
334 - self._focusedOptionLi().removeClass(self.widgetBaseClass + '-item-focus ui-state-hover');  
335 - $(this).removeClass('ui-state-active').addClass(self.widgetBaseClass + '-item-focus ui-state-hover');  
336 - }  
337 - })  
338 - .bind('mouseout.selectmenu blur.selectmenu', function() {  
339 - if ($(this).is(self._selectedOptionLi().selector)) {  
340 - $(this).addClass(activeClass);  
341 - }  
342 - $(this).removeClass(self.widgetBaseClass + '-item-focus ui-state-hover');  
343 - });  
344 -  
345 - // optgroup or not...  
346 - if ( selectOptionData[i].parentOptGroup.length ) {  
347 - var optGroupName = self.widgetBaseClass + '-group-' + this.element.find( 'optgroup' ).index( selectOptionData[i].parentOptGroup );  
348 - if (this.list.find( 'li.' + optGroupName ).length ) {  
349 - this.list.find( 'li.' + optGroupName + ':last ul' ).append( thisLi );  
350 - } else {  
351 - $(' <li role="presentation" class="' + self.widgetBaseClass + '-group ' + optGroupName + (selectOptionData[i].parentOptGroup.attr("disabled") ? ' ' + this.namespace + '-state-disabled" aria-disabled="true"' : '"' ) + '><span class="' + self.widgetBaseClass + '-group-label">' + selectOptionData[i].parentOptGroup.attr('label') + '</span><ul></ul></li> ')  
352 - .appendTo( this.list )  
353 - .find( 'ul' )  
354 - .append( thisLi );  
355 - }  
356 - } else {  
357 - thisLi.appendTo(this.list);  
358 - }  
359 -  
360 - // append icon if option is specified  
361 - if (o.icons) {  
362 - for (var j in o.icons) {  
363 - if (thisLi.is(o.icons[j].find)) {  
364 - thisLi  
365 - .data('optionClasses', selectOptionData[i].classes + ' ' + self.widgetBaseClass + '-hasIcon')  
366 - .addClass(self.widgetBaseClass + '-hasIcon');  
367 - var iconClass = o.icons[j].icon || "";  
368 - thisLi  
369 - .find('a:eq(0)')  
370 - .prepend('<span class="' + self.widgetBaseClass + '-item-icon ui-icon ' + iconClass + '"></span>');  
371 - if (selectOptionData[i].bgImage) {  
372 - thisLi.find('span').css('background-image', selectOptionData[i].bgImage);  
373 - }  
374 - }  
375 - }  
376 - }  
377 - }  
378 - } else {  
379 - $('<li role="presentation"><a href="#nogo" tabindex="-1" role="option"></a></li>').appendTo(this.list);  
380 - }  
381 - // we need to set and unset the CSS classes for dropdown and popup style  
382 - var isDropDown = ( o.style == 'dropdown' );  
383 - this.newelement  
384 - .toggleClass( self.widgetBaseClass + '-dropdown', isDropDown )  
385 - .toggleClass( self.widgetBaseClass + '-popup', !isDropDown );  
386 - this.list  
387 - .toggleClass( self.widgetBaseClass + '-menu-dropdown ui-corner-bottom', isDropDown )  
388 - .toggleClass( self.widgetBaseClass + '-menu-popup ui-corner-all', !isDropDown )  
389 - // add corners to top and bottom menu items  
390 - .find( 'li:first' )  
391 - .toggleClass( 'ui-corner-top', !isDropDown )  
392 - .end().find( 'li:last' )  
393 - .addClass( 'ui-corner-bottom' );  
394 - this.selectmenuIcon  
395 - .toggleClass( 'ui-icon-triangle-1-s', isDropDown )  
396 - .toggleClass( 'ui-icon-triangle-2-n-s', !isDropDown );  
397 -  
398 - // transfer classes to selectmenu and list  
399 - if ( o.transferClasses ) {  
400 - var transferClasses = this.element.attr( 'class' ) || '';  
401 - this.newelement.add( this.list ).addClass( transferClasses );  
402 - }  
403 -  
404 - // set menu width to either menuWidth option value, width option value, or select width  
405 - if ( o.style == 'dropdown' ) {  
406 - this.list.width( o.menuWidth ? o.menuWidth : o.width );  
407 - } else {  
408 - this.list.width( o.menuWidth ? o.menuWidth : o.width - o.handleWidth );  
409 - }  
410 -  
411 - // reset height to auto  
412 - this.list.css( 'height', 'auto' );  
413 - var listH = this.listWrap.height();  
414 - // calculate default max height  
415 - if ( o.maxHeight && o.maxHeight < listH ) {  
416 - this.list.height( o.maxHeight );  
417 - } else {  
418 - var winH = $( window ).height() / 3;  
419 - if ( winH < listH ) this.list.height( winH );  
420 - }  
421 -  
422 - // save reference to actionable li's (not group label li's)  
423 - this._optionLis = this.list.find( 'li:not(.' + self.widgetBaseClass + '-group)' );  
424 -  
425 - // transfer disabled state  
426 - if ( this.element.attr( 'disabled' ) ) {  
427 - this.disable();  
428 - } else {  
429 - this.enable()  
430 - }  
431 -  
432 - // update value  
433 - this.index( this._selectedIndex() );  
434 -  
435 - // needed when selectmenu is placed at the very bottom / top of the page  
436 - window.setTimeout( function() {  
437 - self._refreshPosition();  
438 - }, 200 );  
439 - },  
440 -  
441 - destroy: function() {  
442 - this.element.removeData( this.widgetName )  
443 - .removeClass( this.widgetBaseClass + '-disabled' + ' ' + this.namespace + '-state-disabled' )  
444 - .removeAttr( 'aria-disabled' )  
445 - .unbind( ".selectmenu" );  
446 -  
447 - // TODO unneded as event binding has been disabled  
448 - // $( window ).unbind( ".selectmenu" );  
449 - $( document ).unbind( ".selectmenu" );  
450 -  
451 - // unbind click on label, reset its for attr  
452 - $( 'label[for=' + this.newelement.attr('id') + ']' )  
453 - .attr( 'for', this.element.attr( 'id' ) )  
454 - .unbind( '.selectmenu' );  
455 -  
456 - this.newelementWrap.remove();  
457 - this.listWrap.remove();  
458 -  
459 - this.element.show();  
460 -  
461 - // call widget destroy function  
462 - $.Widget.prototype.destroy.apply(this, arguments);  
463 - },  
464 -  
465 - _typeAhead: function( code, eventType ){  
466 - var self = this, focusFound = false, C = String.fromCharCode(code).toUpperCase();  
467 - c = C.toLowerCase();  
468 -  
469 - if ( self.options.typeAhead == 'sequential' ) {  
470 - // clear the timeout so we can use _prevChar  
471 - window.clearTimeout('ui.selectmenu-' + self.selectmenuId);  
472 -  
473 - // define our find var  
474 - var find = typeof( self._prevChar ) == 'undefined' ? '' : self._prevChar.join( '' );  
475 -  
476 - function focusOptSeq( elem, ind, c ){  
477 - focusFound = true;  
478 - $( elem ).trigger( eventType );  
479 - typeof( self._prevChar ) == 'undefined' ? self._prevChar = [ c ] : self._prevChar[ self._prevChar.length ] = c;  
480 - }  
481 - this.list.find( 'li a' ).each( function( i ) {  
482 - if ( !focusFound ) {  
483 - // allow the typeahead attribute on the option tag for a more specific lookup  
484 - var thisText = $( this ).attr( 'typeahead' ) || $(this).text();  
485 - if ( thisText.indexOf( find + C ) === 0 ) {  
486 - focusOptSeq( this, i, C );  
487 - } else if (thisText.indexOf(find+c) === 0 ) {  
488 - focusOptSeq( this, i, c );  
489 - }  
490 - }  
491 - });  
492 - // set a 1 second timeout for sequenctial typeahead  
493 - // keep this set even if we have no matches so it doesnt typeahead somewhere else  
494 - window.setTimeout( function( el ) {  
495 - self._prevChar = undefined;  
496 - }, 1000, self );  
497 -  
498 - } else {  
499 - // define self._prevChar if needed  
500 - if ( !self._prevChar ) { self._prevChar = [ '' , 0 ]; }  
501 -  
502 - focusFound = false;  
503 - function focusOpt( elem, ind ){  
504 - focusFound = true;  
505 - $( elem ).trigger( eventType );  
506 - self._prevChar[ 1 ] = ind;  
507 - }  
508 - this.list.find( 'li a' ).each(function( i ){  
509 - if (!focusFound){  
510 - var thisText = $(this).text();  
511 - if ( thisText.indexOf( C ) === 0 || thisText.indexOf( c ) === 0 ) {  
512 - if (self._prevChar[0] == C){  
513 - if ( self._prevChar[ 1 ] < i ){ focusOpt( this, i ); }  
514 - } else{  
515 - focusOpt( this, i );  
516 - }  
517 - }  
518 - }  
519 - });  
520 - this._prevChar[ 0 ] = C;  
521 - }  
522 - },  
523 -  
524 - // returns some usefull information, called by callbacks only  
525 - _uiHash: function() {  
526 - var index = this.index();  
527 - return {  
528 - index: index,  
529 - option: $("option", this.element).get(index),  
530 - value: this.element[0].value  
531 - };  
532 - },  
533 -  
534 - open: function(event) {  
535 - var self = this, o = this.options;  
536 - if ( self.newelement.attr("aria-disabled") != 'true' ) {  
537 - self._closeOthers(event);  
538 - self.newelement.addClass('ui-state-active');  
539 -  
540 - self.listWrap.appendTo( o.appendTo );  
541 - self.list.attr('aria-hidden', false);  
542 -  
543 - if ( o.style == "dropdown" ) {  
544 - self.newelement.removeClass('ui-corner-all').addClass('ui-corner-top');  
545 - }  
546 -  
547 - self.listWrap.addClass( self.widgetBaseClass + '-open' );  
548 - // positioning needed for IE7 (tested 01.08.11 on MS VPC Image)  
549 - // see https://github.com/fnagel/jquery-ui/issues/147  
550 - if ( $.browser.msie && $.browser.version.substr( 0,1 ) == 7 ) {  
551 - self._refreshPosition();  
552 - }  
553 - var selected = self.list.attr('aria-hidden', false).find('li:not(.' + self.widgetBaseClass + '-group):eq(' + self._selectedIndex() + '):visible a');  
554 - if (selected.length) selected[0].focus();  
555 - // positioning needed for FF, Chrome, IE8, IE7, IE6 (tested 01.08.11 on MS VPC Image)  
556 - self._refreshPosition();  
557 -  
558 - self._trigger("open", event, self._uiHash());  
559 - }  
560 - },  
561 -  
562 - close: function(event, retainFocus) {  
563 - if ( this.newelement.is('.ui-state-active') ) {  
564 - this.newelement  
565 - .removeClass('ui-state-active');  
566 - this.listWrap.removeClass(this.widgetBaseClass + '-open');  
567 - this.list.attr('aria-hidden', true);  
568 - if ( this.options.style == "dropdown" ) {  
569 - this.newelement.removeClass('ui-corner-top').addClass('ui-corner-all');  
570 - }  
571 - if ( retainFocus ) {  
572 - this.newelement.focus();  
573 - }  
574 - this._trigger("close", event, this._uiHash());  
575 - }  
576 - },  
577 -  
578 - change: function(event) {  
579 - this.element.trigger("change");  
580 - this._trigger("change", event, this._uiHash());  
581 - },  
582 -  
583 - select: function(event) {  
584 - if (this._disabled(event.currentTarget)) { return false; }  
585 - this._trigger("select", event, this._uiHash());  
586 - },  
587 -  
588 - _closeOthers: function(event) {  
589 - $('.' + this.widgetBaseClass + '.ui-state-active').not(this.newelement).each(function() {  
590 - $(this).data('selectelement').selectmenu('close', event);  
591 - });  
592 - $('.' + this.widgetBaseClass + '.ui-state-hover').trigger('mouseout');  
593 - },  
594 -  
595 - _toggle: function(event, retainFocus) {  
596 - if ( this.list.parent().is('.' + this.widgetBaseClass + '-open') ) {  
597 - this.close(event, retainFocus);  
598 - } else {  
599 - this.open(event);  
600 - }  
601 - },  
602 -  
603 - _formatText: function(text) {  
604 - return (this.options.format ? this.options.format(text) : text);  
605 - },  
606 -  
607 - _selectedIndex: function() {  
608 - return this.element[0].selectedIndex;  
609 - },  
610 -  
611 - _selectedOptionLi: function() {  
612 - return this._optionLis.eq(this._selectedIndex());  
613 - },  
614 -  
615 - _focusedOptionLi: function() {  
616 - return this.list.find('.' + this.widgetBaseClass + '-item-focus');  
617 - },  
618 -  
619 - _moveSelection: function(amt, recIndex) {  
620 - // do nothing if disabled  
621 - if (!this.options.disabled) {  
622 - var currIndex = parseInt(this._selectedOptionLi().data('index') || 0, 10);  
623 - var newIndex = currIndex + amt;  
624 - // do not loop when using up key  
625 -  
626 - if (newIndex < 0) {  
627 - newIndex = 0;  
628 - }  
629 - if (newIndex > this._optionLis.size() - 1) {  
630 - newIndex = this._optionLis.size() - 1;  
631 - }  
632 - // Occurs when a full loop has been made  
633 - if (newIndex === recIndex) { return false; }  
634 -  
635 - if (this._optionLis.eq(newIndex).hasClass( this.namespace + '-state-disabled' )) {  
636 - // if option at newIndex is disabled, call _moveFocus, incrementing amt by one  
637 - (amt > 0) ? ++amt : --amt;  
638 - this._moveSelection(amt, newIndex);  
639 - } else {  
640 - return this._optionLis.eq(newIndex).trigger('mouseup');  
641 - }  
642 - }  
643 - },  
644 -  
645 - _moveFocus: function(amt, recIndex) {  
646 - if (!isNaN(amt)) {  
647 - var currIndex = parseInt(this._focusedOptionLi().data('index') || 0, 10);  
648 - var newIndex = currIndex + amt;  
649 - } else {  
650 - var newIndex = parseInt(this._optionLis.filter(amt).data('index'), 10);  
651 - }  
652 -  
653 - if (newIndex < 0) {  
654 - newIndex = 0;  
655 - }  
656 - if (newIndex > this._optionLis.size() - 1) {  
657 - newIndex = this._optionLis.size() - 1;  
658 - }  
659 -  
660 - //Occurs when a full loop has been made  
661 - if (newIndex === recIndex) { return false; }  
662 -  
663 - var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000);  
664 -  
665 - this._focusedOptionLi().find('a:eq(0)').attr('id', '');  
666 -  
667 - if (this._optionLis.eq(newIndex).hasClass( this.namespace + '-state-disabled' )) {  
668 - // if option at newIndex is disabled, call _moveFocus, incrementing amt by one  
669 - (amt > 0) ? ++amt : --amt;  
670 - this._moveFocus(amt, newIndex);  
671 - } else {  
672 - this._optionLis.eq(newIndex).find('a:eq(0)').attr('id',activeID).focus();  
673 - }  
674 -  
675 - this.list.attr('aria-activedescendant', activeID);  
676 - },  
677 -  
678 - _scrollPage: function(direction) {  
679 - var numPerPage = Math.floor(this.list.outerHeight() / this.list.find('li:first').outerHeight());  
680 - numPerPage = (direction == 'up' ? -numPerPage : numPerPage);  
681 - this._moveFocus(numPerPage);  
682 - },  
683 -  
684 - _setOption: function(key, value) {  
685 - this.options[key] = value;  
686 - // set  
687 - if (key == 'disabled') {  
688 - this.close();  
689 - this.element  
690 - .add(this.newelement)  
691 - .add(this.list)[value ? 'addClass' : 'removeClass'](  
692 - this.widgetBaseClass + '-disabled' + ' ' +  
693 - this.namespace + '-state-disabled')  
694 - .attr("aria-disabled", value);  
695 - }  
696 - },  
697 -  
698 - disable: function(index, type){  
699 - // if options is not provided, call the parents disable function  
700 - if ( typeof( index ) == 'undefined' ) {  
701 - this._setOption( 'disabled', true );  
702 - } else {  
703 - if ( type == "optgroup" ) {  
704 - this._disableOptgroup(index);  
705 - } else {  
706 - this._disableOption(index);  
707 - }  
708 - }  
709 - },  
710 -  
711 - enable: function(index, type) {  
712 - // if options is not provided, call the parents enable function  
713 - if ( typeof( index ) == 'undefined' ) {  
714 - this._setOption('disabled', false);  
715 - } else {  
716 - if ( type == "optgroup" ) {  
717 - this._enableOptgroup(index);  
718 - } else {  
719 - this._enableOption(index);  
720 - }  
721 - }  
722 - },  
723 -  
724 - _disabled: function(elem) {  
725 - return $(elem).hasClass( this.namespace + '-state-disabled' );  
726 - },  
727 -  
728 - _disableOption: function(index) {  
729 - var optionElem = this._optionLis.eq(index);  
730 - if (optionElem) {  
731 - optionElem.addClass(this.namespace + '-state-disabled')  
732 - .find("a").attr("aria-disabled", true);  
733 - this.element.find("option").eq(index).attr("disabled", "disabled");  
734 - }  
735 - },  
736 -  
737 - _enableOption: function(index) {  
738 - var optionElem = this._optionLis.eq(index);  
739 - if (optionElem) {  
740 - optionElem.removeClass( this.namespace + '-state-disabled' )  
741 - .find("a").attr("aria-disabled", false);  
742 - this.element.find("option").eq(index).removeAttr("disabled");  
743 - }  
744 - },  
745 -  
746 - _disableOptgroup: function(index) {  
747 - var optGroupElem = this.list.find( 'li.' + this.widgetBaseClass + '-group-' + index );  
748 - if (optGroupElem) {  
749 - optGroupElem.addClass(this.namespace + '-state-disabled')  
750 - .attr("aria-disabled", true);  
751 - this.element.find("optgroup").eq(index).attr("disabled", "disabled");  
752 - }  
753 - },  
754 -  
755 - _enableOptgroup: function(index) {  
756 - var optGroupElem = this.list.find( 'li.' + this.widgetBaseClass + '-group-' + index );  
757 - if (optGroupElem) {  
758 - optGroupElem.removeClass(this.namespace + '-state-disabled')  
759 - .attr("aria-disabled", false);  
760 - this.element.find("optgroup").eq(index).removeAttr("disabled");  
761 - }  
762 - },  
763 -  
764 - index: function(newValue) {  
765 - if (arguments.length) {  
766 - if (!this._disabled($(this._optionLis[newValue]))) {  
767 - this.element[0].selectedIndex = newValue;  
768 - this._refreshValue();  
769 - } else {  
770 - return false;  
771 - }  
772 - } else {  
773 - return this._selectedIndex();  
774 - }  
775 - },  
776 -  
777 - value: function(newValue) {  
778 - if (arguments.length) {  
779 - this.element[0].value = newValue;  
780 - this._refreshValue();  
781 - } else {  
782 - return this.element[0].value;  
783 - }  
784 - },  
785 -  
786 - _refreshValue: function() {  
787 - var activeClass = (this.options.style == "popup") ? " ui-state-active" : "";  
788 - var activeID = this.widgetBaseClass + '-item-' + Math.round(Math.random() * 1000);  
789 - // deselect previous  
790 - this.list  
791 - .find('.' + this.widgetBaseClass + '-item-selected')  
792 - .removeClass(this.widgetBaseClass + "-item-selected" + activeClass)  
793 - .find('a')  
794 - .attr('aria-selected', 'false')  
795 - .attr('id', '');  
796 - // select new  
797 - this._selectedOptionLi()  
798 - .addClass(this.widgetBaseClass + "-item-selected" + activeClass)  
799 - .find('a')  
800 - .attr('aria-selected', 'true')  
801 - .attr('id', activeID);  
802 -  
803 - // toggle any class brought in from option  
804 - var currentOptionClasses = (this.newelement.data('optionClasses') ? this.newelement.data('optionClasses') : "");  
805 - var newOptionClasses = (this._selectedOptionLi().data('optionClasses') ? this._selectedOptionLi().data('optionClasses') : "");  
806 - this.newelement  
807 - .removeClass(currentOptionClasses)  
808 - .data('optionClasses', newOptionClasses)  
809 - .addClass( newOptionClasses )  
810 - .find('.' + this.widgetBaseClass + '-status')  
811 - .html(  
812 - this._selectedOptionLi()  
813 - .find('a:eq(0)')  
814 - .html()  
815 - );  
816 -  
817 - this.list.attr('aria-activedescendant', activeID);  
818 - },  
819 -  
820 - _refreshPosition: function() {  
821 - var o = this.options;  
822 -  
823 - // if its a native pop-up we need to calculate the position of the selected li  
824 - if ( o.style == "popup" && !o.positionOptions.offset ) {  
825 - var selected = this._selectedOptionLi();  
826 - var _offset = "0 -" + ( selected.outerHeight() + selected.offset().top - this.list.offset().top );  
827 - }  
828 - // update zIndex if jQuery UI is able to process  
829 - var zIndexElement = this.element.zIndex();  
830 - if ( zIndexElement ) {  
831 - this.listWrap.css( 'zIndex', zIndexElement );  
832 - }  
833 - this.listWrap.position({  
834 - // set options for position plugin  
835 - of: o.positionOptions.of || this.newelement,  
836 - my: o.positionOptions.my,  
837 - at: o.positionOptions.at,  
838 - offset: o.positionOptions.offset || _offset,  
839 - collision: o.positionOptions.collision || 'flip'  
840 - });  
841 - }  
842 -});  
843 -  
844 -})(jQuery);  
vendor/assets/stylesheets/jquery-ui/jquery.tagify.css
@@ -1,34 +0,0 @@ @@ -1,34 +0,0 @@
1 -/* Tagify styles  
2 -Author: Alicia Liu test  
3 -*/  
4 -  
5 -.tagify-container {  
6 -}  
7 -  
8 -.tagify-container > span {  
9 - display: inline-block;  
10 - padding: 8px 11px 8px 11px;  
11 - margin: 1px 5px 0px 0px;  
12 - border-radius: 4px;  
13 - border: 1px solid #d0e1ff;  
14 - background-color: #d0e1ff;  
15 - color: #0f326d;  
16 - font-weight: bold;  
17 - font-size: 14px;  
18 -}  
19 -  
20 -.tagify-container > span > a {  
21 - padding-left: 5px !important;  
22 - color: #83a5e1;  
23 - text-decoration: none;  
24 - font-weight: bold;  
25 -}  
26 -  
27 -.tagify-container > input {  
28 - border: 0 none;  
29 - width: 100px !important;  
30 -}  
31 -  
32 -.tagify-container > input:focus {  
33 - outline: none;  
34 -}  
35 \ No newline at end of file 0 \ No newline at end of file
vendor/assets/stylesheets/jquery-ui/jquery.ui.selectmenu.css
@@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
1 -/* Selectmenu  
2 -----------------------------------*/  
3 -.ui-selectmenu { background:none; font-size:12px;display: block; display: inline-block; position: relative; height: 2.2em; vertical-align: middle; text-decoration: none; overflow: hidden; zoom: 1; }  
4 -.ui-selectmenu-icon { position:absolute; right:6px; margin-top:-8px; top: 50%; }  
5 -.ui-selectmenu-menu { padding:0; margin:0; position:absolute; top: 0; display: none; z-index: 1005;} /* z-index: 1005 to make selectmenu work with dialog */  
6 -.ui-selectmenu-menu ul { padding:0; margin:0; list-style:none; position: relative; overflow: auto; overflow-y: auto ; overflow-x: hidden; }  
7 -.ui-selectmenu-open { display: block; }  
8 -.ui-selectmenu.ui-widget { background:none; }  
9 -.ui-selectmenu-menu-popup { margin-top: -1px; }  
10 -.ui-selectmenu-menu-dropdown { }  
11 -.ui-selectmenu-menu li.ui-state-active { background:#F7FBFC; border:none; padding:1px 0;}  
12 -.ui-selectmenu-menu li { padding:0; margin:0; display: block; border-top: 1px dotted transparent; border-bottom: 1px dotted transparent; border-right-width: 0 !important; border-left-width: 0 !important; font-weight: normal !important; }  
13 -.ui-selectmenu-menu li a,.ui-selectmenu-status { line-height: 1.4em; display: block; padding: .405em 2.1em .405em 1em; outline:none; text-decoration:none; }  
14 -.ui-selectmenu-menu li.ui-state-disabled a, .ui-state-disabled { cursor: default; }  
15 -.ui-selectmenu-menu li.ui-selectmenu-hasIcon a,  
16 -.ui-selectmenu-hasIcon .ui-selectmenu-status { padding-left: 20px; position: relative; margin-left: 5px; }  
17 -.ui-selectmenu-menu li .ui-icon, .ui-selectmenu-status .ui-icon { position: absolute; top: 1em; margin-top: -8px; left: 0; }  
18 -.ui-selectmenu-status { line-height: 1.4em; }  
19 -.ui-selectmenu-open li.ui-selectmenu-item-focus { background: none repeat scroll 0 0 #FFF6BF; border:1px solid #eaeaea;}  
20 -.ui-selectmenu-open li.ui-selectmenu-item-selected { }  
21 -.ui-selectmenu-menu li span,.ui-selectmenu-status span { display:block; margin-bottom: .2em; }  
22 -.ui-selectmenu-menu li .ui-selectmenu-item-header { font-weight: bold; }  
23 -.ui-selectmenu-menu li .ui-selectmenu-item-content { }  
24 -.ui-selectmenu-menu li .ui-selectmenu-item-footer { opacity: .8; }  
25 -/* for optgroups */  
26 -.ui-selectmenu-menu .ui-selectmenu-group { font-size: 1em; }  
27 -.ui-selectmenu-menu .ui-selectmenu-group .ui-selectmenu-group-label { line-height: 1.4em; display:block; padding: .6em .5em 0; font-weight: bold; }  
28 -.ui-selectmenu-menu .ui-selectmenu-group ul { margin: 0; padding: 0; }  
29 -/* IE6 workaround (dotted transparent borders) */  
30 -* html .ui-selectmenu-menu li { border-color: pink; filter:chroma(color=pink); width:100%; }  
31 -* html .ui-selectmenu-menu li a { position: relative }  
32 -/* IE7 workaround (opacity disabled) */  
33 -*+html .ui-state-disabled, *+html .ui-state-disabled a { color: silver; }  
vendor/assets/stylesheets/jquery.ui.aristo.css 0 → 100644
@@ -0,0 +1,738 @@ @@ -0,0 +1,738 @@
  1 +/*
  2 + * jQuery UI CSS Framework 1.8.7
  3 + *
  4 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  5 + * Dual licensed under the MIT or GPL Version 2 licenses.
  6 + * http://jquery.org/license
  7 + *
  8 + * http://docs.jquery.com/UI/Theming/API
  9 + */
  10 +
  11 +/* Layout helpers
  12 +----------------------------------*/
  13 +.ui-helper-hidden { display: none; }
  14 +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
  15 +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
  16 +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
  17 +.ui-helper-clearfix { display: inline-block; }
  18 +/* required comment for clearfix to work in Opera \*/
  19 +* html .ui-helper-clearfix { height:1%; }
  20 +.ui-helper-clearfix { display:block; }
  21 +/* end clearfix */
  22 +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
  23 +
  24 +
  25 +/* Interaction Cues
  26 +----------------------------------*/
  27 +.ui-state-disabled { cursor: default !important; }
  28 +
  29 +
  30 +/* Icons
  31 +----------------------------------*/
  32 +
  33 +/* states and images */
  34 +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
  35 +
  36 +
  37 +/* Misc visuals
  38 +----------------------------------*/
  39 +
  40 +/* Overlays */
  41 +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
  42 +
  43 +
  44 +/*
  45 + * jQuery UI CSS Framework 1.8.7
  46 + *
  47 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  48 + * Dual licensed under the MIT or GPL Version 2 licenses.
  49 + * http://jquery.org/license
  50 + *
  51 + * http://docs.jquery.com/UI/Theming/API
  52 + *
  53 + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller
  54 + */
  55 +
  56 +
  57 +/* Component containers
  58 +----------------------------------*/
  59 +.ui-widget { font-family: Arial,sans-serif; font-size: 1.1em; }
  60 +.ui-widget .ui-widget { font-size: 1em; }
  61 +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial,sans-serif; font-size: 1em; }
  62 +.ui-widget-content { border: 1px solid #B6B6B6; background: #ffffff; color: #4F4F4F; }
  63 +.ui-widget-content a { color: #4F4F4F; }
  64 +.ui-widget-header { border: 1px solid #B6B6B6; color: #4F4F4F; font-weight: bold; }
  65 +.ui-widget-header {
  66 + background: #ededed url(bg_fallback.png) 0 0 repeat-x; /* Old browsers */
  67 + background: -moz-linear-gradient(top, #ededed 0%, #c4c4c4 100%); /* FF3.6+ */
  68 + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(100%,#c4c4c4)); /* Chrome,Safari4+ */
  69 + background: -webkit-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Chrome10+,Safari5.1+ */
  70 + background: -o-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Opera11.10+ */
  71 + background: -ms-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* IE10+ */
  72 + background: linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* W3C */
  73 +}
  74 +.ui-widget-header a { color: #4F4F4F; }
  75 +
  76 +/* Interaction states
  77 +----------------------------------*/
  78 +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B6B6B6; font-weight: normal; color: #4F4F4F; }
  79 +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
  80 + background: #ededed url(bg_fallback.png) 0 0 repeat-x; /* Old browsers */
  81 + background: -moz-linear-gradient(top, #ededed 0%, #c4c4c4 100%); /* FF3.6+ */
  82 + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ededed), color-stop(100%,#c4c4c4)); /* Chrome,Safari4+ */
  83 + background: -webkit-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Chrome10+,Safari5.1+ */
  84 + background: -o-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* Opera11.10+ */
  85 + background: -ms-linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* IE10+ */
  86 + background: linear-gradient(top, #ededed 0%,#c4c4c4 100%); /* W3C */
  87 + -webkit-box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
  88 + -moz-box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
  89 + box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset;
  90 +}
  91 +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #4F4F4F; text-decoration: none; }
  92 +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #9D9D9D; font-weight: normal; color: #313131; }
  93 +.ui-state-hover a, .ui-state-hover a:hover { color: #313131; text-decoration: none; }
  94 +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
  95 + outline: none;
  96 + color: #1c4257; border: 1px solid #7096ab;
  97 + background: #ededed url(bg_fallback.png) 0 -50px repeat-x; /* Old browsers */
  98 + background: -moz-linear-gradient(top, #b9e0f5 0%, #92bdd6 100%); /* FF3.6+ */
  99 + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b9e0f5), color-stop(100%,#92bdd6)); /* Chrome,Safari4+ */
  100 + background: -webkit-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Chrome10+,Safari5.1+ */
  101 + background: -o-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Opera11.10+ */
  102 + background: -ms-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* IE10+ */
  103 + background: linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* W3C */
  104 + -webkit-box-shadow: none;
  105 + -moz-box-shadow: none;
  106 + box-shadow: none;
  107 +}
  108 +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #313131; text-decoration: none; }
  109 +.ui-widget :active { outline: none; }
  110 +
  111 +/* Interaction Cues
  112 +----------------------------------*/
  113 +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { border: 1px solid #d2dbf4; background: #f4f8fd; color: #0d2054; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
  114 +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
  115 +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { border: 1px solid #e2d0d0; background: #fcf0f0; color: #280b0b; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
  116 +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
  117 +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
  118 +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
  119 +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
  120 +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
  121 +
  122 +/* Icons
  123 +----------------------------------*/
  124 +
  125 +/* states and images */
  126 +.ui-icon { width: 16px; height: 16px; background-image: url(ui-icons_222222_256x240.png); }
  127 +.ui-widget-content .ui-icon {background-image: url(ui-icons_222222_256x240.png); }
  128 +.ui-widget-header .ui-icon {background-image: url(ui-icons_222222_256x240.png); }
  129 +.ui-state-default .ui-icon { background-image: url(ui-icons_454545_256x240.png); }
  130 +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(ui-icons_454545_256x240.png); }
  131 +.ui-state-active .ui-icon {background-image: url(ui-icons_454545_256x240.png); }
  132 +.ui-state-highlight .ui-icon {background-image: url(ui-icons_454545_256x240.png); }
  133 +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background: url(icon_sprite.png) -16px 0 no-repeat !important; }
  134 +.ui-state-highlight .ui-icon, .ui-state-error .ui-icon { margin-top: -1px; }
  135 +
  136 +/* positioning */
  137 +.ui-icon-carat-1-n { background-position: 0 0; }
  138 +.ui-icon-carat-1-ne { background-position: -16px 0; }
  139 +.ui-icon-carat-1-e { background-position: -32px 0; }
  140 +.ui-icon-carat-1-se { background-position: -48px 0; }
  141 +.ui-icon-carat-1-s { background-position: -64px 0; }
  142 +.ui-icon-carat-1-sw { background-position: -80px 0; }
  143 +.ui-icon-carat-1-w { background-position: -96px 0; }
  144 +.ui-icon-carat-1-nw { background-position: -112px 0; }
  145 +.ui-icon-carat-2-n-s { background-position: -128px 0; }
  146 +.ui-icon-carat-2-e-w { background-position: -144px 0; }
  147 +.ui-icon-triangle-1-n { background-position: 0 -16px; }
  148 +.ui-icon-triangle-1-ne { background-position: -16px -16px; }
  149 +.ui-icon-triangle-1-e { background-position: -32px -16px; }
  150 +.ui-icon-triangle-1-se { background-position: -48px -16px; }
  151 +.ui-icon-triangle-1-s { background-position: -64px -16px; }
  152 +.ui-icon-triangle-1-sw { background-position: -80px -16px; }
  153 +.ui-icon-triangle-1-w { background-position: -96px -16px; }
  154 +.ui-icon-triangle-1-nw { background-position: -112px -16px; }
  155 +.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
  156 +.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
  157 +.ui-icon-arrow-1-n { background-position: 0 -32px; }
  158 +.ui-icon-arrow-1-ne { background-position: -16px -32px; }
  159 +.ui-icon-arrow-1-e { background-position: -32px -32px; }
  160 +.ui-icon-arrow-1-se { background-position: -48px -32px; }
  161 +.ui-icon-arrow-1-s { background-position: -64px -32px; }
  162 +.ui-icon-arrow-1-sw { background-position: -80px -32px; }
  163 +.ui-icon-arrow-1-w { background-position: -96px -32px; }
  164 +.ui-icon-arrow-1-nw { background-position: -112px -32px; }
  165 +.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
  166 +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
  167 +.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
  168 +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
  169 +.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
  170 +.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
  171 +.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
  172 +.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
  173 +.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
  174 +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
  175 +.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
  176 +.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
  177 +.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
  178 +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
  179 +.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
  180 +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
  181 +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
  182 +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
  183 +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
  184 +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
  185 +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
  186 +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
  187 +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
  188 +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
  189 +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
  190 +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
  191 +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
  192 +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
  193 +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
  194 +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
  195 +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
  196 +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
  197 +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
  198 +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
  199 +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
  200 +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
  201 +.ui-icon-arrow-4 { background-position: 0 -80px; }
  202 +.ui-icon-arrow-4-diag { background-position: -16px -80px; }
  203 +.ui-icon-extlink { background-position: -32px -80px; }
  204 +.ui-icon-newwin { background-position: -48px -80px; }
  205 +.ui-icon-refresh { background-position: -64px -80px; }
  206 +.ui-icon-shuffle { background-position: -80px -80px; }
  207 +.ui-icon-transfer-e-w { background-position: -96px -80px; }
  208 +.ui-icon-transferthick-e-w { background-position: -112px -80px; }
  209 +.ui-icon-folder-collapsed { background-position: 0 -96px; }
  210 +.ui-icon-folder-open { background-position: -16px -96px; }
  211 +.ui-icon-document { background-position: -32px -96px; }
  212 +.ui-icon-document-b { background-position: -48px -96px; }
  213 +.ui-icon-note { background-position: -64px -96px; }
  214 +.ui-icon-mail-closed { background-position: -80px -96px; }
  215 +.ui-icon-mail-open { background-position: -96px -96px; }
  216 +.ui-icon-suitcase { background-position: -112px -96px; }
  217 +.ui-icon-comment { background-position: -128px -96px; }
  218 +.ui-icon-person { background-position: -144px -96px; }
  219 +.ui-icon-print { background-position: -160px -96px; }
  220 +.ui-icon-trash { background-position: -176px -96px; }
  221 +.ui-icon-locked { background-position: -192px -96px; }
  222 +.ui-icon-unlocked { background-position: -208px -96px; }
  223 +.ui-icon-bookmark { background-position: -224px -96px; }
  224 +.ui-icon-tag { background-position: -240px -96px; }
  225 +.ui-icon-home { background-position: 0 -112px; }
  226 +.ui-icon-flag { background-position: -16px -112px; }
  227 +.ui-icon-calendar { background-position: -32px -112px; }
  228 +.ui-icon-cart { background-position: -48px -112px; }
  229 +.ui-icon-pencil { background-position: -64px -112px; }
  230 +.ui-icon-clock { background-position: -80px -112px; }
  231 +.ui-icon-disk { background-position: -96px -112px; }
  232 +.ui-icon-calculator { background-position: -112px -112px; }
  233 +.ui-icon-zoomin { background-position: -128px -112px; }
  234 +.ui-icon-zoomout { background-position: -144px -112px; }
  235 +.ui-icon-search { background-position: -160px -112px; }
  236 +.ui-icon-wrench { background-position: -176px -112px; }
  237 +.ui-icon-gear { background-position: -192px -112px; }
  238 +.ui-icon-heart { background-position: -208px -112px; }
  239 +.ui-icon-star { background-position: -224px -112px; }
  240 +.ui-icon-link { background-position: -240px -112px; }
  241 +.ui-icon-cancel { background-position: 0 -128px; }
  242 +.ui-icon-plus { background-position: -16px -128px; }
  243 +.ui-icon-plusthick { background-position: -32px -128px; }
  244 +.ui-icon-minus { background-position: -48px -128px; }
  245 +.ui-icon-minusthick { background-position: -64px -128px; }
  246 +.ui-icon-close { background-position: -80px -128px; }
  247 +.ui-icon-closethick { background-position: -96px -128px; }
  248 +.ui-icon-key { background-position: -112px -128px; }
  249 +.ui-icon-lightbulb { background-position: -128px -128px; }
  250 +.ui-icon-scissors { background-position: -144px -128px; }
  251 +.ui-icon-clipboard { background-position: -160px -128px; }
  252 +.ui-icon-copy { background-position: -176px -128px; }
  253 +.ui-icon-contact { background-position: -192px -128px; }
  254 +.ui-icon-image { background-position: -208px -128px; }
  255 +.ui-icon-video { background-position: -224px -128px; }
  256 +.ui-icon-script { background-position: -240px -128px; }
  257 +.ui-icon-alert { background-position: 0 -144px; }
  258 +.ui-icon-info { background: url(icon_sprite.png) 0 0 no-repeat !important; }
  259 +.ui-icon-notice { background-position: -32px -144px; }
  260 +.ui-icon-help { background-position: -48px -144px; }
  261 +.ui-icon-check { background-position: -64px -144px; }
  262 +.ui-icon-bullet { background-position: -80px -144px; }
  263 +.ui-icon-radio-off { background-position: -96px -144px; }
  264 +.ui-icon-radio-on { background-position: -112px -144px; }
  265 +.ui-icon-pin-w { background-position: -128px -144px; }
  266 +.ui-icon-pin-s { background-position: -144px -144px; }
  267 +.ui-icon-play { background-position: 0 -160px; }
  268 +.ui-icon-pause { background-position: -16px -160px; }
  269 +.ui-icon-seek-next { background-position: -32px -160px; }
  270 +.ui-icon-seek-prev { background-position: -48px -160px; }
  271 +.ui-icon-seek-end { background-position: -64px -160px; }
  272 +.ui-icon-seek-start { background-position: -80px -160px; }
  273 +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
  274 +.ui-icon-seek-first { background-position: -80px -160px; }
  275 +.ui-icon-stop { background-position: -96px -160px; }
  276 +.ui-icon-eject { background-position: -112px -160px; }
  277 +.ui-icon-volume-off { background-position: -128px -160px; }
  278 +.ui-icon-volume-on { background-position: -144px -160px; }
  279 +.ui-icon-power { background-position: 0 -176px; }
  280 +.ui-icon-signal-diag { background-position: -16px -176px; }
  281 +.ui-icon-signal { background-position: -32px -176px; }
  282 +.ui-icon-battery-0 { background-position: -48px -176px; }
  283 +.ui-icon-battery-1 { background-position: -64px -176px; }
  284 +.ui-icon-battery-2 { background-position: -80px -176px; }
  285 +.ui-icon-battery-3 { background-position: -96px -176px; }
  286 +.ui-icon-circle-plus { background-position: 0 -192px; }
  287 +.ui-icon-circle-minus { background-position: -16px -192px; }
  288 +.ui-icon-circle-close { background-position: -32px -192px; }
  289 +.ui-icon-circle-triangle-e { background-position: -48px -192px; }
  290 +.ui-icon-circle-triangle-s { background-position: -64px -192px; }
  291 +.ui-icon-circle-triangle-w { background-position: -80px -192px; }
  292 +.ui-icon-circle-triangle-n { background-position: -96px -192px; }
  293 +.ui-icon-circle-arrow-e { background-position: -112px -192px; }
  294 +.ui-icon-circle-arrow-s { background-position: -128px -192px; }
  295 +.ui-icon-circle-arrow-w { background-position: -144px -192px; }
  296 +.ui-icon-circle-arrow-n { background-position: -160px -192px; }
  297 +.ui-icon-circle-zoomin { background-position: -176px -192px; }
  298 +.ui-icon-circle-zoomout { background-position: -192px -192px; }
  299 +.ui-icon-circle-check { background-position: -208px -192px; }
  300 +.ui-icon-circlesmall-plus { background-position: 0 -208px; }
  301 +.ui-icon-circlesmall-minus { background-position: -16px -208px; }
  302 +.ui-icon-circlesmall-close { background-position: -32px -208px; }
  303 +.ui-icon-squaresmall-plus { background-position: -48px -208px; }
  304 +.ui-icon-squaresmall-minus { background-position: -64px -208px; }
  305 +.ui-icon-squaresmall-close { background-position: -80px -208px; }
  306 +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
  307 +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
  308 +.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
  309 +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
  310 +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
  311 +.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
  312 +
  313 +
  314 +/* Misc visuals
  315 +----------------------------------*/
  316 +
  317 +/* Corner radius */
  318 +.ui-corner-tl { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; }
  319 +.ui-corner-tr { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; }
  320 +.ui-corner-bl { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; }
  321 +.ui-corner-br { -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
  322 +.ui-corner-top { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; }
  323 +.ui-corner-bottom { -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
  324 +.ui-corner-right { -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 3px; border-top-right-radius: 3px; -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
  325 +.ui-corner-left { -moz-border-radius-topleft: 3px; -webkit-border-top-left-radius: 3px; border-top-left-radius: 3px; -moz-border-radius-bottomleft: 3px; -webkit-border-bottom-left-radius: 3px; border-bottom-left-radius: 3px; }
  326 +.ui-corner-all { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
  327 +
  328 +/* Overlays */
  329 +.ui-widget-overlay { background: #262b33; opacity: .70;filter:Alpha(Opacity=70); }
  330 +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #000000; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
  331 + * jQuery UI Resizable 1.8.7
  332 + *
  333 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  334 + * Dual licensed under the MIT or GPL Version 2 licenses.
  335 + * http://jquery.org/license
  336 + *
  337 + * http://docs.jquery.com/UI/Resizable#theming
  338 + */
  339 +.ui-resizable { position: relative;}
  340 +.ui-resizable-handle { position: absolute; font-size: 0.1px; z-index: 999; display: block;}
  341 +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
  342 +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
  343 +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
  344 +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
  345 +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
  346 +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
  347 +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
  348 +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
  349 +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
  350 + * jQuery UI Selectable 1.8.7
  351 + *
  352 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  353 + * Dual licensed under the MIT or GPL Version 2 licenses.
  354 + * http://jquery.org/license
  355 + *
  356 + * http://docs.jquery.com/UI/Selectable#theming
  357 + */
  358 +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
  359 +/*
  360 + * jQuery UI Accordion 1.8.7
  361 + *
  362 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  363 + * Dual licensed under the MIT or GPL Version 2 licenses.
  364 + * http://jquery.org/license
  365 + *
  366 + * http://docs.jquery.com/UI/Accordion#theming
  367 + */
  368 +/* IE/Win - Fix animation bug - #4615 */
  369 +.ui-accordion { width: 100%; }
  370 +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
  371 +.ui-accordion .ui-accordion-header, .ui-accordion .ui-accordion-content { -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
  372 +.ui-accordion .ui-accordion-li-fix { display: inline; }
  373 +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
  374 +.ui-accordion .ui-accordion-header a { display: block; font-size: 12px; font-weight: bold; padding: .5em .5em .5em .7em; }
  375 +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
  376 +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
  377 +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
  378 +.ui-accordion .ui-accordion-content-active { display: block; }/*
  379 + * jQuery UI Autocomplete 1.8.7
  380 + *
  381 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  382 + * Dual licensed under the MIT or GPL Version 2 licenses.
  383 + * http://jquery.org/license
  384 + *
  385 + * http://docs.jquery.com/UI/Autocomplete#theming
  386 + */
  387 +.ui-autocomplete {
  388 + position: absolute; cursor: default; z-index: 3;
  389 + -moz-border-radius: 0;
  390 + -webkit-border-radius: 0;
  391 + border-radius: 0;
  392 + -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.3);
  393 + -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.3);
  394 + box-shadow: 0 1px 5px rgba(0,0,0,0.3);
  395 +}
  396 +
  397 +/* workarounds */
  398 +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
  399 +
  400 +/*
  401 + * jQuery UI Menu 1.8.7
  402 + *
  403 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  404 + * Dual licensed under the MIT or GPL Version 2 licenses.
  405 + * http://jquery.org/license
  406 + *
  407 + * http://docs.jquery.com/UI/Menu#theming
  408 + */
  409 +.ui-menu {
  410 + list-style:none;
  411 + padding: 2px;
  412 + margin: 0;
  413 + display:block;
  414 + float: left;
  415 +}
  416 +.ui-menu .ui-menu {
  417 + margin-top: -3px;
  418 +}
  419 +.ui-menu .ui-menu-item {
  420 + margin:0;
  421 + padding: 0;
  422 + zoom: 1;
  423 + float: left;
  424 + clear: left;
  425 + width: 100%;
  426 +}
  427 +.ui-menu .ui-menu-item a {
  428 + text-decoration:none;
  429 + display:block;
  430 + padding:.2em .4em;
  431 + line-height:1.5;
  432 + zoom:1;
  433 +}
  434 +.ui-menu .ui-menu-item a.ui-state-hover,
  435 +.ui-menu .ui-menu-item a.ui-state-active {
  436 + font-weight: normal;
  437 + margin: -1px;
  438 + background: #5f83b9;
  439 + color: #FFFFFF;
  440 + text-shadow: 0px 1px 1px #234386;
  441 + border-color: #466086;
  442 + -moz-border-radius: 0;
  443 + -webkit-border-radius: 0;
  444 + border-radius: 0;
  445 +}
  446 +/*
  447 + * jQuery UI Button 1.8.7
  448 + *
  449 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  450 + * Dual licensed under the MIT or GPL Version 2 licenses.
  451 + * http://jquery.org/license
  452 + *
  453 + * http://docs.jquery.com/UI/Button#theming
  454 + */
  455 +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; -webkit-user-select: none; -moz-user-select: none; user-select: none; } /* the overflow property removes extra width in IE */
  456 +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
  457 +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
  458 +.ui-button-icons-only { width: 3.4em; }
  459 +button.ui-button-icons-only { width: 3.7em; }
  460 +
  461 +/* button animation properties */
  462 +.ui-button {
  463 + -webkit-transition: all 250ms ease-in-out;
  464 + -moz-transition: all 250ms ease-in-out;
  465 + -o-transition: all 250ms ease-in-out;
  466 + transition: all 250ms ease-in-out;
  467 +}
  468 +
  469 +/*states*/
  470 +.ui-button.ui-state-hover {
  471 + -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
  472 + -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
  473 + box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
  474 +}
  475 +.ui-button.ui-state-focus {
  476 + outline: none;
  477 + color: #1c4257;
  478 + border-color: #7096ab;
  479 + background: #ededed url(bg_fallback.png) 0 -50px repeat-x; /* Old browsers */
  480 + background: -moz-linear-gradient(top, #b9e0f5 0%, #92bdd6 100%); /* FF3.6+ */
  481 + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b9e0f5), color-stop(100%,#92bdd6)); /* Chrome,Safari4+ */
  482 + background: -webkit-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Chrome10+,Safari5.1+ */
  483 + background: -o-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Opera11.10+ */
  484 + background: -ms-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* IE10+ */
  485 + background: linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* W3C */
  486 + -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
  487 + -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
  488 + box-shadow: 0 0 8px rgba(0, 0, 0, 0.15), 0 1px 0 rgba(255,255,255,0.8) inset;
  489 +}
  490 +
  491 +/*button text element */
  492 +.ui-button .ui-button-text { display: block; line-height: 1.4; font-size: 14px; font-weight: bold; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); }
  493 +.ui-button-text-only .ui-button-text { padding: .4em 1em; }
  494 +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
  495 +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
  496 +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
  497 +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
  498 +/* no icon support for input elements, provide padding by default */
  499 +input.ui-button, .ui-widget-content input.ui-button { font-size: 14px; font-weight: bold; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); padding: 0 1em !important; height: 33px; }
  500 +/*remove submit button internal padding in Firefox*/
  501 +input.ui-button::-moz-focus-inner {
  502 + border: 0;
  503 + padding: 0;
  504 +}
  505 +/* fix webkits handling of the box model */
  506 +@media screen and (-webkit-min-device-pixel-ratio:0) {
  507 + input.ui-button {
  508 + height: 31px !important;
  509 + }
  510 +}
  511 +
  512 +
  513 +/*button icon element(s) */
  514 +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
  515 +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
  516 +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
  517 +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
  518 +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
  519 +
  520 +/*button sets*/
  521 +.ui-buttonset { margin-right: 7px; }
  522 +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
  523 +.ui-buttonset .ui-button.ui-state-active { color: #1c4257; border-color: #7096ab; }
  524 +.ui-buttonset .ui-button.ui-state-active {
  525 + background: #ededed url(bg_fallback.png) 0 -50px repeat-x; /* Old browsers */
  526 + background: -moz-linear-gradient(top, #b9e0f5 0%, #92bdd6 100%); /* FF3.6+ */
  527 + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b9e0f5), color-stop(100%,#92bdd6)); /* Chrome,Safari4+ */
  528 + background: -webkit-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Chrome10+,Safari5.1+ */
  529 + background: -o-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* Opera11.10+ */
  530 + background: -ms-linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* IE10+ */
  531 + background: linear-gradient(top, #b9e0f5 0%,#92bdd6 100%); /* W3C */
  532 + -webkit-box-shadow: none;
  533 + -moz-box-shadow: none;
  534 + box-shadow: none;
  535 +}
  536 +
  537 +/* workarounds */
  538 +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
  539 +/*
  540 + * jQuery UI Dialog 1.8.7
  541 + *
  542 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  543 + * Dual licensed under the MIT or GPL Version 2 licenses.
  544 + * http://jquery.org/license
  545 + *
  546 + * http://docs.jquery.com/UI/Dialog#theming
  547 + */
  548 +.ui-dialog { position: absolute; padding: 0; width: 300px; overflow: hidden; }
  549 +.ui-dialog {
  550 + -webkit-box-shadow: 0 2px 12px rgba(0,0,0,0.6);
  551 + -moz-box-shadow: 0 2px 12px rgba(0,0,0,0.6);
  552 + box-shadow: 0 2px 12px rgba(0,0,0,0.6);
  553 +}
  554 +.ui-dialog .ui-dialog-titlebar { padding: 0.7em 1em 0.6em 1em; position: relative; border: none; border-bottom: 1px solid #979797; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
  555 +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; font-size: 14px; text-shadow: 0 1px 0 rgba(255,255,255,0.5); }
  556 +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .8em; top: 55%; width: 16px; margin: -10px 0 0 0; padding: 0; height: 16px; }
  557 +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; background: url(icon_sprite.png) 0 -16px no-repeat; }
  558 +.ui-dialog .ui-dialog-titlebar-close:hover span { background-position: -16px -16px; }
  559 +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; border: 0; }
  560 +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
  561 +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
  562 +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
  563 +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
  564 +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
  565 +.ui-draggable .ui-dialog-titlebar { cursor: move; }
  566 +/*
  567 + * jQuery UI Slider 1.8.7
  568 + *
  569 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  570 + * Dual licensed under the MIT or GPL Version 2 licenses.
  571 + * http://jquery.org/license
  572 + *
  573 + * http://docs.jquery.com/UI/Slider#theming
  574 + */
  575 +.ui-slider { position: relative; text-align: left; background: #d7d7d7; z-index: 1; }
  576 +.ui-slider { -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset; }
  577 +.ui-slider .ui-slider-handle { background: url(slider_handles.png) 0px -23px no-repeat; position: absolute; z-index: 2; width: 23px; height: 23px; cursor: default; border: none; outline: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; }
  578 +.ui-slider .ui-state-hover, .ui-slider .ui-state-active { background-position: 0 0; }
  579 +.ui-slider .ui-slider-range { background: #a3cae0; position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
  580 +.ui-slider .ui-slider-range { -moz-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; -webkit-box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; box-shadow: 0 1px 2px rgba(17,35,45,0.6) inset; }
  581 +
  582 +
  583 +.ui-slider-horizontal { height: 5px; }
  584 +.ui-slider-horizontal .ui-slider-handle { top: -8px; margin-left: -13px; }
  585 +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
  586 +.ui-slider-horizontal .ui-slider-range-min { left: 0; }
  587 +.ui-slider-horizontal .ui-slider-range-max { right: 0; }
  588 +
  589 +.ui-slider-vertical { width: 5px; height: 100px; }
  590 +.ui-slider-vertical .ui-slider-handle { left: -8px; margin-left: 0; margin-bottom: -13px; }
  591 +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
  592 +.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
  593 +.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
  594 + * jQuery UI Tabs 1.8.7
  595 + *
  596 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  597 + * Dual licensed under the MIT or GPL Version 2 licenses.
  598 + * http://jquery.org/license
  599 + *
  600 + * http://docs.jquery.com/UI/Tabs#theming
  601 + */
  602 +.ui-tabs { position: relative; zoom: 1; border: 0; background: transparent; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
  603 +.ui-tabs .ui-tabs-nav { margin: 0; padding: 0; background: transparent; border-width: 0 0 1px 0; }
  604 +.ui-tabs .ui-tabs-nav {
  605 + -moz-border-radius: 0;
  606 + -webkit-border-radius: 0;
  607 + border-radius: 0;
  608 +}
  609 +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
  610 +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; font-size: 12px; font-weight: bold; text-shadow: 0 1px 0 rgba(255,255,255,0.5); }
  611 +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; background: #fff; border-color: #B6B6B6; }
  612 +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; outline: none; }
  613 +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
  614 +.ui-tabs .ui-tabs-panel { display: block; border-width: 0 1px 1px 1px; padding: 1em 1.4em; background: none; }
  615 +.ui-tabs .ui-tabs-panel { background: #FFF;
  616 + -moz-border-radius: 0;
  617 + -webkit-border-radius: 0;
  618 + border-radius: 0;
  619 +}
  620 +.ui-tabs .ui-tabs-hide { display: none !important; }
  621 +/*
  622 + * jQuery UI Datepicker 1.8.7
  623 + *
  624 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  625 + * Dual licensed under the MIT or GPL Version 2 licenses.
  626 + * http://jquery.org/license
  627 + *
  628 + * http://docs.jquery.com/UI/Datepicker#theming
  629 + */
  630 +.ui-datepicker { width: 17em; padding: 0; display: none; border-color: #DDDDDD; }
  631 +.ui-datepicker {
  632 + -moz-box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  633 + -webkit-box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  634 + box-shadow: 0 4px 8px rgba(0,0,0,0.5);
  635 +}
  636 +.ui-datepicker .ui-datepicker-header { position:relative; padding:.35em 0; border: none; border-bottom: 1px solid #B6B6B6; -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; }
  637 +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 6px; width: 1.8em; height: 1.8em; }
  638 +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { border: 1px none; }
  639 +.ui-datepicker .ui-datepicker-prev { left:2px; }
  640 +.ui-datepicker .ui-datepicker-next { right:2px; }
  641 +.ui-datepicker .ui-datepicker-prev span { background-position: 0px -32px !important; }
  642 +.ui-datepicker .ui-datepicker-next span { background-position: -16px -32px !important; }
  643 +.ui-datepicker .ui-datepicker-prev-hover span { background-position: 0px -48px !important; }
  644 +.ui-datepicker .ui-datepicker-next-hover span { background-position: -16px -48px !important; }
  645 +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; background: url(icon_sprite.png) no-repeat; }
  646 +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; font-size: 12px; text-shadow: 0 1px 0 rgba(255,255,255,0.6); }
  647 +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
  648 +.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
  649 +.ui-datepicker select.ui-datepicker-month,
  650 +.ui-datepicker select.ui-datepicker-year { width: 49%;}
  651 +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
  652 +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
  653 +.ui-datepicker td { border: 0; padding: 1px; }
  654 +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
  655 +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
  656 +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
  657 +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
  658 +.ui-datepicker table .ui-state-highlight { border-color: #5F83B9; }
  659 +.ui-datepicker table .ui-state-hover { background: #5F83B9; color: #FFF; font-weight: bold; text-shadow: 0 1px 1px #234386; -webkit-box-shadow: 0 0px 0 rgba(255,255,255,0.6) inset; -moz-box-shadow: 0 0px 0 rgba(255,255,255,0.6) inset; box-shadow: 0 0px 0 rgba(255,255,255,0.6) inset; border-color: #5F83B9; }
  660 +.ui-datepicker-calendar .ui-state-default { background: transparent; border-color: #FFF; }
  661 +.ui-datepicker-calendar .ui-state-active { background: #5F83B9; border-color: #5F83B9; color: #FFF; font-weight: bold; text-shadow: 0 1px 1px #234386; }
  662 +
  663 +/* with multiple calendars */
  664 +.ui-datepicker.ui-datepicker-multi { width:auto; }
  665 +.ui-datepicker-multi .ui-datepicker-group { float:left; }
  666 +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
  667 +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
  668 +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
  669 +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
  670 +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
  671 +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
  672 +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
  673 +.ui-datepicker-row-break { clear:both; width:100%; }
  674 +
  675 +/* RTL support */
  676 +.ui-datepicker-rtl { direction: rtl; }
  677 +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
  678 +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
  679 +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
  680 +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
  681 +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
  682 +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
  683 +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
  684 +.ui-datepicker-rtl .ui-datepicker-group { float:right; }
  685 +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
  686 +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
  687 +
  688 +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
  689 +.ui-datepicker-cover {
  690 + display: none; /*sorry for IE5*/
  691 + display/**/: block; /*sorry for IE5*/
  692 + position: absolute; /*must have*/
  693 + z-index: -1; /*must have*/
  694 + filter: mask(); /*must have*/
  695 + top: -4px; /*must have*/
  696 + left: -4px; /*must have*/
  697 + width: 200px; /*must have*/
  698 + height: 200px; /*must have*/
  699 +}/*
  700 + * jQuery UI Progressbar 1.8.7
  701 + *
  702 + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
  703 + * Dual licensed under the MIT or GPL Version 2 licenses.
  704 + * http://jquery.org/license
  705 + *
  706 + * http://docs.jquery.com/UI/Progressbar#theming
  707 + */
  708 +.ui-progressbar { height: 12px; text-align: left; background: #FFF url(progress_bar.gif) 0 -14px repeat-x; }
  709 +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; background: url(progress_bar.gif) 0 0 repeat-x; }
  710 +
  711 +/* Extra Input Field Styling */
  712 +.ui-form textarea, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]) {
  713 + padding: 3px;
  714 + -webkit-border-radius: 2px;
  715 + -moz-border-radius: 2px;
  716 + border-radius: 2px;
  717 + border: 1px solid #cecece;
  718 + outline: none;
  719 + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
  720 + -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
  721 + box-shadow: 0 1px 3px rgba(0,0,0,0.1) inset, 0 1px 0 rgba(255,255,255,0.2);
  722 + -webkit-transition: all 250ms ease-in-out;
  723 + -moz-transition: all 250ms ease-in-out;
  724 + -o-transition: all 250ms ease-in-out;
  725 + transition: all 250ms ease-in-out;
  726 +}
  727 +.ui-form textarea:hover, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):hover {
  728 + border: 1px solid #bdbdbd;
  729 + -webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
  730 + -moz-box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
  731 + box-shadow: 0 1px 3px rgba(0,0,0,0.2) inset, 0 1px 0 rgba(255,255,255,0.2);
  732 +}
  733 +.ui-form textarea:focus, .ui-form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):focus {
  734 + border: 1px solid #95bdd4;
  735 + -webkit-box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
  736 + -moz-box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
  737 + box-shadow: 0 2px 3px rgba(161,202,226,0.5) inset, 0 1px 0 rgba(255,255,255,0.2);
  738 +}