Version Notes
The Rizn FullSize Zoom extension changes your default product zoom gallery. Please don't use this extension with other gallery zoom extensions.
With Rizn FullSize Zoom extension you can customize your product zoom gallery
Download this release
Release Info
Developer | Magento Core Team |
Extension | Rizn_FullSize |
Version | 1.4 |
Comparing to | |
See all releases |
Version 1.4
- app/code/community/Rizn/FullSize/Helper/Data.php +4 -0
- app/code/community/Rizn/FullSize/Model/Enable.php +12 -0
- app/code/community/Rizn/FullSize/Model/Magnifierimage.php +13 -0
- app/code/community/Rizn/FullSize/Model/Position.php +14 -0
- app/code/community/Rizn/FullSize/Model/Source.php +19 -0
- app/code/community/Rizn/FullSize/etc/adminhtml.xml +26 -0
- app/code/community/Rizn/FullSize/etc/config.xml +29 -0
- app/code/community/Rizn/FullSize/etc/system.xml +181 -0
- app/design/frontend/default/default/layout/rizn_fullsize.xml +14 -0
- app/design/frontend/default/default/template/rizn_fullsize/catalog/product/view/media.phtml +156 -0
- app/etc/modules/Rizn_FullSize.xml +9 -0
- package.xml +34 -0
- skin/frontend/default/default/css/jquery.rizn.full.size.css +50 -0
- skin/frontend/default/default/css/jqzoom.css +70 -0
- skin/frontend/default/default/images/black-1.png +0 -0
- skin/frontend/default/default/images/black-2.png +0 -0
- skin/frontend/default/default/images/black-3.png +0 -0
- skin/frontend/default/default/images/gray-1.png +0 -0
- skin/frontend/default/default/images/gray-2.png +0 -0
- skin/frontend/default/default/images/gray-3.png +0 -0
- skin/frontend/default/default/images/lupa-black.png +0 -0
- skin/frontend/default/default/images/lupa-gray.png +0 -0
- skin/frontend/default/default/images/white-1.png +0 -0
- skin/frontend/default/default/images/white-2.png +0 -0
- skin/frontend/default/default/images/white-3.png +0 -0
- skin/frontend/default/default/js/effects.core.js +509 -0
- skin/frontend/default/default/js/effects.scale.js +180 -0
- skin/frontend/default/default/js/jquery.jqzoom.js +213 -0
- skin/frontend/default/default/js/jquery.rizn.full.size.js +170 -0
- skin/frontend/default/default/js/jquery.rizn.overlay.js +139 -0
app/code/community/Rizn/FullSize/Helper/Data.php
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Rizn_FullSize_Helper_Data extends Mage_Core_Helper_Abstract
|
3 |
+
{
|
4 |
+
}
|
app/code/community/Rizn/FullSize/Model/Enable.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Rizn_FullSize_Model_Enable
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => 1, 'label' => Mage::helper('fullsize')->__('Yes')),
|
8 |
+
array('value' => 0, 'label' => Mage::helper('fullsize')->__('No'))
|
9 |
+
|
10 |
+
);
|
11 |
+
}
|
12 |
+
}
|
app/code/community/Rizn/FullSize/Model/Magnifierimage.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Rizn_FullSize_Model_Magnifierimage
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => 0, 'label' => Mage::helper('fullsize')->__('Black')),
|
8 |
+
array('value' => 1, 'label' => Mage::helper('fullsize')->__('Gray')),
|
9 |
+
|
10 |
+
|
11 |
+
);
|
12 |
+
}
|
13 |
+
}
|
app/code/community/Rizn/FullSize/Model/Position.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Rizn_FullSize_Model_Position
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => 0, 'label' => Mage::helper('fullsize')->__('Top')),
|
8 |
+
array('value' => 1, 'label' => Mage::helper('fullsize')->__('Right')),
|
9 |
+
array('value' => 2, 'label' => Mage::helper('fullsize')->__('Bottom')),
|
10 |
+
array('value' => 0, 'label' => Mage::helper('fullsize')->__('Left'))
|
11 |
+
|
12 |
+
);
|
13 |
+
}
|
14 |
+
}
|
app/code/community/Rizn/FullSize/Model/Source.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Rizn_FullSize_Model_Source
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => 0, 'label' => Mage::helper('fullsize')->__('Black 1')),
|
8 |
+
array('value' => 1, 'label' => Mage::helper('fullsize')->__('Black 2')),
|
9 |
+
array('value' => 2, 'label' => Mage::helper('fullsize')->__('Black 3')),
|
10 |
+
array('value' => 3, 'label' => Mage::helper('fullsize')->__('White 1')),
|
11 |
+
array('value' => 4, 'label' => Mage::helper('fullsize')->__('White 2')),
|
12 |
+
array('value' => 5, 'label' => Mage::helper('fullsize')->__('White 3')),
|
13 |
+
array('value' => 6, 'label' => Mage::helper('fullsize')->__('Gray 1')),
|
14 |
+
array('value' => 7, 'label' => Mage::helper('fullsize')->__('Gray 2')),
|
15 |
+
array('value' => 8, 'label' => Mage::helper('fullsize')->__('Gray 3')),
|
16 |
+
|
17 |
+
);
|
18 |
+
}
|
19 |
+
}
|
app/code/community/Rizn/FullSize/etc/adminhtml.xml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<acl>
|
4 |
+
<resources>
|
5 |
+
<all>
|
6 |
+
<title>Allow Everything</title>
|
7 |
+
</all>
|
8 |
+
<admin>
|
9 |
+
<children>
|
10 |
+
<system>
|
11 |
+
<children>
|
12 |
+
<config>
|
13 |
+
<children>
|
14 |
+
<fullsize translate="title">
|
15 |
+
<title>Rizn Section</title>
|
16 |
+
<sort_order>100</sort_order>
|
17 |
+
</fullsize>
|
18 |
+
</children>
|
19 |
+
</config>
|
20 |
+
</children>
|
21 |
+
</system>
|
22 |
+
</children>
|
23 |
+
</admin>
|
24 |
+
</resources>
|
25 |
+
</acl>
|
26 |
+
</config>
|
app/code/community/Rizn/FullSize/etc/config.xml
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Rizn_FullSize>
|
5 |
+
<version>0.1.0</version>
|
6 |
+
</Rizn_FullSize>
|
7 |
+
</modules>
|
8 |
+
<frontend>
|
9 |
+
<layout>
|
10 |
+
<updates>
|
11 |
+
<fullsize>
|
12 |
+
<file>rizn_fullsize.xml</file>
|
13 |
+
</fullsize>
|
14 |
+
</updates>
|
15 |
+
</layout>
|
16 |
+
</frontend>
|
17 |
+
<global>
|
18 |
+
<models>
|
19 |
+
<fullsize>
|
20 |
+
<class>Rizn_FullSize_Model</class>
|
21 |
+
</fullsize>
|
22 |
+
</models>
|
23 |
+
<helpers>
|
24 |
+
<fullsize>
|
25 |
+
<class>Rizn_FullSize_Helper</class>
|
26 |
+
</fullsize>
|
27 |
+
</helpers>
|
28 |
+
</global>
|
29 |
+
</config>
|
app/code/community/Rizn/FullSize/etc/system.xml
ADDED
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<sections>
|
4 |
+
<fullsize translate="label">
|
5 |
+
<label>RIZN Full Screen Zoom</label>
|
6 |
+
<tab>general</tab>
|
7 |
+
<frontend_type>text</frontend_type>
|
8 |
+
<sort_order>1000</sort_order>
|
9 |
+
<show_in_default>1</show_in_default>
|
10 |
+
<show_in_website>1</show_in_website>
|
11 |
+
<show_in_store>1</show_in_store>
|
12 |
+
<groups>
|
13 |
+
<!-- New groups go here -->
|
14 |
+
|
15 |
+
<magnizoom translate="label">
|
16 |
+
<label>Magnifier Zoom</label>
|
17 |
+
<frontend_type>text</frontend_type>
|
18 |
+
<sort_order>100</sort_order>
|
19 |
+
<show_in_default>1</show_in_default>
|
20 |
+
<show_in_website>1</show_in_website>
|
21 |
+
<show_in_store>1</show_in_store>
|
22 |
+
<fields>
|
23 |
+
|
24 |
+
<width translate="label comment">
|
25 |
+
<label>Window Width</label>
|
26 |
+
|
27 |
+
<frontend_type>text</frontend_type>
|
28 |
+
<sort_order>10</sort_order>
|
29 |
+
<show_in_default>1</show_in_default>
|
30 |
+
<show_in_website>1</show_in_website>
|
31 |
+
<show_in_store>1</show_in_store>
|
32 |
+
</width>
|
33 |
+
<height translate="label comment">
|
34 |
+
<label>Window Height</label>
|
35 |
+
|
36 |
+
<frontend_type>text</frontend_type>
|
37 |
+
<sort_order>10</sort_order>
|
38 |
+
<show_in_default>1</show_in_default>
|
39 |
+
<show_in_website>1</show_in_website>
|
40 |
+
<show_in_store>1</show_in_store>
|
41 |
+
</height>
|
42 |
+
<animation translate="label comment">
|
43 |
+
<label>Enable Animation</label>
|
44 |
+
|
45 |
+
<frontend_type>select</frontend_type>
|
46 |
+
<source_model>fullsize/enable</source_model>
|
47 |
+
<sort_order>10</sort_order>
|
48 |
+
<show_in_default>1</show_in_default>
|
49 |
+
<show_in_website>1</show_in_website>
|
50 |
+
<show_in_store>1</show_in_store>
|
51 |
+
</animation>
|
52 |
+
|
53 |
+
<enabled translate="label comment">
|
54 |
+
<label>Enable Magnifier Zoom</label>
|
55 |
+
|
56 |
+
<frontend_type>select</frontend_type>
|
57 |
+
<source_model>fullsize/enable</source_model>
|
58 |
+
<sort_order>10</sort_order>
|
59 |
+
<show_in_default>1</show_in_default>
|
60 |
+
<show_in_website>1</show_in_website>
|
61 |
+
<show_in_store>1</show_in_store>
|
62 |
+
</enabled>
|
63 |
+
|
64 |
+
|
65 |
+
</fields>
|
66 |
+
|
67 |
+
|
68 |
+
|
69 |
+
</magnizoom>
|
70 |
+
|
71 |
+
<zoom translate="label">
|
72 |
+
<label>Full Screen Zoom</label>
|
73 |
+
<frontend_type>text</frontend_type>
|
74 |
+
<sort_order>100</sort_order>
|
75 |
+
<show_in_default>1</show_in_default>
|
76 |
+
<show_in_website>1</show_in_website>
|
77 |
+
<show_in_store>1</show_in_store>
|
78 |
+
<fields>
|
79 |
+
<!-- New fields go here -->
|
80 |
+
<background translate="label comment">
|
81 |
+
<value>FFF</value>
|
82 |
+
<label>Background Color</label>
|
83 |
+
<comment>
|
84 |
+
<![CDATA[example: 000000 is black and FFFFFF is white, please don't use the '#' symbol for your selected color.]]>
|
85 |
+
</comment>
|
86 |
+
<frontend_type>text</frontend_type>
|
87 |
+
<sort_order>10</sort_order>
|
88 |
+
<show_in_default>1</show_in_default>
|
89 |
+
<show_in_website>1</show_in_website>
|
90 |
+
<show_in_store>1</show_in_store>
|
91 |
+
</background>
|
92 |
+
<border translate="label comment">
|
93 |
+
<label>Border Color</label>
|
94 |
+
<comment>
|
95 |
+
<![CDATA[example: 000000 is black and FFFFFF is white, please don't use the '#' symbol for your selected color.]]>
|
96 |
+
</comment>
|
97 |
+
<frontend_type>text</frontend_type>
|
98 |
+
<sort_order>10</sort_order>
|
99 |
+
<show_in_default>1</show_in_default>
|
100 |
+
<show_in_website>1</show_in_website>
|
101 |
+
<show_in_store>1</show_in_store>
|
102 |
+
</border>
|
103 |
+
<closetext translate="label comment">
|
104 |
+
<label>Close Button Message</label>
|
105 |
+
|
106 |
+
<frontend_type>text</frontend_type>
|
107 |
+
<sort_order>10</sort_order>
|
108 |
+
<show_in_default>1</show_in_default>
|
109 |
+
<show_in_website>1</show_in_website>
|
110 |
+
<show_in_store>1</show_in_store>
|
111 |
+
</closetext>
|
112 |
+
|
113 |
+
<closeimage translate="label comment">
|
114 |
+
<label>Close Image Button</label>
|
115 |
+
|
116 |
+
<frontend_type>select</frontend_type>
|
117 |
+
<source_model>fullsize/source</source_model>
|
118 |
+
<sort_order>10</sort_order>
|
119 |
+
<show_in_default>1</show_in_default>
|
120 |
+
<show_in_website>1</show_in_website>
|
121 |
+
<show_in_store>1</show_in_store>
|
122 |
+
</closeimage>
|
123 |
+
|
124 |
+
|
125 |
+
|
126 |
+
|
127 |
+
|
128 |
+
|
129 |
+
|
130 |
+
|
131 |
+
<magnifiertext translate="label comment">
|
132 |
+
<label>Full Screen Icon Text</label>
|
133 |
+
|
134 |
+
<frontend_type>text</frontend_type>
|
135 |
+
<sort_order>10</sort_order>
|
136 |
+
<show_in_default>1</show_in_default>
|
137 |
+
<show_in_website>1</show_in_website>
|
138 |
+
<show_in_store>1</show_in_store>
|
139 |
+
</magnifiertext>
|
140 |
+
|
141 |
+
|
142 |
+
<imageheight translate="label comment">
|
143 |
+
<label>Product Image Height</label>
|
144 |
+
|
145 |
+
<frontend_type>text</frontend_type>
|
146 |
+
<sort_order>10</sort_order>
|
147 |
+
<show_in_default>1</show_in_default>
|
148 |
+
<show_in_website>1</show_in_website>
|
149 |
+
<show_in_store>1</show_in_store>
|
150 |
+
</imageheight>
|
151 |
+
|
152 |
+
|
153 |
+
<imagewidth translate="label comment">
|
154 |
+
<label>Product Image Width</label>
|
155 |
+
|
156 |
+
<frontend_type>text</frontend_type>
|
157 |
+
<sort_order>10</sort_order>
|
158 |
+
<show_in_default>1</show_in_default>
|
159 |
+
<show_in_website>1</show_in_website>
|
160 |
+
<show_in_store>1</show_in_store>
|
161 |
+
</imagewidth>
|
162 |
+
|
163 |
+
<magnifierimage translate="label comment">
|
164 |
+
<label>Full Screen Icon </label>
|
165 |
+
|
166 |
+
<frontend_type>select</frontend_type>
|
167 |
+
<source_model>fullsize/Magnifierimage</source_model>
|
168 |
+
<sort_order>10</sort_order>
|
169 |
+
<show_in_default>1</show_in_default>
|
170 |
+
<show_in_website>1</show_in_website>
|
171 |
+
<show_in_store>1</show_in_store>
|
172 |
+
</magnifierimage>
|
173 |
+
|
174 |
+
|
175 |
+
</fields>
|
176 |
+
</zoom>
|
177 |
+
|
178 |
+
</groups>
|
179 |
+
</fullsize>
|
180 |
+
</sections>
|
181 |
+
</config>
|
app/design/frontend/default/default/layout/rizn_fullsize.xml
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout>
|
3 |
+
<catalog_product_view>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addItem"><type>skin_css</type><name>css/jquery.rizn.full.size.css</name></action>
|
6 |
+
<action method="addItem"><type>skin_js</type><name>js/jquery-1.4.2.min.js</name></action>
|
7 |
+
<action method="addItem"><type>skin_js</type><name>js/jquery.rizn.overlay.js</name></action>
|
8 |
+
<action method="addItem"><type>skin_js</type><name>js/jquery.rizn.full.size.js</name></action>
|
9 |
+
</reference>
|
10 |
+
<reference name="product.info.media">
|
11 |
+
<action method="setTemplate"><template>rizn_fullsize/catalog/product/view/media.phtml</template></action>
|
12 |
+
</reference>
|
13 |
+
</catalog_product_view>
|
14 |
+
</layout>
|
app/design/frontend/default/default/template/rizn_fullsize/catalog/product/view/media.phtml
ADDED
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$_product = $this->getProduct();
|
3 |
+
$_helper = $this->helper('catalog/output');
|
4 |
+
?>
|
5 |
+
|
6 |
+
|
7 |
+
<?php if ($_product->getImage() != 'no_selection' && $_product->getImage()) : ?>
|
8 |
+
|
9 |
+
<div id="image">
|
10 |
+
<?php if (count($this->getGalleryImages()) > 0): ?>
|
11 |
+
<?php $i=0; foreach ($this->getGalleryImages() as $_image): ?>
|
12 |
+
<?php $style = $i == 0? '' : 'style="z-index:-1;display:none"'; ?>
|
13 |
+
<div class="magnizoom">
|
14 |
+
<?php
|
15 |
+
$imagewidth = Mage::getStoreConfig('fullsize/zoom/imagewidth');
|
16 |
+
if(empty($imagewidth))
|
17 |
+
$imagewidth = "262";
|
18 |
+
$imageheight = Mage::getStoreConfig('fullsize/zoom/imageheight');
|
19 |
+
if(empty($imageheight))
|
20 |
+
$imageheight = "190";
|
21 |
+
?>
|
22 |
+
|
23 |
+
|
24 |
+
<img <?php echo $style; ?> id="image<?php echo $i; ?>"
|
25 |
+
width="<?php echo $imagewidth; ?>px"
|
26 |
+
height="<?php echo $imageheight; ?>px"
|
27 |
+
src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail2', $_image->getFile())->resize($imagewidth, $imageheight); ?>"
|
28 |
+
alt="<?php echo $this->htmlEscape($_product->getName()) ?>"
|
29 |
+
jqimg="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'image', $_image->getFile()) ?>"
|
30 |
+
jqimage="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail2', $_image->getFile())->resize(960); ?>"
|
31 |
+
bgc="<?php echo Mage::getStoreConfig('fullsize/zoom/background'); ?>"
|
32 |
+
brc="<?php $brc = Mage::getStoreConfig('fullsize/zoom/border');
|
33 |
+
if(empty($brc))
|
34 |
+
echo "000";
|
35 |
+
else
|
36 |
+
echo Mage::getStoreConfig('fullsize/zoom/border');
|
37 |
+
?>"
|
38 |
+
closeimg="<?php $case = Mage::getStoreConfig('fullsize/zoom/closeimage');
|
39 |
+
switch($case) {
|
40 |
+
case 0:
|
41 |
+
echo "black-1.png";
|
42 |
+
break;
|
43 |
+
case 1:
|
44 |
+
echo "black-2.png";
|
45 |
+
break;
|
46 |
+
case 2:
|
47 |
+
echo "black-3.png";
|
48 |
+
break;
|
49 |
+
case 3:
|
50 |
+
echo "white-1.png";
|
51 |
+
break;
|
52 |
+
case 4:
|
53 |
+
echo "white-2.png";
|
54 |
+
break;
|
55 |
+
case 5:
|
56 |
+
echo "white-3.png";
|
57 |
+
break;
|
58 |
+
case 6:
|
59 |
+
echo "gray-1.png";
|
60 |
+
break;
|
61 |
+
case 7:
|
62 |
+
echo "gray-2.png";
|
63 |
+
break;
|
64 |
+
case 8:
|
65 |
+
echo "gray-3.png";
|
66 |
+
break;
|
67 |
+
}
|
68 |
+
?>"
|
69 |
+
clicktext="<?php echo Mage::getStoreConfig('fullsize/zoom/closetext'); ?>"
|
70 |
+
/>
|
71 |
+
</div>
|
72 |
+
<?php ++$i; endforeach; ?>
|
73 |
+
<?php endif; ?>
|
74 |
+
</div>
|
75 |
+
|
76 |
+
<script type="text/javascript">
|
77 |
+
|
78 |
+
|
79 |
+
jQuery.noConflict();
|
80 |
+
|
81 |
+
function jSelectImage(url) {
|
82 |
+
jQuery("#image img").css("z-index","-1").hide();
|
83 |
+
jQuery("#image"+url).css("z-index","999").show();
|
84 |
+
};
|
85 |
+
<?php if(Mage::getStoreConfig('fullsize/magnizoom/enabled') == 1 ) {?>
|
86 |
+
jQuery("#image0").css("z-index","100");
|
87 |
+
jQuery(".magnizoom").jqueryzoom({
|
88 |
+
xzoom: <?php $width = Mage::getStoreConfig('fullsize/magnizoom/width');
|
89 |
+
if(empty($width))
|
90 |
+
echo "300";
|
91 |
+
else
|
92 |
+
echo Mage::getStoreConfig('fullsize/magnizoom/width');
|
93 |
+
?>,
|
94 |
+
yzoom: <?php $height = Mage::getStoreConfig('fullsize/magnizoom/height');
|
95 |
+
if(empty($height))
|
96 |
+
echo "300";
|
97 |
+
else
|
98 |
+
echo Mage::getStoreConfig('fullsize/magnizoom/height');
|
99 |
+
?>,
|
100 |
+
offset: 10,
|
101 |
+
position: "right",
|
102 |
+
preload: 1,
|
103 |
+
lens:1,
|
104 |
+
anim_scale: <?php echo Mage::getStoreConfig('fullsize/magnizoom/animation'); ?>
|
105 |
+
});
|
106 |
+
<?php } ?>
|
107 |
+
|
108 |
+
</script>
|
109 |
+
|
110 |
+
<?php else: ?>
|
111 |
+
|
112 |
+
<a href="<?php echo $this->helper('catalog/image')->init($_product, 'image'); ?>" class="magnizoom" style="" title="<?php echo $this->htmlEscape($_product->getName()) ?>">
|
113 |
+
<img id="image" src="<?php echo $this->helper('catalog/image')->init($_product, 'image')->resize(400, 530); ?>" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" />
|
114 |
+
</a>
|
115 |
+
|
116 |
+
<?php endif; ?>
|
117 |
+
|
118 |
+
|
119 |
+
<div class='riznex' style="width:<?php echo $imagewidth; ?>px;">
|
120 |
+
<?php
|
121 |
+
$case = Mage::getStoreConfig('fullsize/zoom/magnifierimage');
|
122 |
+
switch($case) {
|
123 |
+
case 0:
|
124 |
+
echo "<img src='".$this->getUrl('skin/frontend/default/default/images')."lupa-black.png' alt='' title='' width='13px' height='13px' />";
|
125 |
+
break;
|
126 |
+
case 1:
|
127 |
+
echo "<img src='".$this->getUrl('skin/frontend/default/default/images')."lupa-gray.png' alt='' title='' width='13px' height='13px' />";
|
128 |
+
break;
|
129 |
+
|
130 |
+
}
|
131 |
+
if(Mage::getStoreConfig('fullsize/zoom/magnifiertext') == "")
|
132 |
+
{
|
133 |
+
echo "click the image to view in full size";
|
134 |
+
}
|
135 |
+
else
|
136 |
+
{
|
137 |
+
echo Mage::getStoreConfig('fullsize/zoom/magnifiertext');
|
138 |
+
}
|
139 |
+
?>
|
140 |
+
|
141 |
+
</div>
|
142 |
+
<?php if (count($this->getGalleryImages()) > 0): ?>
|
143 |
+
<div class="more-views">
|
144 |
+
<h4 style="margin-bottom:0; line-height:0;"> </h4>
|
145 |
+
<ul>
|
146 |
+
<?php $i=0; foreach ($this->getGalleryImages() as $_image): ?>
|
147 |
+
<li>
|
148 |
+
<a href="#" onclick="jSelectImage('<?php echo $i ?>'); return false;">
|
149 |
+
<img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(47,64); ?>" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>" />
|
150 |
+
</a>
|
151 |
+
</li>
|
152 |
+
<?php ++$i; endforeach; ?>
|
153 |
+
</ul>
|
154 |
+
</div>
|
155 |
+
<?php endif; ?>
|
156 |
+
|
app/etc/modules/Rizn_FullSize.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Rizn_FullSize>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>community</codePool>
|
7 |
+
</Rizn_FullSize>
|
8 |
+
</modules>
|
9 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Rizn_FullSize</name>
|
4 |
+
<version>1.4</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://www.opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Functionality, intuitive interaction and product presentation with really high detailed images are the main features which come with the free RZ FULL SCREEN ZOOM extension. Make your store visitors experience your products in a very new way.</summary>
|
10 |
+
<description>* All IN ONE - product magnifier and fullscreen image mode
|
11 |
+
|
12 |
+
* Product Magnifier
|
13 |
+
Allows you to show a magnifier block to dysplay your full size images
|
14 |
+
|
15 |
+
* Fullscreen Mode
|
16 |
+
Show your products on a plain background in fullscreen mode and let them take effect to your customers just by their fancy and modern appearance.
|
17 |
+
|
18 |
+
* High-resolution images
|
19 |
+
Your visitors will experience your products in a complete new way and see product details that convince them of your products solid quality by zooming in and out the images by the mouse-wheel.
|
20 |
+
|
21 |
+
* Customizble
|
22 |
+
It is easy and intuitive to customize the RZ FULL SCREEN ZOOM. You can change the colors, the buttons and the text messages.
|
23 |
+
|
24 |
+
* Configurable appearance
|
25 |
+
Define the background color in your shop backend (admin panel). Define the close button image and text messages. Also you can define the size of the magnifier window and animation in your product page.</description>
|
26 |
+
<notes>The Rizn FullSize Zoom extension changes your default product zoom gallery. Please don't use this extension with other gallery zoom extensions.
|
27 |
+
With Rizn FullSize Zoom extension you can customize your product zoom gallery</notes>
|
28 |
+
<authors><author><name>RIZN Web Design</name><user>auto-converted</user><email>vassilev@rizn.bg</email></author></authors>
|
29 |
+
<date>2011-10-10</date>
|
30 |
+
<time>14:54:05</time>
|
31 |
+
<contents><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="css"><file name="jquery.rizn.full.size.css" hash="53a57ac80786f42377a58eef72788b4c"/><file name="jqzoom.css" hash="2b9d114f2456be818628cee070f7581c"/></dir><dir name="images"><file name="black-1.png" hash="736a4fc12905882777b7b2902549512b"/><file name="black-2.png" hash="018690a2f523e2633e7913dd7056cdc3"/><file name="black-3.png" hash="e93b6067717ab5373814fef6222373f6"/><file name="gray-1.png" hash="f56f677417f765f1a4c15ceb9f9fd7c3"/><file name="gray-2.png" hash="a6c653f1aae853095ec7d7b236b0c1d4"/><file name="gray-3.png" hash="f4b54de64165c32cc31659ab8dd713cf"/><file name="lupa-black.png" hash="eb2e653e609e2ddf1b5d778a8f7244f0"/><file name="lupa-gray.png" hash="eb0500e59e15a42406f9d675bade2d36"/><file name="white-1.png" hash="1e616f8e3c5a796c0cf748eb679959c5"/><file name="white-2.png" hash="c4d184d456deb001033da78c2356b974"/><file name="white-3.png" hash="f9961c752e24dd211c6c73da20a1e527"/></dir><dir name="js"><file name="effects.core.js" hash="4e501b24f8dcfcd67c173c2e5121041b"/><file name="effects.scale.js" hash="75b3f24764e4384b9bebd0735ef33b14"/><file name="jquery.jqzoom.js" hash="6fd34093cdf4104b52a52d92cadb2bab"/><file name="jquery.rizn.full.size.js" hash="4499370cde2a89ba7656515af73f87da"/><file name="jquery.rizn.overlay.js" hash="2afb503a02f537714eb90f1ad1bc288d"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="rizn_fullsize.xml" hash="35a7a3560389dd7529198abcaa5fb6c2"/></dir><dir name="template"><dir name="rizn_fullsize"><dir name="catalog"><dir name="product"><dir name="view"><file name="media.phtml" hash="7157a11d8129e583338a809f84a3dbdd"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Rizn_FullSize.xml" hash="096318503a7c4fb190773c1d9b21bb23"/></dir></target><target name="magecommunity"><dir name="Rizn"><dir name="FullSize"><dir name="etc"><file name="adminhtml.xml" hash="610236cea51e0d490e399ab3ac9bcd00"/><file name="config.xml" hash="462d146e2b89053940cc3d4f13e79739"/><file name="system.xml" hash="d86ad0232c0d4b1da3a85992fd2dbd7f"/></dir><dir name="Helper"><file name="Data.php" hash="164ab59b6d64ff0bff2ca09cc2416798"/></dir><dir name="Model"><file name="Enable.php" hash="c3509548d70a82d3bcf2c4f5383443f3"/><file name="Magnifierimage.php" hash="8e6d7a503bb67fc2e733c3f1d9728978"/><file name="Position.php" hash="3a1bbbbe08378720c9d5f0008f720362"/><file name="Source.php" hash="a274ee62e7d5c69eefb5d1ebe0e649a4"/></dir></dir></dir></target></contents>
|
32 |
+
<compatible/>
|
33 |
+
<dependencies/>
|
34 |
+
</package>
|
skin/frontend/default/default/css/jquery.rizn.full.size.css
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#other-views{height:110px; margin-left:0;}
|
2 |
+
#other-views h6{margin-bottom:10px; margin-left:21px;}
|
3 |
+
.hidden {visibility:hidden; display:none;}
|
4 |
+
|
5 |
+
|
6 |
+
#nav-carousel-wrapper {height:111px; width:960px; position:relative; float:left; margin-top:10px; border:1px solid red;}
|
7 |
+
.nav-carousel {overflow:hidden; text-align:center;}
|
8 |
+
#full-carousel {padding:12px 0 10px;}
|
9 |
+
.nav-carousel ul {display:inline-block; overflow:hidden;}
|
10 |
+
.nav-carousel li { width:47px; height:64px; text-align:center; cursor:pointer; margin: 0 10px 0 0; border:3px solid #ffffff; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; padding:0; background-color:#fff;float:left; overflow:hidden;}
|
11 |
+
.nav-carousel .no-product {cursor:auto;}
|
12 |
+
.nav-carousel li:hover {border:3px solid #999; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;}
|
13 |
+
.nav-carousel .no-product:hover {border:3px solid #fff; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;}
|
14 |
+
.nav-carousel li.current {border:3px solid #999; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;}
|
15 |
+
|
16 |
+
|
17 |
+
.disabled {cursor:default;}
|
18 |
+
.disabled-next, .disabled-prev {visibility:hidden;}
|
19 |
+
|
20 |
+
|
21 |
+
|
22 |
+
#lightbox-container {
|
23 |
+
background: #fff;
|
24 |
+
display: none;
|
25 |
+
overflow: hidden;
|
26 |
+
text-align: center;
|
27 |
+
}
|
28 |
+
|
29 |
+
|
30 |
+
#full-size-view {position:absolute; height:auto; width:100%; left:0; top:0; background:#fff; z-index:100; display:none;}
|
31 |
+
#full-size-nav {width:960px; padding:0 5px; position:fixed; background:#fff url(../images/zoom-fasha.png) no-repeat 0 0; text-align:center; z-index:10000; top:0; overflow:hidden;}
|
32 |
+
#full-size-nav h6 {margin-top:20px;}
|
33 |
+
#lightbox-middle{margin:0 auto;}
|
34 |
+
#full-size-image {height:auto; display:none;}
|
35 |
+
.close-full {position:absolute; top:0; right:0; padding:20px; cursor:pointer;}
|
36 |
+
.full-size-view #lightbox-top {width:970px; height:130px; padding:0; overflow:hidden;}
|
37 |
+
.full-size-view #lightbox-close {float:none; position:absolute; right:30px; top:15px; cursor:pointer; cursor:hand;}
|
38 |
+
|
39 |
+
#zoom-tool-tip {position:absolute; z-index:9000000; text-align:center; padding:1px 4px; text-transform:uppercase; display:none;}
|
40 |
+
|
41 |
+
.more-views{clear: both;}
|
42 |
+
.more-views .click-to-zoom{margin:10px 0 0; padding-bottom:5px; padding-left:28px; background:url(../images/lupa.gif) no-repeat 0 0; line-height:20px; color:#999; display:inline-block;}
|
43 |
+
.riznex {
|
44 |
+
display: inline-block;
|
45 |
+
margin-bottom: 12px;
|
46 |
+
margin-top: 12px;
|
47 |
+
text-align: center;
|
48 |
+
|
49 |
+
}
|
50 |
+
.riznex img {margin-top:3px; margin-right:2px;}
|
skin/frontend/default/default/css/jqzoom.css
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.product-img-box {
|
2 |
+
/*float:left;
|
3 |
+
width:100%;*/
|
4 |
+
}
|
5 |
+
.jqzoom{
|
6 |
+
float:left;
|
7 |
+
position:relative;
|
8 |
+
padding:0px;
|
9 |
+
cursor:pointer;
|
10 |
+
}
|
11 |
+
|
12 |
+
.jqzoom img{
|
13 |
+
border:1px solid #e6e6e6;
|
14 |
+
float:left;
|
15 |
+
}
|
16 |
+
|
17 |
+
|
18 |
+
div.zoomdiv {
|
19 |
+
z-index : 100;
|
20 |
+
position : absolute;
|
21 |
+
top:0px;
|
22 |
+
left:0px;
|
23 |
+
width : 200px;
|
24 |
+
height : 200px;
|
25 |
+
background: #ffffff;
|
26 |
+
border:1px solid #e6e6e6;
|
27 |
+
display:none;
|
28 |
+
text-align: center;
|
29 |
+
overflow: hidden;
|
30 |
+
|
31 |
+
|
32 |
+
}
|
33 |
+
|
34 |
+
div.jqZoomPup {
|
35 |
+
z-index : 10;
|
36 |
+
visibility : hidden;
|
37 |
+
position : absolute;
|
38 |
+
top:0px;
|
39 |
+
left:0px;
|
40 |
+
width : 50px;
|
41 |
+
height : 50px;
|
42 |
+
/*border: 1px solid #aaa;*/
|
43 |
+
background: transparent url(../images/jqzoon_lens.png) 50% top no-repeat;;
|
44 |
+
/*opacity: 0.5;
|
45 |
+
-moz-opacity: 0.5;
|
46 |
+
-khtml-opacity: 0.5;
|
47 |
+
filter: alpha(Opacity=50);*/
|
48 |
+
}
|
49 |
+
#fxWrapper {
|
50 |
+
|
51 |
+
}
|
52 |
+
.jqzoom {
|
53 |
+
z-index:100;
|
54 |
+
float:none;
|
55 |
+
}
|
56 |
+
|
57 |
+
div.jqZoomPup {
|
58 |
+
width:50px;
|
59 |
+
height:50px;
|
60 |
+
z-index: 1000;
|
61 |
+
}
|
62 |
+
.zoomdiv {
|
63 |
+
margin-top:-10px;
|
64 |
+
margin-left:5px;
|
65 |
+
display:block !important;
|
66 |
+
}
|
67 |
+
|
68 |
+
#image {
|
69 |
+
margin-top:0;
|
70 |
+
}
|
skin/frontend/default/default/images/black-1.png
ADDED
Binary file
|
skin/frontend/default/default/images/black-2.png
ADDED
Binary file
|
skin/frontend/default/default/images/black-3.png
ADDED
Binary file
|
skin/frontend/default/default/images/gray-1.png
ADDED
Binary file
|
skin/frontend/default/default/images/gray-2.png
ADDED
Binary file
|
skin/frontend/default/default/images/gray-3.png
ADDED
Binary file
|
skin/frontend/default/default/images/lupa-black.png
ADDED
Binary file
|
skin/frontend/default/default/images/lupa-gray.png
ADDED
Binary file
|
skin/frontend/default/default/images/white-1.png
ADDED
Binary file
|
skin/frontend/default/default/images/white-2.png
ADDED
Binary file
|
skin/frontend/default/default/images/white-3.png
ADDED
Binary file
|
skin/frontend/default/default/js/effects.core.js
ADDED
@@ -0,0 +1,509 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery UI Effects 1.5.3
|
3 |
+
*
|
4 |
+
* Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com)
|
5 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
6 |
+
* and GPL (GPL-LICENSE.txt) licenses.
|
7 |
+
*
|
8 |
+
* http://docs.jquery.com/UI/Effects/
|
9 |
+
*/
|
10 |
+
;(function($) {
|
11 |
+
|
12 |
+
$.effects = $.effects || {}; //Add the 'effects' scope
|
13 |
+
|
14 |
+
$.extend($.effects, {
|
15 |
+
save: function(el, set) {
|
16 |
+
for(var i=0;i<set.length;i++) {
|
17 |
+
if(set[i] !== null) $.data(el[0], "ec.storage."+set[i], el[0].style[set[i]]);
|
18 |
+
}
|
19 |
+
},
|
20 |
+
restore: function(el, set) {
|
21 |
+
for(var i=0;i<set.length;i++) {
|
22 |
+
if(set[i] !== null) el.css(set[i], $.data(el[0], "ec.storage."+set[i]));
|
23 |
+
}
|
24 |
+
},
|
25 |
+
setMode: function(el, mode) {
|
26 |
+
if (mode == 'toggle') mode = el.is(':hidden') ? 'show' : 'hide'; // Set for toggle
|
27 |
+
return mode;
|
28 |
+
},
|
29 |
+
getBaseline: function(origin, original) { // Translates a [top,left] array into a baseline value
|
30 |
+
// this should be a little more flexible in the future to handle a string & hash
|
31 |
+
var y, x;
|
32 |
+
switch (origin[0]) {
|
33 |
+
case 'top': y = 0; break;
|
34 |
+
case 'middle': y = 0.5; break;
|
35 |
+
case 'bottom': y = 1; break;
|
36 |
+
default: y = origin[0] / original.height;
|
37 |
+
};
|
38 |
+
switch (origin[1]) {
|
39 |
+
case 'left': x = 0; break;
|
40 |
+
case 'center': x = 0.5; break;
|
41 |
+
case 'right': x = 1; break;
|
42 |
+
default: x = origin[1] / original.width;
|
43 |
+
};
|
44 |
+
return {x: x, y: y};
|
45 |
+
},
|
46 |
+
createWrapper: function(el) {
|
47 |
+
if (el.parent().attr('id') == 'fxWrapper')
|
48 |
+
return el;
|
49 |
+
var props = {width: el.outerWidth({margin:true}), height: el.outerHeight({margin:true}), 'float': el.css('float')};
|
50 |
+
el.wrap('<div id="fxWrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');
|
51 |
+
var wrapper = el.parent();
|
52 |
+
if (el.css('position') == 'static'){
|
53 |
+
wrapper.css({position: 'relative'});
|
54 |
+
el.css({position: 'relative'});
|
55 |
+
} else {
|
56 |
+
var top = el.css('top'); if(isNaN(parseInt(top))) top = 'auto';
|
57 |
+
var left = el.css('left'); if(isNaN(parseInt(left))) left = 'auto';
|
58 |
+
wrapper.css({ position: el.css('position'), top: top, left: left, zIndex: el.css('z-index') }).show();
|
59 |
+
el.css({position: 'relative', top:0, left:0});
|
60 |
+
}
|
61 |
+
wrapper.css(props);
|
62 |
+
return wrapper;
|
63 |
+
},
|
64 |
+
removeWrapper: function(el) {
|
65 |
+
if (el.parent().attr('id') == 'fxWrapper')
|
66 |
+
return el.parent().replaceWith(el);
|
67 |
+
return el;
|
68 |
+
},
|
69 |
+
setTransition: function(el, list, factor, val) {
|
70 |
+
val = val || {};
|
71 |
+
$.each(list,function(i, x){
|
72 |
+
unit = el.cssUnit(x);
|
73 |
+
if (unit[0] > 0) val[x] = unit[0] * factor + unit[1];
|
74 |
+
});
|
75 |
+
return val;
|
76 |
+
},
|
77 |
+
animateClass: function(value, duration, easing, callback) {
|
78 |
+
|
79 |
+
var cb = (typeof easing == "function" ? easing : (callback ? callback : null));
|
80 |
+
var ea = (typeof easing == "object" ? easing : null);
|
81 |
+
|
82 |
+
return this.each(function() {
|
83 |
+
|
84 |
+
var offset = {}; var that = $(this); var oldStyleAttr = that.attr("style") || '';
|
85 |
+
if(typeof oldStyleAttr == 'object') oldStyleAttr = oldStyleAttr["cssText"]; /* Stupidly in IE, style is a object.. */
|
86 |
+
if(value.toggle) { that.hasClass(value.toggle) ? value.remove = value.toggle : value.add = value.toggle; }
|
87 |
+
|
88 |
+
//Let's get a style offset
|
89 |
+
var oldStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle));
|
90 |
+
if(value.add) that.addClass(value.add); if(value.remove) that.removeClass(value.remove);
|
91 |
+
var newStyle = $.extend({}, (document.defaultView ? document.defaultView.getComputedStyle(this,null) : this.currentStyle));
|
92 |
+
if(value.add) that.removeClass(value.add); if(value.remove) that.addClass(value.remove);
|
93 |
+
|
94 |
+
// The main function to form the object for animation
|
95 |
+
for(var n in newStyle) {
|
96 |
+
if( typeof newStyle[n] != "function" && newStyle[n] /* No functions and null properties */
|
97 |
+
&& n.indexOf("Moz") == -1 && n.indexOf("length") == -1 /* No mozilla spezific render properties. */
|
98 |
+
&& newStyle[n] != oldStyle[n] /* Only values that have changed are used for the animation */
|
99 |
+
&& (n.match(/color/i) || (!n.match(/color/i) && !isNaN(parseInt(newStyle[n],10)))) /* Only things that can be parsed to integers or colors */
|
100 |
+
&& (oldStyle.position != "static" || (oldStyle.position == "static" && !n.match(/left|top|bottom|right/))) /* No need for positions when dealing with static positions */
|
101 |
+
) offset[n] = newStyle[n];
|
102 |
+
}
|
103 |
+
|
104 |
+
that.animate(offset, duration, ea, function() { // Animate the newly constructed offset object
|
105 |
+
// Change style attribute back to original. For stupid IE, we need to clear the damn object.
|
106 |
+
if(typeof $(this).attr("style") == 'object') { $(this).attr("style")["cssText"] = ""; $(this).attr("style")["cssText"] = oldStyleAttr; } else $(this).attr("style", oldStyleAttr);
|
107 |
+
if(value.add) $(this).addClass(value.add); if(value.remove) $(this).removeClass(value.remove);
|
108 |
+
if(cb) cb.apply(this, arguments);
|
109 |
+
});
|
110 |
+
|
111 |
+
});
|
112 |
+
}
|
113 |
+
});
|
114 |
+
|
115 |
+
//Extend the methods of jQuery
|
116 |
+
$.fn.extend({
|
117 |
+
//Save old methods
|
118 |
+
_show: $.fn.show,
|
119 |
+
_hide: $.fn.hide,
|
120 |
+
__toggle: $.fn.toggle,
|
121 |
+
_addClass: $.fn.addClass,
|
122 |
+
_removeClass: $.fn.removeClass,
|
123 |
+
_toggleClass: $.fn.toggleClass,
|
124 |
+
// New ec methods
|
125 |
+
effect: function(fx,o,speed,callback) {
|
126 |
+
return $.effects[fx] ? $.effects[fx].call(this, {method: fx, options: o || {}, duration: speed, callback: callback }) : null;
|
127 |
+
},
|
128 |
+
show: function() {
|
129 |
+
if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0])))
|
130 |
+
return this._show.apply(this, arguments);
|
131 |
+
else {
|
132 |
+
var o = arguments[1] || {}; o['mode'] = 'show';
|
133 |
+
return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]);
|
134 |
+
}
|
135 |
+
},
|
136 |
+
hide: function() {
|
137 |
+
if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0])))
|
138 |
+
return this._hide.apply(this, arguments);
|
139 |
+
else {
|
140 |
+
var o = arguments[1] || {}; o['mode'] = 'hide';
|
141 |
+
return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]);
|
142 |
+
}
|
143 |
+
},
|
144 |
+
toggle: function(){
|
145 |
+
if(!arguments[0] || (arguments[0].constructor == Number || /(slow|normal|fast)/.test(arguments[0])) || (arguments[0].constructor == Function))
|
146 |
+
return this.__toggle.apply(this, arguments);
|
147 |
+
else {
|
148 |
+
var o = arguments[1] || {}; o['mode'] = 'toggle';
|
149 |
+
return this.effect.apply(this, [arguments[0], o, arguments[2] || o.duration, arguments[3] || o.callback]);
|
150 |
+
}
|
151 |
+
},
|
152 |
+
addClass: function(classNames,speed,easing,callback) {
|
153 |
+
return speed ? $.effects.animateClass.apply(this, [{ add: classNames },speed,easing,callback]) : this._addClass(classNames);
|
154 |
+
},
|
155 |
+
removeClass: function(classNames,speed,easing,callback) {
|
156 |
+
return speed ? $.effects.animateClass.apply(this, [{ remove: classNames },speed,easing,callback]) : this._removeClass(classNames);
|
157 |
+
},
|
158 |
+
toggleClass: function(classNames,speed,easing,callback) {
|
159 |
+
return speed ? $.effects.animateClass.apply(this, [{ toggle: classNames },speed,easing,callback]) : this._toggleClass(classNames);
|
160 |
+
},
|
161 |
+
morph: function(remove,add,speed,easing,callback) {
|
162 |
+
return $.effects.animateClass.apply(this, [{ add: add, remove: remove },speed,easing,callback]);
|
163 |
+
},
|
164 |
+
switchClass: function() {
|
165 |
+
return this.morph.apply(this, arguments);
|
166 |
+
},
|
167 |
+
// helper functions
|
168 |
+
cssUnit: function(key) {
|
169 |
+
var style = this.css(key), val = [];
|
170 |
+
$.each( ['em','px','%','pt'], function(i, unit){
|
171 |
+
if(style.indexOf(unit) > 0)
|
172 |
+
val = [parseFloat(style), unit];
|
173 |
+
});
|
174 |
+
return val;
|
175 |
+
}
|
176 |
+
});
|
177 |
+
|
178 |
+
/*
|
179 |
+
* jQuery Color Animations
|
180 |
+
* Copyright 2007 John Resig
|
181 |
+
* Released under the MIT and GPL licenses.
|
182 |
+
*/
|
183 |
+
|
184 |
+
// We override the animation for all of these color styles
|
185 |
+
jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){
|
186 |
+
jQuery.fx.step[attr] = function(fx){
|
187 |
+
if ( fx.state == 0 ) {
|
188 |
+
fx.start = getColor( fx.elem, attr );
|
189 |
+
fx.end = getRGB( fx.end );
|
190 |
+
}
|
191 |
+
|
192 |
+
fx.elem.style[attr] = "rgb(" + [
|
193 |
+
Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),
|
194 |
+
Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),
|
195 |
+
Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)
|
196 |
+
].join(",") + ")";
|
197 |
+
}
|
198 |
+
});
|
199 |
+
|
200 |
+
// Color Conversion functions from highlightFade
|
201 |
+
// By Blair Mitchelmore
|
202 |
+
// http://jquery.offput.ca/highlightFade/
|
203 |
+
|
204 |
+
// Parse strings looking for color tuples [255,255,255]
|
205 |
+
function getRGB(color) {
|
206 |
+
var result;
|
207 |
+
|
208 |
+
// Check if we're already dealing with an array of colors
|
209 |
+
if ( color && color.constructor == Array && color.length == 3 )
|
210 |
+
return color;
|
211 |
+
|
212 |
+
// Look for rgb(num,num,num)
|
213 |
+
if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
|
214 |
+
return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];
|
215 |
+
|
216 |
+
// Look for rgb(num%,num%,num%)
|
217 |
+
if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
|
218 |
+
return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];
|
219 |
+
|
220 |
+
// Look for #a0b1c2
|
221 |
+
if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
|
222 |
+
return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];
|
223 |
+
|
224 |
+
// Look for #fff
|
225 |
+
if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
|
226 |
+
return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];
|
227 |
+
|
228 |
+
// Look for rgba(0, 0, 0, 0) == transparent in Safari 3
|
229 |
+
if (result = /rgba\(0, 0, 0, 0\)/.exec(color))
|
230 |
+
return colors['transparent']
|
231 |
+
|
232 |
+
// Otherwise, we're most likely dealing with a named color
|
233 |
+
return colors[jQuery.trim(color).toLowerCase()];
|
234 |
+
}
|
235 |
+
|
236 |
+
function getColor(elem, attr) {
|
237 |
+
var color;
|
238 |
+
|
239 |
+
do {
|
240 |
+
color = jQuery.curCSS(elem, attr);
|
241 |
+
|
242 |
+
// Keep going until we find an element that has color, or we hit the body
|
243 |
+
if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )
|
244 |
+
break;
|
245 |
+
|
246 |
+
attr = "backgroundColor";
|
247 |
+
} while ( elem = elem.parentNode );
|
248 |
+
|
249 |
+
return getRGB(color);
|
250 |
+
};
|
251 |
+
|
252 |
+
// Some named colors to work with
|
253 |
+
// From Interface by Stefan Petre
|
254 |
+
// http://interface.eyecon.ro/
|
255 |
+
|
256 |
+
var colors = {
|
257 |
+
aqua:[0,255,255],
|
258 |
+
azure:[240,255,255],
|
259 |
+
beige:[245,245,220],
|
260 |
+
black:[0,0,0],
|
261 |
+
blue:[0,0,255],
|
262 |
+
brown:[165,42,42],
|
263 |
+
cyan:[0,255,255],
|
264 |
+
darkblue:[0,0,139],
|
265 |
+
darkcyan:[0,139,139],
|
266 |
+
darkgrey:[169,169,169],
|
267 |
+
darkgreen:[0,100,0],
|
268 |
+
darkkhaki:[189,183,107],
|
269 |
+
darkmagenta:[139,0,139],
|
270 |
+
darkolivegreen:[85,107,47],
|
271 |
+
darkorange:[255,140,0],
|
272 |
+
darkorchid:[153,50,204],
|
273 |
+
darkred:[139,0,0],
|
274 |
+
darksalmon:[233,150,122],
|
275 |
+
darkviolet:[148,0,211],
|
276 |
+
fuchsia:[255,0,255],
|
277 |
+
gold:[255,215,0],
|
278 |
+
green:[0,128,0],
|
279 |
+
indigo:[75,0,130],
|
280 |
+
khaki:[240,230,140],
|
281 |
+
lightblue:[173,216,230],
|
282 |
+
lightcyan:[224,255,255],
|
283 |
+
lightgreen:[144,238,144],
|
284 |
+
lightgrey:[211,211,211],
|
285 |
+
lightpink:[255,182,193],
|
286 |
+
lightyellow:[255,255,224],
|
287 |
+
lime:[0,255,0],
|
288 |
+
magenta:[255,0,255],
|
289 |
+
maroon:[128,0,0],
|
290 |
+
navy:[0,0,128],
|
291 |
+
olive:[128,128,0],
|
292 |
+
orange:[255,165,0],
|
293 |
+
pink:[255,192,203],
|
294 |
+
purple:[128,0,128],
|
295 |
+
violet:[128,0,128],
|
296 |
+
red:[255,0,0],
|
297 |
+
silver:[192,192,192],
|
298 |
+
white:[255,255,255],
|
299 |
+
yellow:[255,255,0],
|
300 |
+
transparent: [255,255,255]
|
301 |
+
};
|
302 |
+
|
303 |
+
/*
|
304 |
+
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
305 |
+
*
|
306 |
+
* Uses the built in easing capabilities added In jQuery 1.1
|
307 |
+
* to offer multiple easing options
|
308 |
+
*
|
309 |
+
* TERMS OF USE - jQuery Easing
|
310 |
+
*
|
311 |
+
* Open source under the BSD License.
|
312 |
+
*
|
313 |
+
* Copyright © 2008 George McGinley Smith
|
314 |
+
* All rights reserved.
|
315 |
+
*
|
316 |
+
* Redistribution and use in source and binary forms, with or without modification,
|
317 |
+
* are permitted provided that the following conditions are met:
|
318 |
+
*
|
319 |
+
* Redistributions of source code must retain the above copyright notice, this list of
|
320 |
+
* conditions and the following disclaimer.
|
321 |
+
* Redistributions in binary form must reproduce the above copyright notice, this list
|
322 |
+
* of conditions and the following disclaimer in the documentation and/or other materials
|
323 |
+
* provided with the distribution.
|
324 |
+
*
|
325 |
+
* Neither the name of the author nor the names of contributors may be used to endorse
|
326 |
+
* or promote products derived from this software without specific prior written permission.
|
327 |
+
*
|
328 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
329 |
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
330 |
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
331 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
332 |
+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
333 |
+
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
334 |
+
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
335 |
+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
336 |
+
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
337 |
+
*
|
338 |
+
*/
|
339 |
+
|
340 |
+
// t: current time, b: begInnIng value, c: change In value, d: duration
|
341 |
+
jQuery.easing['jswing'] = jQuery.easing['swing'];
|
342 |
+
|
343 |
+
jQuery.extend( jQuery.easing,
|
344 |
+
{
|
345 |
+
def: 'easeOutQuad',
|
346 |
+
swing: function (x, t, b, c, d) {
|
347 |
+
//alert(jQuery.easing.default);
|
348 |
+
return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
|
349 |
+
},
|
350 |
+
easeInQuad: function (x, t, b, c, d) {
|
351 |
+
return c*(t/=d)*t + b;
|
352 |
+
},
|
353 |
+
easeOutQuad: function (x, t, b, c, d) {
|
354 |
+
return -c *(t/=d)*(t-2) + b;
|
355 |
+
},
|
356 |
+
easeInOutQuad: function (x, t, b, c, d) {
|
357 |
+
if ((t/=d/2) < 1) return c/2*t*t + b;
|
358 |
+
return -c/2 * ((--t)*(t-2) - 1) + b;
|
359 |
+
},
|
360 |
+
easeInCubic: function (x, t, b, c, d) {
|
361 |
+
return c*(t/=d)*t*t + b;
|
362 |
+
},
|
363 |
+
easeOutCubic: function (x, t, b, c, d) {
|
364 |
+
return c*((t=t/d-1)*t*t + 1) + b;
|
365 |
+
},
|
366 |
+
easeInOutCubic: function (x, t, b, c, d) {
|
367 |
+
if ((t/=d/2) < 1) return c/2*t*t*t + b;
|
368 |
+
return c/2*((t-=2)*t*t + 2) + b;
|
369 |
+
},
|
370 |
+
easeInQuart: function (x, t, b, c, d) {
|
371 |
+
return c*(t/=d)*t*t*t + b;
|
372 |
+
},
|
373 |
+
easeOutQuart: function (x, t, b, c, d) {
|
374 |
+
return -c * ((t=t/d-1)*t*t*t - 1) + b;
|
375 |
+
},
|
376 |
+
easeInOutQuart: function (x, t, b, c, d) {
|
377 |
+
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
|
378 |
+
return -c/2 * ((t-=2)*t*t*t - 2) + b;
|
379 |
+
},
|
380 |
+
easeInQuint: function (x, t, b, c, d) {
|
381 |
+
return c*(t/=d)*t*t*t*t + b;
|
382 |
+
},
|
383 |
+
easeOutQuint: function (x, t, b, c, d) {
|
384 |
+
return c*((t=t/d-1)*t*t*t*t + 1) + b;
|
385 |
+
},
|
386 |
+
easeInOutQuint: function (x, t, b, c, d) {
|
387 |
+
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
|
388 |
+
return c/2*((t-=2)*t*t*t*t + 2) + b;
|
389 |
+
},
|
390 |
+
easeInSine: function (x, t, b, c, d) {
|
391 |
+
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
|
392 |
+
},
|
393 |
+
easeOutSine: function (x, t, b, c, d) {
|
394 |
+
return c * Math.sin(t/d * (Math.PI/2)) + b;
|
395 |
+
},
|
396 |
+
easeInOutSine: function (x, t, b, c, d) {
|
397 |
+
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
|
398 |
+
},
|
399 |
+
easeInExpo: function (x, t, b, c, d) {
|
400 |
+
return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
|
401 |
+
},
|
402 |
+
easeOutExpo: function (x, t, b, c, d) {
|
403 |
+
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
|
404 |
+
},
|
405 |
+
easeInOutExpo: function (x, t, b, c, d) {
|
406 |
+
if (t==0) return b;
|
407 |
+
if (t==d) return b+c;
|
408 |
+
if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
|
409 |
+
return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
|
410 |
+
},
|
411 |
+
easeInCirc: function (x, t, b, c, d) {
|
412 |
+
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
|
413 |
+
},
|
414 |
+
easeOutCirc: function (x, t, b, c, d) {
|
415 |
+
return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
|
416 |
+
},
|
417 |
+
easeInOutCirc: function (x, t, b, c, d) {
|
418 |
+
if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
|
419 |
+
return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
|
420 |
+
},
|
421 |
+
easeInElastic: function (x, t, b, c, d) {
|
422 |
+
var s=1.70158;var p=0;var a=c;
|
423 |
+
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
424 |
+
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
425 |
+
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
426 |
+
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
427 |
+
},
|
428 |
+
easeOutElastic: function (x, t, b, c, d) {
|
429 |
+
var s=1.70158;var p=0;var a=c;
|
430 |
+
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
431 |
+
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
432 |
+
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
433 |
+
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
434 |
+
},
|
435 |
+
easeInOutElastic: function (x, t, b, c, d) {
|
436 |
+
var s=1.70158;var p=0;var a=c;
|
437 |
+
if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
|
438 |
+
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
439 |
+
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
440 |
+
if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
441 |
+
return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
|
442 |
+
},
|
443 |
+
easeInBack: function (x, t, b, c, d, s) {
|
444 |
+
if (s == undefined) s = 1.70158;
|
445 |
+
return c*(t/=d)*t*((s+1)*t - s) + b;
|
446 |
+
},
|
447 |
+
easeOutBack: function (x, t, b, c, d, s) {
|
448 |
+
if (s == undefined) s = 1.70158;
|
449 |
+
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
|
450 |
+
},
|
451 |
+
easeInOutBack: function (x, t, b, c, d, s) {
|
452 |
+
if (s == undefined) s = 1.70158;
|
453 |
+
if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
|
454 |
+
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
|
455 |
+
},
|
456 |
+
easeInBounce: function (x, t, b, c, d) {
|
457 |
+
return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
|
458 |
+
},
|
459 |
+
easeOutBounce: function (x, t, b, c, d) {
|
460 |
+
if ((t/=d) < (1/2.75)) {
|
461 |
+
return c*(7.5625*t*t) + b;
|
462 |
+
} else if (t < (2/2.75)) {
|
463 |
+
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
|
464 |
+
} else if (t < (2.5/2.75)) {
|
465 |
+
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
|
466 |
+
} else {
|
467 |
+
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
|
468 |
+
}
|
469 |
+
},
|
470 |
+
easeInOutBounce: function (x, t, b, c, d) {
|
471 |
+
if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
|
472 |
+
return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
|
473 |
+
}
|
474 |
+
});
|
475 |
+
|
476 |
+
/*
|
477 |
+
*
|
478 |
+
* TERMS OF USE - EASING EQUATIONS
|
479 |
+
*
|
480 |
+
* Open source under the BSD License.
|
481 |
+
*
|
482 |
+
* Copyright © 2001 Robert Penner
|
483 |
+
* All rights reserved.
|
484 |
+
*
|
485 |
+
* Redistribution and use in source and binary forms, with or without modification,
|
486 |
+
* are permitted provided that the following conditions are met:
|
487 |
+
*
|
488 |
+
* Redistributions of source code must retain the above copyright notice, this list of
|
489 |
+
* conditions and the following disclaimer.
|
490 |
+
* Redistributions in binary form must reproduce the above copyright notice, this list
|
491 |
+
* of conditions and the following disclaimer in the documentation and/or other materials
|
492 |
+
* provided with the distribution.
|
493 |
+
*
|
494 |
+
* Neither the name of the author nor the names of contributors may be used to endorse
|
495 |
+
* or promote products derived from this software without specific prior written permission.
|
496 |
+
*
|
497 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
498 |
+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
499 |
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
500 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
501 |
+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
502 |
+
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
503 |
+
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
504 |
+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
505 |
+
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
506 |
+
*
|
507 |
+
*/
|
508 |
+
|
509 |
+
})(jQuery);
|
skin/frontend/default/default/js/effects.scale.js
ADDED
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery UI Effects Scale
|
3 |
+
*
|
4 |
+
* Copyright (c) 2008 Aaron Eisenberger (aaronchi@gmail.com)
|
5 |
+
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
6 |
+
* and GPL (GPL-LICENSE.txt) licenses.
|
7 |
+
*
|
8 |
+
* http://docs.jquery.com/UI/Effects/Scale
|
9 |
+
*
|
10 |
+
* Depends:
|
11 |
+
* effects.core.js
|
12 |
+
*/
|
13 |
+
(function($) {
|
14 |
+
|
15 |
+
$.effects.puff = function(o) {
|
16 |
+
|
17 |
+
return this.queue(function() {
|
18 |
+
|
19 |
+
// Create element
|
20 |
+
var el = $(this);
|
21 |
+
|
22 |
+
// Set options
|
23 |
+
var options = $.extend(true, {}, o.options);
|
24 |
+
var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode
|
25 |
+
var percent = parseInt(o.options.percent) || 150; // Set default puff percent
|
26 |
+
options.fade = true; // It's not a puff if it doesn't fade! :)
|
27 |
+
var original = {height: el.height(), width: el.width()}; // Save original
|
28 |
+
|
29 |
+
// Adjust
|
30 |
+
var factor = percent / 100;
|
31 |
+
el.from = (mode == 'hide') ? original : {height: original.height * factor, width: original.width * factor};
|
32 |
+
|
33 |
+
// Animation
|
34 |
+
options.from = el.from;
|
35 |
+
options.percent = (mode == 'hide') ? percent : 100;
|
36 |
+
options.mode = mode;
|
37 |
+
|
38 |
+
// Animate
|
39 |
+
el.effect('scale', options, o.duration, o.callback);
|
40 |
+
el.dequeue();
|
41 |
+
});
|
42 |
+
|
43 |
+
};
|
44 |
+
|
45 |
+
$.effects.scale = function(o) {
|
46 |
+
|
47 |
+
return this.queue(function() {
|
48 |
+
|
49 |
+
// Create element
|
50 |
+
var el = $(this);
|
51 |
+
|
52 |
+
// Set options
|
53 |
+
var options = $.extend(true, {}, o.options);
|
54 |
+
var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode
|
55 |
+
var percent = parseInt(o.options.percent) || (parseInt(o.options.percent) == 0 ? 0 : (mode == 'hide' ? 0 : 100)); // Set default scaling percent
|
56 |
+
var direction = o.options.direction || 'both'; // Set default axis
|
57 |
+
var origin = o.options.origin; // The origin of the scaling
|
58 |
+
if (mode != 'effect') { // Set default origin and restore for show/hide
|
59 |
+
options.origin = origin || ['middle','center'];
|
60 |
+
options.restore = true;
|
61 |
+
}
|
62 |
+
var original = {height: el.height(), width: el.width()}; // Save original
|
63 |
+
el.from = o.options.from || (mode == 'show' ? {height: 0, width: 0} : original); // Default from state
|
64 |
+
|
65 |
+
// Adjust
|
66 |
+
var factor = { // Set scaling factor
|
67 |
+
y: direction != 'horizontal' ? (percent / 100) : 1,
|
68 |
+
x: direction != 'vertical' ? (percent / 100) : 1
|
69 |
+
};
|
70 |
+
el.to = {height: original.height * factor.y, width: original.width * factor.x}; // Set to state
|
71 |
+
|
72 |
+
if (o.options.fade) { // Fade option to support puff
|
73 |
+
if (mode == 'show') {el.from.opacity = 0; el.to.opacity = 1;};
|
74 |
+
if (mode == 'hide') {el.from.opacity = 1; el.to.opacity = 0;};
|
75 |
+
};
|
76 |
+
|
77 |
+
// Animation
|
78 |
+
options.from = el.from; options.to = el.to; options.mode = mode;
|
79 |
+
|
80 |
+
// Animate
|
81 |
+
el.effect('size', options, o.duration, o.callback);
|
82 |
+
el.dequeue();
|
83 |
+
});
|
84 |
+
|
85 |
+
};
|
86 |
+
|
87 |
+
$.effects.size = function(o) {
|
88 |
+
|
89 |
+
return this.queue(function() {
|
90 |
+
|
91 |
+
// Create element
|
92 |
+
var el = $(this), props = ['position','top','left','width','height','overflow','opacity'];
|
93 |
+
var props1 = ['position','top','left','overflow','opacity']; // Always restore
|
94 |
+
var props2 = ['width','height','overflow']; // Copy for children
|
95 |
+
var cProps = ['fontSize'];
|
96 |
+
var vProps = ['borderTopWidth', 'borderBottomWidth', 'paddingTop', 'paddingBottom'];
|
97 |
+
var hProps = ['borderLeftWidth', 'borderRightWidth', 'paddingLeft', 'paddingRight'];
|
98 |
+
|
99 |
+
// Set options
|
100 |
+
var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode
|
101 |
+
var restore = o.options.restore || false; // Default restore
|
102 |
+
var scale = o.options.scale || 'both'; // Default scale mode
|
103 |
+
var origin = o.options.origin; // The origin of the sizing
|
104 |
+
var original = {height: el.height(), width: el.width()}; // Save original
|
105 |
+
el.from = o.options.from || original; // Default from state
|
106 |
+
el.to = o.options.to || original; // Default to state
|
107 |
+
// Adjust
|
108 |
+
if (origin) { // Calculate baseline shifts
|
109 |
+
var baseline = $.effects.getBaseline(origin, original);
|
110 |
+
el.from.top = (original.height - el.from.height) * baseline.y;
|
111 |
+
el.from.left = (original.width - el.from.width) * baseline.x;
|
112 |
+
el.to.top = (original.height - el.to.height) * baseline.y;
|
113 |
+
el.to.left = (original.width - el.to.width) * baseline.x;
|
114 |
+
};
|
115 |
+
var factor = { // Set scaling factor
|
116 |
+
from: {y: el.from.height / original.height, x: el.from.width / original.width},
|
117 |
+
to: {y: el.to.height / original.height, x: el.to.width / original.width}
|
118 |
+
};
|
119 |
+
if (scale == 'box' || scale == 'both') { // Scale the css box
|
120 |
+
if (factor.from.y != factor.to.y) { // Vertical props scaling
|
121 |
+
props = props.concat(vProps);
|
122 |
+
el.from = $.effects.setTransition(el, vProps, factor.from.y, el.from);
|
123 |
+
el.to = $.effects.setTransition(el, vProps, factor.to.y, el.to);
|
124 |
+
};
|
125 |
+
if (factor.from.x != factor.to.x) { // Horizontal props scaling
|
126 |
+
props = props.concat(hProps);
|
127 |
+
el.from = $.effects.setTransition(el, hProps, factor.from.x, el.from);
|
128 |
+
el.to = $.effects.setTransition(el, hProps, factor.to.x, el.to);
|
129 |
+
};
|
130 |
+
};
|
131 |
+
if (scale == 'content' || scale == 'both') { // Scale the content
|
132 |
+
if (factor.from.y != factor.to.y) { // Vertical props scaling
|
133 |
+
props = props.concat(cProps);
|
134 |
+
el.from = $.effects.setTransition(el, cProps, factor.from.y, el.from);
|
135 |
+
el.to = $.effects.setTransition(el, cProps, factor.to.y, el.to);
|
136 |
+
};
|
137 |
+
};
|
138 |
+
$.effects.save(el, restore ? props : props1); el.show(); // Save & Show
|
139 |
+
$.effects.createWrapper(el); // Create Wrapper
|
140 |
+
el.css('overflow','hidden').css(el.from); // Shift
|
141 |
+
|
142 |
+
// Animate
|
143 |
+
if (scale == 'content' || scale == 'both') { // Scale the children
|
144 |
+
vProps = vProps.concat(['marginTop','marginBottom']).concat(cProps); // Add margins/font-size
|
145 |
+
hProps = hProps.concat(['marginLeft','marginRight']); // Add margins
|
146 |
+
props2 = props.concat(vProps).concat(hProps); // Concat
|
147 |
+
el.find("*[width]").each(function(){
|
148 |
+
child = $(this);
|
149 |
+
if (restore) $.effects.save(child, props2);
|
150 |
+
var c_original = {height: child.height(), width: child.width()}; // Save original
|
151 |
+
child.from = {height: c_original.height * factor.from.y, width: c_original.width * factor.from.x};
|
152 |
+
child.to = {height: c_original.height * factor.to.y, width: c_original.width * factor.to.x};
|
153 |
+
if (factor.from.y != factor.to.y) { // Vertical props scaling
|
154 |
+
child.from = $.effects.setTransition(child, vProps, factor.from.y, child.from);
|
155 |
+
child.to = $.effects.setTransition(child, vProps, factor.to.y, child.to);
|
156 |
+
};
|
157 |
+
if (factor.from.x != factor.to.x) { // Horizontal props scaling
|
158 |
+
child.from = $.effects.setTransition(child, hProps, factor.from.x, child.from);
|
159 |
+
child.to = $.effects.setTransition(child, hProps, factor.to.x, child.to);
|
160 |
+
};
|
161 |
+
child.css(child.from); // Shift children
|
162 |
+
child.animate(child.to, o.duration, o.options.easing, function(){
|
163 |
+
if (restore) $.effects.restore(child, props2); // Restore children
|
164 |
+
}); // Animate children
|
165 |
+
});
|
166 |
+
};
|
167 |
+
|
168 |
+
// Animate
|
169 |
+
el.animate(el.to, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() {
|
170 |
+
if(mode == 'hide') el.hide(); // Hide
|
171 |
+
$.effects.restore(el, restore ? props : props1); $.effects.removeWrapper(el); // Restore
|
172 |
+
if(o.callback) o.callback.apply(this, arguments); // Callback
|
173 |
+
el.dequeue();
|
174 |
+
}});
|
175 |
+
|
176 |
+
});
|
177 |
+
|
178 |
+
};
|
179 |
+
|
180 |
+
})(jQuery);
|
skin/frontend/default/default/js/jquery.jqzoom.js
ADDED
@@ -0,0 +1,213 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//**************************************************************
|
2 |
+
// jQZoom allows you to realize a small magnifier window,close
|
3 |
+
// to the image or images on your web page easily.
|
4 |
+
//
|
5 |
+
// jqZoom version 2.2
|
6 |
+
// Author Doc. Ing. Renzi Marco(www.mind-projects.it)
|
7 |
+
// First Release on Dec 05 2007
|
8 |
+
// i'm looking for a job,pick me up!!!
|
9 |
+
// mail: renzi.mrc@gmail.com
|
10 |
+
//**************************************************************
|
11 |
+
|
12 |
+
(function($){
|
13 |
+
|
14 |
+
$.fn.jqueryzoom = function(options){
|
15 |
+
|
16 |
+
var settings = {
|
17 |
+
xzoom: 200, //zoomed width default width
|
18 |
+
yzoom: 200, //zoomed div default width
|
19 |
+
offset: 10, //zoomed div default offset
|
20 |
+
position: "right" ,//zoomed div default position,offset position is to the right of the image
|
21 |
+
lens:1, //zooming lens over the image,by default is 1;
|
22 |
+
preload: 1,
|
23 |
+
anim_scale: 1
|
24 |
+
|
25 |
+
};
|
26 |
+
|
27 |
+
if(options) {
|
28 |
+
$.extend(settings, options);
|
29 |
+
}
|
30 |
+
|
31 |
+
var noalt='';
|
32 |
+
|
33 |
+
$(this).hover(function(){
|
34 |
+
|
35 |
+
var imageLeft = $(this).offset().left;
|
36 |
+
var imageTop = $(this).offset().top;
|
37 |
+
|
38 |
+
|
39 |
+
var imageWidth = $(this).children('img').get(0).offsetWidth;
|
40 |
+
var imageHeight = $(this).children('img').get(0).offsetHeight;
|
41 |
+
|
42 |
+
|
43 |
+
noalt= $(this).children("img").attr("alt");
|
44 |
+
|
45 |
+
var bigimage = $(this).children("img").attr("jqimg");
|
46 |
+
|
47 |
+
$(this).children("img").attr("alt",'');
|
48 |
+
|
49 |
+
if($("div.zoomdiv").get().length == 0){
|
50 |
+
|
51 |
+
$(this).after("<div class='zoomdiv'><img class='bigimg' src='"+bigimage+"'/></div>");
|
52 |
+
|
53 |
+
|
54 |
+
$(this).append("<div class='jqZoomPup'> </div>");
|
55 |
+
|
56 |
+
}
|
57 |
+
|
58 |
+
|
59 |
+
if(settings.position == "right"){
|
60 |
+
|
61 |
+
if(imageLeft + imageWidth + settings.offset + settings.xzoom > screen.width){
|
62 |
+
|
63 |
+
leftpos = imageLeft - settings.offset - settings.xzoom;
|
64 |
+
|
65 |
+
}else{
|
66 |
+
|
67 |
+
leftpos = imageLeft + imageWidth + settings.offset;
|
68 |
+
}
|
69 |
+
}else{
|
70 |
+
leftpos = imageLeft - settings.xzoom - settings.offset;
|
71 |
+
if(leftpos < 0){
|
72 |
+
|
73 |
+
eftpos = imageLeft + imageWidth + settings.offset;
|
74 |
+
|
75 |
+
}
|
76 |
+
|
77 |
+
}
|
78 |
+
|
79 |
+
var imageLeft2 = $(this).position().left;
|
80 |
+
var imageTop2 = $(this).position().top;
|
81 |
+
var leftpos2 = imageLeft2 + imageWidth + 10;
|
82 |
+
var imageTop2 = imageTop2 + 10;
|
83 |
+
$("div.zoomdiv").css({ top: imageTop2,left: leftpos2 });
|
84 |
+
|
85 |
+
$("div.zoomdiv").width(settings.xzoom);
|
86 |
+
|
87 |
+
$("div.zoomdiv").height(settings.yzoom);
|
88 |
+
|
89 |
+
if(settings.anim_scale) {
|
90 |
+
$("div.zoomdiv").show("scale", {}, 1000);
|
91 |
+
} else {
|
92 |
+
$("div.zoomdiv").show();
|
93 |
+
}
|
94 |
+
if(!settings.lens){
|
95 |
+
$(this).css('cursor','crosshair');
|
96 |
+
}
|
97 |
+
|
98 |
+
$(document.body).mousemove(function(e){
|
99 |
+
|
100 |
+
|
101 |
+
|
102 |
+
mouse = new MouseEvent(e);
|
103 |
+
|
104 |
+
/*$("div.jqZoomPup").hide();*/
|
105 |
+
|
106 |
+
|
107 |
+
var bigwidth = $(".bigimg").get(0).offsetWidth;
|
108 |
+
|
109 |
+
var bigheight = $(".bigimg").get(0).offsetHeight;
|
110 |
+
|
111 |
+
var scaley ='x';
|
112 |
+
|
113 |
+
var scalex= 'y';
|
114 |
+
|
115 |
+
|
116 |
+
if(isNaN(scalex)|isNaN(scaley)){
|
117 |
+
|
118 |
+
var scalex = (bigwidth/imageWidth);
|
119 |
+
|
120 |
+
var scaley = (bigheight/imageHeight);
|
121 |
+
|
122 |
+
|
123 |
+
|
124 |
+
|
125 |
+
//$("div.jqZoomPup").width((settings.xzoom)/scalex );
|
126 |
+
|
127 |
+
// $("div.jqZoomPup").height((settings.yzoom)/scaley);
|
128 |
+
|
129 |
+
if(settings.lens){
|
130 |
+
$("div.jqZoomPup").css('visibility','visible');
|
131 |
+
}
|
132 |
+
|
133 |
+
}
|
134 |
+
|
135 |
+
|
136 |
+
|
137 |
+
xpos = mouse.x - $("div.jqZoomPup").width()/2 - imageLeft;
|
138 |
+
|
139 |
+
ypos = mouse.y - $("div.jqZoomPup").height()/2 - imageTop ;
|
140 |
+
|
141 |
+
if(settings.lens){
|
142 |
+
|
143 |
+
xpos = (mouse.x - $("div.jqZoomPup").width()/2 < imageLeft ) ? 0 : (mouse.x + $("div.jqZoomPup").width()/2 > imageWidth + imageLeft ) ? (imageWidth -$("div.jqZoomPup").width() -2) : xpos;
|
144 |
+
|
145 |
+
ypos = (mouse.y - $("div.jqZoomPup").height()/2 < imageTop ) ? 0 : (mouse.y + $("div.jqZoomPup").height()/2 > imageHeight + imageTop ) ? (imageHeight - $("div.jqZoomPup").height() -2 ) : ypos;
|
146 |
+
|
147 |
+
}
|
148 |
+
|
149 |
+
|
150 |
+
if(settings.lens){
|
151 |
+
|
152 |
+
$("div.jqZoomPup").css({ top: ypos,left: xpos });
|
153 |
+
|
154 |
+
}
|
155 |
+
|
156 |
+
|
157 |
+
|
158 |
+
scrolly = ypos;
|
159 |
+
|
160 |
+
$("div.zoomdiv").get(0).scrollTop = scrolly * scaley;
|
161 |
+
|
162 |
+
scrollx = xpos;
|
163 |
+
|
164 |
+
$("div.zoomdiv").get(0).scrollLeft = (scrollx) * scalex ;
|
165 |
+
|
166 |
+
|
167 |
+
});
|
168 |
+
},function(){
|
169 |
+
|
170 |
+
$(this).children("img").attr("alt",noalt);
|
171 |
+
$(document.body).unbind("mousemove");
|
172 |
+
if(settings.lens){
|
173 |
+
$("div.jqZoomPup").remove();
|
174 |
+
}
|
175 |
+
$("div.zoomdiv").remove();
|
176 |
+
$("div#fxWrapper").remove();
|
177 |
+
});
|
178 |
+
|
179 |
+
count = 0;
|
180 |
+
|
181 |
+
if(settings.preload){
|
182 |
+
|
183 |
+
$('body').append("<div style='display:none;' class='jqPreload"+count+"'>Loading...</div>");
|
184 |
+
|
185 |
+
$(this).each(function(){
|
186 |
+
|
187 |
+
var imagetopreload= $(this).children("img").attr("jqimg");
|
188 |
+
|
189 |
+
var content = jQuery('div.jqPreload'+count+'').html();
|
190 |
+
|
191 |
+
jQuery('div.jqPreload'+count+'').html(content+'<img src=\"'+imagetopreload+'\">');
|
192 |
+
|
193 |
+
});
|
194 |
+
|
195 |
+
}
|
196 |
+
|
197 |
+
}
|
198 |
+
|
199 |
+
})(jQuery);
|
200 |
+
|
201 |
+
function MouseEvent(e) {
|
202 |
+
this.x = e.pageX;
|
203 |
+
this.y = e.pageY;
|
204 |
+
|
205 |
+
|
206 |
+
}
|
207 |
+
|
208 |
+
jQuery(function(){
|
209 |
+
jQuery('.product-view .product-img-box .more-views li a').click(function(){
|
210 |
+
jQuery('.product-view .product-img-box .more-views li a').removeClass('active');
|
211 |
+
jQuery(this).toggleClass('active');
|
212 |
+
});
|
213 |
+
});
|
skin/frontend/default/default/js/jquery.rizn.full.size.js
ADDED
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(function($){
|
2 |
+
var winWidth = 970, //$('.page').width(),
|
3 |
+
leftMargin,
|
4 |
+
imgSrc,
|
5 |
+
bgc,
|
6 |
+
fullViewHtml = [],
|
7 |
+
imageHtml,
|
8 |
+
productsHtml = [],
|
9 |
+
$thumbs = $('.product-view .product-img-box .more-views li');
|
10 |
+
|
11 |
+
var brc = $('.magnizoom img').attr('brc');
|
12 |
+
|
13 |
+
|
14 |
+
$thumbs.each(function(i, el){
|
15 |
+
clone = $(el).clone();
|
16 |
+
clone.children().first().removeAttr("onclick");
|
17 |
+
productsHtml.push(['<li style="border:solid 1px #',brc,'" class="i'+(i+1)+'">'+clone.html()+'</li>'].join(''));
|
18 |
+
});
|
19 |
+
|
20 |
+
$('.magnizoom').click(function(e){
|
21 |
+
|
22 |
+
e.preventDefault();
|
23 |
+
|
24 |
+
|
25 |
+
if(typeof document.body.style.maxHeight !== "undefined") {
|
26 |
+
leftMargin = ($(document).width() - 970) / 2;
|
27 |
+
} else {
|
28 |
+
leftMargin = 0;
|
29 |
+
}
|
30 |
+
|
31 |
+
imgElement = $(e.currentTarget).find('img')[0];
|
32 |
+
imgSrc = $(imgElement).attr('jqimage');
|
33 |
+
bgc = $(imgElement).attr('bgc');
|
34 |
+
|
35 |
+
|
36 |
+
|
37 |
+
|
38 |
+
|
39 |
+
imageHtml = '<img id="full-size-image" src="'+imgSrc+'">';
|
40 |
+
|
41 |
+
|
42 |
+
fullViewHtml = [
|
43 |
+
'<div id="full-size-nav" style="left:',leftMargin,'">',
|
44 |
+
// '<h6>', $('.product-view .product-shop .product-name h1').text(),'</h6>',
|
45 |
+
'<div class="nav-carousel" id="full-carousel" style="background:#',bgc,'">',
|
46 |
+
'<ul>',
|
47 |
+
productsHtml.join(''),
|
48 |
+
'</ul>',
|
49 |
+
'</div>',
|
50 |
+
'</div>'
|
51 |
+
];
|
52 |
+
|
53 |
+
var closeimg = $('.magnizoom img').attr('closeimg');
|
54 |
+
var closeimgtext = $('.magnizoom img').attr('clicktext');
|
55 |
+
if(closeimgtext == "")
|
56 |
+
{
|
57 |
+
closeimgtext = "click to close";
|
58 |
+
}
|
59 |
+
|
60 |
+
RIZN.overlayPanel({
|
61 |
+
title: fullViewHtml.join(''),
|
62 |
+
message: imageHtml,
|
63 |
+
type: "info",
|
64 |
+
theme: "light",
|
65 |
+
addClass: "full-size-view",
|
66 |
+
top:0,
|
67 |
+
width: winWidth,
|
68 |
+
onReady: function() {
|
69 |
+
$("#lightbox-close").html('<img src="http://'+window.location.hostname+'/skin/frontend/default/default/images/'+closeimg+'" alt="Close" />').prependTo($('#full-size-nav')).click(function(){
|
70 |
+
|
71 |
+
});
|
72 |
+
|
73 |
+
|
74 |
+
/* Thumbnails Click Event */
|
75 |
+
$('.nav-carousel li').click(function(e){
|
76 |
+
e.preventDefault();
|
77 |
+
|
78 |
+
bigImage = $('#full-size-image');
|
79 |
+
|
80 |
+
myregexp = /i(\d+)/;
|
81 |
+
match = myregexp.exec($(this).attr('class'));
|
82 |
+
|
83 |
+
if(match != null) {
|
84 |
+
elementId = match[1];
|
85 |
+
|
86 |
+
imgElement = $(".magnizoom:nth-child("+elementId+")").find('img')[0];
|
87 |
+
newImage = $(imgElement).attr('jqimage');
|
88 |
+
|
89 |
+
if(bigImage.attr("src") !== newImage){
|
90 |
+
$('.nav-carousel li').each(function(i, el){ $(el).removeClass('current'); });
|
91 |
+
$(this).addClass("current");
|
92 |
+
|
93 |
+
$(bigImage).fadeOut(function(){
|
94 |
+
bigImage.attr("src", newImage);
|
95 |
+
setTimeout(function(){
|
96 |
+
$(bigImage).fadeIn();
|
97 |
+
},400);
|
98 |
+
});
|
99 |
+
}
|
100 |
+
}
|
101 |
+
});
|
102 |
+
/* End Thumbnails Click Event */
|
103 |
+
|
104 |
+
var imgObject = new Image();
|
105 |
+
imgObject.src = imgSrc;
|
106 |
+
|
107 |
+
function testImageLoaded() {
|
108 |
+
// test the xlImage object every 100ms to check its width (i.e. is it loaded?)
|
109 |
+
var imageLoadedTestInterval;
|
110 |
+
var attemptCount = 0;
|
111 |
+
var maxAttempts = 100;
|
112 |
+
|
113 |
+
function isImageLoaded() {
|
114 |
+
attemptCount++;
|
115 |
+
if(imgObject && imgObject.width > 0 && attemptCount <= maxAttempts) {
|
116 |
+
window.clearInterval(imageLoadedTestInterval);
|
117 |
+
attemptCount = 0;
|
118 |
+
displayFullSizeImage();
|
119 |
+
} else if (attemptCount > maxAttempts) {
|
120 |
+
window.clearInterval(imageLoadedTestInterval);
|
121 |
+
attemptCount = 0;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
imageLoadedTestInterval = window.setInterval(isImageLoaded, 50);
|
125 |
+
}
|
126 |
+
|
127 |
+
testImageLoaded();
|
128 |
+
|
129 |
+
function displayFullSizeImage() {
|
130 |
+
$('#lightbox-middle').animate({
|
131 |
+
height:960,
|
132 |
+
width:960
|
133 |
+
}, 600, function(){
|
134 |
+
setTimeout(function(){
|
135 |
+
var toolTip = '<div id="zoom-tool-tip"><img src="http://'+window.location.hostname+'/skin/frontend/default/default/images/zoom-close.png" alt="'+closeimgtext+'" /></div>';
|
136 |
+
|
137 |
+
$('body').append(toolTip);
|
138 |
+
|
139 |
+
document.getElementById('full-size-image').src = imgObject.src;
|
140 |
+
|
141 |
+
$('#full-size-image').fadeIn().mousemove(function(e){
|
142 |
+
$('#zoom-tool-tip').show();
|
143 |
+
$('#zoom-tool-tip').css({
|
144 |
+
top: (e.pageY+15) + 'px',
|
145 |
+
left: (e.pageX+7) + 'px'
|
146 |
+
});
|
147 |
+
}).mouseout(function() {
|
148 |
+
$('#zoom-tool-tip').hide();
|
149 |
+
});
|
150 |
+
},400)
|
151 |
+
});
|
152 |
+
}
|
153 |
+
|
154 |
+
$('#full-size-image').click(function(e) {
|
155 |
+
$('#zoom-tool-tip').hide();
|
156 |
+
$("#overlay-mask").fadeOut("fast", function() {
|
157 |
+
$(this).remove();
|
158 |
+
$('#zoom-tool-tip').hide();
|
159 |
+
});
|
160 |
+
$("#lightbox-container").fadeOut("fast", function() {
|
161 |
+
$(this).remove();
|
162 |
+
$('#zoom-tool-tip').hide();
|
163 |
+
});
|
164 |
+
});
|
165 |
+
$("#overlay-mask").click(function(e){});
|
166 |
+
}
|
167 |
+
});
|
168 |
+
});
|
169 |
+
|
170 |
+
})
|
skin/frontend/default/default/js/jquery.rizn.overlay.js
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
if(typeof RIZN == "undefined") {
|
2 |
+
var RIZN = {};
|
3 |
+
}
|
4 |
+
|
5 |
+
RIZN.overlayPanel = function(opts) {
|
6 |
+
|
7 |
+
(function($){
|
8 |
+
|
9 |
+
var confirmAlt = (opts.type == 'alert') ? 'OK' : 'Confirm' ,
|
10 |
+
confirmImg = (opts.type == 'alert') ? '/skin/frontend/default/default/images/ok.gif' : '/skin/frontend/default/default/images/confirm.gif',
|
11 |
+
cancelImg = '/skin/frontend/default/default/images/cancel.gif',
|
12 |
+
|
13 |
+
confirmText = opts.confirmText || '<input type="image" value="'+confirmAlt+'" class="overlay-alert-button lightbox-ok" id="overlay-confirm-button" src="'+confirmImg+'" />',
|
14 |
+
cancelText = opts.cancelText || '<input type="image" value="Cancel" class="overlay-alert-button lightbox-cancel" id="overlay-cancel-button" src="'+cancelImg+'" />',
|
15 |
+
height = (opts.height) ? "height:"+opts.height+"px;" : "",
|
16 |
+
width = (opts.width) ? "width:"+opts.width+"px;" : "width:180px;",
|
17 |
+
overlayMaskColour = (opts.theme.toLowerCase() == "light") ? "#FFF" : "#000" ,
|
18 |
+
//correction = (navigator.appName.indexOf('Microsoft') != -1) ? 21 : 0 ,
|
19 |
+
pageHeight = $(document).height(),
|
20 |
+
pageWidth = (navigator.appName.indexOf('Microsoft')!= -1) ? $('body').attr('clientWidth') : $(document).width(),
|
21 |
+
modal = opts.modal || false,
|
22 |
+
customButtons = opts.customButtons || '',
|
23 |
+
closeButton = (modal) ? "" : '<div id="lightbox-close"><img src="/skin/frontend/default/default/images/close-overlay.gif" alt="Close" class="close" /></div>' ,
|
24 |
+
mask = (opts.mask) || 'show',
|
25 |
+
showMaskCss = (mask == 'show') ? 'display:block':'display:none',
|
26 |
+
|
27 |
+
// create the overlay mask HTML
|
28 |
+
overlayMask = ['<div id="overlay-mask" style="',showMaskCss,'; height:',pageHeight,'px; width:',pageWidth,'px; position:absolute; top:0; left:0; background-color:',overlayMaskColour,'; opacity:0; filter:alpha(opacity=0); z-index:999999;"> </div>'].join(""),
|
29 |
+
buttons = '';
|
30 |
+
|
31 |
+
// create the overlay buttons HTML
|
32 |
+
switch(opts.type) {
|
33 |
+
case 'confirm':
|
34 |
+
buttons = confirmText + cancelText;
|
35 |
+
break;
|
36 |
+
case 'alert':
|
37 |
+
buttons = confirmText;
|
38 |
+
break;
|
39 |
+
case 'custom':
|
40 |
+
buttons = customButtons;
|
41 |
+
break;
|
42 |
+
default:
|
43 |
+
buttons = '';
|
44 |
+
}
|
45 |
+
|
46 |
+
// create the overlay dialog HTML
|
47 |
+
var alertBox = (opts.type === 'custom' && opts.boxHTML) ?
|
48 |
+
opts.overlayHTML
|
49 |
+
: [
|
50 |
+
'<div id="lightbox-container" style="position:absolute;z-index:1000001;',width,height,'">',
|
51 |
+
'<div id="lightbox-top">',closeButton,opts.title,'</div>',
|
52 |
+
'<div id="lightbox-middle">',opts.message,'</div>',
|
53 |
+
'<div id="lightbox-bottom">',
|
54 |
+
buttons,
|
55 |
+
'</div></div>'
|
56 |
+
].join("");
|
57 |
+
|
58 |
+
function hideAlert() {
|
59 |
+
$("#overlay-mask").fadeOut("fast", function() {
|
60 |
+
$(this).remove();
|
61 |
+
});
|
62 |
+
$("#lightbox-container").fadeOut("fast", function() {
|
63 |
+
$(this).remove();
|
64 |
+
});
|
65 |
+
|
66 |
+
// replace the scrollbars in IE6 (only required for position:fixed dialogs)
|
67 |
+
// if(navigator.appVersion.indexOf("MSIE 6.0") != -1) $("html").css("overflow","auto");
|
68 |
+
}
|
69 |
+
|
70 |
+
function showAlert() {
|
71 |
+
hideAlert(); // remove any existing dialogs from the page
|
72 |
+
|
73 |
+
// remove the scrollbars in IE6 (only required for position:fixed dialogs)
|
74 |
+
// if(navigator.appVersion.indexOf("MSIE 6.0") != -1) $("html").css("overflow","hidden");
|
75 |
+
|
76 |
+
var opacity = (opts.theme == "light") ? 1.0 : 0.35 ;
|
77 |
+
$(overlayMask)
|
78 |
+
.appendTo($("body"))
|
79 |
+
.animate({opacity:opacity}, "fast", function() {
|
80 |
+
$(alertBox).appendTo($("body"));
|
81 |
+
|
82 |
+
// calculate the left and top values to position the dialog in the centre of the viewport
|
83 |
+
var boxPosX = (typeof opts.left != "undefined") ? opts.left : Math.max((($(window).width())/2) - (parseInt($("#lightbox-container").width())/2) + $(document).scrollLeft(),0),
|
84 |
+
// 1/2 width of visible bit - 1/2 width of the dialog box + left scroll offset of the visible bit
|
85 |
+
boxPosY = (typeof opts.top != "undefined") ? opts.top : Math.max((($(window).height())/2) - (parseInt($("#lightbox-container").height())/2) + $(document).scrollTop(),0);
|
86 |
+
// 1/2 height of visible bit - 1/2 height of the dialog box + top scroll offset of the visible bit
|
87 |
+
|
88 |
+
$("#lightbox-container")
|
89 |
+
.css({
|
90 |
+
"left":boxPosX+"px",
|
91 |
+
"top":boxPosY+"px"
|
92 |
+
})
|
93 |
+
.fadeIn("fast", function() {
|
94 |
+
if(opts.onReady) opts.onReady();
|
95 |
+
});
|
96 |
+
|
97 |
+
if(typeof opts.addClass != "undefined") {
|
98 |
+
$("#lightbox-container").addClass(opts.addClass);
|
99 |
+
}
|
100 |
+
|
101 |
+
bindClicks();
|
102 |
+
});
|
103 |
+
|
104 |
+
if(!modal) {
|
105 |
+
$("#overlay-mask").click(function() {
|
106 |
+
if(opts.callback) { opts.callback(); }
|
107 |
+
hideAlert();
|
108 |
+
});
|
109 |
+
}
|
110 |
+
}
|
111 |
+
|
112 |
+
function bindClicks() {
|
113 |
+
if(opts.type == "confirm") {
|
114 |
+
$("#overlay-confirm-button").click(function() {
|
115 |
+
if(opts.callback) { opts.callback(true); }
|
116 |
+
hideAlert();
|
117 |
+
});
|
118 |
+
$("#overlay-cancel-button").click(function() {
|
119 |
+
if(opts.callback) { opts.callback(false); }
|
120 |
+
hideAlert();
|
121 |
+
});
|
122 |
+
} else {
|
123 |
+
$("#overlay-confirm-button").click(function() {
|
124 |
+
if(opts.callback) { opts.callback(); }
|
125 |
+
hideAlert();
|
126 |
+
});
|
127 |
+
}
|
128 |
+
$("#lightbox-close").click(function() {
|
129 |
+
if(opts.callback) { opts.callback(); }
|
130 |
+
hideAlert();
|
131 |
+
});
|
132 |
+
}
|
133 |
+
|
134 |
+
showAlert();
|
135 |
+
|
136 |
+
RIZN.overlayPanel.hideAlert = hideAlert;
|
137 |
+
|
138 |
+
})(jQuery)
|
139 |
+
};
|