imaginable 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +3 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +84 -0
- data/README.textile +114 -0
- data/Rakefile +2 -0
- data/imaginable.gemspec +21 -0
- data/lib/generators/imaginable/install/install_generator.rb +28 -0
- data/lib/generators/templates/fancybox/blank.gif +0 -0
- data/lib/generators/templates/fancybox/fancy_close.png +0 -0
- data/lib/generators/templates/fancybox/fancy_loading.png +0 -0
- data/lib/generators/templates/fancybox/fancy_nav_left.png +0 -0
- data/lib/generators/templates/fancybox/fancy_nav_right.png +0 -0
- data/lib/generators/templates/fancybox/fancy_shadow_e.png +0 -0
- data/lib/generators/templates/fancybox/fancy_shadow_n.png +0 -0
- data/lib/generators/templates/fancybox/fancy_shadow_ne.png +0 -0
- data/lib/generators/templates/fancybox/fancy_shadow_nw.png +0 -0
- data/lib/generators/templates/fancybox/fancy_shadow_s.png +0 -0
- data/lib/generators/templates/fancybox/fancy_shadow_se.png +0 -0
- data/lib/generators/templates/fancybox/fancy_shadow_sw.png +0 -0
- data/lib/generators/templates/fancybox/fancy_shadow_w.png +0 -0
- data/lib/generators/templates/fancybox/fancy_title_left.png +0 -0
- data/lib/generators/templates/fancybox/fancy_title_main.png +0 -0
- data/lib/generators/templates/fancybox/fancy_title_over.png +0 -0
- data/lib/generators/templates/fancybox/fancy_title_right.png +0 -0
- data/lib/generators/templates/fancybox/fancybox-x.png +0 -0
- data/lib/generators/templates/fancybox/fancybox-y.png +0 -0
- data/lib/generators/templates/fancybox/fancybox.png +0 -0
- data/lib/generators/templates/fancybox/jquery.fancybox-1.3.4.css +359 -0
- data/lib/generators/templates/imaginable.js +429 -0
- data/lib/generators/templates/imaginable.rb +6 -0
- data/lib/generators/templates/imgareaselect/border-anim-h.gif +0 -0
- data/lib/generators/templates/imgareaselect/border-anim-v.gif +0 -0
- data/lib/generators/templates/imgareaselect/border-h.gif +0 -0
- data/lib/generators/templates/imgareaselect/border-v.gif +0 -0
- data/lib/generators/templates/imgareaselect/imgareaselect-animated.css +41 -0
- data/lib/generators/templates/imgareaselect/imgareaselect-default.css +41 -0
- data/lib/generators/templates/imgareaselect/imgareaselect-deprecated.css +36 -0
- data/lib/generators/templates/jquery.fancybox-1.3.4.pack.js +46 -0
- data/lib/generators/templates/jquery.imgareaselect.pack.js +1 -0
- data/lib/generators/templates/plupload.flash.swf +0 -0
- data/lib/generators/templates/plupload.full.min.js +2 -0
- data/lib/imaginable.rb +22 -0
- data/lib/imaginable/form_builder.rb +100 -0
- data/lib/imaginable/image.rb +24 -0
- data/lib/imaginable/model.rb +67 -0
- data/lib/imaginable/railtie.rb +27 -0
- data/lib/imaginable/schema.rb +11 -0
- data/lib/imaginable/version.rb +3 -0
- metadata +52 -5
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
imaginable (0.0.1)
|
5
|
+
formtastic
|
6
|
+
rails (= 3.0.5)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: http://rubygems.org/
|
10
|
+
specs:
|
11
|
+
abstract (1.0.0)
|
12
|
+
actionmailer (3.0.5)
|
13
|
+
actionpack (= 3.0.5)
|
14
|
+
mail (~> 2.2.15)
|
15
|
+
actionpack (3.0.5)
|
16
|
+
activemodel (= 3.0.5)
|
17
|
+
activesupport (= 3.0.5)
|
18
|
+
builder (~> 2.1.2)
|
19
|
+
erubis (~> 2.6.6)
|
20
|
+
i18n (~> 0.4)
|
21
|
+
rack (~> 1.2.1)
|
22
|
+
rack-mount (~> 0.6.13)
|
23
|
+
rack-test (~> 0.5.7)
|
24
|
+
tzinfo (~> 0.3.23)
|
25
|
+
activemodel (3.0.5)
|
26
|
+
activesupport (= 3.0.5)
|
27
|
+
builder (~> 2.1.2)
|
28
|
+
i18n (~> 0.4)
|
29
|
+
activerecord (3.0.5)
|
30
|
+
activemodel (= 3.0.5)
|
31
|
+
activesupport (= 3.0.5)
|
32
|
+
arel (~> 2.0.2)
|
33
|
+
tzinfo (~> 0.3.23)
|
34
|
+
activeresource (3.0.5)
|
35
|
+
activemodel (= 3.0.5)
|
36
|
+
activesupport (= 3.0.5)
|
37
|
+
activesupport (3.0.5)
|
38
|
+
arel (2.0.9)
|
39
|
+
builder (2.1.2)
|
40
|
+
erubis (2.6.6)
|
41
|
+
abstract (>= 1.0.0)
|
42
|
+
formtastic (1.2.3)
|
43
|
+
actionpack (>= 2.3.7)
|
44
|
+
activesupport (>= 2.3.7)
|
45
|
+
i18n (~> 0.4)
|
46
|
+
i18n (0.5.0)
|
47
|
+
mail (2.2.15)
|
48
|
+
activesupport (>= 2.3.6)
|
49
|
+
i18n (>= 0.4.0)
|
50
|
+
mime-types (~> 1.16)
|
51
|
+
treetop (~> 1.4.8)
|
52
|
+
mime-types (1.16)
|
53
|
+
polyglot (0.3.1)
|
54
|
+
rack (1.2.2)
|
55
|
+
rack-mount (0.6.14)
|
56
|
+
rack (>= 1.0.0)
|
57
|
+
rack-test (0.5.7)
|
58
|
+
rack (>= 1.0)
|
59
|
+
rails (3.0.5)
|
60
|
+
actionmailer (= 3.0.5)
|
61
|
+
actionpack (= 3.0.5)
|
62
|
+
activerecord (= 3.0.5)
|
63
|
+
activeresource (= 3.0.5)
|
64
|
+
activesupport (= 3.0.5)
|
65
|
+
bundler (~> 1.0)
|
66
|
+
railties (= 3.0.5)
|
67
|
+
railties (3.0.5)
|
68
|
+
actionpack (= 3.0.5)
|
69
|
+
activesupport (= 3.0.5)
|
70
|
+
rake (>= 0.8.7)
|
71
|
+
thor (~> 0.14.4)
|
72
|
+
rake (0.8.7)
|
73
|
+
thor (0.14.6)
|
74
|
+
treetop (1.4.9)
|
75
|
+
polyglot (>= 0.3.1)
|
76
|
+
tzinfo (0.3.25)
|
77
|
+
|
78
|
+
PLATFORMS
|
79
|
+
ruby
|
80
|
+
|
81
|
+
DEPENDENCIES
|
82
|
+
formtastic
|
83
|
+
imaginable!
|
84
|
+
rails (= 3.0.5)
|
data/README.textile
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
h1. Imaginable
|
2
|
+
|
3
|
+
Imaginable is a gem for Rails, which allows easy integration with the Imagination image-upload and scaling server.
|
4
|
+
|
5
|
+
h2. Compatibility
|
6
|
+
|
7
|
+
Imaginable is currently only compatible with Rails 3
|
8
|
+
|
9
|
+
h2. Installation
|
10
|
+
|
11
|
+
Simply add Imaginable to your Gemfile and bundle it up:
|
12
|
+
|
13
|
+
<pre>
|
14
|
+
gem 'imaginable'
|
15
|
+
</pre>
|
16
|
+
|
17
|
+
Then run the generator to copy some javascript and a configuration initializer into your application:
|
18
|
+
|
19
|
+
<pre>
|
20
|
+
$ rails generate imaginable:install
|
21
|
+
</pre>
|
22
|
+
|
23
|
+
h2. Usage
|
24
|
+
|
25
|
+
It is really easy to make a model Imaginable.
|
26
|
+
|
27
|
+
If you are creating a new model, there are even some handy migration helpers.
|
28
|
+
|
29
|
+
<pre>
|
30
|
+
class CreateArticles < ActiveRecord::Migration
|
31
|
+
def self.up
|
32
|
+
create_table :articles do |t|
|
33
|
+
t.string :title
|
34
|
+
t.text :body
|
35
|
+
t.imaginable :photo
|
36
|
+
t.timestamps
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.down
|
41
|
+
drop_table :articles
|
42
|
+
end
|
43
|
+
end
|
44
|
+
</pre>
|
45
|
+
|
46
|
+
The @t.imaginable@ helper above, will create two columns: @photo_uuid@ and @photo_token@ which Imaginable needs to keep track of the images used by this model.
|
47
|
+
|
48
|
+
We then need to mark our model as Imaginable
|
49
|
+
|
50
|
+
<pre>
|
51
|
+
class Article < ActiveRecord::Base
|
52
|
+
has_imagination :photo
|
53
|
+
end
|
54
|
+
</pre>
|
55
|
+
|
56
|
+
Finally we just need to add a field to our form, which let's the user upload a photo. This is also really easy thanks to the form helper:
|
57
|
+
|
58
|
+
<pre>
|
59
|
+
<%= form_for(@article) do |f| %>
|
60
|
+
<div class="field">
|
61
|
+
<%= f.label :title %><br />
|
62
|
+
<%= f.text_field :title %>
|
63
|
+
</div>
|
64
|
+
<div class="field">
|
65
|
+
<%= f.label :body %><br />
|
66
|
+
<%= f.text_area :body %>
|
67
|
+
</div>
|
68
|
+
<div class="field">
|
69
|
+
<%= f.label :photo %><br />
|
70
|
+
<%= f.image_field :photo %>
|
71
|
+
</div>
|
72
|
+
<div class="actions">
|
73
|
+
<%= f.submit %>
|
74
|
+
</div>
|
75
|
+
<% end %>
|
76
|
+
</pre>
|
77
|
+
|
78
|
+
Please note, that you need to include the Imaginable javascripts in your layout, or by other means.
|
79
|
+
Here is an example of what you could do, if you had a @yield(:head)@ in the @head@ section of your layout:
|
80
|
+
|
81
|
+
<pre>
|
82
|
+
<% content_for(:head) do %>
|
83
|
+
<%= javascript_include_tag 'plupload.full.min' %>
|
84
|
+
<%= javascript_include_tag 'imaginable' %>
|
85
|
+
<% end %>
|
86
|
+
</pre>
|
87
|
+
|
88
|
+
That's all there is to it!
|
89
|
+
|
90
|
+
h2. Validation
|
91
|
+
|
92
|
+
If you require the user to upload an image, you can use this handy validation helper.
|
93
|
+
|
94
|
+
<pre>
|
95
|
+
class Article < ActiveRecord::Base
|
96
|
+
|
97
|
+
has_imagination :photo
|
98
|
+
|
99
|
+
validates_presence_of :title
|
100
|
+
validates_presence_of :body
|
101
|
+
validates_imagination
|
102
|
+
|
103
|
+
end
|
104
|
+
</pre>
|
105
|
+
|
106
|
+
h2. Showing images
|
107
|
+
|
108
|
+
To show an image, you simply call the imaginable method of your model.
|
109
|
+
The method will have the name that you have configured in your model.
|
110
|
+
In the above examples, this would be @@article.photo@.
|
111
|
+
|
112
|
+
<pre>
|
113
|
+
<%= image_tag @article.photo.url(:width => 500) %>
|
114
|
+
</pre>
|
data/Rakefile
ADDED
data/imaginable.gemspec
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require "imaginable/version"
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "imaginable"
|
6
|
+
s.version = Imaginable::VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ["Thomas Dippel"]
|
9
|
+
s.email = ["thomasdi@benjamin.dk"]
|
10
|
+
s.homepage = "http://rubygems.org/gems/imaginable"
|
11
|
+
s.summary = "A gem for hooking a rails application up to the imagine image-server."
|
12
|
+
s.description = "A gem for hooking a rails application up to the imagine image-server."
|
13
|
+
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
|
19
|
+
s.add_dependency "rails", "3.0.5"
|
20
|
+
s.add_dependency "uuidtools"
|
21
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Imaginable
|
4
|
+
# Copies the necessary js-files to public/javascripts/,
|
5
|
+
# the necessary css-files and images to public/stylesheets
|
6
|
+
# and a config initializer to config/initializers/imaginable.rb
|
7
|
+
#
|
8
|
+
# @example
|
9
|
+
# $ rails generate imaginable:install
|
10
|
+
#
|
11
|
+
# @todo Revisit in Rails 3.1 where public assets are treated differently
|
12
|
+
class InstallGenerator < Rails::Generators::Base
|
13
|
+
desc "Copies the necessary js-files to public/javascripts/, the necessary css-files and images to public/stylesheets and a config initializer to config/initializers/imaginable.rb"
|
14
|
+
|
15
|
+
source_root File.expand_path('../../../templates', __FILE__)
|
16
|
+
|
17
|
+
def copy_files
|
18
|
+
copy_file 'imaginable.rb', 'config/initializers/imaginable.rb'
|
19
|
+
copy_file 'imaginable.js', 'public/javascripts/imaginable.js'
|
20
|
+
copy_file 'plupload.full.min.js', 'public/javascripts/plupload.full.min.js'
|
21
|
+
copy_file 'plupload.flash.swf', 'public/javascripts/plupload.flash.swf'
|
22
|
+
copy_file 'jquery.fancybox-1.3.4.pack.js', 'public/javascripts/jquery.fancybox-1.3.4.pack.js'
|
23
|
+
copy_file 'jquery.imgareaselect.pack.js', 'public/javascripts/jquery.imgareaselect.pack.js'
|
24
|
+
directory 'fancybox', 'public/stylesheets/fancybox'
|
25
|
+
directory 'imgareaselect', 'public/stylesheets/imgareaselect'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,359 @@
|
|
1
|
+
/*
|
2
|
+
* FancyBox - jQuery Plugin
|
3
|
+
* Simple and fancy lightbox alternative
|
4
|
+
*
|
5
|
+
* Examples and documentation at: http://fancybox.net
|
6
|
+
*
|
7
|
+
* Copyright (c) 2008 - 2010 Janis Skarnelis
|
8
|
+
* That said, it is hardly a one-person project. Many people have submitted bugs, code, and offered their advice freely. Their support is greatly appreciated.
|
9
|
+
*
|
10
|
+
* Version: 1.3.4 (11/11/2010)
|
11
|
+
* Requires: jQuery v1.3+
|
12
|
+
*
|
13
|
+
* Dual licensed under the MIT and GPL licenses:
|
14
|
+
* http://www.opensource.org/licenses/mit-license.php
|
15
|
+
* http://www.gnu.org/licenses/gpl.html
|
16
|
+
*/
|
17
|
+
|
18
|
+
#fancybox-loading {
|
19
|
+
position: fixed;
|
20
|
+
top: 50%;
|
21
|
+
left: 50%;
|
22
|
+
width: 40px;
|
23
|
+
height: 40px;
|
24
|
+
margin-top: -20px;
|
25
|
+
margin-left: -20px;
|
26
|
+
cursor: pointer;
|
27
|
+
overflow: hidden;
|
28
|
+
z-index: 1104;
|
29
|
+
display: none;
|
30
|
+
}
|
31
|
+
|
32
|
+
#fancybox-loading div {
|
33
|
+
position: absolute;
|
34
|
+
top: 0;
|
35
|
+
left: 0;
|
36
|
+
width: 40px;
|
37
|
+
height: 480px;
|
38
|
+
background-image: url('fancybox.png');
|
39
|
+
}
|
40
|
+
|
41
|
+
#fancybox-overlay {
|
42
|
+
position: absolute;
|
43
|
+
top: 0;
|
44
|
+
left: 0;
|
45
|
+
width: 100%;
|
46
|
+
z-index: 1100;
|
47
|
+
display: none;
|
48
|
+
}
|
49
|
+
|
50
|
+
#fancybox-tmp {
|
51
|
+
padding: 0;
|
52
|
+
margin: 0;
|
53
|
+
border: 0;
|
54
|
+
overflow: auto;
|
55
|
+
display: none;
|
56
|
+
}
|
57
|
+
|
58
|
+
#fancybox-wrap {
|
59
|
+
position: absolute;
|
60
|
+
top: 0;
|
61
|
+
left: 0;
|
62
|
+
padding: 20px;
|
63
|
+
z-index: 1101;
|
64
|
+
outline: none;
|
65
|
+
display: none;
|
66
|
+
}
|
67
|
+
|
68
|
+
#fancybox-outer {
|
69
|
+
position: relative;
|
70
|
+
width: 100%;
|
71
|
+
height: 100%;
|
72
|
+
background: #fff;
|
73
|
+
}
|
74
|
+
|
75
|
+
#fancybox-content {
|
76
|
+
width: 0;
|
77
|
+
height: 0;
|
78
|
+
padding: 0;
|
79
|
+
outline: none;
|
80
|
+
position: relative;
|
81
|
+
overflow: hidden;
|
82
|
+
z-index: 1102;
|
83
|
+
border: 0px solid #fff;
|
84
|
+
}
|
85
|
+
|
86
|
+
#fancybox-hide-sel-frame {
|
87
|
+
position: absolute;
|
88
|
+
top: 0;
|
89
|
+
left: 0;
|
90
|
+
width: 100%;
|
91
|
+
height: 100%;
|
92
|
+
background: transparent;
|
93
|
+
z-index: 1101;
|
94
|
+
}
|
95
|
+
|
96
|
+
#fancybox-close {
|
97
|
+
position: absolute;
|
98
|
+
top: -15px;
|
99
|
+
right: -15px;
|
100
|
+
width: 30px;
|
101
|
+
height: 30px;
|
102
|
+
background: transparent url('fancybox.png') -40px 0px;
|
103
|
+
cursor: pointer;
|
104
|
+
z-index: 1103;
|
105
|
+
display: none;
|
106
|
+
}
|
107
|
+
|
108
|
+
#fancybox-error {
|
109
|
+
color: #444;
|
110
|
+
font: normal 12px/20px Arial;
|
111
|
+
padding: 14px;
|
112
|
+
margin: 0;
|
113
|
+
}
|
114
|
+
|
115
|
+
#fancybox-img {
|
116
|
+
width: 100%;
|
117
|
+
height: 100%;
|
118
|
+
padding: 0;
|
119
|
+
margin: 0;
|
120
|
+
border: none;
|
121
|
+
outline: none;
|
122
|
+
line-height: 0;
|
123
|
+
vertical-align: top;
|
124
|
+
}
|
125
|
+
|
126
|
+
#fancybox-frame {
|
127
|
+
width: 100%;
|
128
|
+
height: 100%;
|
129
|
+
border: none;
|
130
|
+
display: block;
|
131
|
+
}
|
132
|
+
|
133
|
+
#fancybox-left, #fancybox-right {
|
134
|
+
position: absolute;
|
135
|
+
bottom: 0px;
|
136
|
+
height: 100%;
|
137
|
+
width: 35%;
|
138
|
+
cursor: pointer;
|
139
|
+
outline: none;
|
140
|
+
background: transparent url('blank.gif');
|
141
|
+
z-index: 1102;
|
142
|
+
display: none;
|
143
|
+
}
|
144
|
+
|
145
|
+
#fancybox-left {
|
146
|
+
left: 0px;
|
147
|
+
}
|
148
|
+
|
149
|
+
#fancybox-right {
|
150
|
+
right: 0px;
|
151
|
+
}
|
152
|
+
|
153
|
+
#fancybox-left-ico, #fancybox-right-ico {
|
154
|
+
position: absolute;
|
155
|
+
top: 50%;
|
156
|
+
left: -9999px;
|
157
|
+
width: 30px;
|
158
|
+
height: 30px;
|
159
|
+
margin-top: -15px;
|
160
|
+
cursor: pointer;
|
161
|
+
z-index: 1102;
|
162
|
+
display: block;
|
163
|
+
}
|
164
|
+
|
165
|
+
#fancybox-left-ico {
|
166
|
+
background-image: url('fancybox.png');
|
167
|
+
background-position: -40px -30px;
|
168
|
+
}
|
169
|
+
|
170
|
+
#fancybox-right-ico {
|
171
|
+
background-image: url('fancybox.png');
|
172
|
+
background-position: -40px -60px;
|
173
|
+
}
|
174
|
+
|
175
|
+
#fancybox-left:hover, #fancybox-right:hover {
|
176
|
+
visibility: visible; /* IE6 */
|
177
|
+
}
|
178
|
+
|
179
|
+
#fancybox-left:hover span {
|
180
|
+
left: 20px;
|
181
|
+
}
|
182
|
+
|
183
|
+
#fancybox-right:hover span {
|
184
|
+
left: auto;
|
185
|
+
right: 20px;
|
186
|
+
}
|
187
|
+
|
188
|
+
.fancybox-bg {
|
189
|
+
position: absolute;
|
190
|
+
padding: 0;
|
191
|
+
margin: 0;
|
192
|
+
border: 0;
|
193
|
+
width: 20px;
|
194
|
+
height: 20px;
|
195
|
+
z-index: 1001;
|
196
|
+
}
|
197
|
+
|
198
|
+
#fancybox-bg-n {
|
199
|
+
top: -20px;
|
200
|
+
left: 0;
|
201
|
+
width: 100%;
|
202
|
+
background-image: url('fancybox-x.png');
|
203
|
+
}
|
204
|
+
|
205
|
+
#fancybox-bg-ne {
|
206
|
+
top: -20px;
|
207
|
+
right: -20px;
|
208
|
+
background-image: url('fancybox.png');
|
209
|
+
background-position: -40px -162px;
|
210
|
+
}
|
211
|
+
|
212
|
+
#fancybox-bg-e {
|
213
|
+
top: 0;
|
214
|
+
right: -20px;
|
215
|
+
height: 100%;
|
216
|
+
background-image: url('fancybox-y.png');
|
217
|
+
background-position: -20px 0px;
|
218
|
+
}
|
219
|
+
|
220
|
+
#fancybox-bg-se {
|
221
|
+
bottom: -20px;
|
222
|
+
right: -20px;
|
223
|
+
background-image: url('fancybox.png');
|
224
|
+
background-position: -40px -182px;
|
225
|
+
}
|
226
|
+
|
227
|
+
#fancybox-bg-s {
|
228
|
+
bottom: -20px;
|
229
|
+
left: 0;
|
230
|
+
width: 100%;
|
231
|
+
background-image: url('fancybox-x.png');
|
232
|
+
background-position: 0px -20px;
|
233
|
+
}
|
234
|
+
|
235
|
+
#fancybox-bg-sw {
|
236
|
+
bottom: -20px;
|
237
|
+
left: -20px;
|
238
|
+
background-image: url('fancybox.png');
|
239
|
+
background-position: -40px -142px;
|
240
|
+
}
|
241
|
+
|
242
|
+
#fancybox-bg-w {
|
243
|
+
top: 0;
|
244
|
+
left: -20px;
|
245
|
+
height: 100%;
|
246
|
+
background-image: url('fancybox-y.png');
|
247
|
+
}
|
248
|
+
|
249
|
+
#fancybox-bg-nw {
|
250
|
+
top: -20px;
|
251
|
+
left: -20px;
|
252
|
+
background-image: url('fancybox.png');
|
253
|
+
background-position: -40px -122px;
|
254
|
+
}
|
255
|
+
|
256
|
+
#fancybox-title {
|
257
|
+
font-family: Helvetica;
|
258
|
+
font-size: 12px;
|
259
|
+
z-index: 1102;
|
260
|
+
}
|
261
|
+
|
262
|
+
.fancybox-title-inside {
|
263
|
+
padding-bottom: 10px;
|
264
|
+
text-align: center;
|
265
|
+
color: #333;
|
266
|
+
background: #fff;
|
267
|
+
position: relative;
|
268
|
+
}
|
269
|
+
|
270
|
+
.fancybox-title-outside {
|
271
|
+
padding-top: 10px;
|
272
|
+
color: #fff;
|
273
|
+
}
|
274
|
+
|
275
|
+
.fancybox-title-over {
|
276
|
+
position: absolute;
|
277
|
+
bottom: 0;
|
278
|
+
left: 0;
|
279
|
+
color: #FFF;
|
280
|
+
text-align: left;
|
281
|
+
}
|
282
|
+
|
283
|
+
#fancybox-title-over {
|
284
|
+
padding: 10px;
|
285
|
+
background-image: url('fancy_title_over.png');
|
286
|
+
display: block;
|
287
|
+
}
|
288
|
+
|
289
|
+
.fancybox-title-float {
|
290
|
+
position: absolute;
|
291
|
+
left: 0;
|
292
|
+
bottom: -20px;
|
293
|
+
height: 32px;
|
294
|
+
}
|
295
|
+
|
296
|
+
#fancybox-title-float-wrap {
|
297
|
+
border: none;
|
298
|
+
border-collapse: collapse;
|
299
|
+
width: auto;
|
300
|
+
}
|
301
|
+
|
302
|
+
#fancybox-title-float-wrap td {
|
303
|
+
border: none;
|
304
|
+
white-space: nowrap;
|
305
|
+
}
|
306
|
+
|
307
|
+
#fancybox-title-float-left {
|
308
|
+
padding: 0 0 0 15px;
|
309
|
+
background: url('fancybox.png') -40px -90px no-repeat;
|
310
|
+
}
|
311
|
+
|
312
|
+
#fancybox-title-float-main {
|
313
|
+
color: #FFF;
|
314
|
+
line-height: 29px;
|
315
|
+
font-weight: bold;
|
316
|
+
padding: 0 0 3px 0;
|
317
|
+
background: url('fancybox-x.png') 0px -40px;
|
318
|
+
}
|
319
|
+
|
320
|
+
#fancybox-title-float-right {
|
321
|
+
padding: 0 0 0 15px;
|
322
|
+
background: url('fancybox.png') -55px -90px no-repeat;
|
323
|
+
}
|
324
|
+
|
325
|
+
/* IE6 */
|
326
|
+
|
327
|
+
.fancybox-ie6 #fancybox-close { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_close.png', sizingMethod='scale'); }
|
328
|
+
|
329
|
+
.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_nav_left.png', sizingMethod='scale'); }
|
330
|
+
.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_nav_right.png', sizingMethod='scale'); }
|
331
|
+
|
332
|
+
.fancybox-ie6 #fancybox-title-over { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_title_over.png', sizingMethod='scale'); zoom: 1; }
|
333
|
+
.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_title_left.png', sizingMethod='scale'); }
|
334
|
+
.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_title_main.png', sizingMethod='scale'); }
|
335
|
+
.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_title_right.png', sizingMethod='scale'); }
|
336
|
+
|
337
|
+
.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 #fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame {
|
338
|
+
height: expression(this.parentNode.clientHeight + "px");
|
339
|
+
}
|
340
|
+
|
341
|
+
#fancybox-loading.fancybox-ie6 {
|
342
|
+
position: absolute; margin-top: 0;
|
343
|
+
top: expression( (-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
|
344
|
+
}
|
345
|
+
|
346
|
+
#fancybox-loading.fancybox-ie6 div { background: transparent; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png', sizingMethod='scale'); }
|
347
|
+
|
348
|
+
/* IE6, IE7, IE8 */
|
349
|
+
|
350
|
+
.fancybox-ie .fancybox-bg { background: transparent !important; }
|
351
|
+
|
352
|
+
.fancybox-ie #fancybox-bg-n { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_shadow_n.png', sizingMethod='scale'); }
|
353
|
+
.fancybox-ie #fancybox-bg-ne { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_shadow_ne.png', sizingMethod='scale'); }
|
354
|
+
.fancybox-ie #fancybox-bg-e { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_shadow_e.png', sizingMethod='scale'); }
|
355
|
+
.fancybox-ie #fancybox-bg-se { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_shadow_se.png', sizingMethod='scale'); }
|
356
|
+
.fancybox-ie #fancybox-bg-s { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_shadow_s.png', sizingMethod='scale'); }
|
357
|
+
.fancybox-ie #fancybox-bg-sw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_shadow_sw.png', sizingMethod='scale'); }
|
358
|
+
.fancybox-ie #fancybox-bg-w { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_shadow_w.png', sizingMethod='scale'); }
|
359
|
+
.fancybox-ie #fancybox-bg-nw { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='stylesheets/fancybox/fancy_shadow_nw.png', sizingMethod='scale'); }
|