├── public
├── data
│ └── .gitignore
├── css
│ ├── redmond
│ │ ├── images
│ │ │ ├── ui-icons_217bc0_256x240.png
│ │ │ ├── ui-icons_2e83ff_256x240.png
│ │ │ ├── ui-icons_469bdd_256x240.png
│ │ │ ├── ui-icons_6da8d5_256x240.png
│ │ │ ├── ui-icons_cd0a0a_256x240.png
│ │ │ ├── ui-icons_d8e7f3_256x240.png
│ │ │ ├── ui-icons_f9bd01_256x240.png
│ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png
│ │ │ ├── ui-bg_flat_55_fbec88_40x100.png
│ │ │ ├── ui-bg_glass_75_d0e5f5_1x400.png
│ │ │ ├── ui-bg_glass_85_dfeffc_1x400.png
│ │ │ ├── ui-bg_glass_95_fef1ec_1x400.png
│ │ │ ├── ui-bg_gloss-wave_55_5c9ccc_500x100.png
│ │ │ ├── ui-bg_inset-hard_100_f5f8f9_1x100.png
│ │ │ └── ui-bg_inset-hard_100_fcfdfd_1x100.png
│ │ └── jquery-ui-1.7.1.custom.css
│ ├── main.css
│ ├── ui.slider.extras.css
│ └── sunny-jquery-ui.css
└── js
│ ├── app.js
│ └── selectToUISlider.jQuery.js
├── Gemfile
├── .gitignore
├── app.rb
├── config.ru
├── README
├── crawl.rb
└── views
└── index.erb
/public/data/.gitignore:
--------------------------------------------------------------------------------
1 | *.json
2 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | gem "ruby-hackernews", "~> 1.1.0"
2 | gem "sinatra"
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | public/data/*.json
2 | tmp/*
3 | .DS_Store
4 | ._*
5 |
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-icons_217bc0_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-icons_217bc0_256x240.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-icons_2e83ff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-icons_2e83ff_256x240.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-icons_469bdd_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-icons_469bdd_256x240.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-icons_6da8d5_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-icons_6da8d5_256x240.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-icons_cd0a0a_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-icons_cd0a0a_256x240.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-icons_d8e7f3_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-icons_d8e7f3_256x240.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-icons_f9bd01_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-icons_f9bd01_256x240.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
--------------------------------------------------------------------------------
/public/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/peterc/hackerslide/HEAD/public/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
--------------------------------------------------------------------------------
/app.rb:
--------------------------------------------------------------------------------
1 | get '/' do
2 | # Get the dates. Be warned, I never said this was good code ;-)
3 | @dates = Dir[settings.data_root + '/*.json'].sort.reverse.first(168).reverse.map { |a| a[/\d{4}-\d{2}-\d{2}-\d*(?=\.)/] }.compact
4 | erb :index
5 | end
6 |
--------------------------------------------------------------------------------
/config.ru:
--------------------------------------------------------------------------------
1 | require 'rubygems'
2 | require 'sinatra'
3 | require 'app'
4 |
5 | APP_ROOT = File.expand_path(File.dirname(__FILE__))
6 |
7 | set :environment, :development
8 | set :root, APP_ROOT
9 | set :data_root, APP_ROOT + '/public/data'
10 |
11 | run Sinatra::Application
--------------------------------------------------------------------------------
/public/css/main.css:
--------------------------------------------------------------------------------
1 | BODY {
2 | font-family: verdana, "helvetica neue", helvetica, sans-serif;
3 | font-size: 10pt;
4 | color: #000;
5 | background-color: #fff;
6 | margin: 0;
7 | border-top: 12px solid #f70;
8 | }
9 |
10 | #page { min-width: 760px; max-width: 1050px; padding: 0px 36px; margin: 20px auto; }
11 |
12 | A { color: #000; text-decoration: none; }
13 | A:visited { color: #666; }
14 |
15 | H1 { font-size: 2.5em; margin-bottom: 0; }
16 |
17 | P.subhead { margin-top: 0; margin-bottom: 30px; line-height: 1.5em; }
18 |
19 | #slidercontainer { height: 52px; font-size: 0.8em; margin: 0px 24px; padding-top: 8px }
20 |
21 | #items { font-family: verdana, sans-serif; }
22 | #items ol { margin-left: 0px; list-style-position: outside; padding-left: 2.2em; }
23 | #items li { margin-bottom: 8px; }
24 | #items li.new { background-color: #fed }
25 |
26 | .sub { font-size: 7pt }
27 | .site { font-size: 8pt }
28 | .sub, .sub A, .site { color: #666; }
29 |
30 | #footer { margin-top: 1em; border-top: 2px solid #ccc; font-size: 0.9em; line-height: 1.5em; padding: 1em; }
31 | #footer A { text-decoration: underline; }
--------------------------------------------------------------------------------
/README:
--------------------------------------------------------------------------------
1 | Hacker Slide - http://hackerslide.com/ - is an experimental Hacker News client that stores snapshots of the front page items over time and allows you to scroll through them. I lifted the concept (though no code) from a Reddit equivalent at http://redditsnapshot.sweyla.com/
2 |
3 | As of writing, the crawler on the main site has only been running for a day so there's not much data yet. Over time, I plan to extend the interface to deal with scrolling through days/weeks/months/etc. For now, it's just very simple.
4 |
5 | There's very little code to pull this off but whatever there is and that isn't already licensed is BSD licensed so you can do almost whatever you want. At first glance, it seems like the Sinatra app is hardly doing anything and in theory it could be rewritten to use a static HTML page but... eh.
6 |
7 | Technologies used:
8 |
9 | * Ruby
10 | * Sinatra - http://www.sinatrarb.com/
11 | * jQuery and jQuery UI
12 | * Slider control - http://www.filamentgroup.com/lab/update_jquery_ui_slider_from_a_select_element_now_with_aria_support/
13 | * ruby-hackernews - http://github.com/bolthar/ruby-hackernews
14 |
15 | If you want to try it locally, run crawl.rb once and then run the Sinatra app using Shotgun or rackup.
16 |
17 | Peter Cooper
18 | http://news.ycombinator.com/user?id=petercooper
19 | http://twitter.com/peterc
20 | http://peterc.org/
21 |
--------------------------------------------------------------------------------
/crawl.rb:
--------------------------------------------------------------------------------
1 | # Fetch items from Hacker News each hour and store them in JSON files
2 |
3 | require 'rubygems'
4 | require 'json'
5 | require 'ruby-hackernews'
6 |
7 | # Fetch items from front page of Hacker News
8 | items = Entry.all
9 |
10 | # Turn the items into a nicer array of hashes
11 | items.map! do |item|
12 | { :title => item.link.title,
13 | :site => item.link.site,
14 | :href => item.link.href,
15 | :number => item.number,
16 | :score => item.voting.score,
17 | :user => item.user.name,
18 | :hours_ago => ((Time.now.to_i - item.time.to_i) / 3600).to_i,
19 | :comments => item.comments_count,
20 | :item_id => item.id,
21 | :is_new => (Time.now.to_i - item.time.to_i) < 3600 } # eugh!
22 | end
23 |
24 | # Get the current time in GMT and build some filenames
25 | time = Time.now.gmtime
26 | filename = File.dirname(__FILE__) + "/public/data/"
27 | now_filename = filename + "now.json"
28 | filename += "#{time.year}-#{sprintf("%.2d", time.month)}-#{sprintf("%.2d", time.mday)}"
29 | daily_filename = filename + ".json"
30 | hourly_filename = filename + "-#{sprintf("%.2d", Time.now.hour)}.json"
31 |
32 | # Save the items in JSON format for later recall
33 | puts "Writing #{now_filename}"
34 | File.open(now_filename, "w") { |f| f.puts items.to_json }
35 |
36 | unless File.exist?(daily_filename)
37 | puts "Writing #{daily_filename}"
38 | File.open(daily_filename, "w") { |f| f.puts items.to_json }
39 | end
40 |
41 | unless File.exist?(hourly_filename)
42 | puts "Writing #{hourly_filename}"
43 | File.open(hourly_filename, "w") { |f| f.puts items.to_json }
44 | end
45 |
--------------------------------------------------------------------------------
/public/js/app.js:
--------------------------------------------------------------------------------
1 | // welcome to the little javascript shop of horrors
2 | // i intend to read one of those awesome tutorials showing how to do "modern" javascript some day..
3 |
4 | function updateItems(e, ui) {
5 | // a poor man's updating status indicator
6 | $('#items').css('background-color', '#f6f6ef');
7 |
8 | $.getJSON('/data/' + $('select#slider').val() + '.json',function(json){
9 | if (json) {
10 | $('#items').css('background-color', 'inherit');
11 |
12 | var display = '
';
13 |
14 | $.each(json,function(i,item){
15 | // If the item is a local link on HN, prepend the HN URL
16 | if (!/^http/.test(item.href)) {
17 | item.href = 'http://news.ycombinator.com/' + item.href;
18 | }
19 |
20 | var klasses = '';
21 | // Once enough days have been crawled with the updated crawler, just use is_new.. checking the hour count is a temporary hack
22 | if ((item.hours_ago < 2) || item.is_new) {
23 | klasses = 'new';
24 | };
25 |
26 | display += '' + item.title + ' ';
27 |
28 | if (item.site) {
29 | display += ' (' + item.site + ') ';
30 | }
31 |
32 | display += ' ';
33 | });
34 |
35 | display += ' ';
36 |
37 | $('#items').html(display);
38 | };
39 | });
40 | }
41 |
42 |
--------------------------------------------------------------------------------
/public/css/ui.slider.extras.css:
--------------------------------------------------------------------------------
1 | /*NEW SLIDER STYLES FOR SCALE, ETC*/
2 | /* slider widget */
3 | .ui-slider {
4 | text-decoration: none !important;
5 | }
6 | .ui-slider .ui-slider-handle {
7 | overflow: visible !important;
8 | }
9 | .ui-slider .ui-slider-tooltip {
10 | display: none;
11 | }
12 | .ui-slider .screenReaderContext {
13 | position: absolute;
14 | width: 0;
15 | height: 0;
16 | overflow: hidden;
17 | left: -999999999px;
18 | }
19 | .ui-slider .ui-state-active .ui-slider-tooltip, .ui-slider .ui-state-focus .ui-slider-tooltip, .ui-slider .ui-state-hover .ui-slider-tooltip {
20 | display: block;
21 | position: absolute;
22 | bottom: 2.5em;
23 | text-align: center;
24 | padding: .3em .2em .4em;
25 | font-size: .9em;
26 | width: 8em;
27 | margin-left: -3.7em;
28 | }
29 | .ui-slider .ui-slider-tooltip .ui-tooltip-pointer-down, .ui-slider .ui-slider-tooltip .ui-tooltip-pointer-down-inner {
30 | position: absolute;
31 | display: block;
32 | width:0;
33 | height:0;
34 | border-bottom-width: 0;
35 | background: none;
36 | }
37 | .ui-slider .ui-slider-tooltip .ui-tooltip-pointer-down {
38 | border-left: 7px dashed transparent;
39 | border-right: 7px dashed transparent;
40 | border-top-width: 8px;
41 | bottom: -8px;
42 | right: auto;
43 | left: 50%;
44 | margin-left: -7px;
45 | }
46 | .ui-slider .ui-slider-tooltip .ui-tooltip-pointer-down-inner {
47 | border-left: 6px dashed transparent;
48 | border-right: 6px dashed transparent;
49 | border-top: 7px solid #fff;
50 | bottom: auto;
51 | top: -9px;
52 | left: -6px;
53 | }
54 | .ui-slider a {
55 | text-decoration: none;
56 | }
57 | .ui-slider ol, .ui-slider li, .ui-slider dl, .ui-slider dd, .ui-slider dt {
58 | list-style: none;
59 | margin: 0;
60 | padding: 0;
61 | }
62 | .ui-slider ol, .ui-slider dl {
63 | position: relative;
64 | top: 1.3em;
65 | width: 100%;
66 | }
67 | .ui-slider dt {
68 | top: 1.5em;
69 | position: absolute;
70 | padding-top: .2em;
71 | text-align: center;
72 | border-bottom: 1px dotted #ddd;
73 | height: .7em;
74 | color: #999;
75 | }
76 | .ui-slider dt span {
77 | background: #fff;
78 | padding: 0 .5em;
79 | }
80 | .ui-slider li, .ui-slider dd {
81 | position: absolute;
82 | overflow: visible;
83 | color: #222;
84 | }
85 | .ui-slider span.ui-slider-label {
86 | position: absolute;
87 | }
88 | .ui-slider li span.ui-slider-label, .ui-slider dd span.ui-slider-label {
89 | display: none;
90 | }
91 | .ui-slider li span.ui-slider-label-show, .ui-slider dd span.ui-slider-label-show {
92 | display: block;
93 | }
94 | .ui-slider span.ui-slider-tic {
95 | position: absolute;
96 | left: 0;
97 | height: .8em;
98 | top: -1.3em;
99 | }
100 | .ui-slider li span.ui-widget-content, .ui-slider dd span.ui-widget-content {
101 | border-right: 0;
102 | border-left-width: 1px;
103 | border-left-style: solid;
104 | border-top: 0;
105 | border-bottom: 0;
106 | }
107 | .ui-slider .first .ui-slider-tic, .ui-slider .last .ui-slider-tic {
108 | display: none;
109 | }
110 |
111 |
--------------------------------------------------------------------------------
/views/index.erb:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Hacker Slide: Hourly Snapshots of Hacker News
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
Hacker Slide
24 |
The Hacker News front page each hour (GMT) — drag the slider below
25 |
26 |
27 |
28 |
29 | <% @dates.each do |date| %>
30 | <%= date[/\d{2}-\d{2}-\d+$/].sub('-', '/').sub('-', ' ') %>:00
31 | <% end %>
32 |
33 |
34 |
35 |
36 |
37 |
52 |
53 |
59 |
60 |
61 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/public/js/selectToUISlider.jQuery.js:
--------------------------------------------------------------------------------
1 | /*
2 | * --------------------------------------------------------------------
3 | * jQuery-Plugin - selectToUISlider - creates a UI slider component from a select element(s)
4 | * by Scott Jehl, scott@filamentgroup.com
5 | * http://www.filamentgroup.com
6 | * reference article: http://www.filamentgroup.com/lab/update_jquery_ui_16_slider_from_a_select_element/
7 | * demo page: http://www.filamentgroup.com/examples/slider_v2/index.html
8 | *
9 | * Copyright (c) 2008 Filament Group, Inc
10 | * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
11 | *
12 | * Usage Notes: please refer to our article above for documentation
13 | *
14 | * --------------------------------------------------------------------
15 | */
16 |
17 |
18 | jQuery.fn.selectToUISlider = function(settings){
19 | var selects = jQuery(this);
20 |
21 | //accessible slider options
22 | var options = jQuery.extend({
23 | labels: 3, //number of visible labels
24 | tooltip: true, //show tooltips, boolean
25 | tooltipSrc: 'text',//accepts 'value' as well
26 | labelSrc: 'value',//accepts 'value' as well ,
27 | sliderOptions: null
28 | }, settings);
29 |
30 |
31 | //handle ID attrs - selects each need IDs for handles to find them
32 | var handleIds = (function(){
33 | var tempArr = [];
34 | selects.each(function(){
35 | tempArr.push('handle_'+jQuery(this).attr('id'));
36 | });
37 | return tempArr;
38 | })();
39 |
40 | //array of all option elements in select element (ignores optgroups)
41 | var selectOptions = (function(){
42 | var opts = [];
43 | selects.eq(0).find('option').each(function(){
44 | opts.push({
45 | value: jQuery(this).attr('value'),
46 | text: jQuery(this).text()
47 | });
48 | });
49 | return opts;
50 | })();
51 |
52 | //array of opt groups if present
53 | var groups = (function(){
54 | if(selects.eq(0).find('optgroup').size()>0){
55 | var groupedData = [];
56 | selects.eq(0).find('optgroup').each(function(i){
57 | groupedData[i] = {};
58 | groupedData[i].label = jQuery(this).attr('label');
59 | groupedData[i].options = [];
60 | jQuery(this).find('option').each(function(){
61 | groupedData[i].options.push({text: jQuery(this).text(), value: jQuery(this).attr('value')});
62 | });
63 | });
64 | return groupedData;
65 | }
66 | else return null;
67 | })();
68 |
69 | //check if obj is array
70 | function isArray(obj) {
71 | return obj.constructor == Array;
72 | }
73 | //return tooltip text from option index
74 | function ttText(optIndex){
75 | return (options.tooltipSrc == 'text') ? selectOptions[optIndex].text : selectOptions[optIndex].value;
76 | }
77 |
78 | //plugin-generated slider options (can be overridden)
79 | var sliderOptions = {
80 | step: 1,
81 | min: 0,
82 | orientation: 'horizontal',
83 | slideFunction: function() { },
84 | max: selectOptions.length-1,
85 | range: selects.length > 1,//multiple select elements = true
86 | slide: function(e, ui) {//slide function
87 | var thisHandle = jQuery(ui.handle);
88 | //handle feedback
89 | var textval = ttText(ui.value);
90 | thisHandle
91 | .attr('aria-valuetext', textval)
92 | .attr('aria-valuenow', ui.value)
93 | .find('.ui-slider-tooltip .ttContent')
94 | .text( textval );
95 |
96 | //control original select menu
97 | var currSelect = jQuery('#' + thisHandle.attr('id').split('handle_')[1]);
98 | currSelect.find('option').eq(ui.value).attr('selected', 'selected');
99 | sliderOptions.slideFunction();
100 | },
101 | values: (function(){
102 | var values = [];
103 | selects.each(function(){
104 | values.push( jQuery(this).get(0).selectedIndex );
105 | });
106 | return values;
107 | })()
108 | };
109 |
110 | //slider options from settings
111 | options.sliderOptions = (settings) ? jQuery.extend(sliderOptions, settings.sliderOptions) : sliderOptions;
112 |
113 | //select element change event
114 | selects.bind('change keyup click', function(){
115 | var thisIndex = jQuery(this).get(0).selectedIndex;
116 | var thisHandle = jQuery('#handle_'+ jQuery(this).attr('id'));
117 | var handleIndex = thisHandle.data('handleNum');
118 | thisHandle.parents('.ui-slider:eq(0)').slider("values", handleIndex, thisIndex);
119 | });
120 |
121 |
122 | //create slider component div
123 | var sliderComponent = jQuery('
');
124 |
125 | //CREATE HANDLES
126 | selects.each(function(i){
127 | var hidett = '';
128 |
129 | //associate label for ARIA
130 | var thisLabel = jQuery('label[for=' + jQuery(this).attr('id') +']');
131 | //labelled by aria doesn't seem to work on slider handle. Using title attr as backup
132 | var labelText = (thisLabel.size()>0) ? 'Slider control for '+ thisLabel.text()+'' : '';
133 | var thisLabelId = thisLabel.attr('id') || thisLabel.attr('id', 'label_'+handleIds[i]).attr('id');
134 |
135 |
136 | if( options.tooltip == false ){hidett = ' style="display: none;"';}
137 | jQuery(''+labelText+' '+
148 | ' '+
149 | ' '+
150 | ' ')
151 | .data('handleNum',i)
152 | .appendTo(sliderComponent);
153 | });
154 |
155 | //CREATE SCALE AND TICS
156 |
157 | //write dl if there are optgroups
158 | if(groups) {
159 | var inc = 0;
160 | var scale = sliderComponent.append(' ').find('.ui-slider-scale:eq(0)');
161 | jQuery(groups).each(function(h){
162 | scale.append(''+this.label+' ');//class name becomes camelCased label
163 | var groupOpts = this.options;
164 | jQuery(this.options).each(function(i){
165 | var style = (inc == selectOptions.length-1 || inc == 0) ? 'style="display: none;"' : '' ;
166 | var labelText = (options.labelSrc == 'text') ? groupOpts[i].text : groupOpts[i].value;
167 | scale.append(''+ labelText +' ');
168 | inc++;
169 | });
170 | });
171 | }
172 | //write ol
173 | else {
174 | var scale = sliderComponent.append(' ').find('.ui-slider-scale:eq(0)');
175 | jQuery(selectOptions).each(function(i){
176 | var style = (i == selectOptions.length-1 || i == 0) ? 'style="display: none;"' : '' ;
177 | var labelText = (options.labelSrc == 'text') ? this.text : this.value;
178 | scale.append(''+ labelText +' ');
179 | });
180 | }
181 |
182 | function leftVal(i){
183 | return (i/(selectOptions.length-1) * 100).toFixed(2) +'%';
184 |
185 | }
186 |
187 |
188 |
189 |
190 | //show and hide labels depending on labels pref
191 | //show the last one if there are more than 1 specified
192 | if(options.labels > 1) sliderComponent.find('.ui-slider-scale li:last span.ui-slider-label, .ui-slider-scale dd:last span.ui-slider-label').addClass('ui-slider-label-show');
193 |
194 | //set increment
195 | var increm = Math.max(1, Math.round(selectOptions.length / options.labels));
196 | //show em based on inc
197 | for(var j=0; j increm){//don't show if it's too close to the end label
199 | sliderComponent.find('.ui-slider-scale li:eq('+ j +') span.ui-slider-label, .ui-slider-scale dd:eq('+ j +') span.ui-slider-label').addClass('ui-slider-label-show');
200 | }
201 | }
202 |
203 | //style the dt's
204 | sliderComponent.find('.ui-slider-scale dt').each(function(i){
205 | jQuery(this).css({
206 | 'left': ((100 /( groups.length))*i).toFixed(2) + '%'
207 | });
208 | });
209 |
210 |
211 | //inject and return
212 | sliderComponent
213 | .insertAfter(jQuery(this).eq(this.length-1))
214 | .slider(options.sliderOptions)
215 | .attr('role','application')
216 | .find('.ui-slider-label')
217 | .each(function(){
218 | jQuery(this).css('marginLeft', -jQuery(this).width()/2);
219 | });
220 |
221 | //update tooltip arrow inner color
222 | sliderComponent.find('.ui-tooltip-pointer-down-inner').each(function(){
223 | var bWidth = jQuery('.ui-tooltip-pointer-down-inner').css('borderTopWidth');
224 | var bColor = jQuery(this).parents('.ui-slider-tooltip').css('backgroundColor')
225 | jQuery(this).css('border-top', bWidth+' solid '+bColor);
226 | });
227 |
228 | var values = sliderComponent.slider('values');
229 |
230 | if(isArray(values)){
231 | jQuery(values).each(function(i){
232 | sliderComponent.find('.ui-slider-tooltip .ttContent').eq(i).text( ttText(this) );
233 | });
234 | }
235 | else {
236 | sliderComponent.find('.ui-slider-tooltip .ttContent').eq(0).text( ttText(values) );
237 | }
238 |
239 | return this;
240 | }
241 |
242 |
243 |
--------------------------------------------------------------------------------
/public/css/redmond/jquery-ui-1.7.1.custom.css:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery UI CSS Framework
3 | * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
4 | * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
5 | */
6 |
7 | /* Layout helpers
8 | ----------------------------------*/
9 | .ui-helper-hidden { display: none; }
10 | .ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
11 | .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
12 | .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
13 | .ui-helper-clearfix { display: inline-block; }
14 | /* required comment for clearfix to work in Opera \*/
15 | * html .ui-helper-clearfix { height:1%; }
16 | .ui-helper-clearfix { display:block; }
17 | /* end clearfix */
18 | .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
19 |
20 |
21 | /* Interaction Cues
22 | ----------------------------------*/
23 | .ui-state-disabled { cursor: default !important; }
24 |
25 |
26 | /* Icons
27 | ----------------------------------*/
28 |
29 | /* states and images */
30 | .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
31 |
32 |
33 | /* Misc visuals
34 | ----------------------------------*/
35 |
36 | /* Overlays */
37 | .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
38 |
39 | /*
40 | * jQuery UI CSS Framework
41 | * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
42 | * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
43 | * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande,%20Lucida%20Sans,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=06_inset_hard.png&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=02_glass.png&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=06_inset_hard.png&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=01_flat.png&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
44 | */
45 |
46 |
47 | /* Component containers
48 | ----------------------------------*/
49 | .ui-widget { font-family: verdana, Helvetica, Arial, sans-serif; }
50 | .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Lucida Grande, Lucida Sans, Arial, sans-serif; font-size: 1em; }
51 | .ui-widget-content { border: 1px solid #a6c9e2; background: #fcfdfd url(images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x; color: #111; }
52 | .ui-widget-content a { color: #111; }
53 | .ui-widget-header { border: 1px solid #4297d7; background: #5c9ccc url(images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
54 | .ui-widget-header a { color: #ffffff; }
55 |
56 | /* Interaction states
57 | ----------------------------------*/
58 | .ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #c5dbec; background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #2e6e9e; outline: none; }
59 | .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #2e6e9e; text-decoration: none; outline: none; }
60 | .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #79b7e7; background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1d5987; outline: none; }
61 | .ui-state-hover a, .ui-state-hover a:hover { color: #1d5987; text-decoration: none; outline: none; }
62 | .ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #79b7e7; background: #f5f8f9 url(images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #e17009; outline: none; }
63 | .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #e17009; outline: none; text-decoration: none; }
64 |
65 | /* Interaction Cues
66 | ----------------------------------*/
67 | .ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fad42e; background: #fbec88 url(images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x; color: #363636; }
68 | .ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
69 | .ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
70 | .ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; }
71 | .ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; }
72 | .ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
73 | .ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
74 | .ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
75 |
76 | /* Icons
77 | ----------------------------------*/
78 |
79 | /* states and images */
80 | .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_469bdd_256x240.png); }
81 | .ui-widget-content .ui-icon {background-image: url(images/ui-icons_469bdd_256x240.png); }
82 | .ui-widget-header .ui-icon {background-image: url(images/ui-icons_d8e7f3_256x240.png); }
83 | .ui-state-default .ui-icon { background-image: url(images/ui-icons_6da8d5_256x240.png); }
84 | .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_217bc0_256x240.png); }
85 | .ui-state-active .ui-icon {background-image: url(images/ui-icons_f9bd01_256x240.png); }
86 | .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
87 | .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
88 |
89 | /* positioning */
90 | .ui-icon-carat-1-n { background-position: 0 0; }
91 | .ui-icon-carat-1-ne { background-position: -16px 0; }
92 | .ui-icon-carat-1-e { background-position: -32px 0; }
93 | .ui-icon-carat-1-se { background-position: -48px 0; }
94 | .ui-icon-carat-1-s { background-position: -64px 0; }
95 | .ui-icon-carat-1-sw { background-position: -80px 0; }
96 | .ui-icon-carat-1-w { background-position: -96px 0; }
97 | .ui-icon-carat-1-nw { background-position: -112px 0; }
98 | .ui-icon-carat-2-n-s { background-position: -128px 0; }
99 | .ui-icon-carat-2-e-w { background-position: -144px 0; }
100 | .ui-icon-triangle-1-n { background-position: 0 -16px; }
101 | .ui-icon-triangle-1-ne { background-position: -16px -16px; }
102 | .ui-icon-triangle-1-e { background-position: -32px -16px; }
103 | .ui-icon-triangle-1-se { background-position: -48px -16px; }
104 | .ui-icon-triangle-1-s { background-position: -64px -16px; }
105 | .ui-icon-triangle-1-sw { background-position: -80px -16px; }
106 | .ui-icon-triangle-1-w { background-position: -96px -16px; }
107 | .ui-icon-triangle-1-nw { background-position: -112px -16px; }
108 | .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
109 | .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
110 | .ui-icon-arrow-1-n { background-position: 0 -32px; }
111 | .ui-icon-arrow-1-ne { background-position: -16px -32px; }
112 | .ui-icon-arrow-1-e { background-position: -32px -32px; }
113 | .ui-icon-arrow-1-se { background-position: -48px -32px; }
114 | .ui-icon-arrow-1-s { background-position: -64px -32px; }
115 | .ui-icon-arrow-1-sw { background-position: -80px -32px; }
116 | .ui-icon-arrow-1-w { background-position: -96px -32px; }
117 | .ui-icon-arrow-1-nw { background-position: -112px -32px; }
118 | .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
119 | .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
120 | .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
121 | .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
122 | .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
123 | .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
124 | .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
125 | .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
126 | .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
127 | .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
128 | .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
129 | .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
130 | .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
131 | .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
132 | .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
133 | .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
134 | .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
135 | .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
136 | .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
137 | .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
138 | .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
139 | .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
140 | .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
141 | .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
142 | .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
143 | .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
144 | .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
145 | .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
146 | .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
147 | .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
148 | .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
149 | .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
150 | .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
151 | .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
152 | .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
153 | .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
154 | .ui-icon-arrow-4 { background-position: 0 -80px; }
155 | .ui-icon-arrow-4-diag { background-position: -16px -80px; }
156 | .ui-icon-extlink { background-position: -32px -80px; }
157 | .ui-icon-newwin { background-position: -48px -80px; }
158 | .ui-icon-refresh { background-position: -64px -80px; }
159 | .ui-icon-shuffle { background-position: -80px -80px; }
160 | .ui-icon-transfer-e-w { background-position: -96px -80px; }
161 | .ui-icon-transferthick-e-w { background-position: -112px -80px; }
162 | .ui-icon-folder-collapsed { background-position: 0 -96px; }
163 | .ui-icon-folder-open { background-position: -16px -96px; }
164 | .ui-icon-document { background-position: -32px -96px; }
165 | .ui-icon-document-b { background-position: -48px -96px; }
166 | .ui-icon-note { background-position: -64px -96px; }
167 | .ui-icon-mail-closed { background-position: -80px -96px; }
168 | .ui-icon-mail-open { background-position: -96px -96px; }
169 | .ui-icon-suitcase { background-position: -112px -96px; }
170 | .ui-icon-comment { background-position: -128px -96px; }
171 | .ui-icon-person { background-position: -144px -96px; }
172 | .ui-icon-print { background-position: -160px -96px; }
173 | .ui-icon-trash { background-position: -176px -96px; }
174 | .ui-icon-locked { background-position: -192px -96px; }
175 | .ui-icon-unlocked { background-position: -208px -96px; }
176 | .ui-icon-bookmark { background-position: -224px -96px; }
177 | .ui-icon-tag { background-position: -240px -96px; }
178 | .ui-icon-home { background-position: 0 -112px; }
179 | .ui-icon-flag { background-position: -16px -112px; }
180 | .ui-icon-calendar { background-position: -32px -112px; }
181 | .ui-icon-cart { background-position: -48px -112px; }
182 | .ui-icon-pencil { background-position: -64px -112px; }
183 | .ui-icon-clock { background-position: -80px -112px; }
184 | .ui-icon-disk { background-position: -96px -112px; }
185 | .ui-icon-calculator { background-position: -112px -112px; }
186 | .ui-icon-zoomin { background-position: -128px -112px; }
187 | .ui-icon-zoomout { background-position: -144px -112px; }
188 | .ui-icon-search { background-position: -160px -112px; }
189 | .ui-icon-wrench { background-position: -176px -112px; }
190 | .ui-icon-gear { background-position: -192px -112px; }
191 | .ui-icon-heart { background-position: -208px -112px; }
192 | .ui-icon-star { background-position: -224px -112px; }
193 | .ui-icon-link { background-position: -240px -112px; }
194 | .ui-icon-cancel { background-position: 0 -128px; }
195 | .ui-icon-plus { background-position: -16px -128px; }
196 | .ui-icon-plusthick { background-position: -32px -128px; }
197 | .ui-icon-minus { background-position: -48px -128px; }
198 | .ui-icon-minusthick { background-position: -64px -128px; }
199 | .ui-icon-close { background-position: -80px -128px; }
200 | .ui-icon-closethick { background-position: -96px -128px; }
201 | .ui-icon-key { background-position: -112px -128px; }
202 | .ui-icon-lightbulb { background-position: -128px -128px; }
203 | .ui-icon-scissors { background-position: -144px -128px; }
204 | .ui-icon-clipboard { background-position: -160px -128px; }
205 | .ui-icon-copy { background-position: -176px -128px; }
206 | .ui-icon-contact { background-position: -192px -128px; }
207 | .ui-icon-image { background-position: -208px -128px; }
208 | .ui-icon-video { background-position: -224px -128px; }
209 | .ui-icon-script { background-position: -240px -128px; }
210 | .ui-icon-alert { background-position: 0 -144px; }
211 | .ui-icon-info { background-position: -16px -144px; }
212 | .ui-icon-notice { background-position: -32px -144px; }
213 | .ui-icon-help { background-position: -48px -144px; }
214 | .ui-icon-check { background-position: -64px -144px; }
215 | .ui-icon-bullet { background-position: -80px -144px; }
216 | .ui-icon-radio-off { background-position: -96px -144px; }
217 | .ui-icon-radio-on { background-position: -112px -144px; }
218 | .ui-icon-pin-w { background-position: -128px -144px; }
219 | .ui-icon-pin-s { background-position: -144px -144px; }
220 | .ui-icon-play { background-position: 0 -160px; }
221 | .ui-icon-pause { background-position: -16px -160px; }
222 | .ui-icon-seek-next { background-position: -32px -160px; }
223 | .ui-icon-seek-prev { background-position: -48px -160px; }
224 | .ui-icon-seek-end { background-position: -64px -160px; }
225 | .ui-icon-seek-first { background-position: -80px -160px; }
226 | .ui-icon-stop { background-position: -96px -160px; }
227 | .ui-icon-eject { background-position: -112px -160px; }
228 | .ui-icon-volume-off { background-position: -128px -160px; }
229 | .ui-icon-volume-on { background-position: -144px -160px; }
230 | .ui-icon-power { background-position: 0 -176px; }
231 | .ui-icon-signal-diag { background-position: -16px -176px; }
232 | .ui-icon-signal { background-position: -32px -176px; }
233 | .ui-icon-battery-0 { background-position: -48px -176px; }
234 | .ui-icon-battery-1 { background-position: -64px -176px; }
235 | .ui-icon-battery-2 { background-position: -80px -176px; }
236 | .ui-icon-battery-3 { background-position: -96px -176px; }
237 | .ui-icon-circle-plus { background-position: 0 -192px; }
238 | .ui-icon-circle-minus { background-position: -16px -192px; }
239 | .ui-icon-circle-close { background-position: -32px -192px; }
240 | .ui-icon-circle-triangle-e { background-position: -48px -192px; }
241 | .ui-icon-circle-triangle-s { background-position: -64px -192px; }
242 | .ui-icon-circle-triangle-w { background-position: -80px -192px; }
243 | .ui-icon-circle-triangle-n { background-position: -96px -192px; }
244 | .ui-icon-circle-arrow-e { background-position: -112px -192px; }
245 | .ui-icon-circle-arrow-s { background-position: -128px -192px; }
246 | .ui-icon-circle-arrow-w { background-position: -144px -192px; }
247 | .ui-icon-circle-arrow-n { background-position: -160px -192px; }
248 | .ui-icon-circle-zoomin { background-position: -176px -192px; }
249 | .ui-icon-circle-zoomout { background-position: -192px -192px; }
250 | .ui-icon-circle-check { background-position: -208px -192px; }
251 | .ui-icon-circlesmall-plus { background-position: 0 -208px; }
252 | .ui-icon-circlesmall-minus { background-position: -16px -208px; }
253 | .ui-icon-circlesmall-close { background-position: -32px -208px; }
254 | .ui-icon-squaresmall-plus { background-position: -48px -208px; }
255 | .ui-icon-squaresmall-minus { background-position: -64px -208px; }
256 | .ui-icon-squaresmall-close { background-position: -80px -208px; }
257 | .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
258 | .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
259 | .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
260 | .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
261 | .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
262 | .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
263 |
264 |
265 | /* Misc visuals
266 | ----------------------------------*/
267 |
268 | /* Corner radius */
269 | .ui-corner-tl { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; }
270 | .ui-corner-tr { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; }
271 | .ui-corner-bl { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; }
272 | .ui-corner-br { -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
273 | .ui-corner-top { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; }
274 | .ui-corner-bottom { -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
275 | .ui-corner-right { -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; }
276 | .ui-corner-left { -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px; -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; }
277 | .ui-corner-all { -moz-border-radius: 5px; -webkit-border-radius: 5px; }
278 |
279 | /* Overlays */
280 | .ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
281 | .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Accordion
282 | ----------------------------------*/
283 | .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
284 | .ui-accordion .ui-accordion-li-fix { display: inline; }
285 | .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
286 | .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
287 | .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
288 | .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; }
289 | .ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
290 | ----------------------------------*/
291 | .ui-datepicker { width: 17em; padding: .2em .2em 0; }
292 | .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
293 | .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
294 | .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
295 | .ui-datepicker .ui-datepicker-prev { left:2px; }
296 | .ui-datepicker .ui-datepicker-next { right:2px; }
297 | .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
298 | .ui-datepicker .ui-datepicker-next-hover { right:1px; }
299 | .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; }
300 | .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
301 | .ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
302 | .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
303 | .ui-datepicker select.ui-datepicker-month,
304 | .ui-datepicker select.ui-datepicker-year { width: 49%;}
305 | .ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
306 | .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
307 | .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
308 | .ui-datepicker td { border: 0; padding: 1px; }
309 | .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
310 | .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; }
311 | .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
312 | .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
313 |
314 | /* with multiple calendars */
315 | .ui-datepicker.ui-datepicker-multi { width:auto; }
316 | .ui-datepicker-multi .ui-datepicker-group { float:left; }
317 | .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
318 | .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
319 | .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
320 | .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
321 | .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
322 | .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
323 | .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
324 | .ui-datepicker-row-break { clear:both; width:100%; }
325 |
326 | /* RTL support */
327 | .ui-datepicker-rtl { direction: rtl; }
328 | .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
329 | .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
330 | .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
331 | .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
332 | .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
333 | .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
334 | .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
335 | .ui-datepicker-rtl .ui-datepicker-group { float:right; }
336 | .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
337 | .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
338 |
339 | /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
340 | .ui-datepicker-cover {
341 | display: none; /*sorry for IE5*/
342 | display/**/: block; /*sorry for IE5*/
343 | position: absolute; /*must have*/
344 | z-index: -1; /*must have*/
345 | filter: mask(); /*must have*/
346 | top: -4px; /*must have*/
347 | left: -4px; /*must have*/
348 | width: 200px; /*must have*/
349 | height: 200px; /*must have*/
350 | }/* Dialog
351 | ----------------------------------*/
352 | .ui-dialog { position: relative; padding: .2em; width: 300px; }
353 | .ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
354 | .ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
355 | .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
356 | .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
357 | .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
358 | .ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
359 | .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; }
360 | .ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
361 | .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
362 | .ui-draggable .ui-dialog-titlebar { cursor: move; }
363 | /* Progressbar
364 | ----------------------------------*/
365 | .ui-progressbar { height:2em; text-align: left; }
366 | .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
367 | ----------------------------------*/
368 | .ui-resizable { position: relative;}
369 | .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
370 | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
371 | .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
372 | .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
373 | .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
374 | .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
375 | .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
376 | .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
377 | .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
378 | .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
379 | ----------------------------------*/
380 | .ui-slider { position: relative; text-align: left; }
381 | .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
382 | .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
383 |
384 | .ui-slider-horizontal { height: .8em; }
385 | .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
386 | .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
387 | .ui-slider-horizontal .ui-slider-range-min { left: 0; }
388 | .ui-slider-horizontal .ui-slider-range-max { right: 0; }
389 |
390 | .ui-slider-vertical { width: .8em; height: 100px; }
391 | .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
392 | .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
393 | .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
394 | .ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
395 | ----------------------------------*/
396 | .ui-tabs { padding: .2em; zoom: 1; }
397 | .ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
398 | .ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
399 | .ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
400 | .ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
401 | .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; }
402 | .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... */
403 | .ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
404 | .ui-tabs .ui-tabs-hide { display: none !important; }
405 |
--------------------------------------------------------------------------------
/public/css/sunny-jquery-ui.css:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery UI CSS Framework @VERSION
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; left: -99999999px; }
15 | .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; 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 @VERSION
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/?ffDefault=Segoe%20UI,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=8px&bgColorHeader=817865&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=45&borderColorHeader=494437&fcHeader=ffffff&iconColorHeader=fadc7a&bgColorContent=feeebd&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=8e846b&fcContent=383838&iconColorContent=d19405&bgColorDefault=fece2f&bgTextureDefault=12_gloss_wave.png&bgImgOpacityDefault=60&borderColorDefault=d19405&fcDefault=4c3000&iconColorDefault=3d3d3d&bgColorHover=ffdd57&bgTextureHover=12_gloss_wave.png&bgImgOpacityHover=70&borderColorHover=a45b13&fcHover=381f00&iconColorHover=bd7b00&bgColorActive=ffffff&bgTextureActive=05_inset_soft.png&bgImgOpacityActive=30&borderColorActive=655e4e&fcActive=0074c7&iconColorActive=eb990f&bgColorHighlight=fff9e5&bgTextureHighlight=12_gloss_wave.png&bgImgOpacityHighlight=90&borderColorHighlight=eeb420&fcHighlight=1f1f1f&iconColorHighlight=ed9f26&bgColorError=d34d17&bgTextureError=07_diagonals_medium.png&bgImgOpacityError=20&borderColorError=ffb73d&fcError=ffffff&iconColorError=ffe180&bgColorOverlay=5c5c5c&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=cccccc&bgTextureShadow=01_flat.png&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px
54 | */
55 |
56 |
57 | /* Component containers
58 | ----------------------------------*/
59 | .ui-widget { font-family: Verdana, Arial, sans-serif; }
60 | .ui-widget .ui-widget { font-size: 1em; }
61 | .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana, Segoe UI, Arial, sans-serif; font-size: 1em; }
62 | .ui-widget-content { border: 1px solid #8e846b; background: #feeebd url(images/ui-bg_highlight-soft_100_feeebd_1x100.png) 50% top repeat-x; color: #383838; }
63 | .ui-widget-content a { color: #383838; }
64 | .ui-widget-header { border: 1px solid #494437; background: #817865 url(images/ui-bg_gloss-wave_45_817865_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
65 | .ui-widget-header a { color: #ffffff; }
66 |
67 | /* Interaction states
68 | ----------------------------------*/
69 | .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d19405; background: #fece2f url(images/ui-bg_gloss-wave_60_fece2f_500x100.png) 50% 50% repeat-x; font-weight: bold; color: #4c3000; }
70 | .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #4c3000; text-decoration: none; }
71 | .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 #a45b13; background: #ffdd57 url(images/ui-bg_gloss-wave_70_ffdd57_500x100.png) 50% 50% repeat-x; font-weight: bold; color: #381f00; }
72 | .ui-state-hover a, .ui-state-hover a:hover { color: #381f00; text-decoration: none; }
73 | .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #655e4e; background: #ffffff url(images/ui-bg_inset-soft_30_ffffff_1x100.png) 50% 50% repeat-x; font-weight: bold; color: #0074c7; }
74 | .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #0074c7; text-decoration: none; }
75 | .ui-widget :active { outline: none; }
76 |
77 | /* Interaction Cues
78 | ----------------------------------*/
79 | .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #eeb420; background: #fff9e5 url(images/ui-bg_gloss-wave_90_fff9e5_500x100.png) 50% top repeat-x; color: #1f1f1f; }
80 | .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #1f1f1f; }
81 | .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #ffb73d; background: #d34d17 url(images/ui-bg_diagonals-medium_20_d34d17_40x40.png) 50% 50% repeat; color: #ffffff; }
82 | .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
83 | .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
84 | .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
85 | .ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
86 | .ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
87 |
88 | /* Icons
89 | ----------------------------------*/
90 |
91 | /* states and images */
92 | .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_d19405_256x240.png); }
93 | .ui-widget-content .ui-icon {background-image: url(images/ui-icons_d19405_256x240.png); }
94 | .ui-widget-header .ui-icon {background-image: url(images/ui-icons_fadc7a_256x240.png); }
95 | .ui-state-default .ui-icon { background-image: url(images/ui-icons_3d3d3d_256x240.png); }
96 | .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_bd7b00_256x240.png); }
97 | .ui-state-active .ui-icon {background-image: url(images/ui-icons_eb990f_256x240.png); }
98 | .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_ed9f26_256x240.png); }
99 | .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffe180_256x240.png); }
100 |
101 | /* positioning */
102 | .ui-icon-carat-1-n { background-position: 0 0; }
103 | .ui-icon-carat-1-ne { background-position: -16px 0; }
104 | .ui-icon-carat-1-e { background-position: -32px 0; }
105 | .ui-icon-carat-1-se { background-position: -48px 0; }
106 | .ui-icon-carat-1-s { background-position: -64px 0; }
107 | .ui-icon-carat-1-sw { background-position: -80px 0; }
108 | .ui-icon-carat-1-w { background-position: -96px 0; }
109 | .ui-icon-carat-1-nw { background-position: -112px 0; }
110 | .ui-icon-carat-2-n-s { background-position: -128px 0; }
111 | .ui-icon-carat-2-e-w { background-position: -144px 0; }
112 | .ui-icon-triangle-1-n { background-position: 0 -16px; }
113 | .ui-icon-triangle-1-ne { background-position: -16px -16px; }
114 | .ui-icon-triangle-1-e { background-position: -32px -16px; }
115 | .ui-icon-triangle-1-se { background-position: -48px -16px; }
116 | .ui-icon-triangle-1-s { background-position: -64px -16px; }
117 | .ui-icon-triangle-1-sw { background-position: -80px -16px; }
118 | .ui-icon-triangle-1-w { background-position: -96px -16px; }
119 | .ui-icon-triangle-1-nw { background-position: -112px -16px; }
120 | .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
121 | .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
122 | .ui-icon-arrow-1-n { background-position: 0 -32px; }
123 | .ui-icon-arrow-1-ne { background-position: -16px -32px; }
124 | .ui-icon-arrow-1-e { background-position: -32px -32px; }
125 | .ui-icon-arrow-1-se { background-position: -48px -32px; }
126 | .ui-icon-arrow-1-s { background-position: -64px -32px; }
127 | .ui-icon-arrow-1-sw { background-position: -80px -32px; }
128 | .ui-icon-arrow-1-w { background-position: -96px -32px; }
129 | .ui-icon-arrow-1-nw { background-position: -112px -32px; }
130 | .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
131 | .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
132 | .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
133 | .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
134 | .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
135 | .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
136 | .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
137 | .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
138 | .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
139 | .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
140 | .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
141 | .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
142 | .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
143 | .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
144 | .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
145 | .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
146 | .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
147 | .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
148 | .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
149 | .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
150 | .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
151 | .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
152 | .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
153 | .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
154 | .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
155 | .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
156 | .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
157 | .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
158 | .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
159 | .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
160 | .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
161 | .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
162 | .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
163 | .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
164 | .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
165 | .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
166 | .ui-icon-arrow-4 { background-position: 0 -80px; }
167 | .ui-icon-arrow-4-diag { background-position: -16px -80px; }
168 | .ui-icon-extlink { background-position: -32px -80px; }
169 | .ui-icon-newwin { background-position: -48px -80px; }
170 | .ui-icon-refresh { background-position: -64px -80px; }
171 | .ui-icon-shuffle { background-position: -80px -80px; }
172 | .ui-icon-transfer-e-w { background-position: -96px -80px; }
173 | .ui-icon-transferthick-e-w { background-position: -112px -80px; }
174 | .ui-icon-folder-collapsed { background-position: 0 -96px; }
175 | .ui-icon-folder-open { background-position: -16px -96px; }
176 | .ui-icon-document { background-position: -32px -96px; }
177 | .ui-icon-document-b { background-position: -48px -96px; }
178 | .ui-icon-note { background-position: -64px -96px; }
179 | .ui-icon-mail-closed { background-position: -80px -96px; }
180 | .ui-icon-mail-open { background-position: -96px -96px; }
181 | .ui-icon-suitcase { background-position: -112px -96px; }
182 | .ui-icon-comment { background-position: -128px -96px; }
183 | .ui-icon-person { background-position: -144px -96px; }
184 | .ui-icon-print { background-position: -160px -96px; }
185 | .ui-icon-trash { background-position: -176px -96px; }
186 | .ui-icon-locked { background-position: -192px -96px; }
187 | .ui-icon-unlocked { background-position: -208px -96px; }
188 | .ui-icon-bookmark { background-position: -224px -96px; }
189 | .ui-icon-tag { background-position: -240px -96px; }
190 | .ui-icon-home { background-position: 0 -112px; }
191 | .ui-icon-flag { background-position: -16px -112px; }
192 | .ui-icon-calendar { background-position: -32px -112px; }
193 | .ui-icon-cart { background-position: -48px -112px; }
194 | .ui-icon-pencil { background-position: -64px -112px; }
195 | .ui-icon-clock { background-position: -80px -112px; }
196 | .ui-icon-disk { background-position: -96px -112px; }
197 | .ui-icon-calculator { background-position: -112px -112px; }
198 | .ui-icon-zoomin { background-position: -128px -112px; }
199 | .ui-icon-zoomout { background-position: -144px -112px; }
200 | .ui-icon-search { background-position: -160px -112px; }
201 | .ui-icon-wrench { background-position: -176px -112px; }
202 | .ui-icon-gear { background-position: -192px -112px; }
203 | .ui-icon-heart { background-position: -208px -112px; }
204 | .ui-icon-star { background-position: -224px -112px; }
205 | .ui-icon-link { background-position: -240px -112px; }
206 | .ui-icon-cancel { background-position: 0 -128px; }
207 | .ui-icon-plus { background-position: -16px -128px; }
208 | .ui-icon-plusthick { background-position: -32px -128px; }
209 | .ui-icon-minus { background-position: -48px -128px; }
210 | .ui-icon-minusthick { background-position: -64px -128px; }
211 | .ui-icon-close { background-position: -80px -128px; }
212 | .ui-icon-closethick { background-position: -96px -128px; }
213 | .ui-icon-key { background-position: -112px -128px; }
214 | .ui-icon-lightbulb { background-position: -128px -128px; }
215 | .ui-icon-scissors { background-position: -144px -128px; }
216 | .ui-icon-clipboard { background-position: -160px -128px; }
217 | .ui-icon-copy { background-position: -176px -128px; }
218 | .ui-icon-contact { background-position: -192px -128px; }
219 | .ui-icon-image { background-position: -208px -128px; }
220 | .ui-icon-video { background-position: -224px -128px; }
221 | .ui-icon-script { background-position: -240px -128px; }
222 | .ui-icon-alert { background-position: 0 -144px; }
223 | .ui-icon-info { background-position: -16px -144px; }
224 | .ui-icon-notice { background-position: -32px -144px; }
225 | .ui-icon-help { background-position: -48px -144px; }
226 | .ui-icon-check { background-position: -64px -144px; }
227 | .ui-icon-bullet { background-position: -80px -144px; }
228 | .ui-icon-radio-off { background-position: -96px -144px; }
229 | .ui-icon-radio-on { background-position: -112px -144px; }
230 | .ui-icon-pin-w { background-position: -128px -144px; }
231 | .ui-icon-pin-s { background-position: -144px -144px; }
232 | .ui-icon-play { background-position: 0 -160px; }
233 | .ui-icon-pause { background-position: -16px -160px; }
234 | .ui-icon-seek-next { background-position: -32px -160px; }
235 | .ui-icon-seek-prev { background-position: -48px -160px; }
236 | .ui-icon-seek-end { background-position: -64px -160px; }
237 | .ui-icon-seek-start { background-position: -80px -160px; }
238 | /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
239 | .ui-icon-seek-first { background-position: -80px -160px; }
240 | .ui-icon-stop { background-position: -96px -160px; }
241 | .ui-icon-eject { background-position: -112px -160px; }
242 | .ui-icon-volume-off { background-position: -128px -160px; }
243 | .ui-icon-volume-on { background-position: -144px -160px; }
244 | .ui-icon-power { background-position: 0 -176px; }
245 | .ui-icon-signal-diag { background-position: -16px -176px; }
246 | .ui-icon-signal { background-position: -32px -176px; }
247 | .ui-icon-battery-0 { background-position: -48px -176px; }
248 | .ui-icon-battery-1 { background-position: -64px -176px; }
249 | .ui-icon-battery-2 { background-position: -80px -176px; }
250 | .ui-icon-battery-3 { background-position: -96px -176px; }
251 | .ui-icon-circle-plus { background-position: 0 -192px; }
252 | .ui-icon-circle-minus { background-position: -16px -192px; }
253 | .ui-icon-circle-close { background-position: -32px -192px; }
254 | .ui-icon-circle-triangle-e { background-position: -48px -192px; }
255 | .ui-icon-circle-triangle-s { background-position: -64px -192px; }
256 | .ui-icon-circle-triangle-w { background-position: -80px -192px; }
257 | .ui-icon-circle-triangle-n { background-position: -96px -192px; }
258 | .ui-icon-circle-arrow-e { background-position: -112px -192px; }
259 | .ui-icon-circle-arrow-s { background-position: -128px -192px; }
260 | .ui-icon-circle-arrow-w { background-position: -144px -192px; }
261 | .ui-icon-circle-arrow-n { background-position: -160px -192px; }
262 | .ui-icon-circle-zoomin { background-position: -176px -192px; }
263 | .ui-icon-circle-zoomout { background-position: -192px -192px; }
264 | .ui-icon-circle-check { background-position: -208px -192px; }
265 | .ui-icon-circlesmall-plus { background-position: 0 -208px; }
266 | .ui-icon-circlesmall-minus { background-position: -16px -208px; }
267 | .ui-icon-circlesmall-close { background-position: -32px -208px; }
268 | .ui-icon-squaresmall-plus { background-position: -48px -208px; }
269 | .ui-icon-squaresmall-minus { background-position: -64px -208px; }
270 | .ui-icon-squaresmall-close { background-position: -80px -208px; }
271 | .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
272 | .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
273 | .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
274 | .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
275 | .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
276 | .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
277 |
278 |
279 | /* Misc visuals
280 | ----------------------------------*/
281 |
282 | /* Corner radius */
283 | .ui-corner-tl { -moz-border-radius-topleft: 8px; -webkit-border-top-left-radius: 8px; border-top-left-radius: 8px; }
284 | .ui-corner-tr { -moz-border-radius-topright: 8px; -webkit-border-top-right-radius: 8px; border-top-right-radius: 8px; }
285 | .ui-corner-bl { -moz-border-radius-bottomleft: 8px; -webkit-border-bottom-left-radius: 8px; border-bottom-left-radius: 8px; }
286 | .ui-corner-br { -moz-border-radius-bottomright: 8px; -webkit-border-bottom-right-radius: 8px; border-bottom-right-radius: 8px; }
287 | .ui-corner-top { -moz-border-radius-topleft: 8px; -webkit-border-top-left-radius: 8px; border-top-left-radius: 8px; -moz-border-radius-topright: 8px; -webkit-border-top-right-radius: 8px; border-top-right-radius: 8px; }
288 | .ui-corner-bottom { -moz-border-radius-bottomleft: 8px; -webkit-border-bottom-left-radius: 8px; border-bottom-left-radius: 8px; -moz-border-radius-bottomright: 8px; -webkit-border-bottom-right-radius: 8px; border-bottom-right-radius: 8px; }
289 | .ui-corner-right { -moz-border-radius-topright: 8px; -webkit-border-top-right-radius: 8px; border-top-right-radius: 8px; -moz-border-radius-bottomright: 8px; -webkit-border-bottom-right-radius: 8px; border-bottom-right-radius: 8px; }
290 | .ui-corner-left { -moz-border-radius-topleft: 8px; -webkit-border-top-left-radius: 8px; border-top-left-radius: 8px; -moz-border-radius-bottomleft: 8px; -webkit-border-bottom-left-radius: 8px; border-bottom-left-radius: 8px; }
291 | .ui-corner-all { -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
292 |
293 | /* Overlays */
294 | .ui-widget-overlay { background: #5c5c5c url(images/ui-bg_flat_50_5c5c5c_40x100.png) 50% 50% repeat-x; opacity: .80;filter:Alpha(Opacity=80); }
295 | .ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; background: #cccccc url(images/ui-bg_flat_30_cccccc_40x100.png) 50% 50% repeat-x; opacity: .60;filter:Alpha(Opacity=60); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*
296 | * jQuery UI Resizable @VERSION
297 | *
298 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
299 | * Dual licensed under the MIT or GPL Version 2 licenses.
300 | * http://jquery.org/license
301 | *
302 | * http://docs.jquery.com/UI/Resizable#theming
303 | */
304 | .ui-resizable { position: relative;}
305 | .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
306 | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
307 | .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
308 | .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
309 | .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
310 | .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
311 | .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
312 | .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
313 | .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
314 | .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
315 | * jQuery UI Selectable @VERSION
316 | *
317 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
318 | * Dual licensed under the MIT or GPL Version 2 licenses.
319 | * http://jquery.org/license
320 | *
321 | * http://docs.jquery.com/UI/Selectable#theming
322 | */
323 | .ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
324 | /*
325 | * jQuery UI Accordion @VERSION
326 | *
327 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
328 | * Dual licensed under the MIT or GPL Version 2 licenses.
329 | * http://jquery.org/license
330 | *
331 | * http://docs.jquery.com/UI/Accordion#theming
332 | */
333 | /* IE/Win - Fix animation bug - #4615 */
334 | .ui-accordion { width: 100%; }
335 | .ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
336 | .ui-accordion .ui-accordion-li-fix { display: inline; }
337 | .ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
338 | .ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
339 | .ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
340 | .ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
341 | .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; }
342 | .ui-accordion .ui-accordion-content-active { display: block; }/*
343 | * jQuery UI Autocomplete @VERSION
344 | *
345 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
346 | * Dual licensed under the MIT or GPL Version 2 licenses.
347 | * http://jquery.org/license
348 | *
349 | * http://docs.jquery.com/UI/Autocomplete#theming
350 | */
351 | .ui-autocomplete { position: absolute; cursor: default; }
352 |
353 | /* workarounds */
354 | * html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
355 |
356 | /*
357 | * jQuery UI Menu @VERSION
358 | *
359 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
360 | * Dual licensed under the MIT or GPL Version 2 licenses.
361 | * http://jquery.org/license
362 | *
363 | * http://docs.jquery.com/UI/Menu#theming
364 | */
365 | .ui-menu {
366 | list-style:none;
367 | padding: 2px;
368 | margin: 0;
369 | display:block;
370 | float: left;
371 | }
372 | .ui-menu .ui-menu {
373 | margin-top: -3px;
374 | }
375 | .ui-menu .ui-menu-item {
376 | margin:0;
377 | padding: 0;
378 | zoom: 1;
379 | float: left;
380 | clear: left;
381 | width: 100%;
382 | }
383 | .ui-menu .ui-menu-item a {
384 | text-decoration:none;
385 | display:block;
386 | padding:.2em .4em;
387 | line-height:1.5;
388 | zoom:1;
389 | }
390 | .ui-menu .ui-menu-item a.ui-state-hover,
391 | .ui-menu .ui-menu-item a.ui-state-active {
392 | font-weight: normal;
393 | margin: -1px;
394 | }
395 | /*
396 | * jQuery UI Button @VERSION
397 | *
398 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
399 | * Dual licensed under the MIT or GPL Version 2 licenses.
400 | * http://jquery.org/license
401 | *
402 | * http://docs.jquery.com/UI/Button#theming
403 | */
404 | .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; } /* the overflow property removes extra width in IE */
405 | .ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
406 | button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
407 | .ui-button-icons-only { width: 3.4em; }
408 | button.ui-button-icons-only { width: 3.7em; }
409 |
410 | /*button text element */
411 | .ui-button .ui-button-text { display: block; line-height: 1.4; }
412 | .ui-button-text-only .ui-button-text { padding: .4em 1em; }
413 | .ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
414 | .ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
415 | .ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
416 | .ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
417 | /* no icon support for input elements, provide padding by default */
418 | input.ui-button { padding: .4em 1em; }
419 |
420 | /*button icon element(s) */
421 | .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; }
422 | .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
423 | .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; }
424 | .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; }
425 | .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
426 |
427 | /*button sets*/
428 | .ui-buttonset { margin-right: 7px; }
429 | .ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
430 |
431 | /* workarounds */
432 | button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
433 | /*
434 | * jQuery UI Dialog @VERSION
435 | *
436 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
437 | * Dual licensed under the MIT or GPL Version 2 licenses.
438 | * http://jquery.org/license
439 | *
440 | * http://docs.jquery.com/UI/Dialog#theming
441 | */
442 | .ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
443 | .ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; }
444 | .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; }
445 | .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
446 | .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
447 | .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
448 | .ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
449 | .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; }
450 | .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
451 | .ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
452 | .ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
453 | .ui-draggable .ui-dialog-titlebar { cursor: move; }
454 | /*
455 | * jQuery UI Slider @VERSION
456 | *
457 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
458 | * Dual licensed under the MIT or GPL Version 2 licenses.
459 | * http://jquery.org/license
460 | *
461 | * http://docs.jquery.com/UI/Slider#theming
462 | */
463 | .ui-slider { position: relative; text-align: left; }
464 | .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
465 | .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
466 |
467 | .ui-slider-horizontal { height: .8em; }
468 | .ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
469 | .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
470 | .ui-slider-horizontal .ui-slider-range-min { left: 0; }
471 | .ui-slider-horizontal .ui-slider-range-max { right: 0; }
472 |
473 | .ui-slider-vertical { width: .8em; height: 100px; }
474 | .ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
475 | .ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
476 | .ui-slider-vertical .ui-slider-range-min { bottom: 0; }
477 | .ui-slider-vertical .ui-slider-range-max { top: 0; }/*
478 | * jQuery UI Tabs @VERSION
479 | *
480 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
481 | * Dual licensed under the MIT or GPL Version 2 licenses.
482 | * http://jquery.org/license
483 | *
484 | * http://docs.jquery.com/UI/Tabs#theming
485 | */
486 | .ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
487 | .ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
488 | .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; }
489 | .ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
490 | .ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
491 | .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; }
492 | .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... */
493 | .ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
494 | .ui-tabs .ui-tabs-hide { display: none !important; }
495 | /*
496 | * jQuery UI Datepicker @VERSION
497 | *
498 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
499 | * Dual licensed under the MIT or GPL Version 2 licenses.
500 | * http://jquery.org/license
501 | *
502 | * http://docs.jquery.com/UI/Datepicker#theming
503 | */
504 | .ui-datepicker { width: 17em; padding: .2em .2em 0; }
505 | .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
506 | .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
507 | .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
508 | .ui-datepicker .ui-datepicker-prev { left:2px; }
509 | .ui-datepicker .ui-datepicker-next { right:2px; }
510 | .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
511 | .ui-datepicker .ui-datepicker-next-hover { right:1px; }
512 | .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; }
513 | .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
514 | .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
515 | .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
516 | .ui-datepicker select.ui-datepicker-month,
517 | .ui-datepicker select.ui-datepicker-year { width: 49%;}
518 | .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
519 | .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
520 | .ui-datepicker td { border: 0; padding: 1px; }
521 | .ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
522 | .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; }
523 | .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
524 | .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
525 |
526 | /* with multiple calendars */
527 | .ui-datepicker.ui-datepicker-multi { width:auto; }
528 | .ui-datepicker-multi .ui-datepicker-group { float:left; }
529 | .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
530 | .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
531 | .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
532 | .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
533 | .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
534 | .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
535 | .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
536 | .ui-datepicker-row-break { clear:both; width:100%; }
537 |
538 | /* RTL support */
539 | .ui-datepicker-rtl { direction: rtl; }
540 | .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
541 | .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
542 | .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
543 | .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
544 | .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
545 | .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
546 | .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
547 | .ui-datepicker-rtl .ui-datepicker-group { float:right; }
548 | .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
549 | .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
550 |
551 | /* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
552 | .ui-datepicker-cover {
553 | display: none; /*sorry for IE5*/
554 | display/**/: block; /*sorry for IE5*/
555 | position: absolute; /*must have*/
556 | z-index: -1; /*must have*/
557 | filter: mask(); /*must have*/
558 | top: -4px; /*must have*/
559 | left: -4px; /*must have*/
560 | width: 200px; /*must have*/
561 | height: 200px; /*must have*/
562 | }/*
563 | * jQuery UI Progressbar @VERSION
564 | *
565 | * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
566 | * Dual licensed under the MIT or GPL Version 2 licenses.
567 | * http://jquery.org/license
568 | *
569 | * http://docs.jquery.com/UI/Progressbar#theming
570 | */
571 | .ui-progressbar { height:2em; text-align: left; }
572 | .ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
--------------------------------------------------------------------------------