Version Notes
Install this module using Magento Connect Manager or manually file copy as per module directory structure.
Download this release
Release Info
Developer | ikhodal Team |
Extension | TPP_TabularPricePane |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/TPP/TabularPricePane/Block/Html/Head.php +36 -0
- app/code/community/TPP/TabularPricePane/Block/List.php +318 -0
- app/code/community/TPP/TabularPricePane/Helper/Data.php +27 -0
- app/code/community/TPP/TabularPricePane/Model/Filters.php +33 -0
- app/code/community/TPP/TabularPricePane/controllers/IndexController.php +49 -0
- app/code/community/TPP/TabularPricePane/etc/config.xml +73 -0
- app/code/community/TPP/TabularPricePane/etc/widget.xml +305 -0
- app/design/frontend/base/default/layout/tabularpricepane.xml +40 -0
- app/design/frontend/base/default/template/tabularpricepane/ajax_load_more.phtml +109 -0
- app/design/frontend/base/default/template/tabularpricepane/ajax_products.phtml +152 -0
- app/design/frontend/base/default/template/tabularpricepane/pane_style_1.phtml +61 -0
- app/design/frontend/base/default/template/tabularpricepane/pane_style_2.phtml +61 -0
- app/design/frontend/base/default/template/tabularpricepane/pane_style_3.phtml +61 -0
- app/design/frontend/base/default/template/tabularpricepane/tab_style_1.phtml +60 -0
- app/design/frontend/base/default/template/tabularpricepane/tab_style_2.phtml +60 -0
- app/design/frontend/base/default/template/tabularpricepane/tab_style_3.phtml +60 -0
- app/etc/modules/TPP_TabularPricePane.xml +37 -0
- js/tpp/jquery-1.10.2.min.js +6 -0
- js/tpp/tabularpricepane.js +226 -0
- package.xml +18 -0
- skin/frontend/base/default/css/tpp/tabularpricepane.css +100 -0
- skin/frontend/base/default/images/tpp/loader.gif +0 -0
- skin/frontend/base/default/images/tpp/searchicon.png +0 -0
- skin/frontend/base/default/images/tpp/view.png +0 -0
app/code/community/TPP/TabularPricePane/Block/Html/Head.php
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
class TPP_TabularPricePane_Block_Html_Head extends Mage_Page_Block_Html_Head
|
26 |
+
{
|
27 |
+
public function getCssJsHtml()
|
28 |
+
{
|
29 |
+
$__html = "<script type='text/javascript'> var site_url = '".$this->getUrl('')."'; var js_url = '".$this->getJsUrl('')."'; var skin_url = '".$this->getSkinUrl('')."'; </script>
|
30 |
+
<!--[if IE 8]><script type='text/javascript'> document.getElementsByClassName = Element.prototype.getElementsByClassName = function(cn) { return this.querySelectorAll((' ' + cn).replace(/[~!@$%^&*()_+\-=,./';:\"?><[\]{}|`#]/g, '\\$&').replace(/\s*(\s|$)/g, '$1').replace(/\s/g, '.'));};</script><![endif]-->
|
31 |
+
";
|
32 |
+
$__html .= parent::getCssJsHtml();
|
33 |
+
return $__html;
|
34 |
+
}
|
35 |
+
}
|
36 |
+
?>
|
app/code/community/TPP/TabularPricePane/Block/List.php
ADDED
@@ -0,0 +1,318 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
class TPP_TabularPricePane_Block_List extends Mage_Catalog_Block_Product_Abstract implements Mage_Widget_Block_Interface {
|
27 |
+
|
28 |
+
protected $_serializer = null;
|
29 |
+
protected $_products_per_row;
|
30 |
+
protected $_productCollection;
|
31 |
+
public $_config = array();
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Initialization
|
35 |
+
*/
|
36 |
+
protected function _construct() {
|
37 |
+
$this->_serializer = new Varien_Object();
|
38 |
+
parent::_construct();
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* get category id by path
|
43 |
+
*
|
44 |
+
* @param string $cidPath
|
45 |
+
*
|
46 |
+
* @return int
|
47 |
+
*/
|
48 |
+
public function getCategoryIdByPath($cidPath)
|
49 |
+
{
|
50 |
+
if(trim($cidPath)=="") return 0;
|
51 |
+
|
52 |
+
$store_id = Mage::app()->getStore()->getId();
|
53 |
+
$ob = Mage::getResourceModel('catalog/url')->getRewriteByIdPath($cidPath, $store_id);
|
54 |
+
if(!$ob){
|
55 |
+
$categoryId = explode("/",$cidPath);
|
56 |
+
$categoryId = $categoryId[1];
|
57 |
+
}else{
|
58 |
+
$categoryId = $ob->getCategoryId();
|
59 |
+
}
|
60 |
+
return $categoryId;
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Produce list rendered as default html with backend configuration.
|
65 |
+
* @return string
|
66 |
+
*/
|
67 |
+
protected function _toHtml() {
|
68 |
+
$category_id = 0;
|
69 |
+
if($this->getData('cat_path'))
|
70 |
+
$category_id = $this->getCategoryIdByPath($this->getData('cat_path'));
|
71 |
+
|
72 |
+
$this->_config = array(
|
73 |
+
'widget_title'=>$this->getData('widget_title'),
|
74 |
+
'price_from'=>$this->getData('price_from'),
|
75 |
+
'price_to'=>$this->getData('price_to'),
|
76 |
+
'price_difference'=>$this->getData('price_difference'),
|
77 |
+
'number_of_product_display'=>$this->getData('number_of_product_display'),
|
78 |
+
'price_text_color'=>$this->getData('price_text_color'),
|
79 |
+
'title_text_color'=>$this->getData('title_text_color'),
|
80 |
+
'price_tab_text_color'=>$this->getData('price_tab_text_color'),
|
81 |
+
'price_tab_background_color'=>$this->getData('price_tab_background_color'),
|
82 |
+
'header_text_color'=>$this->getData('header_text_color'),
|
83 |
+
'header_background_color'=>$this->getData('header_background_color'),
|
84 |
+
'display_title_price_over_image'=>$this->getData('display_title_price_over_image'),
|
85 |
+
'hide_widget_title'=>$this->getData('hide_widget_title'),
|
86 |
+
'hide_searchbox'=>$this->getData('hide_searchbox'),
|
87 |
+
'hide_categorybox'=>$this->getData('hide_categorybox'),
|
88 |
+
'hide_product_title'=>$this->getData('hide_product_title'),
|
89 |
+
'hide_product_price'=>$this->getData('hide_product_price'),
|
90 |
+
'block_id'=>$this->getData('block_id'),
|
91 |
+
'category_id'=>$category_id,
|
92 |
+
'tp_widget_width'=>$this->getData('tp_widget_width')
|
93 |
+
);
|
94 |
+
|
95 |
+
return $this->renderView();
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Load the filtered product collections from database.
|
100 |
+
* @return collection
|
101 |
+
*/
|
102 |
+
public function getAllProducts() {
|
103 |
+
$collection = Mage::getModel('catalog/product')->getCollection();
|
104 |
+
$collection->addStoreFilter();
|
105 |
+
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
|
106 |
+
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
|
107 |
+
$this->_addProductAttributesAndPrices($collection);
|
108 |
+
$collection->setPageSize((int)$this->_config["number_of_product_display"]);
|
109 |
+
$this->_productCollection = $collection;
|
110 |
+
return $collection;
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Configured price list calculated based on price from, price to and difference between two prices.
|
115 |
+
* @return array
|
116 |
+
*/
|
117 |
+
public function getPriceTabArray(){
|
118 |
+
$price_from = $this->getData('price_from');
|
119 |
+
$collection = Mage::getModel('catalog/product')->getCollection();
|
120 |
+
$collection->addStoreFilter();
|
121 |
+
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
|
122 |
+
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
|
123 |
+
$this->_addProductAttributesAndPrices($collection);
|
124 |
+
|
125 |
+
if(trim($this->getData('price_to'))!="" && intval($this->getData('price_to'))>0)
|
126 |
+
$price_to = $this->getData('price_to');
|
127 |
+
else
|
128 |
+
$price_to = $collection->getMaxPrice();
|
129 |
+
|
130 |
+
$price_difference = $this->getData('price_difference');
|
131 |
+
if(trim($price_difference) == "" || intval($price_difference)<=0)
|
132 |
+
$price_difference = $price_to-$price_from;
|
133 |
+
|
134 |
+
$_arr_price_list = array();
|
135 |
+
for($i=$price_from+$price_difference;$i<=$price_to;$i=$i+$price_difference){
|
136 |
+
if((($i+$price_difference)>$price_to)){
|
137 |
+
$_arr_price_list[] = array('from'=>($i-$price_difference+1),'to'=>$i);
|
138 |
+
if($i!=$price_to)
|
139 |
+
$_arr_price_list[] = array('from'=>$i,'to'=>$price_to);
|
140 |
+
}
|
141 |
+
else {
|
142 |
+
if($i==$price_from+$price_difference)
|
143 |
+
$_arr_price_list[] = array('from'=>($i-$price_difference),'to'=>$i);
|
144 |
+
else
|
145 |
+
$_arr_price_list[] = array('from'=>($i-$price_difference+1),'to'=>$i);
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
return $_arr_price_list;
|
150 |
+
}
|
151 |
+
|
152 |
+
/**
|
153 |
+
* Load the more products on ajax based filteration.
|
154 |
+
* @return collection
|
155 |
+
*/
|
156 |
+
public function loadMoreFilteredProducts(){
|
157 |
+
$params = $this->getRequest()->getParams();
|
158 |
+
$_from = (isset($params["from"])?($params["from"]):0);
|
159 |
+
$_to =(isset($params["to"])?($params["to"]):0);
|
160 |
+
$_total =(isset($params["total"])?($params["total"]):0);
|
161 |
+
$category_id =(isset($params["category_id"])?($params["category_id"]):0);
|
162 |
+
$product_search_text =(isset($params["product_search_text"])?($params["product_search_text"]):"");
|
163 |
+
|
164 |
+
$_limit_start =(isset($params["limit_start"])?($params["limit_start"]):0);
|
165 |
+
$_limit_end = $params["number_of_product_display"];
|
166 |
+
|
167 |
+
$collection = Mage::getModel('catalog/product')->getCollection();
|
168 |
+
$collection->addAttributeToSelect('image');
|
169 |
+
$collection->addStoreFilter();
|
170 |
+
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
|
171 |
+
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
|
172 |
+
$this->addProductAttributesAndPrices($collection);
|
173 |
+
|
174 |
+
if($category_id>0){
|
175 |
+
$collection->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
|
176 |
+
->addAttributeToFilter('category_id', array('in' => array($category_id)));
|
177 |
+
}else{
|
178 |
+
$category_res = $this->_getCategories();
|
179 |
+
$_all_active_category = array();
|
180 |
+
foreach($category_res as $_category){
|
181 |
+
$_all_active_category[] = $_category->getId();
|
182 |
+
}
|
183 |
+
$collection->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'inner')
|
184 |
+
->addAttributeToFilter('category_id', array('in' => $_all_active_category));
|
185 |
+
|
186 |
+
}
|
187 |
+
|
188 |
+
if($product_search_text!=""){
|
189 |
+
$collection->addAttributeToFilter('name', array('like' => '%'.$product_search_text.'%'));
|
190 |
+
}
|
191 |
+
$collection->getSelect()->where('price_index.final_price <= '.$_to.' and price_index.final_price >= '.$_from)->limit($_limit_end,$_limit_start)->group('e.entity_id')->order('price_index.final_price', 'asc');
|
192 |
+
$collection->load();
|
193 |
+
return $collection;
|
194 |
+
}
|
195 |
+
|
196 |
+
/**
|
197 |
+
* Load the product collection on ajax based filteration.
|
198 |
+
* @return collection
|
199 |
+
*/
|
200 |
+
public function loadFilteredProducts(){
|
201 |
+
$params = $this->getRequest()->getParams();
|
202 |
+
$_from = (isset($params["from"])?($params["from"]):0);
|
203 |
+
$_to =(isset($params["to"])?($params["to"]):0);
|
204 |
+
$category_id =(isset($params["category_id"])?($params["category_id"]):0);
|
205 |
+
$product_search_text =(isset($params["product_search_text"])?($params["product_search_text"]):"");
|
206 |
+
$_limit_start =(isset($params["limit_start"])?($params["limit_start"]):0);
|
207 |
+
$flg_pr =(isset($params["flg_pr"])?($params["flg_pr"]):0);
|
208 |
+
$_limit_end = $params["number_of_product_display"];
|
209 |
+
|
210 |
+
$collection = Mage::getModel('catalog/product')->getCollection();
|
211 |
+
$collection->addAttributeToSelect('image');
|
212 |
+
$collection->addStoreFilter();
|
213 |
+
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
|
214 |
+
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
|
215 |
+
$this->addProductAttributesAndPrices($collection);
|
216 |
+
|
217 |
+
if($category_id>0){
|
218 |
+
$collection->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'inner')
|
219 |
+
->addAttributeToFilter('category_id', array('in' => array($category_id)));
|
220 |
+
}else{
|
221 |
+
$category_res = $this->_getCategories();
|
222 |
+
$_all_active_category = array();
|
223 |
+
foreach($category_res as $_category){
|
224 |
+
$_all_active_category[] = $_category->getId();
|
225 |
+
}
|
226 |
+
$collection->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'inner')
|
227 |
+
->addAttributeToFilter('category_id', array('in' => $_all_active_category));
|
228 |
+
}
|
229 |
+
|
230 |
+
if($product_search_text!=""){
|
231 |
+
$collection->addAttributeToFilter('name', array('like' => '%'.$product_search_text.'%'));
|
232 |
+
}
|
233 |
+
$collection->getSelect()->where('price_index.final_price <= '.$_to.' and price_index.final_price >= '.$_from)->limit($_limit_end,$_limit_start)->group('e.entity_id')->order('price_index.final_price', 'asc');
|
234 |
+
$collection->load();
|
235 |
+
return $collection;
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
* Returns the count of searched products.
|
240 |
+
* @return int
|
241 |
+
*/
|
242 |
+
function getTotalProducts($_from=0,$_to=0,$category_id,$product_search_text,$c_flg,$is_default_category_with_hidden) {
|
243 |
+
$collection = Mage::getModel('catalog/product')->getCollection();
|
244 |
+
$collection->addAttributeToSelect('image');
|
245 |
+
$collection->addStoreFilter();
|
246 |
+
Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);
|
247 |
+
Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);
|
248 |
+
$this->addProductAttributesAndPrices($collection);
|
249 |
+
|
250 |
+
$_category_filter_query = "";
|
251 |
+
if($category_id>0 && ($c_flg==1 || $is_default_category_with_hidden==1)){
|
252 |
+
$collection->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'inner')
|
253 |
+
->addAttributeToFilter('category_id', array('in' => array($category_id)));
|
254 |
+
}else{
|
255 |
+
$category_res = $this->_getCategories();
|
256 |
+
$_all_active_category = array();
|
257 |
+
foreach($category_res as $_category){
|
258 |
+
$_all_active_category[] = $_category->getId();
|
259 |
+
}
|
260 |
+
$collection->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'inner')
|
261 |
+
->addAttributeToFilter('category_id', array('in' => $_all_active_category));
|
262 |
+
|
263 |
+
}
|
264 |
+
|
265 |
+
$_product_text_filter_query = "";
|
266 |
+
if($product_search_text!="" && $c_flg==1){
|
267 |
+
$collection->addAttributeToFilter('name', array('like' => '%'.$product_search_text.'%'));
|
268 |
+
}
|
269 |
+
$collection->getSelect()->where('price_index.final_price <= '.$_to.' and price_index.final_price >= '.$_from)->group('e.entity_id');
|
270 |
+
return $collection->count();
|
271 |
+
}
|
272 |
+
|
273 |
+
/**
|
274 |
+
* Define the fields to select/filter from database.
|
275 |
+
* @return collection
|
276 |
+
*/
|
277 |
+
protected function addProductAttributesAndPrices(Mage_Catalog_Model_Resource_Product_Collection $collection)
|
278 |
+
{
|
279 |
+
Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);
|
280 |
+
$collection->addAttributeToFilter('status', array('eq' => 1));
|
281 |
+
$collection->joinField('qty','cataloginventory/stock_item','qty','product_id=entity_id','{{table}}.stock_id=1','left')
|
282 |
+
->addAttributeToFilter('qty', array('gt' => 0));
|
283 |
+
$collection->addAttributeToFilter('type_id', array('in' => array('downloadable','virtual','simple')));
|
284 |
+
return $collection
|
285 |
+
->addMinimalPrice()
|
286 |
+
->addFinalPrice()
|
287 |
+
->addStoreFilter()
|
288 |
+
->addTaxPercents()
|
289 |
+
->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
|
290 |
+
->addUrlRewrite();
|
291 |
+
}
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Returns a collection of all the active categories
|
295 |
+
* @return collection
|
296 |
+
*/
|
297 |
+
protected function _getCategories() {
|
298 |
+
return Mage::getModel('catalog/category')->getCollection()->addAttributeToFilter('is_active',array('1'))->load();
|
299 |
+
}
|
300 |
+
|
301 |
+
/**
|
302 |
+
* Returns number of products that are displayed per row
|
303 |
+
* @return int
|
304 |
+
*/
|
305 |
+
public function getProductsPerRow() {
|
306 |
+
if (is_null($this->_products_per_row))
|
307 |
+
$this->_products_per_row = (int) $this->getData('products_per_row') ? (int) $this->getData('products_per_row') : 3;
|
308 |
+
return $this->_products_per_row;
|
309 |
+
}
|
310 |
+
|
311 |
+
/**
|
312 |
+
* Returns unique code to widget
|
313 |
+
*/
|
314 |
+
public function getUCode() {
|
315 |
+
return $this->_config["block_id"];
|
316 |
+
}
|
317 |
+
|
318 |
+
}
|
app/code/community/TPP/TabularPricePane/Helper/Data.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
class TPP_TabularPricePane_Helper_Data extends Mage_Core_Helper_Abstract
|
26 |
+
{
|
27 |
+
}
|
app/code/community/TPP/TabularPricePane/Model/Filters.php
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
class TPP_TabularPricePane_Model_Filters {
|
26 |
+
public function toOptionArray() {
|
27 |
+
$vl=md5("sitaram_".time());
|
28 |
+
return array(
|
29 |
+
array('value' => 'block_id_'.$vl, 'label' => $vl),
|
30 |
+
);
|
31 |
+
}
|
32 |
+
}
|
33 |
+
?>
|
app/code/community/TPP/TabularPricePane/controllers/IndexController.php
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
class TPP_TabularPricePane_IndexController extends Mage_Core_Controller_Front_Action {
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Action loadmore
|
30 |
+
*
|
31 |
+
* Load the more products based on ajax filteration
|
32 |
+
*/
|
33 |
+
public function loadmoreAction()
|
34 |
+
{
|
35 |
+
$this->loadLayout();
|
36 |
+
$this->renderLayout();
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Action index
|
41 |
+
*
|
42 |
+
* Load the first page products based on ajax filteration
|
43 |
+
*/
|
44 |
+
public function indexAction()
|
45 |
+
{
|
46 |
+
$this->loadLayout();
|
47 |
+
$this->renderLayout();
|
48 |
+
}
|
49 |
+
}
|
app/code/community/TPP/TabularPricePane/etc/config.xml
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
*
|
5 |
+
* Tabular Price Pane
|
6 |
+
*
|
7 |
+
* NOTICE OF LICENSE
|
8 |
+
*
|
9 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
10 |
+
* that is bundled with this package in the file LICENSE.txt.
|
11 |
+
* It is also available through the world-wide-web at this URL:
|
12 |
+
* http://opensource.org/licenses/osl-3.0.php
|
13 |
+
* If you did not receive a copy of the license and are unable to
|
14 |
+
* obtain it through the world-wide-web, please send an email
|
15 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
16 |
+
*
|
17 |
+
* DISCLAIMER
|
18 |
+
*
|
19 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
20 |
+
* versions in the future.
|
21 |
+
*
|
22 |
+
* @package TPP_TabularPricePane
|
23 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
-->
|
27 |
+
<config>
|
28 |
+
<modules>
|
29 |
+
<TPP_TabularPricePane>
|
30 |
+
<version>0.0.0.1</version>
|
31 |
+
</TPP_TabularPricePane>
|
32 |
+
</modules>
|
33 |
+
<global>
|
34 |
+
<helpers>
|
35 |
+
<tabularpricepane>
|
36 |
+
<class>TPP_TabularPricePane_Helper</class>
|
37 |
+
</tabularpricepane>
|
38 |
+
</helpers>
|
39 |
+
<blocks>
|
40 |
+
<tabularpricepane>
|
41 |
+
<class>TPP_TabularPricePane_Block</class>
|
42 |
+
</tabularpricepane>
|
43 |
+
<page>
|
44 |
+
<rewrite>
|
45 |
+
<html_head>TPP_TabularPricePane_Block_Html_Head</html_head>
|
46 |
+
</rewrite>
|
47 |
+
</page>
|
48 |
+
</blocks>
|
49 |
+
<models>
|
50 |
+
<tabularpricepane>
|
51 |
+
<class>TPP_TabularPricePane_Model</class>
|
52 |
+
</tabularpricepane>
|
53 |
+
</models>
|
54 |
+
</global>
|
55 |
+
<frontend>
|
56 |
+
<routers>
|
57 |
+
<tabularpricepane>
|
58 |
+
<use>standard</use>
|
59 |
+
<args>
|
60 |
+
<module>TPP_TabularPricePane</module>
|
61 |
+
<frontName>tabularpricepane</frontName>
|
62 |
+
</args>
|
63 |
+
</tabularpricepane>
|
64 |
+
</routers>
|
65 |
+
<layout>
|
66 |
+
<updates>
|
67 |
+
<tabularpricepane>
|
68 |
+
<file>tabularpricepane.xml</file>
|
69 |
+
</tabularpricepane>
|
70 |
+
</updates>
|
71 |
+
</layout>
|
72 |
+
</frontend>
|
73 |
+
</config>
|
app/code/community/TPP/TabularPricePane/etc/widget.xml
ADDED
@@ -0,0 +1,305 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
*
|
5 |
+
* Tabular Price Pane
|
6 |
+
*
|
7 |
+
* NOTICE OF LICENSE
|
8 |
+
*
|
9 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
10 |
+
* that is bundled with this package in the file LICENSE.txt.
|
11 |
+
* It is also available through the world-wide-web at this URL:
|
12 |
+
* http://opensource.org/licenses/osl-3.0.php
|
13 |
+
* If you did not receive a copy of the license and are unable to
|
14 |
+
* obtain it through the world-wide-web, please send an email
|
15 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
16 |
+
*
|
17 |
+
* DISCLAIMER
|
18 |
+
*
|
19 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
20 |
+
* versions in the future.
|
21 |
+
*
|
22 |
+
* @package TPP_TabularPricePane
|
23 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
-->
|
27 |
+
<widgets>
|
28 |
+
<tabularpricepane_list type="tabularpricepane/list" translate="name description" module="tabularpricepane">
|
29 |
+
<name>Tabular Price Pane</name>
|
30 |
+
<description>Tabular Price Pane Widget for Magento.</description>
|
31 |
+
<parameters>
|
32 |
+
<widget_title>
|
33 |
+
<label>Widget title</label>
|
34 |
+
<visible>1</visible>
|
35 |
+
<required>1</required>
|
36 |
+
<type>text</type>
|
37 |
+
<value>Tabular Price Pane</value>
|
38 |
+
<description>Set the title for widget heading. You can also hide it by "Hide widget title?" field selection to "Yes" on this form.</description>
|
39 |
+
</widget_title>
|
40 |
+
|
41 |
+
<price_from>
|
42 |
+
<label>Price from</label>
|
43 |
+
<visible>1</visible>
|
44 |
+
<required>1</required>
|
45 |
+
<type>text</type>
|
46 |
+
<value>0</value>
|
47 |
+
<description>Add the integer value for starting the price tab filter.</description>
|
48 |
+
</price_from>
|
49 |
+
|
50 |
+
<price_to>
|
51 |
+
<label>Price to</label>
|
52 |
+
<visible>1</visible>
|
53 |
+
<required>1</required>
|
54 |
+
<type>text</type>
|
55 |
+
<value>1000</value>
|
56 |
+
<description>Add the integer value for ending the price tab filter or Enter the '0'(zero) value to auto calculate it's value as maximum of store price.</description>
|
57 |
+
</price_to>
|
58 |
+
|
59 |
+
<price_difference>
|
60 |
+
<label>Price difference</label>
|
61 |
+
<visible>1</visible>
|
62 |
+
<required>1</required>
|
63 |
+
<type>text</type>
|
64 |
+
<value>100</value>
|
65 |
+
<description>Add the integer value to divide the From and To values in the specified difference or Enter the '0'(zero) value to auto calculate it's value like (priceDifference = priceTo - priceFrom).</description>
|
66 |
+
</price_difference>
|
67 |
+
|
68 |
+
<cat_path translate="label">
|
69 |
+
<visible>1</visible>
|
70 |
+
<required>0</required>
|
71 |
+
<label>Default category</label>
|
72 |
+
<type>label</type>
|
73 |
+
<helper_block>
|
74 |
+
<type>adminhtml/catalog_category_widget_chooser</type>
|
75 |
+
<data>
|
76 |
+
<button translate="open">
|
77 |
+
<open>Select category</open>
|
78 |
+
</button>
|
79 |
+
</data>
|
80 |
+
</helper_block>
|
81 |
+
<description>Select any category as default to load the products on first priority.</description>
|
82 |
+
</cat_path>
|
83 |
+
|
84 |
+
<number_of_product_display>
|
85 |
+
<label>Number of products to display</label>
|
86 |
+
<visible>1</visible>
|
87 |
+
<required>1</required>
|
88 |
+
<type>text</type>
|
89 |
+
<value>4</value>
|
90 |
+
<description>Add the integer value to load default number of products on price tab clicking.</description>
|
91 |
+
</number_of_product_display>
|
92 |
+
|
93 |
+
<price_text_color>
|
94 |
+
<label>Product price text color</label>
|
95 |
+
<visible>1</visible>
|
96 |
+
<required>1</required>
|
97 |
+
<type>text</type>
|
98 |
+
<value>#000</value>
|
99 |
+
<description>Add color code or color name for product price.</description>
|
100 |
+
</price_text_color>
|
101 |
+
|
102 |
+
<title_text_color>
|
103 |
+
<label>Product title text color</label>
|
104 |
+
<visible>1</visible>
|
105 |
+
<required>1</required>
|
106 |
+
<type>text</type>
|
107 |
+
<value>#000</value>
|
108 |
+
<description>Add color code or color name for product title name.</description>
|
109 |
+
</title_text_color>
|
110 |
+
|
111 |
+
<price_tab_text_color>
|
112 |
+
<label>From - To price tab text color</label>
|
113 |
+
<visible>1</visible>
|
114 |
+
<required>1</required>
|
115 |
+
<type>text</type>
|
116 |
+
<value>#000</value>
|
117 |
+
<description>Add color code or color name for (From - To) price tab text.</description>
|
118 |
+
</price_tab_text_color>
|
119 |
+
|
120 |
+
<price_tab_background_color>
|
121 |
+
<label>From - To price tab background color</label>
|
122 |
+
<visible>1</visible>
|
123 |
+
<required>1</required>
|
124 |
+
<type>text</type>
|
125 |
+
<value>#F1F1F1</value>
|
126 |
+
<description>Add color code or color name for (From - To) price tab background.</description>
|
127 |
+
</price_tab_background_color>
|
128 |
+
|
129 |
+
<header_text_color>
|
130 |
+
<label>Widget title text color</label>
|
131 |
+
<visible>1</visible>
|
132 |
+
<required>1</required>
|
133 |
+
<type>text</type>
|
134 |
+
<value>#FFF</value>
|
135 |
+
<description>Add color code or color name for widget heading title.</description>
|
136 |
+
</header_text_color>
|
137 |
+
|
138 |
+
<header_background_color>
|
139 |
+
<label>Widget title background color</label>
|
140 |
+
<visible>1</visible>
|
141 |
+
<required>1</required>
|
142 |
+
<type>text</type>
|
143 |
+
<value>#19D56E</value>
|
144 |
+
<description>Add color code or color name for widget heading background.</description>
|
145 |
+
</header_background_color>
|
146 |
+
|
147 |
+
<tp_widget_width>
|
148 |
+
<label>Widget Width</label>
|
149 |
+
<visible>1</visible>
|
150 |
+
<required>1</required>
|
151 |
+
<type>text</type>
|
152 |
+
<value>100%</value>
|
153 |
+
<description>Add width of widget in pixel or percentage. Default width is 100%</description>
|
154 |
+
</tp_widget_width>
|
155 |
+
|
156 |
+
<display_title_price_over_image>
|
157 |
+
<label>Display title and price over image?</label>
|
158 |
+
<visible>1</visible>
|
159 |
+
<required>0</required>
|
160 |
+
<type>select</type>
|
161 |
+
<values>
|
162 |
+
<no translate="label">
|
163 |
+
<label>No</label>
|
164 |
+
<value>no</value>
|
165 |
+
</no>
|
166 |
+
<yes translate="label">
|
167 |
+
<label>Yes</label>
|
168 |
+
<value>yes</value>
|
169 |
+
</yes>
|
170 |
+
</values>
|
171 |
+
<description>Select "Yes" to hide title and price with add to cart button below of product image and display over product image when product image mouse hover. Default is "No" to display it below product image.</description>
|
172 |
+
</display_title_price_over_image>
|
173 |
+
|
174 |
+
<hide_widget_title>
|
175 |
+
<label>Hide widget title?</label>
|
176 |
+
<visible>1</visible>
|
177 |
+
<required>0</required>
|
178 |
+
<type>select</type>
|
179 |
+
<values>
|
180 |
+
<no translate="label">
|
181 |
+
<label>No</label>
|
182 |
+
<value>no</value>
|
183 |
+
</no>
|
184 |
+
<yes translate="label">
|
185 |
+
<label>Yes</label>
|
186 |
+
<value>yes</value>
|
187 |
+
</yes>
|
188 |
+
</values>
|
189 |
+
<description>Select "Yes" to hide widget heading. Default is "No" to display it.</description>
|
190 |
+
</hide_widget_title>
|
191 |
+
|
192 |
+
<hide_searchbox>
|
193 |
+
<label>Hide search textbox?</label>
|
194 |
+
<visible>1</visible>
|
195 |
+
<required>0</required>
|
196 |
+
<type>select</type>
|
197 |
+
<values>
|
198 |
+
<no translate="label">
|
199 |
+
<label>No</label>
|
200 |
+
<value>no</value>
|
201 |
+
</no>
|
202 |
+
<yes translate="label">
|
203 |
+
<label>Yes</label>
|
204 |
+
<value>yes</value>
|
205 |
+
</yes>
|
206 |
+
</values>
|
207 |
+
<description>Select "Yes" to hide search textbox field. Default is "No" to display it.</description>
|
208 |
+
</hide_searchbox>
|
209 |
+
<hide_categorybox>
|
210 |
+
<label>Hide category dropdown?</label>
|
211 |
+
<visible>1</visible>
|
212 |
+
<required>0</required>
|
213 |
+
<type>select</type>
|
214 |
+
<values>
|
215 |
+
<no translate="label">
|
216 |
+
<label>No</label>
|
217 |
+
<value>no</value>
|
218 |
+
</no>
|
219 |
+
<yes translate="label">
|
220 |
+
<label>Yes</label>
|
221 |
+
<value>yes</value>
|
222 |
+
</yes>
|
223 |
+
</values>
|
224 |
+
<description>Select "Yes" to hide category dropdown field. Default is "No" to display it.</description>
|
225 |
+
</hide_categorybox>
|
226 |
+
|
227 |
+
<hide_product_title>
|
228 |
+
<label>Hide product title?</label>
|
229 |
+
<visible>1</visible>
|
230 |
+
<required>0</required>
|
231 |
+
<type>select</type>
|
232 |
+
<values>
|
233 |
+
<no translate="label">
|
234 |
+
<label>No</label>
|
235 |
+
<value>no</value>
|
236 |
+
</no>
|
237 |
+
<yes translate="label">
|
238 |
+
<label>Yes</label>
|
239 |
+
<value>yes</value>
|
240 |
+
</yes>
|
241 |
+
</values>
|
242 |
+
<description>Select "Yes" to hide the product title. Default is "No" to display it.</description>
|
243 |
+
</hide_product_title>
|
244 |
+
|
245 |
+
<hide_product_price>
|
246 |
+
<label>Hide product price?</label>
|
247 |
+
<visible>1</visible>
|
248 |
+
<required>0</required>
|
249 |
+
<type>select</type>
|
250 |
+
<values>
|
251 |
+
<no translate="label">
|
252 |
+
<label>No</label>
|
253 |
+
<value>no</value>
|
254 |
+
</no>
|
255 |
+
<yes translate="label">
|
256 |
+
<label>Yes</label>
|
257 |
+
<value>yes</value>
|
258 |
+
</yes>
|
259 |
+
</values>
|
260 |
+
<description>Select "Yes" to hide the product price. Default is "No" to display it.</description>
|
261 |
+
</hide_product_price>
|
262 |
+
<template translate="label">
|
263 |
+
<label>Fronted template</label>
|
264 |
+
<visible>1</visible>
|
265 |
+
<required>1</required>
|
266 |
+
<type>select</type>
|
267 |
+
<values>
|
268 |
+
<pane_style_1 translate="label">
|
269 |
+
<value>tabularpricepane/pane_style_1.phtml</value>
|
270 |
+
<label>Pane style 1</label>
|
271 |
+
</pane_style_1>
|
272 |
+
<pane_style_2 translate="label">
|
273 |
+
<value>tabularpricepane/pane_style_2.phtml</value>
|
274 |
+
<label>Pane style 2</label>
|
275 |
+
</pane_style_2>
|
276 |
+
<pane_style_3 translate="label">
|
277 |
+
<value>tabularpricepane/pane_style_3.phtml</value>
|
278 |
+
<label>Pane style 3</label>
|
279 |
+
</pane_style_3>
|
280 |
+
|
281 |
+
<tab_style_1 translate="label">
|
282 |
+
<value>tabularpricepane/tab_style_1.phtml</value>
|
283 |
+
<label>Tab style 1</label>
|
284 |
+
</tab_style_1>
|
285 |
+
<tab_style_2 translate="label">
|
286 |
+
<value>tabularpricepane/tab_style_2.phtml</value>
|
287 |
+
<label>Tab style 2</label>
|
288 |
+
</tab_style_2>
|
289 |
+
<tab_style_3 translate="label">
|
290 |
+
<value>tabularpricepane/tab_style_3.phtml</value>
|
291 |
+
<label>Tab style 3</label>
|
292 |
+
</tab_style_3>
|
293 |
+
</values>
|
294 |
+
</template>
|
295 |
+
<block_id>
|
296 |
+
<label>Unique Widget ID</label>
|
297 |
+
<visible>1</visible>
|
298 |
+
<required>1</required>
|
299 |
+
<type>select</type>
|
300 |
+
<source_model>tabularpricepane/filters</source_model>
|
301 |
+
<description>Auto generated unique widget ID.</description>
|
302 |
+
</block_id>
|
303 |
+
</parameters>
|
304 |
+
</tabularpricepane_list>
|
305 |
+
</widgets>
|
app/design/frontend/base/default/layout/tabularpricepane.xml
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
*
|
5 |
+
* Tabular Price Pane
|
6 |
+
*
|
7 |
+
* NOTICE OF LICENSE
|
8 |
+
*
|
9 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
10 |
+
* that is bundled with this package in the file LICENSE.txt.
|
11 |
+
* It is also available through the world-wide-web at this URL:
|
12 |
+
* http://opensource.org/licenses/osl-3.0.php
|
13 |
+
* If you did not receive a copy of the license and are unable to
|
14 |
+
* obtain it through the world-wide-web, please send an email
|
15 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
16 |
+
*
|
17 |
+
* DISCLAIMER
|
18 |
+
*
|
19 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
20 |
+
* versions in the future.
|
21 |
+
*
|
22 |
+
* @package TPP_TabularPricePane
|
23 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
-->
|
27 |
+
<layout version="0.1.0">
|
28 |
+
<default>
|
29 |
+
<reference name="head">
|
30 |
+
<action method="addCss"><stylesheet>css/tpp/tabularpricepane.css</stylesheet></action>
|
31 |
+
<action method="addJs"><script>tpp/tabularpricepane.js</script></action>
|
32 |
+
</reference>
|
33 |
+
</default>
|
34 |
+
<tabularpricepane_index_index>
|
35 |
+
<block type="tabularpricepane/list" name="root" template="tabularpricepane/ajax_products.phtml" />
|
36 |
+
</tabularpricepane_index_index>
|
37 |
+
<tabularpricepane_index_loadmore>
|
38 |
+
<block type="tabularpricepane/list" name="root" template="tabularpricepane/ajax_load_more.phtml" />
|
39 |
+
</tabularpricepane_index_loadmore>
|
40 |
+
</layout>
|
app/design/frontend/base/default/template/tabularpricepane/ajax_load_more.phtml
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
$params = $this->getRequest()->getParams();
|
27 |
+
$_from = (isset($params["from"])?($params["from"]):0);
|
28 |
+
$_to =(isset($params["to"])?($params["to"]):0);
|
29 |
+
$_total =(isset($params["total"])?($params["total"]):0);
|
30 |
+
$category_id =(isset($params["category_id"])?($params["category_id"]):0);
|
31 |
+
$product_search_text =(isset($params["product_search_text"])?($params["product_search_text"]):"");
|
32 |
+
$_limit_start =(isset($params["limit_start"])?($params["limit_start"]):0);
|
33 |
+
$_limit_end = $params["number_of_product_display"];
|
34 |
+
$all_pg = ceil(($_total/$params["number_of_product_display"]));
|
35 |
+
$cur_all_pg =ceil(($_limit_start)/$params["number_of_product_display"]);
|
36 |
+
?><script language='javascript'>var request_obj_<?php echo $params["vcode"]; ?> = { category_id:'<?php echo $params["category_id"]; ?>',hide_categorybox:'<?php echo $params["hide_categorybox"]; ?>',hide_searchbox:'<?php echo $params["hide_searchbox"]; ?>',hide_product_price:'<?php echo $params["hide_product_price"]; ?>', hide_product_title:'<?php echo $params["hide_product_title"]; ?>',product_price_color:'<?php echo $params["product_price_color"]; ?>', product_title_color:'<?php echo $params["product_title_color"]; ?>', price_tab_text_color:'<?php echo $params["price_tab_text_color"]; ?>', price_tab_background_color:'<?php echo $params["price_tab_background_color"]; ?>', header_text_color:'<?php echo $params["header_text_color"]; ?>', header_background_color:'<?php echo $params["header_background_color"]; ?>',display_title_price_over_image:'<?php echo $params["display_title_price_over_image"]; ?>',number_of_product_display:'<?php echo $params["number_of_product_display"]; ?>',vcode:'<?php echo $params["vcode"]; ?>'}</script><?php
|
37 |
+
$_total_products = $this->getTotalProducts($_from,$_to,$category_id,$product_search_text,1,0);
|
38 |
+
if($_total_products<=0){
|
39 |
+
?><div class="ik-product-no-items"><?php echo $this->__('No products found.'); ?></div><?php
|
40 |
+
die();
|
41 |
+
}
|
42 |
+
$collection = $this->loadMoreFilteredProducts();
|
43 |
+
foreach($collection as $_product){
|
44 |
+
$_product = $_product->load();
|
45 |
+
?>
|
46 |
+
<div class='ik-product-item pid-<?php echo $_product->getId(); ?>'>
|
47 |
+
<div class='ik-product-image' onmouseout="pr_item_image_mouseout(this)" onmouseover="pr_item_image_mousehover(this)">
|
48 |
+
<a href="<?php echo $_product->getProductUrl(); ?>">
|
49 |
+
<div class="ov-layer">
|
50 |
+
<?php if($params["display_title_price_over_image"]=='yes'){ ?>
|
51 |
+
<div class='ik-overlay-product-content'>
|
52 |
+
<?php if($params["hide_product_title"]=='no'){ ?>
|
53 |
+
<div class='ik-product-name' style="color:<?php echo $params["product_title_color"]; ?>" >
|
54 |
+
<?php echo $_product->getName(); ?>
|
55 |
+
</div>
|
56 |
+
<?php } ?>
|
57 |
+
|
58 |
+
<?php if($params["hide_product_price"]=='no'){ ?>
|
59 |
+
<div class='ik-product-sale-price' style="color:<?php echo $params["product_price_color"]; ?>" >
|
60 |
+
<?php echo Mage::helper('core')->currency($_product->getFinalPrice(), true, true); ?>
|
61 |
+
</div>
|
62 |
+
<?php } ?>
|
63 |
+
<?php if($_product->isSaleable()){ ?>
|
64 |
+
<p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="btn-crt" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
|
65 |
+
<?php } ?>
|
66 |
+
<div class="clr"></div>
|
67 |
+
</div>
|
68 |
+
<div class="clr"></div>
|
69 |
+
<?php } ?>
|
70 |
+
</div>
|
71 |
+
<div class="clr"></div>
|
72 |
+
</a>
|
73 |
+
<a href="<?php echo $_product->getProductUrl(); ?>">
|
74 |
+
<img src = "<?php echo Mage::helper('catalog/image')->init($_product, 'small_image')->resize(250); ?>" />
|
75 |
+
</a>
|
76 |
+
</div>
|
77 |
+
<?php if($params["display_title_price_over_image"]=='no'){ ?>
|
78 |
+
<div class='ik-product-content'>
|
79 |
+
<?php if($params["hide_product_title"]=='no'){ ?>
|
80 |
+
<div class='ik-product-name'>
|
81 |
+
<a href="<?php echo $_product->getProductUrl(); ?>" style="color:<?php echo $params["product_title_color"]; ?>" >
|
82 |
+
<?php echo $_product->getName(); ?>
|
83 |
+
</a>
|
84 |
+
</div>
|
85 |
+
<?php } ?>
|
86 |
+
<?php if($params["hide_product_price"]=='no'){ ?>
|
87 |
+
<div class='ik-product-sale-price' style="color:<?php echo $params["product_price_color"]; ?>">
|
88 |
+
<?php echo Mage::helper('core')->currency($_product->getFinalPrice(), true, true); ?>
|
89 |
+
</div>
|
90 |
+
<?php } ?>
|
91 |
+
<?php if($_product->isSaleable()){ ?>
|
92 |
+
<p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="btn-crt" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
|
93 |
+
<?php } ?>
|
94 |
+
</div>
|
95 |
+
<?php } ?>
|
96 |
+
</div>
|
97 |
+
<?php
|
98 |
+
}
|
99 |
+
if(($all_pg)>=$cur_all_pg+2){
|
100 |
+
?>
|
101 |
+
<div class="clr"></div>
|
102 |
+
<div class='ik-product-load-more' align="center" onclick='loadMoreProducts("<?php echo $params["from"]; ?>","<?php echo $params["to"]; ?>","<?php echo $_limit_start+$_limit_end; ?>","<?php echo $params["vcode"]."-".$params["from"]."-".$params["to"]; ?>","<?php echo $_total; ?>",request_obj_<?php echo $params["vcode"]; ?>)'>
|
103 |
+
<?php echo $this->__('Load More'); ?>
|
104 |
+
</div>
|
105 |
+
<?php
|
106 |
+
} else{
|
107 |
+
?><div class="clr"></div><?php
|
108 |
+
}
|
109 |
+
?>
|
app/design/frontend/base/default/template/tabularpricepane/ajax_products.phtml
ADDED
@@ -0,0 +1,152 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
$params = $this->getRequest()->getParams();
|
27 |
+
$_from = (isset($params["from"])?($params["from"]):0);
|
28 |
+
$_to =(isset($params["to"])?($params["to"]):0);
|
29 |
+
$category_id =(isset($params["category_id"])?($params["category_id"]):0);
|
30 |
+
$product_search_text =(isset($params["product_search_text"])?($params["product_search_text"]):"");
|
31 |
+
$_limit_start =(isset($params["limit_start"])?($params["limit_start"]):0);
|
32 |
+
$_limit_end = $params["number_of_product_display"];
|
33 |
+
$is_default_category_with_hidden = 0;
|
34 |
+
if($params["hide_categorybox"]=="yes")
|
35 |
+
$is_default_category_with_hidden = 1;
|
36 |
+
|
37 |
+
?><script language='javascript'>var request_obj_<?php echo $params["vcode"]; ?> = {category_id:'<?php echo $category_id; ?>',hide_categorybox:'<?php echo $params["hide_categorybox"]; ?>',hide_searchbox:'<?php echo $params["hide_searchbox"]; ?>', hide_product_price:'<?php echo $params["hide_product_price"]; ?>', hide_product_title:'<?php echo $params["hide_product_title"]; ?>', product_price_color:'<?php echo $params["product_price_color"]; ?>', product_title_color:'<?php echo $params["product_title_color"]; ?>', price_tab_text_color:'<?php echo $params["price_tab_text_color"]; ?>',price_tab_background_color:'<?php echo $params["price_tab_background_color"]; ?>', header_text_color:'<?php echo $params["header_text_color"]; ?>', header_background_color:'<?php echo $params["header_background_color"]; ?>',display_title_price_over_image:'<?php echo $params["display_title_price_over_image"]; ?>', number_of_product_display:'<?php echo $params["number_of_product_display"]; ?>',vcode:'<?php echo $params["vcode"]; ?>'} </script><?php
|
38 |
+
if($this->getTotalProducts($_from,$_to,$category_id,$product_search_text,0,$is_default_category_with_hidden)>0){
|
39 |
+
$_category_res = Mage::getModel('catalog/category')->getCollection()->addAttributeToFilter('is_active',array('1'))->load();
|
40 |
+
if(count($_category_res)>0 && !($params["hide_searchbox"]=='yes' && $params["hide_categorybox"]=='yes')){
|
41 |
+
?>
|
42 |
+
<div class="ik-product-category">
|
43 |
+
<?php if($params["hide_searchbox"]=='no'){ ?>
|
44 |
+
<div class="ik-search-title" >
|
45 |
+
<?php echo $this->__('Search'); ?><br />
|
46 |
+
<input type="text" name="txtSearch" placeholder="<?php echo $this->__('Search'); ?>" value="<?php echo htmlspecialchars($product_search_text); ?>" class="ik-product-search-text" />
|
47 |
+
</div>
|
48 |
+
<?php } ?>
|
49 |
+
|
50 |
+
<?php if($params["hide_categorybox"]=='no'){ ?>
|
51 |
+
<div class="ik-search-category" >
|
52 |
+
<?php echo $this->__('Category'); ?><br />
|
53 |
+
<select name="drpCategory" style="padding:3px !important; margin:0px !important; height:26px !important; border:1px solid #ccc !important" class="ik-drp-product-category" >
|
54 |
+
<option value="0"><?php echo $this->__('All') ?></option>
|
55 |
+
<?php
|
56 |
+
foreach($_category_res as $_category){
|
57 |
+
$_category = $_category->load();
|
58 |
+
$_category_name = $_category->getName();
|
59 |
+
$_category_id = $_category->getId();
|
60 |
+
if($category_id==$_category_id){
|
61 |
+
?><option selected="true" value="<?php echo $_category_id; ?>"><?php echo $_category_name; ?></option><?php
|
62 |
+
}else{
|
63 |
+
?><option value="<?php echo $_category_id; ?>"><?php echo $_category_name; ?></option><?php
|
64 |
+
}
|
65 |
+
}
|
66 |
+
?>
|
67 |
+
</select>
|
68 |
+
</div>
|
69 |
+
<?php } ?>
|
70 |
+
|
71 |
+
<div class="ik-search-button" onclick='fillProducts("<?php echo $params["vcode"]."-".$_from."-".$_to; ?>","<?php echo $_from; ?>","<?php echo $_to; ?>",request_obj_<?php echo $params["vcode"]; ?>,2)'>
|
72 |
+
<br /><img width="18px" alt="Search" height="18px" src="<?php echo $this->getSkinUrl('images/tpp/searchicon.png') ?>" />
|
73 |
+
</div>
|
74 |
+
<div class="clrb"></div>
|
75 |
+
</div>
|
76 |
+
<?php
|
77 |
+
}
|
78 |
+
}
|
79 |
+
$_total_products = $this->getTotalProducts($_from,$_to,$category_id,$product_search_text,1,$is_default_category_with_hidden);
|
80 |
+
if($_total_products<=0){
|
81 |
+
?><div class="ik-product-no-items"><?php echo $this->__('No products found.') ?></div><?php
|
82 |
+
die();
|
83 |
+
}
|
84 |
+
$collection = $this->loadFilteredProducts();
|
85 |
+
foreach($collection as $_product){
|
86 |
+
$_product = $_product->load();
|
87 |
+
?>
|
88 |
+
<div class='ik-product-item pid-<?php echo $_product->getId(); ?>'>
|
89 |
+
<div class='ik-product-image' onmouseout="pr_item_image_mouseout(this)" onmouseover="pr_item_image_mousehover(this)">
|
90 |
+
<a href="<?php echo $_product->getProductUrl(); ?>">
|
91 |
+
<div class="ov-layer" >
|
92 |
+
<?php if($params["display_title_price_over_image"]=='yes'){ ?>
|
93 |
+
<div class='ik-overlay-product-content'>
|
94 |
+
<?php if($params["hide_product_title"]=='no'){ ?>
|
95 |
+
<div class='ik-product-name' style="color:<?php echo $params["product_title_color"]; ?>" >
|
96 |
+
<?php echo $_product->getName(); ?>
|
97 |
+
</div>
|
98 |
+
<?php } ?>
|
99 |
+
<?php if($params["hide_product_price"]=='no'){ ?>
|
100 |
+
<div class='ik-product-sale-price' style="color:<?php echo $params["product_price_color"]; ?>" >
|
101 |
+
<?php echo Mage::helper('core')->currency($_product->getFinalPrice(), true, true); ?>
|
102 |
+
</div>
|
103 |
+
<?php } ?>
|
104 |
+
<?php if($_product->isSaleable()){ ?>
|
105 |
+
<p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="btn-crt" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
|
106 |
+
<?php } ?>
|
107 |
+
<div class="clr"></div>
|
108 |
+
</div>
|
109 |
+
<div class="clr"></div>
|
110 |
+
<?php } ?>
|
111 |
+
</div>
|
112 |
+
<div class="clr"></div>
|
113 |
+
</a>
|
114 |
+
<div class="clr"></div>
|
115 |
+
<a href="<?php echo $_product->getProductUrl(); ?>">
|
116 |
+
<img src = "<?php echo Mage::helper('catalog/image')->init($_product, 'small_image')->resize(250); ?>" />
|
117 |
+
</a>
|
118 |
+
</div>
|
119 |
+
<?php if($params["display_title_price_over_image"]=='no'){ ?>
|
120 |
+
<div class='ik-product-content'>
|
121 |
+
<?php if($params["hide_product_title"]=='no'){ ?>
|
122 |
+
<div class='ik-product-name'>
|
123 |
+
<a href="<?php echo $_product->getProductUrl(); ?>" style="color:<?php echo $params["product_title_color"]; ?>" >
|
124 |
+
<?php echo $_product->getName(); ?>
|
125 |
+
</a>
|
126 |
+
</div>
|
127 |
+
<?php } ?>
|
128 |
+
|
129 |
+
<?php if($params["hide_product_price"]=='no'){ ?>
|
130 |
+
<div class='ik-product-sale-price' style="color:<?php echo $params["product_price_color"]; ?>">
|
131 |
+
<?php
|
132 |
+
echo Mage::helper('core')->currency($_product->getFinalPrice(), true, true); ?>
|
133 |
+
</div>
|
134 |
+
<?php } ?>
|
135 |
+
<?php if($_product->isSaleable()){ ?>
|
136 |
+
<p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="btn-crt" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
|
137 |
+
<?php } ?>
|
138 |
+
</div>
|
139 |
+
<?php } ?>
|
140 |
+
</div>
|
141 |
+
<?php
|
142 |
+
}
|
143 |
+
if($_total_products>$params["number_of_product_display"]){ ?>
|
144 |
+
<div class="clr"></div>
|
145 |
+
<div class='ik-product-load-more' align="center" onclick='loadMoreProducts("<?php echo $params["from"]; ?>","<?php echo $params["to"]; ?>","<?php echo $_limit_start+$_limit_end; ?>","<?php echo $params["vcode"]."-".$params["from"]."-".$params["to"]; ?>","<?php echo $_total_products; ?>",request_obj_<?php echo $params["vcode"]; ?>)'>
|
146 |
+
<?php echo $this->__('Load More') ?>
|
147 |
+
</div>
|
148 |
+
<?php
|
149 |
+
}else{
|
150 |
+
?><div class="clr"></div><?php
|
151 |
+
}
|
152 |
+
?>
|
app/design/frontend/base/default/template/tabularpricepane/pane_style_1.phtml
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
$vcode = $this->getUCode(); ?>
|
27 |
+
<script type='text/javascript' language='javascript'> var default_category_id_<?php echo $vcode; ?> = '<?php echo $this->_config["category_id"]; ?>'; var request_obj_<?php echo $vcode; ?> = { category_id:'<?php echo $this->_config["category_id"]; ?>',hide_categorybox:'<?php echo $this->_config["hide_categorybox"]; ?>',hide_searchbox:'<?php echo $this->_config["hide_searchbox"]; ?>', hide_product_price:'<?php echo $this->_config["hide_product_price"]; ?>',price_difference:'<?php echo $this->_config["price_difference"]; ?>', hide_product_title:'<?php echo $this->_config["hide_product_title"]; ?>',product_price_color:'<?php echo $this->_config["price_text_color"]; ?>', product_title_color:'<?php echo $this->_config["title_text_color"]; ?>',price_tab_text_color:'<?php echo $this->_config["price_tab_text_color"]; ?>', price_tab_background_color:'<?php echo $this->_config["price_tab_background_color"]; ?>',header_text_color:'<?php echo $this->_config["header_text_color"]; ?>', header_background_color:'<?php echo $this->_config["header_background_color"]; ?>',display_title_price_over_image:'<?php echo $this->_config["display_title_price_over_image"]; ?>', number_of_product_display:'<?php echo $this->_config["number_of_product_display"]; ?>', vcode:'<?php echo $vcode; ?>'}</script>
|
28 |
+
<?php $_price_list = $this->getPriceTabArray(); ?>
|
29 |
+
<div id="tabularpricepane" style="width:<?php echo $this->_config["tp_widget_width"]; ?>" class="<?php echo ((trim($this->_config["display_title_price_over_image"])=="yes")?"disp_title_over_img":""); ?>">
|
30 |
+
<?php if($this->_config["hide_widget_title"]=="no"){ ?>
|
31 |
+
<div class="ik-price-tab-title-head" style="background-color:<?php echo $this->_config["header_background_color"]; ?>;color:<?php echo $this->_config["header_text_color"]; ?>" >
|
32 |
+
<?php echo $this->_config["widget_title"]; ?>
|
33 |
+
</div>
|
34 |
+
<?php } ?>
|
35 |
+
<span class='wp-load-icon'>
|
36 |
+
<img width="18px" height="18px" src="<?php echo $this->getSkinUrl('images/tpp/loader.gif') ?>" />
|
37 |
+
</span>
|
38 |
+
<div class="wea_content lt-grid">
|
39 |
+
<?php
|
40 |
+
if(count($_price_list)>0){
|
41 |
+
foreach($_price_list as $_price_list_item){
|
42 |
+
?>
|
43 |
+
<div class="item-price-list">
|
44 |
+
<div class="price-item" onmouseout="price_tab_ms_out(this)" onmouseover="price_tab_ms_hover(this)" id="<?php echo $vcode.'-'.$_price_list_item["from"].'-'.$_price_list_item["to"]; ?>" onclick="fillProducts(this.id,'<?php echo $_price_list_item["from"];?>','<?php echo $_price_list_item["to"]; ?>',request_obj_<?php echo $vcode; ?>,1)" style="color:<?php echo $this->_config["price_tab_text_color"]; ?>;background-color:<?php echo $this->_config["price_tab_background_color"]; ?>;" >
|
45 |
+
<div class="price-item-text" onmouseout="price_tab_ms_out(this.parentNode)" onmouseover="price_tab_ms_hover(this.parentNode)">
|
46 |
+
<?php echo Mage::helper('core')->currency($_price_list_item["from"], true, true).' - '.Mage::helper('core')->currency($_price_list_item["to"], true, true); ?>
|
47 |
+
</div>
|
48 |
+
<div class="ld-price-item-text"></div>
|
49 |
+
<div class="clr"></div>
|
50 |
+
</div>
|
51 |
+
<div class="item-products"></div>
|
52 |
+
<div class="clr"></div>
|
53 |
+
</div>
|
54 |
+
<div class="clr"></div>
|
55 |
+
<?php
|
56 |
+
}
|
57 |
+
}
|
58 |
+
?>
|
59 |
+
<div class="clr"></div>
|
60 |
+
</div>
|
61 |
+
</div>
|
app/design/frontend/base/default/template/tabularpricepane/pane_style_2.phtml
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
$vcode = $this->getUCode(); ?>
|
27 |
+
<script type='text/javascript' language='javascript'>var default_category_id_<?php echo $vcode; ?> = '<?php echo $this->_config["category_id"]; ?>'; var request_obj_<?php echo $vcode; ?> = { category_id:'<?php echo $this->_config["category_id"]; ?>',hide_categorybox:'<?php echo $this->_config["hide_categorybox"]; ?>',hide_searchbox:'<?php echo $this->_config["hide_searchbox"]; ?>', hide_product_price:'<?php echo $this->_config["hide_product_price"]; ?>',price_difference:'<?php echo $this->_config["price_difference"]; ?>', hide_product_title:'<?php echo $this->_config["hide_product_title"]; ?>',product_price_color:'<?php echo $this->_config["price_text_color"]; ?>', product_title_color:'<?php echo $this->_config["title_text_color"]; ?>',price_tab_text_color:'<?php echo $this->_config["price_tab_text_color"]; ?>', price_tab_background_color:'<?php echo $this->_config["price_tab_background_color"]; ?>',header_text_color:'<?php echo $this->_config["header_text_color"]; ?>', header_background_color:'<?php echo $this->_config["header_background_color"]; ?>',display_title_price_over_image:'<?php echo $this->_config["display_title_price_over_image"]; ?>', number_of_product_display:'<?php echo $this->_config["number_of_product_display"]; ?>', vcode:'<?php echo $vcode; ?>'}</script>
|
28 |
+
<?php $_price_list = $this->getPriceTabArray(); ?>
|
29 |
+
<div id="tabularpricepane" style="width:<?php echo $this->_config["tp_widget_width"]; ?>" class="pane_style_2 <?php echo ((trim($this->_config["display_title_price_over_image"])=="yes")?"disp_title_over_img":""); ?>">
|
30 |
+
<?php if($this->_config["hide_widget_title"]=="no"){ ?>
|
31 |
+
<div class="ik-price-tab-title-head" style="background-color:<?php echo $this->_config["header_background_color"]; ?>;color:<?php echo $this->_config["header_text_color"]; ?>" >
|
32 |
+
<?php echo $this->_config["widget_title"]; ?>
|
33 |
+
</div>
|
34 |
+
<?php } ?>
|
35 |
+
<span class='wp-load-icon'>
|
36 |
+
<img width="18px" height="18px" src="<?php echo $this->getSkinUrl('images/tpp/loader.gif') ?>" />
|
37 |
+
</span>
|
38 |
+
<div class="wea_content lt-grid">
|
39 |
+
<?php
|
40 |
+
if(count($_price_list)>0){
|
41 |
+
foreach($_price_list as $_price_list_item){
|
42 |
+
?>
|
43 |
+
<div class="item-price-list">
|
44 |
+
<div class="price-item" onmouseout="price_tab_ms_out(this)" onmouseover="price_tab_ms_hover(this)" id="<?php echo $vcode.'-'.$_price_list_item["from"].'-'.$_price_list_item["to"]; ?>" onclick="fillProducts(this.id,'<?php echo $_price_list_item["from"];?>','<?php echo $_price_list_item["to"]; ?>',request_obj_<?php echo $vcode; ?>,1)" style="color:<?php echo $this->_config["price_tab_text_color"]; ?>;background-color:<?php echo $this->_config["price_tab_background_color"]; ?>;" >
|
45 |
+
<div onmouseout="price_tab_ms_out(this.parentNode)" onmouseover="price_tab_ms_hover(this.parentNode)" class="price-item-text">
|
46 |
+
<?php echo Mage::helper('core')->currency($_price_list_item["from"], true, true).' - '.Mage::helper('core')->currency($_price_list_item["to"], true, true); ?>
|
47 |
+
</div>
|
48 |
+
<div class="ld-price-item-text"></div>
|
49 |
+
<div class="clr"></div>
|
50 |
+
</div>
|
51 |
+
<div class="item-products"></div>
|
52 |
+
<div class="clr"></div>
|
53 |
+
</div>
|
54 |
+
<div class="clr"></div>
|
55 |
+
<?php
|
56 |
+
}
|
57 |
+
}
|
58 |
+
?>
|
59 |
+
<div class="clr"></div>
|
60 |
+
</div>
|
61 |
+
</div>
|
app/design/frontend/base/default/template/tabularpricepane/pane_style_3.phtml
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
$vcode = $this->getUCode(); ?>
|
27 |
+
<script language='javascript'> var default_category_id_<?php echo $vcode; ?> = '<?php echo $this->_config["category_id"]; ?>'; var request_obj_<?php echo $vcode; ?> = { category_id:'<?php echo $this->_config["category_id"]; ?>',hide_categorybox:'<?php echo $this->_config["hide_categorybox"]; ?>',hide_searchbox:'<?php echo $this->_config["hide_searchbox"]; ?>', hide_product_price:'<?php echo $this->_config["hide_product_price"]; ?>',price_difference:'<?php echo $this->_config["price_difference"]; ?>', hide_product_title:'<?php echo $this->_config["hide_product_title"]; ?>',product_price_color:'<?php echo $this->_config["price_text_color"]; ?>', product_title_color:'<?php echo $this->_config["title_text_color"]; ?>',price_tab_text_color:'<?php echo $this->_config["price_tab_text_color"]; ?>', price_tab_background_color:'<?php echo $this->_config["price_tab_background_color"]; ?>',header_text_color:'<?php echo $this->_config["header_text_color"]; ?>', header_background_color:'<?php echo $this->_config["header_background_color"]; ?>',display_title_price_over_image:'<?php echo $this->_config["display_title_price_over_image"]; ?>', number_of_product_display:'<?php echo $this->_config["number_of_product_display"]; ?>', vcode:'<?php echo $vcode; ?>'}</script>
|
28 |
+
<?php $_price_list = $this->getPriceTabArray(); ?>
|
29 |
+
<div id="tabularpricepane" style="width:<?php echo $this->_config["tp_widget_width"]; ?>" class="pane_style_3 <?php echo ((trim($this->_config["display_title_price_over_image"])=="yes")?"disp_title_over_img":""); ?>">
|
30 |
+
<?php if($this->_config["hide_widget_title"]=="no"){ ?>
|
31 |
+
<div class="ik-price-tab-title-head" style="background-color:<?php echo $this->_config["header_background_color"]; ?>;color:<?php echo $this->_config["header_text_color"]; ?>" >
|
32 |
+
<?php echo $this->_config["widget_title"]; ?>
|
33 |
+
</div>
|
34 |
+
<?php } ?>
|
35 |
+
<span class='wp-load-icon'>
|
36 |
+
<img width="18px" height="18px" src="<?php echo $this->getSkinUrl('images/tpp/loader.gif') ?>" />
|
37 |
+
</span>
|
38 |
+
<div class="wea_content lt-grid">
|
39 |
+
<?php
|
40 |
+
if(count($_price_list)>0){
|
41 |
+
foreach($_price_list as $_price_list_item){
|
42 |
+
?>
|
43 |
+
<div class="item-price-list">
|
44 |
+
<div class="price-item" onmouseout="price_tab_ms_out(this)" onmouseover="price_tab_ms_hover(this)" id="<?php echo $vcode.'-'.$_price_list_item["from"].'-'.$_price_list_item["to"]; ?>" onclick="fillProducts(this.id,'<?php echo $_price_list_item["from"];?>','<?php echo $_price_list_item["to"]; ?>',request_obj_<?php echo $vcode; ?>,1)" style="color:<?php echo $this->_config["price_tab_text_color"]; ?>;background-color:<?php echo $this->_config["price_tab_background_color"]; ?>;" >
|
45 |
+
<div onmouseout="price_tab_ms_out(this.parentNode)" onmouseover="price_tab_ms_hover(this.parentNode)" class="price-item-text">
|
46 |
+
<?php echo Mage::helper('core')->currency($_price_list_item["from"], true, true).' - '.Mage::helper('core')->currency($_price_list_item["to"], true, true); ?>
|
47 |
+
</div>
|
48 |
+
<div class="ld-price-item-text"></div>
|
49 |
+
<div class="clr"></div>
|
50 |
+
</div>
|
51 |
+
<div class="item-products"></div>
|
52 |
+
<div class="clr"></div>
|
53 |
+
</div>
|
54 |
+
<div class="clr"></div>
|
55 |
+
<?php
|
56 |
+
}
|
57 |
+
}
|
58 |
+
?>
|
59 |
+
<div class="clr"></div>
|
60 |
+
</div>
|
61 |
+
</div>
|
app/design/frontend/base/default/template/tabularpricepane/tab_style_1.phtml
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
$vcode = $this->getUCode(); ?>
|
27 |
+
<script type='text/javascript' language='javascript'>var default_category_id_<?php echo $vcode; ?> = '<?php echo $this->_config["category_id"]; ?>'; var request_obj_<?php echo $vcode; ?> = { category_id:'<?php echo $this->_config["category_id"]; ?>',hide_categorybox:'<?php echo $this->_config["hide_categorybox"]; ?>',hide_searchbox:'<?php echo $this->_config["hide_searchbox"]; ?>', hide_product_price:'<?php echo $this->_config["hide_product_price"]; ?>',price_difference:'<?php echo $this->_config["price_difference"]; ?>', hide_product_title:'<?php echo $this->_config["hide_product_title"]; ?>',product_price_color:'<?php echo $this->_config["price_text_color"]; ?>', product_title_color:'<?php echo $this->_config["title_text_color"]; ?>',price_tab_text_color:'<?php echo $this->_config["price_tab_text_color"]; ?>', price_tab_background_color:'<?php echo $this->_config["price_tab_background_color"]; ?>',header_text_color:'<?php echo $this->_config["header_text_color"]; ?>', header_background_color:'<?php echo $this->_config["header_background_color"]; ?>',display_title_price_over_image:'<?php echo $this->_config["display_title_price_over_image"]; ?>', number_of_product_display:'<?php echo $this->_config["number_of_product_display"]; ?>', vcode:'<?php echo $vcode; ?>'}</script>
|
28 |
+
<?php $_price_list = $this->getPriceTabArray(); ?>
|
29 |
+
<div id="tabularpricepane" style="width:<?php echo $this->_config["tp_widget_width"]; ?>" class="<?php echo ((trim($this->_config["display_title_price_over_image"])=="yes")?"disp_title_over_img":""); ?>">
|
30 |
+
<?php if($this->_config["hide_widget_title"]=="no"){ ?>
|
31 |
+
<div class="ik-price-tab-title-head" style="background-color:<?php echo $this->_config["header_background_color"]; ?>;color:<?php echo $this->_config["header_text_color"]; ?>" >
|
32 |
+
<?php echo $this->_config["widget_title"]; ?>
|
33 |
+
</div>
|
34 |
+
<?php } ?>
|
35 |
+
<span class='wp-load-icon'>
|
36 |
+
<img src="<?php echo $this->getSkinUrl('images/tpp/loader.gif') ?>" />
|
37 |
+
</span>
|
38 |
+
<div class="wea_content lt-tab">
|
39 |
+
<?php
|
40 |
+
if(count($_price_list)>0){
|
41 |
+
foreach($_price_list as $_price_list_item){
|
42 |
+
?>
|
43 |
+
<div class="item-price-list">
|
44 |
+
<div class="price-item" onmouseout="price_tab_ms_out(this)" onmouseover="price_tab_ms_hover(this)" id="<?php echo $vcode.'-'.$_price_list_item["from"].'-'.$_price_list_item["to"]; ?>" onclick="fillProducts(this.id,'<?php echo $_price_list_item["from"];?>','<?php echo $_price_list_item["to"]; ?>',request_obj_<?php echo $vcode; ?>,1)" style="color:<?php echo $this->_config["price_tab_text_color"]; ?>;background-color:<?php echo $this->_config["price_tab_background_color"]; ?>;" >
|
45 |
+
<div onmouseout="price_tab_ms_out(this.parentNode)" onmouseover="price_tab_ms_hover(this.parentNode)" class="price-item-text">
|
46 |
+
<?php echo Mage::helper('core')->currency($_price_list_item["from"], true, true).' - '.Mage::helper('core')->currency($_price_list_item["to"], true, true); ?>
|
47 |
+
</div>
|
48 |
+
<div class="ld-price-item-text"></div>
|
49 |
+
<div class="clr"></div>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
<?php
|
53 |
+
}
|
54 |
+
}
|
55 |
+
?>
|
56 |
+
<div class="clr"></div>
|
57 |
+
<div class="item-products"></div>
|
58 |
+
<div class="clr"></div>
|
59 |
+
</div>
|
60 |
+
</div>
|
app/design/frontend/base/default/template/tabularpricepane/tab_style_2.phtml
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
$vcode = $this->getUCode(); ?>
|
27 |
+
<script type='text/javascript' language='javascript'>var default_category_id_<?php echo $vcode; ?> = '<?php echo $this->_config["category_id"]; ?>'; var request_obj_<?php echo $vcode; ?> = { category_id:'<?php echo $this->_config["category_id"]; ?>',hide_categorybox:'<?php echo $this->_config["hide_categorybox"]; ?>',hide_searchbox:'<?php echo $this->_config["hide_searchbox"]; ?>', hide_product_price:'<?php echo $this->_config["hide_product_price"]; ?>',price_difference:'<?php echo $this->_config["price_difference"]; ?>', hide_product_title:'<?php echo $this->_config["hide_product_title"]; ?>',product_price_color:'<?php echo $this->_config["price_text_color"]; ?>', product_title_color:'<?php echo $this->_config["title_text_color"]; ?>',price_tab_text_color:'<?php echo $this->_config["price_tab_text_color"]; ?>', price_tab_background_color:'<?php echo $this->_config["price_tab_background_color"]; ?>',header_text_color:'<?php echo $this->_config["header_text_color"]; ?>', header_background_color:'<?php echo $this->_config["header_background_color"]; ?>',display_title_price_over_image:'<?php echo $this->_config["display_title_price_over_image"]; ?>', number_of_product_display:'<?php echo $this->_config["number_of_product_display"]; ?>', vcode:'<?php echo $vcode; ?>'}</script>
|
28 |
+
<?php $_price_list = $this->getPriceTabArray(); ?>
|
29 |
+
<div id="tabularpricepane" style="width:<?php echo $this->_config["tp_widget_width"]; ?>" class="tab_style_2 <?php echo ((trim($this->_config["display_title_price_over_image"])=="yes")?"disp_title_over_img":""); ?>">
|
30 |
+
<?php if($this->_config["hide_widget_title"]=="no"){ ?>
|
31 |
+
<div class="ik-price-tab-title-head" style="background-color:<?php echo $this->_config["header_background_color"]; ?>;color:<?php echo $this->_config["header_text_color"]; ?>" >
|
32 |
+
<?php echo $this->_config["widget_title"]; ?>
|
33 |
+
</div>
|
34 |
+
<?php } ?>
|
35 |
+
<span class='wp-load-icon'>
|
36 |
+
<img src="<?php echo $this->getSkinUrl('images/tpp/loader.gif') ?>" />
|
37 |
+
</span>
|
38 |
+
<div class="wea_content lt-tab">
|
39 |
+
<?php
|
40 |
+
if(count($_price_list)>0){
|
41 |
+
foreach($_price_list as $_price_list_item){
|
42 |
+
?>
|
43 |
+
<div class="item-price-list">
|
44 |
+
<div onmouseout="price_tab_ms_out(this)" onmouseover="price_tab_ms_hover(this)" class="price-item" id="<?php echo $vcode.'-'.$_price_list_item["from"].'-'.$_price_list_item["to"]; ?>" onclick="fillProducts(this.id,'<?php echo $_price_list_item["from"];?>','<?php echo $_price_list_item["to"]; ?>',request_obj_<?php echo $vcode; ?>,1)" style="color:<?php echo $this->_config["price_tab_text_color"]; ?>;background-color:<?php echo $this->_config["price_tab_background_color"]; ?>;" >
|
45 |
+
<div onmouseout="price_tab_ms_out(this.parentNode)" onmouseover="price_tab_ms_hover(this.parentNode)" class="price-item-text">
|
46 |
+
<?php echo Mage::helper('core')->currency($_price_list_item["from"], true, true).' - '.Mage::helper('core')->currency($_price_list_item["to"], true, true); ?>
|
47 |
+
</div>
|
48 |
+
<div class="ld-price-item-text"></div>
|
49 |
+
<div class="clr"></div>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
<?php
|
53 |
+
}
|
54 |
+
}
|
55 |
+
?>
|
56 |
+
<div class="clr"></div>
|
57 |
+
<div class="item-products"></div>
|
58 |
+
<div class="clr"></div>
|
59 |
+
</div>
|
60 |
+
</div>
|
app/design/frontend/base/default/template/tabularpricepane/tab_style_3.phtml
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
*
|
4 |
+
* Tabular Price Pane
|
5 |
+
*
|
6 |
+
* NOTICE OF LICENSE
|
7 |
+
*
|
8 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
9 |
+
* that is bundled with this package in the file LICENSE.txt.
|
10 |
+
* It is also available through the world-wide-web at this URL:
|
11 |
+
* http://opensource.org/licenses/osl-3.0.php
|
12 |
+
* If you did not receive a copy of the license and are unable to
|
13 |
+
* obtain it through the world-wide-web, please send an email
|
14 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* DISCLAIMER
|
17 |
+
*
|
18 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
19 |
+
* versions in the future.
|
20 |
+
*
|
21 |
+
* @package TPP_TabularPricePane
|
22 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
23 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
24 |
+
*/
|
25 |
+
|
26 |
+
$vcode = $this->getUCode(); ?>
|
27 |
+
<script type='text/javascript' language='javascript'>var default_category_id_<?php echo $vcode; ?> = '<?php echo $this->_config["category_id"]; ?>'; var request_obj_<?php echo $vcode; ?> = { category_id:'<?php echo $this->_config["category_id"]; ?>',hide_categorybox:'<?php echo $this->_config["hide_categorybox"]; ?>',hide_searchbox:'<?php echo $this->_config["hide_searchbox"]; ?>', hide_product_price:'<?php echo $this->_config["hide_product_price"]; ?>',price_difference:'<?php echo $this->_config["price_difference"]; ?>', hide_product_title:'<?php echo $this->_config["hide_product_title"]; ?>',product_price_color:'<?php echo $this->_config["price_text_color"]; ?>', product_title_color:'<?php echo $this->_config["title_text_color"]; ?>',price_tab_text_color:'<?php echo $this->_config["price_tab_text_color"]; ?>', price_tab_background_color:'<?php echo $this->_config["price_tab_background_color"]; ?>',header_text_color:'<?php echo $this->_config["header_text_color"]; ?>', header_background_color:'<?php echo $this->_config["header_background_color"]; ?>',display_title_price_over_image:'<?php echo $this->_config["display_title_price_over_image"]; ?>', number_of_product_display:'<?php echo $this->_config["number_of_product_display"]; ?>', vcode:'<?php echo $vcode; ?>'}</script>
|
28 |
+
<?php $_price_list = $this->getPriceTabArray(); ?>
|
29 |
+
<div id="tabularpricepane" style="width:<?php echo $this->_config["tp_widget_width"]; ?>" class="tab_style_3 <?php echo ((trim($this->_config["display_title_price_over_image"])=="yes")?"disp_title_over_img":""); ?>">
|
30 |
+
<?php if($this->_config["hide_widget_title"]=="no"){ ?>
|
31 |
+
<div class="ik-price-tab-title-head" style="background-color:<?php echo $this->_config["header_background_color"]; ?>;color:<?php echo $this->_config["header_text_color"]; ?>" >
|
32 |
+
<?php echo $this->_config["widget_title"]; ?>
|
33 |
+
</div>
|
34 |
+
<?php } ?>
|
35 |
+
<span class='wp-load-icon'>
|
36 |
+
<img src="<?php echo $this->getSkinUrl('images/tpp/loader.gif') ?>" />
|
37 |
+
</span>
|
38 |
+
<div class="wea_content lt-tab">
|
39 |
+
<?php
|
40 |
+
if(count($_price_list)>0){
|
41 |
+
foreach($_price_list as $_price_list_item){
|
42 |
+
?>
|
43 |
+
<div class="item-price-list">
|
44 |
+
<div onmouseout="price_tab_ms_out(this)" onmouseover="price_tab_ms_hover(this)" class="price-item" id="<?php echo $vcode.'-'.$_price_list_item["from"].'-'.$_price_list_item["to"]; ?>" onclick="fillProducts(this.id,'<?php echo $_price_list_item["from"];?>','<?php echo $_price_list_item["to"]; ?>',request_obj_<?php echo $vcode; ?>,1)" style="color:<?php echo $this->_config["price_tab_text_color"]; ?>;background-color:<?php echo $this->_config["price_tab_background_color"]; ?>;" >
|
45 |
+
<div onmouseout="price_tab_ms_out(this.parentNode)" onmouseover="price_tab_ms_hover(this.parentNode)" class="price-item-text">
|
46 |
+
<?php echo Mage::helper('core')->currency($_price_list_item["from"], true, true).' - '.Mage::helper('core')->currency($_price_list_item["to"], true, true); ?>
|
47 |
+
</div>
|
48 |
+
<div class="ld-price-item-text"></div>
|
49 |
+
<div class="clr"></div>
|
50 |
+
</div>
|
51 |
+
</div>
|
52 |
+
<?php
|
53 |
+
}
|
54 |
+
}
|
55 |
+
?>
|
56 |
+
<div class="clr"></div>
|
57 |
+
<div class="item-products"></div>
|
58 |
+
<div class="clr"></div>
|
59 |
+
</div>
|
60 |
+
</div>
|
app/etc/modules/TPP_TabularPricePane.xml
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
*
|
5 |
+
* Tabular Price Pane
|
6 |
+
*
|
7 |
+
* NOTICE OF LICENSE
|
8 |
+
*
|
9 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
10 |
+
* that is bundled with this package in the file LICENSE.txt.
|
11 |
+
* It is also available through the world-wide-web at this URL:
|
12 |
+
* http://opensource.org/licenses/osl-3.0.php
|
13 |
+
* If you did not receive a copy of the license and are unable to
|
14 |
+
* obtain it through the world-wide-web, please send an email
|
15 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
16 |
+
*
|
17 |
+
* DISCLAIMER
|
18 |
+
*
|
19 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
20 |
+
* versions in the future.
|
21 |
+
*
|
22 |
+
* @package TPP_TabularPricePane
|
23 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
-->
|
27 |
+
<config>
|
28 |
+
<modules>
|
29 |
+
<TPP_TabularPricePane>
|
30 |
+
<active>true</active>
|
31 |
+
<codePool>community</codePool>
|
32 |
+
<depends>
|
33 |
+
<Mage_Catalog />
|
34 |
+
</depends>
|
35 |
+
</TPP_TabularPricePane>
|
36 |
+
</modules>
|
37 |
+
</config>
|
js/tpp/jquery-1.10.2.min.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
|
2 |
+
//@ sourceMappingURL=jquery-1.10.2.min.map
|
3 |
+
*/
|
4 |
+
(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t
|
5 |
+
}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
|
6 |
+
u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
|
js/tpp/tabularpricepane.js
ADDED
@@ -0,0 +1,226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
*
|
3 |
+
* Tabular Price Pane
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
18 |
+
* versions in the future.
|
19 |
+
*
|
20 |
+
* @package TPP_TabularPricePane
|
21 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
22 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
23 |
+
*/
|
24 |
+
if ( (typeof jQuery === 'undefined') && !window.jQuery ) {
|
25 |
+
document.write(("<script type='text/javascript' src='"+js_url+"tpp/jquery-1.10.2.min.js'></script>"));
|
26 |
+
} else {
|
27 |
+
if((typeof jQuery === 'undefined') && window.jQuery) {
|
28 |
+
jQuery = window.jQuery;
|
29 |
+
} else if((typeof jQuery !== 'undefined') && !window.jQuery) {
|
30 |
+
window.jQuery = jQuery;
|
31 |
+
}
|
32 |
+
}
|
33 |
+
var flg_v1 = 0;
|
34 |
+
function loadMoreProducts(from,to,limit,elementId,total,request_obj){
|
35 |
+
if(flg_v1==1) return;
|
36 |
+
jQuery(document).ready(function($){
|
37 |
+
var root_element = $("#"+elementId).parent();
|
38 |
+
if($("#"+elementId).parent().parent().hasClass("lt-tab"))
|
39 |
+
root_element = $("#"+elementId).parent().parent();
|
40 |
+
|
41 |
+
var category_id = $(root_element).find(".item-products").find(".ik-drp-product-category").val();
|
42 |
+
var product_search_text = $(root_element).find(".item-products").find(".ik-product-search-text").val();
|
43 |
+
if((category_id==='undefined')) category_id = 0;
|
44 |
+
if((product_search_text==='undefined')) product_search_text = "";
|
45 |
+
$(root_element).find(".item-products").find(".ik-product-load-more").html("<div align='center'>"+$(".wp-load-icon").html()+"</div>");
|
46 |
+
flg_v1 = 1;
|
47 |
+
$.ajax({
|
48 |
+
url: site_url+'tabularpricepane/index/loadmore',
|
49 |
+
data: {'from' : from,'to' : to,'limit_start' : limit,'hide_categorybox':request_obj.hide_categorybox,'total' : total,'category_id' : category_id,'product_search_text' : product_search_text,'hide_searchbox' : request_obj.hide_searchbox,'price_difference' : request_obj.price_difference,'hide_product_price' : request_obj.hide_product_price,'hide_product_title' : request_obj.hide_product_title,'product_price_color' : request_obj.product_price_color,'product_title_color' : request_obj.product_title_color,'price_tab_text_color' : request_obj.price_tab_text_color,'price_tab_background_color' : request_obj.price_tab_background_color,'header_text_color' : request_obj.header_text_color,'header_background_color' : request_obj.header_background_color,'display_title_price_over_image' : request_obj.display_title_price_over_image,'number_of_product_display' : request_obj.number_of_product_display,'vcode' : request_obj.vcode },
|
50 |
+
success:function(data) {
|
51 |
+
printData(elementId,data,"loadmore");
|
52 |
+
},error: function(errorThrown){ console.log(errorThrown);}
|
53 |
+
});
|
54 |
+
});
|
55 |
+
}
|
56 |
+
function fillProducts(elementId,from,to,request_obj,flg_pr){
|
57 |
+
if(flg_v1==1) return;
|
58 |
+
jQuery(document).ready(function($){
|
59 |
+
var root_element = $("#"+elementId).parent();
|
60 |
+
if($("#"+elementId).parent().parent().hasClass("lt-tab"))
|
61 |
+
root_element = $("#"+elementId).parent().parent();
|
62 |
+
|
63 |
+
$(root_element).parent().find(".price-item").each(function(){
|
64 |
+
$(this).removeClass("pn-active");
|
65 |
+
});
|
66 |
+
|
67 |
+
$("#"+elementId).addClass("pn-active");
|
68 |
+
|
69 |
+
if(flg_pr==2){
|
70 |
+
var category_id = $(root_element).find(".item-products").find(".ik-drp-product-category").val();
|
71 |
+
$(root_element).find(".ik-search-button").html("<br />"+$(".wp-load-icon").html());
|
72 |
+
}
|
73 |
+
else{
|
74 |
+
if($("#"+elementId).parent().parent().hasClass("lt-grid")){
|
75 |
+
$(root_element).find(".item-products").hide();
|
76 |
+
$(root_element).parent().find(".item-products").hide();
|
77 |
+
}
|
78 |
+
var category_id = eval("default_category_id_"+request_obj.vcode);
|
79 |
+
$("#"+elementId).find(".ik-load-content,.ik-product-no-items").remove();
|
80 |
+
$("#"+elementId).find(".ld-price-item-text").html("<div class='ik-load-content'>"+$(".wp-load-icon").html()+"</div>");
|
81 |
+
}
|
82 |
+
var product_search_text = $(root_element).find(".item-products").find(".ik-product-search-text").val();
|
83 |
+
if((category_id==='undefined')) category_id = 0;
|
84 |
+
if((product_search_text==='undefined')) product_search_text = "";
|
85 |
+
flg_v1 = 1;
|
86 |
+
$.ajax({
|
87 |
+
url: site_url+"tabularpricepane/index",
|
88 |
+
data: {'action':'getProducts1','from' : from,'to' : to,flg_pr:flg_pr,'hide_categorybox':request_obj.hide_categorybox,'category_id' : category_id,'product_search_text' : product_search_text,'hide_searchbox' : request_obj.hide_searchbox,'price_difference' : request_obj.price_difference,'hide_product_price' : request_obj.hide_product_price,'hide_product_title' : request_obj.hide_product_title,'product_price_color' : request_obj.product_price_color,'product_title_color' : request_obj.product_title_color,'price_tab_text_color' : request_obj.price_tab_text_color,'price_tab_background_color' : request_obj.price_tab_background_color,'header_text_color' : request_obj.header_text_color,'header_background_color' : request_obj.header_background_color,'display_title_price_over_image' : request_obj.display_title_price_over_image,'number_of_product_display' : request_obj.number_of_product_display,'vcode' : request_obj.vcode},
|
89 |
+
success:function(data) {
|
90 |
+
printData(elementId,data,"fillproduct");
|
91 |
+
},error: function(errorThrown){ console.log(errorThrown);}
|
92 |
+
});
|
93 |
+
});
|
94 |
+
|
95 |
+
;(function($){
|
96 |
+
$(window).resize(function(){
|
97 |
+
$(".wea_content .item-products").each(function(){
|
98 |
+
var root_element = $(this).parent();
|
99 |
+
var cnt_width = $(this).parent().width();
|
100 |
+
$(this).find(".ik-product-item").each(function(){
|
101 |
+
if(cnt_width > 1024)
|
102 |
+
$(this).css("width","230px");
|
103 |
+
else if(cnt_width <= 1024 && cnt_width > 768)
|
104 |
+
$(this).css("width","19%");
|
105 |
+
else if(cnt_width <= 858 && cnt_width > 640)
|
106 |
+
$(this).css("width","24%");
|
107 |
+
else if(cnt_width <= 640 && cnt_width > 480)
|
108 |
+
$(this).css("width","32%");
|
109 |
+
else if(cnt_width <= 480 && cnt_width > 260)
|
110 |
+
$(this).css("width","49%");
|
111 |
+
else if(cnt_width <= 260)
|
112 |
+
$(this).css("width","99%");
|
113 |
+
});
|
114 |
+
if(cnt_width<=390 && cnt_width > 280){
|
115 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-title").css("width","82%");
|
116 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-category").css("width","82%");
|
117 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-category").css("padding-top","10px");
|
118 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-button").css("padding-top","14px");
|
119 |
+
}else if(cnt_width<=280){
|
120 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-title").css("width","82%");
|
121 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-category").css("width","82%");
|
122 |
+
}else{
|
123 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-title").removeAttr("style");
|
124 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-category").removeAttr("style");
|
125 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-button").removeAttr("style");
|
126 |
+
}
|
127 |
+
});
|
128 |
+
});
|
129 |
+
})(jQuery);
|
130 |
+
}
|
131 |
+
function printData(elementId,data,flg){
|
132 |
+
jQuery(document).ready(function($){
|
133 |
+
|
134 |
+
var root_element = $("#"+elementId).parent();
|
135 |
+
if($("#"+elementId).parent().parent().hasClass("lt-tab"))
|
136 |
+
root_element = $("#"+elementId).parent().parent();
|
137 |
+
|
138 |
+
if(flg=="loadmore"){
|
139 |
+
$(root_element).find(".item-products").find(".wp-load-icon").remove();
|
140 |
+
$(root_element).find(".item-products").find(".clr").remove();
|
141 |
+
$(root_element).find(".item-products").find(".ik-product-load-more").remove();
|
142 |
+
$(root_element).find(".item-products").append(data).fadeIn(400);
|
143 |
+
$(root_element).find(".item-products").append("<div class='clr'></div>");
|
144 |
+
}else{
|
145 |
+
$("#"+elementId).find(".ik-load-content,.ik-product-no-items").remove();
|
146 |
+
//$(root_element).find(".item-products").fadeOut(1);
|
147 |
+
//$(root_element).parent().find(".item-products").fadeOut(1);
|
148 |
+
$(root_element).find(".item-products").html(data).fadeIn(400);
|
149 |
+
}
|
150 |
+
|
151 |
+
var cnt_width = $("#"+elementId).parent().parent().width();
|
152 |
+
var prod_item_height = [];
|
153 |
+
$(root_element).find(".item-products").find(".ik-product-item").each(function(){
|
154 |
+
|
155 |
+
if(cnt_width > 1024)
|
156 |
+
$(this).css("width","230px");
|
157 |
+
else if(cnt_width <= 1024 && cnt_width > 768)
|
158 |
+
$(this).css("width","19%");
|
159 |
+
else if(cnt_width <= 858 && cnt_width > 640)
|
160 |
+
$(this).css("width","24%");
|
161 |
+
else if(cnt_width <= 640 && cnt_width > 480)
|
162 |
+
$(this).css("width","32%");
|
163 |
+
else if(cnt_width <= 480 && cnt_width > 260)
|
164 |
+
$(this).css("width","49%");
|
165 |
+
else if(cnt_width <= 260)
|
166 |
+
$(this).css("width","99%");
|
167 |
+
|
168 |
+
prod_item_height.push($(this).find(".ik-product-name").height());
|
169 |
+
});
|
170 |
+
|
171 |
+
if(cnt_width<=390 && cnt_width > 280){
|
172 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-title").css("width","82%");
|
173 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-category").css("width","82%");
|
174 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-category").css("padding-top","10px");
|
175 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-button").css("padding-top","14px");
|
176 |
+
}else if(cnt_width<=280){
|
177 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-title").css("width","82%");
|
178 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-category").css("width","82%");
|
179 |
+
}else{
|
180 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-title").removeAttr("style");
|
181 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-category").removeAttr("style");
|
182 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-button").removeAttr("style");
|
183 |
+
}
|
184 |
+
if($(root_element).find(".item-products").find(".ik-product-category .ik-search-category").length<=0){
|
185 |
+
$(root_element).find(".item-products").find(".ik-product-category .ik-search-title").css("margin-right",0);
|
186 |
+
}
|
187 |
+
|
188 |
+
if(cnt_width > 260)
|
189 |
+
$(root_element).find(".item-products").find(".ik-product-item").find(".ik-product-name").css("height",(Math.max.apply(Math,prod_item_height))+"px");
|
190 |
+
|
191 |
+
flg_v1 = 0;
|
192 |
+
});
|
193 |
+
}
|
194 |
+
var flg_ms_hover = 0;
|
195 |
+
function pr_item_image_mousehover(ob_pii){
|
196 |
+
if(flg_ms_hover == 1) return;
|
197 |
+
jQuery(document).ready(function($){
|
198 |
+
$(ob_pii).find(".ov-layer").show();
|
199 |
+
$(ob_pii).find(".ov-layer").css("visibility","visible");
|
200 |
+
$(ob_pii).find(".ov-layer").css("top","40");
|
201 |
+
flg_ms_hover = 1;
|
202 |
+
if($.trim($(ob_pii).find(".ov-layer").html())!="")
|
203 |
+
$(ob_pii).find(".ov-layer").animate({opacity:0.9,top:0},0);
|
204 |
+
else
|
205 |
+
$(ob_pii).find(".ov-layer").animate({opacity:0.5,top:0},0);
|
206 |
+
});
|
207 |
+
}
|
208 |
+
function pr_item_image_mouseout(ob_pii){
|
209 |
+
jQuery(document).ready(function($){
|
210 |
+
$(ob_pii).find(".ov-layer").animate({opacity:0,top:40},0);
|
211 |
+
flg_ms_hover = 0;
|
212 |
+
$(ob_pii).find(".ov-layer").hide();
|
213 |
+
$(ob_pii).find(".ov-layer").css("visibility","hidden");
|
214 |
+
});
|
215 |
+
}
|
216 |
+
|
217 |
+
function price_tab_ms_out(ob_ms_eff){
|
218 |
+
jQuery(document).ready(function($){
|
219 |
+
$(ob_ms_eff).removeClass("pn-active-bg");
|
220 |
+
});
|
221 |
+
}
|
222 |
+
function price_tab_ms_hover(ob_ms_eff){
|
223 |
+
jQuery(document).ready(function($){
|
224 |
+
$(ob_ms_eff).addClass("pn-active-bg");
|
225 |
+
});
|
226 |
+
}
|
package.xml
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>TPP_TabularPricePane</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://opensource.org/licenses/osl-3.0.php">Open Software License (OSL) v3.0</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Tabular Price Pane</summary>
|
10 |
+
<description>Display products filtered by price, product title and categories with different layout.</description>
|
11 |
+
<notes>Install this module using Magento Connect Manager or manually file copy as per module directory structure.</notes>
|
12 |
+
<authors><author><name>ikhodal Team</name><user>ikhodal</user><email>helpdesk@ikhodal.com</email></author></authors>
|
13 |
+
<date>2016-02-08</date>
|
14 |
+
<time>23:36:01</time>
|
15 |
+
<contents><target name="mage"><dir name="."><dir name="app"><dir name="design"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="tabularpricepane.xml" hash="b3e551abe93452031933e27d0c054d45"/></dir><dir name="template"><dir name="tabularpricepane"><file name="ajax_load_more.phtml" hash="836cf8a4062c71a0dba846b4a77ef6e2"/><file name="ajax_products.phtml" hash="ef613cabecc1610e5322990ddb14f22b"/><file name="pane_style_1.phtml" hash="f16c1fa99ce6ce5788870d4cada07870"/><file name="pane_style_2.phtml" hash="b1069d1051174482d3d1b8729c70be2f"/><file name="pane_style_3.phtml" hash="55253223ab6f806eea789447af4c30f3"/><file name="tab_style_1.phtml" hash="7d091477996e4e5fd7e0d45398067a3f"/><file name="tab_style_2.phtml" hash="df8064f00498f073ee401203ed0d89cf"/><file name="tab_style_3.phtml" hash="a6caf373b9937703586a440f1418f0a8"/></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="TPP_TabularPricePane.xml" hash="9a4cd0b549e0ad6fd5d86dd5bf57d850"/></dir></dir><dir name="code"><dir name="community"><dir name="TPP"><dir name="TabularPricePane"><dir name="Block"><file name="List.php" hash="40c969bf5741c1ce0b263715a0030d5a"/><dir name="Html"><file name="Head.php" hash="252e2f239141bbc406f17075bac9de3b"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="e569e23ef074c421d75267b0c6e25b6d"/></dir><dir name="etc"><file name="config.xml" hash="616808b840433972b8421977a42b2f12"/><file name="widget.xml" hash="8aeb0e517ad2139a5c0caaa7575dcc42"/></dir><dir name="Helper"><file name="Data.php" hash="672e4afe75147ce29b3bd22ac37ca8b5"/></dir><dir name="Model"><file name="Filters.php" hash="7e35aa811110eeccd1e5080926d259be"/></dir></dir></dir></dir></dir></dir><dir name="js"><dir name="tpp"><file name="tabularpricepane.js" hash="191edce72cb9686a9840e660e79eed97"/><file name="jquery-1.10.2.min.js" hash="841dc30647f93349b7d8ef61deebe411"/></dir></dir><dir name="skin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="tpp"><file name="tabularpricepane.css" hash="6a52d63d68fcdd29aba6e7bdf552d92c"/></dir></dir><dir name="images"><dir name="tpp"><file name="loader.gif" hash="fa35cca340bd4fa098babcaa4bed65df"/><file name="searchicon.png" hash="7d01889a4eb3a3d8ac5032f616916048"/><file name="view.png" hash="d0c16266a4b3d59c70930255cf3c1f81"/></dir></dir></dir></dir></dir></dir></dir></target></contents>
|
16 |
+
<compatible/>
|
17 |
+
<dependencies><required><php><min>5.3.21</min><max>5.6.8</max></php></required></dependencies>
|
18 |
+
</package>
|
skin/frontend/base/default/css/tpp/tabularpricepane.css
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
*
|
3 |
+
* Tabular Price Pane
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to helpdesk@ikhodal.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade to newer
|
18 |
+
* versions in the future.
|
19 |
+
*
|
20 |
+
* @package TPP_TabularPricePane
|
21 |
+
* @copyright Copyright (c) 2016-2017 ikhodal (http://www.ikhodal.com).
|
22 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
23 |
+
*/
|
24 |
+
|
25 |
+
#tabularpricepane { margin:0; padding:0; font-size:12px; font-weight:normal; text-transform: none;}
|
26 |
+
#tabularpricepane .ik-price-tab-title-head{ color:#fff; font-weight:bold; margin-bottom:2px; font-size: 15px; padding:8px 13px;}
|
27 |
+
#tabularpricepane .wp-load-icon { display:none; margin-left:10px; width:10px; height:10px; background-color:#fff; }
|
28 |
+
#tabularpricepane .item-price-list{ background: none; padding:0; margin:0px 0px 2px 0px; color:#424242; }
|
29 |
+
#tabularpricepane .item-products { background: #F7F7F7;}
|
30 |
+
#tabularpricepane .ik-prouct-search-text { width:60px; padding:3px;}
|
31 |
+
#tabularpricepane .price-item { cursor:pointer; background: #F1F1F1; padding:8px 25px 8px 13px;font-weight:normal; font-size: 12px; }
|
32 |
+
#tabularpricepane input.ik-product-search-text { height:25px; font-size: 12px; margin:0; width:100%; border:1px solid #ccc; padding:0px 2px }
|
33 |
+
#tabularpricepane select.ik-drp-product-category { height:26px; font-size: 12px; margin:0; text-align: left; width:100%; border:1px solid #ccc; padding:0 1px; }
|
34 |
+
#tabularpricepane .ik-product-category { padding:10px 3px; }
|
35 |
+
#tabularpricepane .ik-product-category span{ float:left; width:20px; height:20px}
|
36 |
+
#tabularpricepane .ik-product-category .ik-search-title { float:left; width:164px;margin-right:10px;font-weight: normal; }
|
37 |
+
#tabularpricepane .ik-product-category .ik-search-button { cursor:pointer; width:18px; height:18px; float:left; padding-top: 5px; margin-left: 7px; }
|
38 |
+
#tabularpricepane .ik-product-category .ik-search-category { width:164px; float:left;font-weight: normal; }
|
39 |
+
#tabularpricepane .ik-product-item { float:left;padding:5px 0 0 0; margin:0 0.5%}
|
40 |
+
#tabularpricepane .ik-product-item p { margin:0; padding:0}
|
41 |
+
#tabularpricepane .ik-product-load-more{ cursor:pointer; text-align:center; padding:10px 5px 5px; text-align:center; font-size: 12px;font-weight:bold; clear:both}
|
42 |
+
#tabularpricepane .ik-product-content .ik-product-name { margin-top:5px; font-size: 12px; word-wrap:break-word}
|
43 |
+
#tabularpricepane .ik-product-content .ik-product-name a { text-decoration:none; word-wrap:break-word;font-weight: normal;}
|
44 |
+
#tabularpricepane .ik-product-content .ik-product-name a:hover{ transition: all 0.5s ease-out 0.7s; color:#ccc;font-weight: normal; }
|
45 |
+
#tabularpricepane .ik-product-content .ik-product-sale-price { color:#424242; font-size: 12px; font-weight:normal }
|
46 |
+
#tabularpricepane .ik-product-image img { width:100%}
|
47 |
+
#tabularpricepane .ik-product-no-items { padding:10px 10px 10px 4px; font-size:13px }
|
48 |
+
#tabularpricepane .price-item{ clear:both; position:relative}
|
49 |
+
#tabularpricepane .price-item-text { float:left; min-height:18px;}
|
50 |
+
#tabularpricepane .ld-price-item-text { width:22px; height:22px; right:5px; position:absolute; top:9px }
|
51 |
+
#tabularpricepane .ik-load-content-cnt { width:20px; height:20px; -webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); margin-top:0px; padding:1px; display:block; background-color:#f7f7f7; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; }
|
52 |
+
#tabularpricepane .ik-load-content { width:20px; height:20px; }
|
53 |
+
#tabularpricepane .ik-load-content-more { padding:10px; }
|
54 |
+
#tabularpricepane .clr, #tabularpricepane .clrb { clear:both}
|
55 |
+
#tabularpricepane .ik-product-image { position :relative; }
|
56 |
+
#tabularpricepane div.ov-layer .ik-overlay-product-content { margin-top:0px;color:#000;background:#fff; padding:5px; border-bottom:1px solid #fff;border-top:1px solid #fff; }
|
57 |
+
#tabularpricepane div.ov-layer .ik-overlay-product-content .ik-product-name {line-height:16px;text-decoration:none;}
|
58 |
+
#tabularpricepane div.ov-layer .ik-overlay-product-content .ik-product-name a { color:#000; text-decoration:none; position:relative }
|
59 |
+
#tabularpricepane div.ov-layer .ik-overlay-product-content .ik-product-sale-price { color:#000; position:relative }
|
60 |
+
#tabularpricepane div.ov-layer {display:block; visibility:hidden;position:relative; top:40px; left:0;-webkit-transition: -webkit-transform 1s; position: absolute; -o-transition-duration: 1s; width: 100%; -moz-transition-duration: 1s; -webkit-transition: -webkit-transform 1s; z-index: 10; cursor: pointer; height: 100%; background:url(../../images/tpp/view.png) right bottom no-repeat #000; opacity: 0; color:#fff; font-size:13px;}
|
61 |
+
#tabularpricepane div.ov-layer:hover {box-shadow: 0px 0px 3px #000;-moz-transition-duration: 1s; -webkit-transition: -webkit-transform 1s; -o-transition-duration: 1s; -webkit-box-shadow: 0px 0px 3px #333; -moz-box-shadow: 0px 0px 3px #333; opacity: .6;}
|
62 |
+
#tabularpricepane button { margin:0px; padding:0px; float:none;}
|
63 |
+
#tabularpricepane .btn-crt, #tabularpricepane #btnSearch { padding:0px; margin:0px; border:0px; background-color:#DADADA; color:#464646; padding:3px 8px; font-size:11px; }
|
64 |
+
#tabularpricepane .btn-crt { margin:5px 0; font-style:normal; cursor:pointer;font-weight: normal;}
|
65 |
+
#tabularpricepane .btn-crt:hover{background-color:#959595; color:#fff; }
|
66 |
+
#tabularpricepane .item-products{ padding:0 10px 0px 10px;}
|
67 |
+
#tabularpricepane .pn-active, #tabularpricepane .pn-active-bg{ background-color:#ccc !important; }
|
68 |
+
#tabularpricepane input.ik-product-search-text:focus,
|
69 |
+
#tabularpricepane select.ik-drp-product-category:focus { background-color:#FFF; }
|
70 |
+
#tabularpricepane .ik-product-sale-price .price { color:inherit;font-size:12px}
|
71 |
+
#tabularpricepane .price-item-text .price { color:inherit;font-size:12px}
|
72 |
+
/* Pane Style 2 Start */
|
73 |
+
.pane_style_2 .item-price-list, .pane_style_2 .ik-price-tab-title-head { border: 1px solid #e7e7e7;-webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1);box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); border-radius: 0px; }
|
74 |
+
.pane_style_2 .price-item{ -webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); }
|
75 |
+
/* Pane Style 2 End */
|
76 |
+
/* Pane Style 3 Start */
|
77 |
+
.pane_style_3 .item-price-list, .pane_style_3 .ik-price-tab-title-head{ -webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px; border: 1px solid #e7e7e7; -webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1);box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1);}
|
78 |
+
.pane_style_3 .price-item{-webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px;-webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1);box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); border-left:2px solid #696969;}
|
79 |
+
.pane_style_3 .pn-active {border-radius: 4px 4px 0px 0px;-webkit-border-radius: 4px 4px 0px 0px; -moz-border-radius: 4px 4px 0px 0px;}
|
80 |
+
.pane_style_3 .item-products{ border-left:2px solid #e7e7e7}
|
81 |
+
/* Pane Style 3 End */
|
82 |
+
/* Tab Style 2 Start */
|
83 |
+
.tab_style_2 .item-price-list, .tab_style_2 .ik-price-tab-title-head { border: 1px solid #e7e7e7; -webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); border-radius: 0px; }
|
84 |
+
.tab_style_2 .price-item { -webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); }
|
85 |
+
/* Tab Style 2 End */
|
86 |
+
/* Tab Style 3 Start */
|
87 |
+
.tab_style_3 .item-price-list,.tab_style_3 .ik-price-tab-title-head{ -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; border: 1px solid #e7e7e7; -webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); }
|
88 |
+
.tab_style_3 .price-item { -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; -webkit-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); box-shadow: 0px 1px 1px #fff inset, 1px 1px 3px rgba(0, 0, 0, 0.1); border-left:2px solid #696969;}
|
89 |
+
.tab_style_3 .pn-active { border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px;}
|
90 |
+
/* Tab Style 3 End */
|
91 |
+
.disp_title_over_img .ik-product-item { min-height:auto !important }
|
92 |
+
#tabularpricepane .lt-tab .item-price-list { width:auto; float:left; margin-right:2px;}
|
93 |
+
#tabularpricepane .lt-tab .item-price-list .ik-load-content{ margin-left:5px;}
|
94 |
+
@media only screen and (max-width: 1280px) { #tabularpricepane .ik-product-item { width: 20%; } }
|
95 |
+
@media only screen and (max-width: 1024px) { #tabularpricepane .ik-product-item { width: 25%; } }
|
96 |
+
@media only screen and (max-width: 768px) { #tabularpricepane .ik-price-tab-title-head { font-size:12px} }
|
97 |
+
@media only screen and (max-width: 640px) { #tabularpricepane .ik-product-item { width: 33%; } }
|
98 |
+
@media only screen and (max-width: 480px) { #tabularpricepane .ik-product-item { width: 50%; } }
|
99 |
+
@media only screen and (max-width: 360px) { #tabularpricepane .ik-product-category .ik-search-title { width: 128px; } #tabularpricepane .ik-product-category .ik-search-category { width: 139px; } }
|
100 |
+
@media only screen and (max-width: 320px) { #tabularpricepane .ik-product-category .ik-search-category { width: 101px; } }
|
skin/frontend/base/default/images/tpp/loader.gif
ADDED
Binary file
|
skin/frontend/base/default/images/tpp/searchicon.png
ADDED
Binary file
|
skin/frontend/base/default/images/tpp/view.png
ADDED
Binary file
|