Version Notes
This is a First Release !!
Download this release
Release Info
Developer | Vsourz Digital |
Extension | Vsourz_Hot_Deals |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Vsourz/Deals/Block/Deals.php +26 -0
- app/code/community/Vsourz/Deals/Helper/Data.php +41 -0
- app/code/community/Vsourz/Deals/Model/Deals.php +25 -0
- app/code/community/Vsourz/Deals/Model/Source/Truefalse.php +11 -0
- app/code/community/Vsourz/Deals/data/deals_setup/data-install-0.1.0.php +19 -0
- app/code/community/Vsourz/Deals/etc/adminhtml.xml +30 -0
- app/code/community/Vsourz/Deals/etc/config.xml +55 -0
- app/code/community/Vsourz/Deals/etc/system.xml +149 -0
- app/design/frontend/base/default/layout/deals.xml +15 -0
- app/design/frontend/base/default/template/vsourz/deals/deals-slider.phtml +84 -0
- app/design/frontend/base/default/template/vsourz/deals/deals.phtml +54 -0
- app/etc/modules/Vsourz_Deals.xml +29 -0
- package.xml +90 -0
- skin/frontend/base/default/css/deals/deals.css +274 -0
- skin/frontend/base/default/css/deals/owl.carousel.css +71 -0
- skin/frontend/base/default/css/deals/owl.theme.css +100 -0
- skin/frontend/base/default/css/deals/owl.transitions.css +163 -0
- skin/frontend/base/default/js/deals/jquery.countdown.min.js +6 -0
- skin/frontend/base/default/js/deals/jquery.plugin.min.js +4 -0
- skin/frontend/base/default/js/deals/owl.carousel.min.js +47 -0
app/code/community/Vsourz/Deals/Block/Deals.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Deals_Block_Deals extends Mage_Catalog_Block_Product_Abstract{
|
3 |
+
public function getProducts(){
|
4 |
+
$prodCount = $this->getProductCount();
|
5 |
+
$catId = $this->getCategoryId();
|
6 |
+
if(!$catId){
|
7 |
+
$catId = Mage::getStoreConfig('deals/settings/category');
|
8 |
+
}
|
9 |
+
$prodCnt = $this->getProductCount();
|
10 |
+
$_productCollection = Mage::getModel("vsourz_deals/deals")->getItemCollection($prodCnt,$catId, $prodCount);
|
11 |
+
return $_productCollection;
|
12 |
+
}
|
13 |
+
public function getDiscountPer($_product){
|
14 |
+
$price = $_product->getPrice();
|
15 |
+
$specialPrice = $_product->getSpecialPrice();
|
16 |
+
$discountPer = 100-($specialPrice/$price)*100;
|
17 |
+
$discountPer = round($discountPer,2);
|
18 |
+
return $discountPer.'%';
|
19 |
+
}
|
20 |
+
public function getDiscountAmt($_product){
|
21 |
+
$price = Mage::helper('core')->currency($_product->getPrice(),false,false);
|
22 |
+
$specialPrice = Mage::helper('core')->currency($_product->getSpecialPrice(),false,false);
|
23 |
+
$discountAmt = round($price-$specialPrice,2);
|
24 |
+
return Mage::app()->getLocale()->currency(Mage::app()->getStore()->getCurrentCurrencyCode())->getSymbol().$discountAmt;
|
25 |
+
}
|
26 |
+
}
|
app/code/community/Vsourz/Deals/Helper/Data.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Deals_Helper_Data extends Mage_Core_Helper_Abstract
|
3 |
+
{
|
4 |
+
public function getImg($product, $w, $h, $imgVersion='image', $file=NULL)
|
5 |
+
{
|
6 |
+
$url = '';
|
7 |
+
if ($h <= 0)
|
8 |
+
{
|
9 |
+
$url = Mage::helper('catalog/image')
|
10 |
+
->init($product, $imgVersion, $file)
|
11 |
+
->constrainOnly(true)
|
12 |
+
->keepAspectRatio(true)
|
13 |
+
->keepFrame(false)
|
14 |
+
//->setQuality(90)
|
15 |
+
->resize($w);
|
16 |
+
}
|
17 |
+
else
|
18 |
+
{
|
19 |
+
$url = Mage::helper('catalog/image')
|
20 |
+
->init($product, $imgVersion, $file)
|
21 |
+
->resize($w, $h);
|
22 |
+
}
|
23 |
+
return $url;
|
24 |
+
}
|
25 |
+
function altImage($product, $val, $w, $h, $imgVersion='small_image'){
|
26 |
+
$product->load('media_gallery');
|
27 |
+
$column = 'position';
|
28 |
+
$value = $val;
|
29 |
+
$gal = $product->getMediaGalleryImages();
|
30 |
+
if ($gal = $product->getMediaGalleryImages())
|
31 |
+
{
|
32 |
+
if ($altImg = $gal->getItemByColumnValue($column, $value))
|
33 |
+
{
|
34 |
+
return
|
35 |
+
'<img class="alt-img lazyOwl" src="' . $this->getImg($product, $w, $h, $imgVersion, $altImg->getFile()) . '" alt="' . $product->getName() . '" />';
|
36 |
+
}
|
37 |
+
}
|
38 |
+
return '';
|
39 |
+
}
|
40 |
+
}
|
41 |
+
?>
|
app/code/community/Vsourz/Deals/Model/Deals.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Deals_Model_Deals extends Mage_Catalog_Model_Product{
|
3 |
+
public function getItemCollection($prodCnt,$catId = NULL, $prodCount){
|
4 |
+
$categoryId = $catId;
|
5 |
+
$todayDate = date('m/d/y');
|
6 |
+
$tomorrow = mktime(0, 0, 0, date('m'), date('d'), date('y'));
|
7 |
+
$tomorrowDate = date('m/d/y', $tomorrow);
|
8 |
+
$visibility = array(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG);
|
9 |
+
$collection = $this->getCollection()
|
10 |
+
->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
|
11 |
+
->addAttributeToSelect('*')
|
12 |
+
->addAttributeToFilter('category_id', array('in' => $categoryId))
|
13 |
+
->addAttributeToFilter('visibility', $visibility)
|
14 |
+
->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
|
15 |
+
->addAttributeToFilter('special_from_date', array('date' => true, 'to' => $todayDate))
|
16 |
+
->addAttributeToFilter('special_to_date', array('or'=> array(
|
17 |
+
0 => array('date' => true, 'from' => $tomorrowDate))
|
18 |
+
), 'left')
|
19 |
+
->setPageSize($prodCount)
|
20 |
+
->load();
|
21 |
+
Mage::getSingleton('cataloginventory/stock')->addInStockFilterToCollection($collection);
|
22 |
+
return $collection;
|
23 |
+
}
|
24 |
+
}
|
25 |
+
?>
|
app/code/community/Vsourz/Deals/Model/Source/Truefalse.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Vsourz_Deals_Model_Source_Truefalse
|
3 |
+
{
|
4 |
+
public function toOptionArray()
|
5 |
+
{
|
6 |
+
return array(
|
7 |
+
array('value' => 'true', 'label' => 'True'),
|
8 |
+
array('value' => 'false', 'label' => 'False'),
|
9 |
+
);
|
10 |
+
}
|
11 |
+
}
|
app/code/community/Vsourz/Deals/data/deals_setup/data-install-0.1.0.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$this->startSetup();
|
3 |
+
Mage::register('isSecureArea', 1);
|
4 |
+
|
5 |
+
// Force the store to be admin
|
6 |
+
Mage::app()->setUpdateMode(false);
|
7 |
+
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
|
8 |
+
|
9 |
+
$category = Mage::getModel('catalog/category');
|
10 |
+
$category->setPath('1/2') // set parent to be root category
|
11 |
+
->setStoreId(Mage_Core_Model_App::ADMIN_STORE_ID)
|
12 |
+
->setName('Product Deals')
|
13 |
+
->setIsActive(1)
|
14 |
+
->setIsAnchor(1)
|
15 |
+
->setIncludeInMenu(0)
|
16 |
+
->save();
|
17 |
+
$this->endSetup();
|
18 |
+
?>
|
19 |
+
|
app/code/community/Vsourz/Deals/etc/adminhtml.xml
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<acl>
|
4 |
+
<resources>
|
5 |
+
<all>
|
6 |
+
<title>Allow Everything</title>
|
7 |
+
</all>
|
8 |
+
<admin>
|
9 |
+
<children>
|
10 |
+
<vsourz_Deals>
|
11 |
+
<title>Layer Slider</title>
|
12 |
+
<sort_order>6</sort_order>
|
13 |
+
</vsourz_Deals>
|
14 |
+
<system>
|
15 |
+
<children>
|
16 |
+
<config>
|
17 |
+
<children>
|
18 |
+
<deals translate="title" module="vsourz_deals">
|
19 |
+
<title>Vsourz Deals</title>
|
20 |
+
<sort_order>10</sort_order>
|
21 |
+
</deals>
|
22 |
+
</children>
|
23 |
+
</config>
|
24 |
+
</children>
|
25 |
+
</system>
|
26 |
+
</children>
|
27 |
+
</admin>
|
28 |
+
</resources>
|
29 |
+
</acl>
|
30 |
+
</config>
|
app/code/community/Vsourz/Deals/etc/config.xml
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Vsourz_Deals>
|
5 |
+
<version>0.1.0</version>
|
6 |
+
</Vsourz_Deals>
|
7 |
+
</modules>
|
8 |
+
<frontend>
|
9 |
+
<layout>
|
10 |
+
<updates>
|
11 |
+
<vsourz_deals>
|
12 |
+
<file>deals.xml</file>
|
13 |
+
</vsourz_deals>
|
14 |
+
</updates>
|
15 |
+
</layout>
|
16 |
+
</frontend>
|
17 |
+
<global>
|
18 |
+
<blocks>
|
19 |
+
<vsourz_deals>
|
20 |
+
<class>Vsourz_Deals_Block</class>
|
21 |
+
</vsourz_deals>
|
22 |
+
</blocks>
|
23 |
+
<models>
|
24 |
+
<vsourz_deals>
|
25 |
+
<class>Vsourz_Deals_Model</class>
|
26 |
+
</vsourz_deals>
|
27 |
+
</models>
|
28 |
+
<helpers>
|
29 |
+
<vsourz_deals>
|
30 |
+
<class>Vsourz_Deals_Helper</class>
|
31 |
+
</vsourz_deals>
|
32 |
+
</helpers>
|
33 |
+
<resources>
|
34 |
+
<deals_setup>
|
35 |
+
<setup>
|
36 |
+
<module>Vsourz_Deals</module>
|
37 |
+
</setup>
|
38 |
+
<connection>
|
39 |
+
<use>core_setup</use>
|
40 |
+
</connection>
|
41 |
+
</deals_setup>
|
42 |
+
</resources>
|
43 |
+
</global>
|
44 |
+
<default>
|
45 |
+
<deals>
|
46 |
+
<settings>
|
47 |
+
<loadjs>0</loadjs>
|
48 |
+
<loadcarousel>1</loadcarousel>
|
49 |
+
<category>2</category>
|
50 |
+
<productcount>4</productcount>
|
51 |
+
<autoplay>3000</autoplay>
|
52 |
+
</settings>
|
53 |
+
</deals>
|
54 |
+
</default>
|
55 |
+
</config>
|
app/code/community/Vsourz/Deals/etc/system.xml
ADDED
@@ -0,0 +1,149 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<deals translate="label">
|
5 |
+
<label>Vsourz Deals</label>
|
6 |
+
<sort_order>155</sort_order>
|
7 |
+
</deals>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<deals translate="label">
|
11 |
+
<label>Product Deals</label>
|
12 |
+
<tab>deals</tab>
|
13 |
+
<frontend_type>text</frontend_type>
|
14 |
+
<sort_order>1000</sort_order>
|
15 |
+
<show_in_default>1</show_in_default>
|
16 |
+
<show_in_website>1</show_in_website>
|
17 |
+
<show_in_store>1</show_in_store>
|
18 |
+
<groups>
|
19 |
+
<settings translate="label">
|
20 |
+
<label>General Settings</label>
|
21 |
+
<frontend_type>text</frontend_type>
|
22 |
+
<sort_order>10</sort_order>
|
23 |
+
<show_in_default>1</show_in_default>
|
24 |
+
<show_in_website>1</show_in_website>
|
25 |
+
<show_in_store>1</show_in_store>
|
26 |
+
<fields>
|
27 |
+
<loadjs translate="label">
|
28 |
+
<label>Load JQuery Library</label>
|
29 |
+
<comment><![CDATA[Select YES if JQuery library in not included in your Magento Project]]></comment>
|
30 |
+
<frontend_type>select</frontend_type>
|
31 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
32 |
+
<sort_order>10</sort_order>
|
33 |
+
<show_in_default>1</show_in_default>
|
34 |
+
<show_in_website>1</show_in_website>
|
35 |
+
<show_in_store>1</show_in_store>
|
36 |
+
</loadjs>
|
37 |
+
<loadcarousel translate="label">
|
38 |
+
<label>Load OwlCarousel JS/CSS</label>
|
39 |
+
<comment><![CDATA[Select No if OwlCarousel library is already included in your Magento Project]]></comment>
|
40 |
+
<frontend_type>select</frontend_type>
|
41 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
42 |
+
<sort_order>11</sort_order>
|
43 |
+
<show_in_default>1</show_in_default>
|
44 |
+
<show_in_website>1</show_in_website>
|
45 |
+
<show_in_store>1</show_in_store>
|
46 |
+
</loadcarousel>
|
47 |
+
<category translate="label">
|
48 |
+
<label>Category Id</label>
|
49 |
+
<comment><![CDATA[Enter the category Id of the Deals Category]]></comment>
|
50 |
+
<frontend_type>text</frontend_type>
|
51 |
+
<sort_order>20</sort_order>
|
52 |
+
<show_in_default>1</show_in_default>
|
53 |
+
<show_in_website>1</show_in_website>
|
54 |
+
<show_in_store>1</show_in_store>
|
55 |
+
</category>
|
56 |
+
<productcount translate="label">
|
57 |
+
<label>Product Per Row</label>
|
58 |
+
<comment><![CDATA[Enter number of products displayed per row in the list layout. Supports upto 4 products per row]]></comment>
|
59 |
+
<frontend_type>text</frontend_type>
|
60 |
+
<sort_order>35</sort_order>
|
61 |
+
<show_in_default>1</show_in_default>
|
62 |
+
<show_in_website>1</show_in_website>
|
63 |
+
<show_in_store>1</show_in_store>
|
64 |
+
</productcount>
|
65 |
+
<autoplay translate="label">
|
66 |
+
<label>Autoplay</label>
|
67 |
+
<comment><![CDATA[Enter <strong>false</strong> to disable autoplay. All values are in milliseconds]]></comment>
|
68 |
+
<frontend_type>text</frontend_type>
|
69 |
+
<sort_order>45</sort_order>
|
70 |
+
<show_in_default>1</show_in_default>
|
71 |
+
<show_in_website>1</show_in_website>
|
72 |
+
<show_in_store>1</show_in_store>
|
73 |
+
</autoplay>
|
74 |
+
</fields>
|
75 |
+
</settings>
|
76 |
+
<codesnippets>
|
77 |
+
<label>Code Snippets</label>
|
78 |
+
<frontend_type>text</frontend_type>
|
79 |
+
<sort_order>20</sort_order>
|
80 |
+
<show_in_default>1</show_in_default>
|
81 |
+
<show_in_website>1</show_in_website>
|
82 |
+
<show_in_store>1</show_in_store>
|
83 |
+
<comment><![CDATA[<div style="font-size:15px;">
|
84 |
+
<h4>Product Deals</h4>
|
85 |
+
<p>You can use below code snippet to display deals products on frontend. Any number of categorised deals can be created on website.</p>
|
86 |
+
<p>1) Use product_count to display limited number of products in this section <b>product_count = 0</b> will display all products in that category</p>
|
87 |
+
<p>2) To create separate deals based on the category, you will have to mention the category id in the code snippet while calling it.<br/> Use parameter <b>category_id = "CAT ID"</b></p>
|
88 |
+
<b>1. Deal list layout</b><br/>
|
89 |
+
<table class="deal-table" border="1" cellpadding="0" cellspacing="1" style="margin-bottom:15px;">
|
90 |
+
<tr>
|
91 |
+
<td width="130" style="padding:5px"><b style="color:#333;">Admin code</b>
|
92 |
+
</td>
|
93 |
+
<td style="padding:5px">
|
94 |
+
<span class="notice";">{{block type="vsourz_deals/deals" name="deals-products" template="vsourz/deals/deals.phtml" title="Hot Deals List"}}</span>
|
95 |
+
|
96 |
+
</td>
|
97 |
+
</tr>
|
98 |
+
<tr>
|
99 |
+
<td style="padding:5px">
|
100 |
+
<b style="color:#333;">XML code</b>
|
101 |
+
</td>
|
102 |
+
<td style="padding:5px"><span class="notice";">< block type="vsourz_deals/deals" name="deals-products" template="vsourz/deals/deals.phtml" >
|
103 |
+
< action method="setTitle">< title>Deals List< /title>< /action>
|
104 |
+
< action method="setCategoryId">< category_id>60< /category_id>< /action>
|
105 |
+
< /block></span>
|
106 |
+
</td>
|
107 |
+
</tr>
|
108 |
+
<tr>
|
109 |
+
<td style="padding:5px"><b style="color:#333;">PTHML code</b>
|
110 |
+
</td>
|
111 |
+
<td style="padding:5px"><span class="notice";">
|
112 |
+
echo $this->getLayout()->createBlock('vsourz_deals/deals')->setCategoryId('1')->setTitle('Hot Deals')->setTemplate('vsourz/deals/deals.phtml')->toHtml();
|
113 |
+
</span></td>
|
114 |
+
</tr>
|
115 |
+
</table>
|
116 |
+
<b>2. Deal Slider</b><br/>
|
117 |
+
<table class="deal-table" border="1" cellpadding="0" cellspacing="1" style="margin-bottom:15px;">
|
118 |
+
<tr>
|
119 |
+
<td width="130" style="padding:5px"><b style="color:#333;">Admin code</b>
|
120 |
+
</td>
|
121 |
+
<td style="padding:5px">
|
122 |
+
<span class="notice";">{{block type="vsourz_deals/deals" name="deals-products" template="vsourz/deals/deals-slider.phtml" title="Hot Deals"}}</span>
|
123 |
+
</td>
|
124 |
+
</tr>
|
125 |
+
<tr>
|
126 |
+
<td style="padding:5px">
|
127 |
+
<b style="color:#333;">XML code</b>
|
128 |
+
</td>
|
129 |
+
<td style="padding:5px"><span class="notice";">< block type="vsourz_deals/deals" name="deals-products" template="vsourz/deals/deals-slider.phtml" >
|
130 |
+
< action method="setTitle">< title>Deals List< /title>< /action>
|
131 |
+
< action method="setCategoryId">< category_id>60< /category_id>< /action>
|
132 |
+
< /block></span>
|
133 |
+
</td>
|
134 |
+
</tr>
|
135 |
+
<tr>
|
136 |
+
<td style="padding:5px"><b style="color:#333;">PTHML code</b>
|
137 |
+
</td>
|
138 |
+
<td style="padding:5px"><span class="notice";">
|
139 |
+
echo $this->getLayout()->createBlock('vsourz_deals/deals')->setCategoryId('1')->setTitle('Hot Deals')->setTemplate('vsourz/deals/deals-slider.phtml')->toHtml();
|
140 |
+
</span></td>
|
141 |
+
</tr>
|
142 |
+
</table>
|
143 |
+
<b>Please Note: In the XML code, we have intentionally placed space in the XML tags. Please remove the spaces while adding the code.</b>
|
144 |
+
</div>]]></comment>
|
145 |
+
</codesnippets>
|
146 |
+
</groups>
|
147 |
+
</deals>
|
148 |
+
</sections>
|
149 |
+
</config>
|
app/design/frontend/base/default/layout/deals.xml
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<default>
|
4 |
+
<reference name="head">
|
5 |
+
<action method="addItem" ifconfig="deals/settings/loadjs"><type>skin_js</type><name>js/deals/jquery-1.10.2.min.js</name></action>
|
6 |
+
<action method="addItem"><type>skin_js</type><name>js/deals/jquery.plugin.min.js</name></action>
|
7 |
+
<action method="addItem"><type>skin_js</type><name>js/deals/jquery.countdown.min.js</name></action>
|
8 |
+
<action method="addItem" ifconfig="deals/settings/loadcarousel"><type>skin_js</type><name>js/deals/owl.carousel.min.js</name></action>
|
9 |
+
<action method="addItem" ifconfig="deals/settings/loadcarousel"><type>skin_css</type><name>css/deals/owl.carousel.css</name></action>
|
10 |
+
<action method="addItem" ifconfig="deals/settings/loadcarousel"><type>skin_css</type><name>css/deals/owl.transitions.css</name></action>
|
11 |
+
<action method="addItem" ifconfig="deals/settings/loadcarousel"><type>skin_css</type><name>css/deals/owl.theme.css</name></action>
|
12 |
+
<action method="addItem"><type>skin_css</type><name>css/deals/deals.css</name></action>
|
13 |
+
</reference>
|
14 |
+
</default>
|
15 |
+
</layout>
|
app/design/frontend/base/default/template/vsourz/deals/deals-slider.phtml
ADDED
@@ -0,0 +1,84 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $_products = $this->getProducts(); ?>
|
2 |
+
<?php $_items = $this->getProductCount(); ?>
|
3 |
+
<div class="deal-product deal-slider">
|
4 |
+
<div class="block_head_center"><h3><?php echo $this->getTitle(); ?></h3></div>
|
5 |
+
<div class="container-slider">
|
6 |
+
<div id="owl-demo" class="owl-carousel hot-deals">
|
7 |
+
<?php foreach($_products as $_product):?>
|
8 |
+
<div class="item">
|
9 |
+
<div class="item-inner">
|
10 |
+
<div class="item-img">
|
11 |
+
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_product->getName()) ?>" class="product-image">
|
12 |
+
<img class="main-img lazyOwl" data-src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(250,250) ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"/>
|
13 |
+
</a>
|
14 |
+
</div>
|
15 |
+
<div class="item-info">
|
16 |
+
<div class="info-inner">
|
17 |
+
<div class="item-title"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_product->getName()) ?>"><?php echo $this->escapeHtml($_product->getName()) ?></a></div>
|
18 |
+
<?php echo $this->getPriceHtml($_product, true, '-new') ?>
|
19 |
+
<div class="discount">
|
20 |
+
<?php echo 'Discount: <span>'.$this->getDiscountPer($_product).'</span>,';?>
|
21 |
+
<?php echo 'You save: <span>'.$this->getDiscountAmt($_product).'</span>'; ?>
|
22 |
+
</div>
|
23 |
+
<?php echo $this->getReviewsSummaryHtml($_product, 'short',true) ?>
|
24 |
+
<div data-countdown="<?php echo date('Y/m/d', strtotime($_product['special_to_date'])); ?>" class="timer"></div>
|
25 |
+
<div class="actions">
|
26 |
+
<?php if($_product->isSaleable()): ?>
|
27 |
+
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><?php echo $this->__('Add to Cart') ?></button>
|
28 |
+
<?php else: ?>
|
29 |
+
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
|
30 |
+
<?php endif; ?>
|
31 |
+
|
32 |
+
<ul class="add-to-links">
|
33 |
+
<?php if ($this->helper('wishlist')->isAllow()) : ?>
|
34 |
+
<li><a href="<?php echo $this->getAddToWishlistUrl($_product) ?>" class="link-wishlist" title="Add to Wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
|
35 |
+
<?php endif; ?>
|
36 |
+
<?php if ($_compareUrl = $this->getAddToCompareUrl($_product)): ?>
|
37 |
+
<li><a href="<?php echo $_compareUrl ?>" class="link-compare" title="Add to Compare"><?php echo $this->__('Add to Compare') ?></a></li>
|
38 |
+
<?php endif; ?>
|
39 |
+
</ul>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
|
45 |
+
</div>
|
46 |
+
<?php endforeach; ?>
|
47 |
+
</div>
|
48 |
+
</div>
|
49 |
+
</div>
|
50 |
+
<script type="text/javascript">
|
51 |
+
jQuery('[data-countdown]').each(function(){
|
52 |
+
var $this = $(this), finaldate = jQuery(this).data('countdown');
|
53 |
+
finaldate = new Date(finaldate);
|
54 |
+
jQuery(this).countdown({until: finaldate, padZeroes: true});
|
55 |
+
})
|
56 |
+
</script>
|
57 |
+
<?php $autoplay = Mage::getStoreConfig('deals/settings/autoplay'); ?>
|
58 |
+
<script type="text/javascript">
|
59 |
+
//<![CDATA
|
60 |
+
jQuery(document).ready(function() {
|
61 |
+
|
62 |
+
jQuery(".owl-carousel.hot-deals").owlCarousel({
|
63 |
+
items : 2,
|
64 |
+
itemsCustom : [
|
65 |
+
[0, 1],
|
66 |
+
[450, 1],
|
67 |
+
[600, 1],
|
68 |
+
[700, 1],
|
69 |
+
[1000, 1],
|
70 |
+
[1200, 1],
|
71 |
+
[1400, 1],
|
72 |
+
[1600, 1]
|
73 |
+
],
|
74 |
+
lazyLoad : true,
|
75 |
+
navigation : true,
|
76 |
+
pagination : false,
|
77 |
+
autoPlay: <?php echo $autoplay ?>,
|
78 |
+
navigationText: [
|
79 |
+
"<i class='icon-left'></i>",
|
80 |
+
"<i class='icon-right'></i>"],
|
81 |
+
});
|
82 |
+
});
|
83 |
+
//]]>
|
84 |
+
</script>
|
app/design/frontend/base/default/template/vsourz/deals/deals.phtml
ADDED
@@ -0,0 +1,54 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $_products = $this->getProducts(); ?>
|
2 |
+
<?php $_items = $this->getProductCount(); ?>
|
3 |
+
<div class="deal-product">
|
4 |
+
<div class="block_head_center"><h3><?php echo $this->getTitle(); ?></h3></div>
|
5 |
+
<div class="container-slider">
|
6 |
+
<div id="" class="hot-deals list list-<?php echo Mage::getStoreConfig('deals/settings/productcount')?>">
|
7 |
+
<?php foreach($_products as $_product):?>
|
8 |
+
<div class="item">
|
9 |
+
<div class="item-inner">
|
10 |
+
<div data-countdown="<?php echo date('Y/m/d', strtotime($_product['special_to_date'])); ?>" class="timer"></div>
|
11 |
+
<div class="item-img">
|
12 |
+
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_product->getName()) ?>" class="product-image">
|
13 |
+
<img class="main-img" src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(300,300) ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"/>
|
14 |
+
</a>
|
15 |
+
</div>
|
16 |
+
<div class="item-info">
|
17 |
+
<div class="info-inner">
|
18 |
+
<div class="item-title"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_product->getName()) ?>"><?php echo $this->escapeHtml($_product->getName()) ?></a></div>
|
19 |
+
<?php echo $this->getPriceHtml($_product, true, '-new') ?>
|
20 |
+
<div class="discount">
|
21 |
+
<?php echo 'Discount: <span>'.$this->getDiscountPer($_product).'</span>,';?>
|
22 |
+
<?php echo 'You save: <span>'.$this->getDiscountAmt($_product).'</span>'; ?>
|
23 |
+
</div>
|
24 |
+
<?php echo $this->getReviewsSummaryHtml($_product, 'short',true) ?>
|
25 |
+
<div class="actions">
|
26 |
+
<?php if($_product->isSaleable()): ?>
|
27 |
+
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><?php echo $this->__('Add to Cart') ?></button>
|
28 |
+
<?php else: ?>
|
29 |
+
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
|
30 |
+
<?php endif; ?>
|
31 |
+
<ul class="add-to-links">
|
32 |
+
<?php if ($this->helper('wishlist')->isAllow()) : ?>
|
33 |
+
<li><a href="<?php echo $this->getAddToWishlistUrl($_product) ?>" class="link-wishlist" title="Add to Wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
|
34 |
+
<?php endif; ?>
|
35 |
+
<?php if ($_compareUrl = $this->getAddToCompareUrl($_product)): ?>
|
36 |
+
<li><a href="<?php echo $_compareUrl ?>" class="link-compare" title="Add to Compare"><?php echo $this->__('Add to Compare') ?></a></li>
|
37 |
+
<?php endif; ?>
|
38 |
+
</ul>
|
39 |
+
</div>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
<?php endforeach; ?>
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
<script type="text/javascript">
|
49 |
+
jQuery('[data-countdown]').each(function(){
|
50 |
+
var $this = $(this), finaldate = jQuery(this).data('countdown');
|
51 |
+
finaldate = new Date(finaldate);
|
52 |
+
jQuery(this).countdown({until: finaldate, padZeroes: true});
|
53 |
+
})
|
54 |
+
</script>
|
app/etc/modules/Vsourz_Deals.xml
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Magento
|
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 license@magentocommerce.com so we can send you a copy immediately.
|
15 |
+
*
|
16 |
+
* @category Vsourz
|
17 |
+
* @package Vsourz_Layerslider
|
18 |
+
* @copyright Copyright (c) 2014 Vsourz Ltd
|
19 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
20 |
+
*/
|
21 |
+
-->
|
22 |
+
<config>
|
23 |
+
<modules>
|
24 |
+
<Vsourz_Deals>
|
25 |
+
<active>true</active>
|
26 |
+
<codePool>community</codePool>
|
27 |
+
</Vsourz_Deals>
|
28 |
+
</modules>
|
29 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Vsourz_Hot_Deals</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://opensource.org/licenses/MIT">Massachusetts Institute of Technology License (MITL)</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>Hot Deals allows you to list your product in the deals section with attractive countdown timer.</summary>
|
10 |
+
<description>Product Deals:
|
11 |
+

|
12 |
+
Create any number of deals using our Product Deals extension. It will provide you the ability to list your products with Special Prices in the Deals section. It will encourage customers to buy from the website and help enhance your sales.
|
13 |
+

|
14 |
+
It will take 10 mins to setup the product deals on your website. Follow these steps to have it setup.
|
15 |
+

|
16 |
+
1) Download the extension from Magento Connect
|
17 |
+
2) Note the category Id for Product deals category
|
18 |
+
3) Do general setting for the extension from System >> Configuration
|
19 |
+
4) Add the Code Snippet given below to show the product deals on frontend.
|
20 |
+

|
21 |
+
Features
|
22 |
+
=======
|
23 |
+
1. Categorized products deals
|
24 |
+
2. Slide and Listing layout
|
25 |
+
3. Show countdown - Flexible countdown timer(Days:Hours:Minutes:Seconds)
|
26 |
+
4. Shows discount percentage and discount amount on product listing page
|
27 |
+
5. Facility to limit number of products displayed
|
28 |
+
6. Responsive layout
|
29 |
+
7. Support all types of product (Simple, Virtual, Downloadable, Configurable, Grouped, Bundled)
|
30 |
+
8. Easy to install and easy to upgrade with no CORE code modifications
|
31 |
+
9. Easy to customize front-end via HTML/CSS
|
32 |
+

|
33 |
+
How to use?
|
34 |
+
==============
|
35 |
+

|
36 |
+
1) Install extension from Magento Connect
|
37 |
+

|
38 |
+
2) Goto Catalog >> Manage Categories. You will see a category named Product Deals created. Copy the ID of the category.
|
39 |
+

|
40 |
+
3) Go to : System-> Configuration-> Vsourz Deals-> Product Deals and follow below steps
|
41 |
+

|
42 |
+
**** General Setting
|
43 |
+
a. Load JQuery Library: Select YES if JQuery library in not included in your Magento Project
|
44 |
+

|
45 |
+
b. Load OwlCarousel JS/CSS: If you have already included OwlCarousal then select "No" otherwise "Yes"
|
46 |
+

|
47 |
+
c. Category Id: Insert the category Id of the product deals category.
|
48 |
+

|
49 |
+
Please Note: This is a default category id. To list the products of particular category, you can override the default id from the code snippet given below.
|
50 |
+

|
51 |
+
d. Product Per Row: Enter number of products you want to show in single row. Supports upto fours products per row
|
52 |
+

|
53 |
+
4) Enter the Special Price, its Start date and End date to list the product in Deals section automatically.
|
54 |
+

|
55 |
+
How to call the deal section on frontend?
|
56 |
+

|
57 |
+
**** Shortcodes ****
|
58 |
+
You can use below code snippet to display deals products on frontend. Any number of categorised deals can be created on website.
|
59 |
+

|
60 |
+
1) Use product_count to display limited number of products in this section product_count = 0 will display all products in that category
|
61 |
+

|
62 |
+
2) To create separate deals based on the category, you will have to mention the category id in the code snippet while calling it.
|
63 |
+
Use parameter category_id = "CAT ID"
|
64 |
+

|
65 |
+
1. Deals list layout
|
66 |
+

|
67 |
+
Admin code: {{block type="vsourz_deals/deals" name="deals-products" template="vsourz/deals/deals.phtml" title="Hot Deals List"}}
|
68 |
+

|
69 |
+
XML code: < block type="vsourz_deals/deals" name="deals-products" template="vsourz/deals/deals.phtml" > < action method="setTitle">< title>Deals List< /title>< /action> < action method="setCategoryId">< category_id>60< /category_id>< /action> < /block>
|
70 |
+

|
71 |
+
PTHML code: echo $this->getLayout()->createBlock('vsourz_deals/deals')->setCategoryId('1')->setTitle('Hot Deals')->setTemplate('vsourz/deals/deals.phtml')->toHtml();
|
72 |
+

|
73 |
+
2. Deals Slide Layout
|
74 |
+

|
75 |
+
Admin code: {{block type="vsourz_deals/deals" name="deals-products" template="vsourz/deals/deals-slider.phtml" title="Hot Deals"}}
|
76 |
+

|
77 |
+
XML code: < block type="vsourz_deals/deals" name="deals-products" template="vsourz/deals/deals-slider.phtml" > < action method="setTitle">< title>Deals List< /title>< /action> < action method="setCategoryId">< category_id>60< /category_id>< /action> < /block>
|
78 |
+

|
79 |
+
PTHML code: echo $this->getLayout()->createBlock('vsourz_deals/deals')->setCategoryId('1')->setTitle('Hot Deals')->setTemplate('vsourz/deals/deals-slider.phtml')->toHtml();
|
80 |
+

|
81 |
+
Please Note: In the XML code, we have intentionally placed space in the XML tags. Please remove the spaces while adding the code.
|
82 |
+
</description>
|
83 |
+
<notes>This is a First Release !!</notes>
|
84 |
+
<authors><author><name>Vsourz Digital</name><user>MAG002979323</user><email>mehul@vsourz.com</email></author></authors>
|
85 |
+
<date>2015-05-27</date>
|
86 |
+
<time>09:16:01</time>
|
87 |
+
<contents><target name="magecommunity"><dir name="Vsourz"><dir name="Deals"><dir name="Block"><file name="Deals.php" hash="afbe05405880194e6671a414c572983a"/></dir><dir name="Helper"><file name="Data.php" hash="52a9032e0f12bc3cd0eb87bb45b48478"/></dir><dir name="Model"><file name="Deals.php" hash="e25d636e58f9f58dc202827b64abfd75"/><dir name="Source"><file name="Truefalse.php" hash="32f870c3200a4dc0e2e931e1715ba5c3"/></dir></dir><dir name="data"><dir name="deals_setup"><file name="data-install-0.1.0.php" hash="50a8b87ec2ee54e543a3f0e6d30b7e8c"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="bead355fab11d2a2680fec3f5c751b5c"/><file name="config.xml" hash="4443cb52b911b409b0a8ce7213b4ef08"/><file name="system.xml" hash="ed490e725e2c944d2d90397bdbc05979"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Vsourz_Deals.xml" hash="da7a1c51758dee2f646e9f1cf8414309"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="deals.xml" hash="0e8a8a4ab3cdbee8f4f0e54a3b59b48c"/></dir><dir name="template"><dir name="vsourz"><dir name="deals"><file name="deals-slider.phtml" hash="23bc1f531e1c8e0eba64026bcf367a23"/><file name="deals.phtml" hash="61d94deef55fc93afaa53a4b6bd8995c"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="deals"><file name="deals.css" hash="5b89047184bad153fa6eb189de489d7b"/><file name="owl.carousel.css" hash="d49fbfc6c0444e7c67b2ee7ae284a293"/><file name="owl.theme.css" hash="a361030c37b888ccf0bedb5cf308bfac"/><file name="owl.transitions.css" hash="b1bdaeac4065bf67a7d7a06213192964"/></dir></dir><dir name="js"><dir name="deals"><file name="jquery.countdown.min.js" hash="b18fc832a3544daa2df3304c7712b558"/><file name="jquery.plugin.min.js" hash="2548a741b69e479e2159819c2e9d24da"/><file name="owl.carousel.min.js" hash="8c52f27fcac36c7667f8fb846e1e94d5"/></dir></dir></dir></dir></dir></target></contents>
|
88 |
+
<compatible/>
|
89 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
|
90 |
+
</package>
|
skin/frontend/base/default/css/deals/deals.css
ADDED
@@ -0,0 +1,274 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/***** Deal *******/
|
2 |
+
.deal-product .list .timer
|
3 |
+
{
|
4 |
+
color: #fff;
|
5 |
+
font-size: 10px;
|
6 |
+
left: -5px;
|
7 |
+
margin-bottom: 20px;
|
8 |
+
position: absolute;
|
9 |
+
text-transform: uppercase;
|
10 |
+
top: 20px;
|
11 |
+
transition: all 0.5s ease-in-out 0s;
|
12 |
+
z-index: 99;
|
13 |
+
text-align:center;
|
14 |
+
}
|
15 |
+
.deal-product .list .timer .countdown-amount
|
16 |
+
{
|
17 |
+
font-weight:bold;
|
18 |
+
font-size:14px;
|
19 |
+
}
|
20 |
+
.list .countdown-row .countdown-section
|
21 |
+
{
|
22 |
+
background:#4c4c4c;
|
23 |
+
display: block;
|
24 |
+
height: auto;
|
25 |
+
line-height: 15px;
|
26 |
+
margin-bottom: 8px;
|
27 |
+
padding: 15% 0;
|
28 |
+
position: relative;
|
29 |
+
text-align: center;
|
30 |
+
width: 55px;
|
31 |
+
}
|
32 |
+
.list .countdown-row .countdown-section:before
|
33 |
+
{
|
34 |
+
border-color:#3b3b3b transparent transparent;
|
35 |
+
border-style: solid;
|
36 |
+
border-width: 7px 0 0 6px;
|
37 |
+
content: "";
|
38 |
+
height: 0;
|
39 |
+
left: 0;
|
40 |
+
position: absolute;
|
41 |
+
top: 100%;
|
42 |
+
width: 0;
|
43 |
+
}
|
44 |
+
.list .countdown-row .countdown-section .countdown-period{display:block;}
|
45 |
+
.container-slider{margin:0 -15px;}
|
46 |
+
|
47 |
+
.deal-product .item-inner{
|
48 |
+
position:relative;
|
49 |
+
border:1px solid #ececec;
|
50 |
+
text-align:center;
|
51 |
+
margin-bottom:1px;
|
52 |
+
background:#fbfbfb;
|
53 |
+
padding:0;
|
54 |
+
}
|
55 |
+
.deal-product .item-inner .product-image
|
56 |
+
{
|
57 |
+
border:none;
|
58 |
+
}
|
59 |
+
.deal-product .item-inner .product-image img{width:100%;}
|
60 |
+
.deal-product .item-inner .item-title
|
61 |
+
{
|
62 |
+
font-size:15px;
|
63 |
+
font-weight:bold;
|
64 |
+
}
|
65 |
+
.deal-product .item{padding:0;}
|
66 |
+
.hot-deals.list .item{
|
67 |
+
width:25%;
|
68 |
+
float:left;
|
69 |
+
padding:0 15px;
|
70 |
+
margin-bottom:30px;
|
71 |
+
}
|
72 |
+
.hot-deals.list .item .item-inner{overflow:visible;}
|
73 |
+
.hot-deals.list-4 .item{width:25%;}
|
74 |
+
.hot-deals.list-3 .item{width:33.33%;}
|
75 |
+
.hot-deals.list-2 .item{width:50%;}
|
76 |
+
.hot-deals.list:after
|
77 |
+
{
|
78 |
+
content:"";
|
79 |
+
display:block;
|
80 |
+
clear:both;
|
81 |
+
}
|
82 |
+
.hot-deals .item-img
|
83 |
+
{
|
84 |
+
border-bottom:1px solid #ececec;
|
85 |
+
margin-bottom:10px;
|
86 |
+
}
|
87 |
+
.deal-product .price-box p{margin:0;}
|
88 |
+
.deal-product .price-box .old-price .price{
|
89 |
+
|
90 |
+
font-size:12px;
|
91 |
+
}
|
92 |
+
.deal-product .price-box .price,
|
93 |
+
.deal-product .price-box .special-price .price
|
94 |
+
{
|
95 |
+
font-size:18px;
|
96 |
+
color:#424242;
|
97 |
+
}
|
98 |
+
.deal-product .deal-product .actions{overflow:hidden;
|
99 |
+
position:relative;
|
100 |
+
text-align:center;
|
101 |
+
}
|
102 |
+
.deal-product .hot-deals .add-to-links li
|
103 |
+
{
|
104 |
+
display:block;
|
105 |
+
margin:0;
|
106 |
+
}
|
107 |
+
.deal-product .hot-deals .owl-controls.clickable .owl-pagination{bottom:28px;}
|
108 |
+
.deal-product .hot-deals .owl-pagination{padding-top:15px;}
|
109 |
+
|
110 |
+
/**** Slider Layout *******/
|
111 |
+
.owl-carousel.hot-deals .item-info,
|
112 |
+
.owl-carousel.hot-deals .item-img
|
113 |
+
{
|
114 |
+
float:left;
|
115 |
+
width:50%;
|
116 |
+
padding:0 15px;
|
117 |
+
margin:0;
|
118 |
+
border:none;
|
119 |
+
text-align:left;
|
120 |
+
}
|
121 |
+
.owl-carousel.hot-deals .item-inner{overflow:hidden;border:none;background:none;box-shadow:none;}
|
122 |
+
.deal-slider .block_head_center h3:before
|
123 |
+
{
|
124 |
+
border-color: transparent #2E8AB8 transparent transparent;
|
125 |
+
border-style: solid;
|
126 |
+
border-width: 0 7px 10px 0;
|
127 |
+
content: "";
|
128 |
+
display: block;
|
129 |
+
height: 0;
|
130 |
+
left: 0;
|
131 |
+
position: absolute;
|
132 |
+
top: 100%;
|
133 |
+
width: 0;
|
134 |
+
}
|
135 |
+
.deal-slider .block_head_center h3:after
|
136 |
+
{
|
137 |
+
border-color: transparent transparent transparent #3399cc;
|
138 |
+
border-style: solid;
|
139 |
+
border-width: 27px 0 27px 27px;
|
140 |
+
content: "";
|
141 |
+
display: block;
|
142 |
+
height: 0;
|
143 |
+
left: 99.99%;
|
144 |
+
position: absolute;
|
145 |
+
top: 0;
|
146 |
+
width: 0;
|
147 |
+
}
|
148 |
+
.deal-slider .block_head_center
|
149 |
+
{
|
150 |
+
position:relative;
|
151 |
+
min-height:55px;
|
152 |
+
}
|
153 |
+
.deal-slider .block_head_center h3
|
154 |
+
{
|
155 |
+
background: #3399cc;
|
156 |
+
color: #fff;
|
157 |
+
display: block;
|
158 |
+
height: 54px;
|
159 |
+
left: -7px;
|
160 |
+
line-height: 54px;
|
161 |
+
padding: 0 20px;
|
162 |
+
position: absolute;
|
163 |
+
top: 0;
|
164 |
+
white-space: nowrap;
|
165 |
+
font-weight:bold;
|
166 |
+
}
|
167 |
+
.deal-product .owl-carousel .timer
|
168 |
+
{
|
169 |
+
color: #ccc;
|
170 |
+
font-size: 10px;
|
171 |
+
margin-bottom: 10px;
|
172 |
+
text-transform: uppercase;
|
173 |
+
z-index: 99;
|
174 |
+
}
|
175 |
+
.owl-carousel.hot-deals .countdown-row .countdown-section
|
176 |
+
{
|
177 |
+
display: inline-block;
|
178 |
+
height: auto;
|
179 |
+
line-height: 15px;
|
180 |
+
padding: 5px 0;
|
181 |
+
position: relative;
|
182 |
+
text-align: center;
|
183 |
+
width: 60px;
|
184 |
+
float:left;
|
185 |
+
}
|
186 |
+
.owl-carousel.hot-deals .countdown-row .countdown-section + .countdown-section
|
187 |
+
{
|
188 |
+
border-left:1px solid #ccc;
|
189 |
+
}
|
190 |
+
.owl-carousel.hot-deals .countdown-row .countdown-section .countdown-amount
|
191 |
+
{
|
192 |
+
font-size:14px;
|
193 |
+
font-weight:bold;
|
194 |
+
color:#333;
|
195 |
+
}
|
196 |
+
.owl-carousel.hot-deals .countdown-row
|
197 |
+
{
|
198 |
+
border:1px solid #ccc;
|
199 |
+
overflow:hidden;
|
200 |
+
display:inline-block;
|
201 |
+
}
|
202 |
+
.owl-carousel.hot-deals .countdown-row .countdown-section .countdown-period{display:block;}
|
203 |
+
.owl-carousel.hot-deals.owl-theme .owl-controls
|
204 |
+
{
|
205 |
+
position: absolute;
|
206 |
+
right: 15px;
|
207 |
+
top: -51px;
|
208 |
+
}
|
209 |
+
.hot-deals .no-rating{margin:0 0 7px 0;}
|
210 |
+
.hot-deals .discount{margin:0 0 7px 0;}
|
211 |
+
.hot-deals .discount span{font-weight:bold;}
|
212 |
+
.owl-carousel.hot-deals.owl-theme .owl-controls .owl-buttons div
|
213 |
+
{
|
214 |
+
background:#ddd;
|
215 |
+
color:#111;
|
216 |
+
width:30px;
|
217 |
+
height:30px;
|
218 |
+
text-indent:0;
|
219 |
+
display:inline-block;
|
220 |
+
position:relative;
|
221 |
+
margin:0 3px;
|
222 |
+
line-height:30px;
|
223 |
+
text-align:center;
|
224 |
+
}
|
225 |
+
.owl-carousel.hot-deals.owl-theme .owl-controls .owl-buttons div i
|
226 |
+
{
|
227 |
+
font-style:normal;
|
228 |
+
}
|
229 |
+
.owl-carousel.hot-deals.owl-theme .owl-controls .owl-buttons div:hover
|
230 |
+
{
|
231 |
+
opacity:0.8;
|
232 |
+
}
|
233 |
+
.owl-carousel.hot-deals.owl-theme .owl-controls .owl-buttons div.owl-prev .icon-left:before
|
234 |
+
{
|
235 |
+
content:"<";
|
236 |
+
display:inline-block;
|
237 |
+
}
|
238 |
+
.owl-carousel.hot-deals.owl-theme .owl-controls .owl-buttons div.owl-next .icon-right:before
|
239 |
+
{
|
240 |
+
content:">";
|
241 |
+
display:inline-block;
|
242 |
+
}
|
243 |
+
.deal-slider .container-slider{margin:0;padding:15px 0 0 0;}
|
244 |
+
|
245 |
+
@media (max-width: 1240px) {
|
246 |
+
|
247 |
+
}
|
248 |
+
@media (max-width: 1022px) {
|
249 |
+
.hot-deals.list-4 .item,
|
250 |
+
.hot-deals.list-3 .item,
|
251 |
+
.hot-deals.list-2 .item,
|
252 |
+
.hot-deals.list .item
|
253 |
+
{
|
254 |
+
width:33.33%;
|
255 |
+
}
|
256 |
+
}
|
257 |
+
@media (max-width: 767px) {
|
258 |
+
.hot-deals.list-4 .item,
|
259 |
+
.hot-deals.list-3 .item,
|
260 |
+
.hot-deals.list-2 .item,
|
261 |
+
.hot-deals.list .item
|
262 |
+
{
|
263 |
+
width:100%;
|
264 |
+
}
|
265 |
+
}
|
266 |
+
@media (max-width: 479px) {
|
267 |
+
.hot-deals.list-4 .item,
|
268 |
+
.hot-deals.list-3 .item,
|
269 |
+
.hot-deals.list-2 .item,
|
270 |
+
.hot-deals.list .item
|
271 |
+
{
|
272 |
+
width:100%;
|
273 |
+
}
|
274 |
+
}
|
skin/frontend/base/default/css/deals/owl.carousel.css
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Core Owl Carousel CSS File
|
3 |
+
* v1.3.3
|
4 |
+
*/
|
5 |
+
|
6 |
+
/* clearfix */
|
7 |
+
.owl-carousel .owl-wrapper:after {
|
8 |
+
content: ".";
|
9 |
+
display: block;
|
10 |
+
clear: both;
|
11 |
+
visibility: hidden;
|
12 |
+
line-height: 0;
|
13 |
+
height: 0;
|
14 |
+
}
|
15 |
+
/* display none until init */
|
16 |
+
.owl-carousel{
|
17 |
+
display: none;
|
18 |
+
position: relative;
|
19 |
+
width: 100%;
|
20 |
+
-ms-touch-action: pan-y;
|
21 |
+
}
|
22 |
+
.owl-carousel .owl-wrapper{
|
23 |
+
display: none;
|
24 |
+
position: relative;
|
25 |
+
-webkit-transform: translate3d(0px, 0px, 0px);
|
26 |
+
}
|
27 |
+
.owl-carousel .owl-wrapper-outer{
|
28 |
+
overflow: hidden;
|
29 |
+
position: relative;
|
30 |
+
width: 100%;
|
31 |
+
}
|
32 |
+
.owl-carousel .owl-wrapper-outer.autoHeight{
|
33 |
+
-webkit-transition: height 500ms ease-in-out;
|
34 |
+
-moz-transition: height 500ms ease-in-out;
|
35 |
+
-ms-transition: height 500ms ease-in-out;
|
36 |
+
-o-transition: height 500ms ease-in-out;
|
37 |
+
transition: height 500ms ease-in-out;
|
38 |
+
}
|
39 |
+
|
40 |
+
.owl-carousel .owl-item{
|
41 |
+
float: left;
|
42 |
+
}
|
43 |
+
.owl-controls .owl-page,
|
44 |
+
.owl-controls .owl-buttons div{
|
45 |
+
cursor: pointer;
|
46 |
+
}
|
47 |
+
.owl-controls {
|
48 |
+
-webkit-user-select: none;
|
49 |
+
-khtml-user-select: none;
|
50 |
+
-moz-user-select: none;
|
51 |
+
-ms-user-select: none;
|
52 |
+
user-select: none;
|
53 |
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
54 |
+
}
|
55 |
+
|
56 |
+
/* mouse grab icon */
|
57 |
+
.grabbing {
|
58 |
+
cursor:url(grabbing.png) 8 8, move;
|
59 |
+
}
|
60 |
+
|
61 |
+
/* fix */
|
62 |
+
.owl-carousel .owl-wrapper,
|
63 |
+
.owl-carousel .owl-item{
|
64 |
+
-webkit-backface-visibility: hidden;
|
65 |
+
-moz-backface-visibility: hidden;
|
66 |
+
-ms-backface-visibility: hidden;
|
67 |
+
-webkit-transform: translate3d(0,0,0);
|
68 |
+
-moz-transform: translate3d(0,0,0);
|
69 |
+
-ms-transform: translate3d(0,0,0);
|
70 |
+
}
|
71 |
+
|
skin/frontend/base/default/css/deals/owl.theme.css
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Owl Carousel Owl Demo Theme
|
3 |
+
* v1.3.3
|
4 |
+
*/
|
5 |
+
|
6 |
+
.owl-theme .owl-controls{
|
7 |
+
margin-top: 0px;
|
8 |
+
text-align: center;
|
9 |
+
}
|
10 |
+
|
11 |
+
/* Styling Next and Prev buttons */
|
12 |
+
|
13 |
+
.owl-theme .owl-controls .owl-buttons div
|
14 |
+
{
|
15 |
+
background:url(../images/bg-control.png) no-repeat scroll 0 0 transparent;
|
16 |
+
border: 0 none;
|
17 |
+
height: 44px;
|
18 |
+
position: absolute;
|
19 |
+
text-indent: -9999px;
|
20 |
+
width: 44px;
|
21 |
+
|
22 |
+
transition: all 0.3s ease 0s;
|
23 |
+
-moz-transition: all 0.3s ease 0s;
|
24 |
+
-webkit-transition: all 0.3s ease 0s;
|
25 |
+
-o-transition: all 0.3s ease 0s;
|
26 |
+
}
|
27 |
+
|
28 |
+
.owl-theme .owl-controls .owl-buttons .owl-prev
|
29 |
+
{
|
30 |
+
background-position: 0 0;
|
31 |
+
position:absolute;
|
32 |
+
left:0;
|
33 |
+
top:50%;
|
34 |
+
}
|
35 |
+
.owl-theme .owl-controls .owl-buttons .owl-next
|
36 |
+
{
|
37 |
+
background-position: 100% 0;
|
38 |
+
position:absolute;
|
39 |
+
right:0;
|
40 |
+
top:50%;
|
41 |
+
}
|
42 |
+
.owl-theme .owl-controls .owl-buttons .owl-prev:hover
|
43 |
+
{
|
44 |
+
background-color: #262626;
|
45 |
+
background-position: 0 100%;
|
46 |
+
}
|
47 |
+
.owl-theme .owl-controls .owl-buttons .owl-next:hover
|
48 |
+
{
|
49 |
+
background-color: #262626;
|
50 |
+
background-position: 100% 100%;
|
51 |
+
}
|
52 |
+
|
53 |
+
/* Styling Pagination*/
|
54 |
+
|
55 |
+
.owl-theme .owl-controls .owl-page{
|
56 |
+
display: inline-block;
|
57 |
+
zoom: 1;
|
58 |
+
*display: inline;/*IE7 life-saver */
|
59 |
+
margin:0 3px;
|
60 |
+
}
|
61 |
+
.owl-theme .owl-controls .owl-page span{
|
62 |
+
display: block;
|
63 |
+
background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
|
64 |
+
border-radius: 20px;
|
65 |
+
box-shadow: 0 0 4px rgba(216, 216, 216, 1) inset;
|
66 |
+
-webkit-box-shadow:0 0 4px rgba(216, 216, 216, 1) inset;
|
67 |
+
-moz-box-shadow:0 0 4px rgba(216, 216, 216, 1) inset;
|
68 |
+
-o-shadow:0 0 4px rgba(216, 216, 216, 1) inset;
|
69 |
+
cursor: pointer;
|
70 |
+
display: block;
|
71 |
+
height: 12px;
|
72 |
+
text-indent: -9999px;
|
73 |
+
width: 12px;
|
74 |
+
z-index: 9;
|
75 |
+
margin:0 0 5px 0;
|
76 |
+
}
|
77 |
+
|
78 |
+
.owl-theme .owl-controls .owl-page.active span,
|
79 |
+
.owl-theme .owl-controls.clickable .owl-page:hover span{
|
80 |
+
background: none repeat scroll 0 0 #d5d5d5;
|
81 |
+
}
|
82 |
+
|
83 |
+
/* If PaginationNumbers is true */
|
84 |
+
|
85 |
+
.owl-theme .owl-controls .owl-page span.owl-numbers{
|
86 |
+
height: auto;
|
87 |
+
width: auto;
|
88 |
+
color: #FFF;
|
89 |
+
padding: 2px 10px;
|
90 |
+
font-size: 12px;
|
91 |
+
-webkit-border-radius: 30px;
|
92 |
+
-moz-border-radius: 30px;
|
93 |
+
border-radius: 30px;
|
94 |
+
}
|
95 |
+
|
96 |
+
/* preloading images */
|
97 |
+
.owl-item.loading{
|
98 |
+
min-height: 150px;
|
99 |
+
background: url(AjaxLoader.gif) no-repeat center center
|
100 |
+
}
|
skin/frontend/base/default/css/deals/owl.transitions.css
ADDED
@@ -0,0 +1,163 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Owl Carousel CSS3 Transitions
|
3 |
+
* v1.3.2
|
4 |
+
*/
|
5 |
+
|
6 |
+
.owl-origin {
|
7 |
+
-webkit-perspective: 1200px;
|
8 |
+
-webkit-perspective-origin-x : 50%;
|
9 |
+
-webkit-perspective-origin-y : 50%;
|
10 |
+
-moz-perspective : 1200px;
|
11 |
+
-moz-perspective-origin-x : 50%;
|
12 |
+
-moz-perspective-origin-y : 50%;
|
13 |
+
perspective : 1200px;
|
14 |
+
}
|
15 |
+
/* fade */
|
16 |
+
.owl-fade-out {
|
17 |
+
z-index: 10;
|
18 |
+
-webkit-animation: fadeOut .7s both ease;
|
19 |
+
-moz-animation: fadeOut .7s both ease;
|
20 |
+
animation: fadeOut .7s both ease;
|
21 |
+
}
|
22 |
+
.owl-fade-in {
|
23 |
+
-webkit-animation: fadeIn .7s both ease;
|
24 |
+
-moz-animation: fadeIn .7s both ease;
|
25 |
+
animation: fadeIn .7s both ease;
|
26 |
+
}
|
27 |
+
/* backSlide */
|
28 |
+
.owl-backSlide-out {
|
29 |
+
-webkit-animation: backSlideOut 1s both ease;
|
30 |
+
-moz-animation: backSlideOut 1s both ease;
|
31 |
+
animation: backSlideOut 1s both ease;
|
32 |
+
}
|
33 |
+
.owl-backSlide-in {
|
34 |
+
-webkit-animation: backSlideIn 1s both ease;
|
35 |
+
-moz-animation: backSlideIn 1s both ease;
|
36 |
+
animation: backSlideIn 1s both ease;
|
37 |
+
}
|
38 |
+
/* goDown */
|
39 |
+
.owl-goDown-out {
|
40 |
+
-webkit-animation: scaleToFade .7s ease both;
|
41 |
+
-moz-animation: scaleToFade .7s ease both;
|
42 |
+
animation: scaleToFade .7s ease both;
|
43 |
+
}
|
44 |
+
.owl-goDown-in {
|
45 |
+
-webkit-animation: goDown .6s ease both;
|
46 |
+
-moz-animation: goDown .6s ease both;
|
47 |
+
animation: goDown .6s ease both;
|
48 |
+
}
|
49 |
+
/* scaleUp */
|
50 |
+
.owl-fadeUp-in {
|
51 |
+
-webkit-animation: scaleUpFrom .5s ease both;
|
52 |
+
-moz-animation: scaleUpFrom .5s ease both;
|
53 |
+
animation: scaleUpFrom .5s ease both;
|
54 |
+
}
|
55 |
+
|
56 |
+
.owl-fadeUp-out {
|
57 |
+
-webkit-animation: scaleUpTo .5s ease both;
|
58 |
+
-moz-animation: scaleUpTo .5s ease both;
|
59 |
+
animation: scaleUpTo .5s ease both;
|
60 |
+
}
|
61 |
+
/* Keyframes */
|
62 |
+
/*empty*/
|
63 |
+
@-webkit-keyframes empty {
|
64 |
+
0% {opacity: 1}
|
65 |
+
}
|
66 |
+
@-moz-keyframes empty {
|
67 |
+
0% {opacity: 1}
|
68 |
+
}
|
69 |
+
@keyframes empty {
|
70 |
+
0% {opacity: 1}
|
71 |
+
}
|
72 |
+
@-webkit-keyframes fadeIn {
|
73 |
+
0% { opacity:0; }
|
74 |
+
100% { opacity:1; }
|
75 |
+
}
|
76 |
+
@-moz-keyframes fadeIn {
|
77 |
+
0% { opacity:0; }
|
78 |
+
100% { opacity:1; }
|
79 |
+
}
|
80 |
+
@keyframes fadeIn {
|
81 |
+
0% { opacity:0; }
|
82 |
+
100% { opacity:1; }
|
83 |
+
}
|
84 |
+
@-webkit-keyframes fadeOut {
|
85 |
+
0% { opacity:1; }
|
86 |
+
100% { opacity:0; }
|
87 |
+
}
|
88 |
+
@-moz-keyframes fadeOut {
|
89 |
+
0% { opacity:1; }
|
90 |
+
100% { opacity:0; }
|
91 |
+
}
|
92 |
+
@keyframes fadeOut {
|
93 |
+
0% { opacity:1; }
|
94 |
+
100% { opacity:0; }
|
95 |
+
}
|
96 |
+
@-webkit-keyframes backSlideOut {
|
97 |
+
25% { opacity: .5; -webkit-transform: translateZ(-500px); }
|
98 |
+
75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
|
99 |
+
100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); }
|
100 |
+
}
|
101 |
+
@-moz-keyframes backSlideOut {
|
102 |
+
25% { opacity: .5; -moz-transform: translateZ(-500px); }
|
103 |
+
75% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
|
104 |
+
100% { opacity: .5; -moz-transform: translateZ(-500px) translateX(-200%); }
|
105 |
+
}
|
106 |
+
@keyframes backSlideOut {
|
107 |
+
25% { opacity: .5; transform: translateZ(-500px); }
|
108 |
+
75% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
|
109 |
+
100% { opacity: .5; transform: translateZ(-500px) translateX(-200%); }
|
110 |
+
}
|
111 |
+
@-webkit-keyframes backSlideIn {
|
112 |
+
0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); }
|
113 |
+
75% { opacity: .5; -webkit-transform: translateZ(-500px); }
|
114 |
+
100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); }
|
115 |
+
}
|
116 |
+
@-moz-keyframes backSlideIn {
|
117 |
+
0%, 25% { opacity: .5; -moz-transform: translateZ(-500px) translateX(200%); }
|
118 |
+
75% { opacity: .5; -moz-transform: translateZ(-500px); }
|
119 |
+
100% { opacity: 1; -moz-transform: translateZ(0) translateX(0); }
|
120 |
+
}
|
121 |
+
@keyframes backSlideIn {
|
122 |
+
0%, 25% { opacity: .5; transform: translateZ(-500px) translateX(200%); }
|
123 |
+
75% { opacity: .5; transform: translateZ(-500px); }
|
124 |
+
100% { opacity: 1; transform: translateZ(0) translateX(0); }
|
125 |
+
}
|
126 |
+
@-webkit-keyframes scaleToFade {
|
127 |
+
to { opacity: 0; -webkit-transform: scale(.8); }
|
128 |
+
}
|
129 |
+
@-moz-keyframes scaleToFade {
|
130 |
+
to { opacity: 0; -moz-transform: scale(.8); }
|
131 |
+
}
|
132 |
+
@keyframes scaleToFade {
|
133 |
+
to { opacity: 0; transform: scale(.8); }
|
134 |
+
}
|
135 |
+
@-webkit-keyframes goDown {
|
136 |
+
from { -webkit-transform: translateY(-100%); }
|
137 |
+
}
|
138 |
+
@-moz-keyframes goDown {
|
139 |
+
from { -moz-transform: translateY(-100%); }
|
140 |
+
}
|
141 |
+
@keyframes goDown {
|
142 |
+
from { transform: translateY(-100%); }
|
143 |
+
}
|
144 |
+
|
145 |
+
@-webkit-keyframes scaleUpFrom {
|
146 |
+
from { opacity: 0; -webkit-transform: scale(1.5); }
|
147 |
+
}
|
148 |
+
@-moz-keyframes scaleUpFrom {
|
149 |
+
from { opacity: 0; -moz-transform: scale(1.5); }
|
150 |
+
}
|
151 |
+
@keyframes scaleUpFrom {
|
152 |
+
from { opacity: 0; transform: scale(1.5); }
|
153 |
+
}
|
154 |
+
|
155 |
+
@-webkit-keyframes scaleUpTo {
|
156 |
+
to { opacity: 0; -webkit-transform: scale(1.5); }
|
157 |
+
}
|
158 |
+
@-moz-keyframes scaleUpTo {
|
159 |
+
to { opacity: 0; -moz-transform: scale(1.5); }
|
160 |
+
}
|
161 |
+
@keyframes scaleUpTo {
|
162 |
+
to { opacity: 0; transform: scale(1.5); }
|
163 |
+
}
|
skin/frontend/base/default/js/deals/jquery.countdown.min.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* http://keith-wood.name/countdown.html
|
2 |
+
Countdown for jQuery v2.0.1.
|
3 |
+
Written by Keith Wood (kbwood{at}iinet.com.au) January 2008.
|
4 |
+
Available under the MIT (https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt) license.
|
5 |
+
Please attribute the author if you use it. */
|
6 |
+
(function($){var w='countdown';var Y=0;var O=1;var W=2;var D=3;var H=4;var M=5;var S=6;$.JQPlugin.createPlugin({name:w,defaultOptions:{until:null,since:null,timezone:null,serverSync:null,format:'dHMS',layout:'',compact:false,padZeroes:false,significant:0,description:'',expiryUrl:'',expiryText:'',alwaysExpire:false,onExpiry:null,onTick:null,tickInterval:1},regionalOptions:{'':{labels:['Years','Months','Weeks','Days','Hours','Minutes','Seconds'],labels1:['Year','Month','Week','Day','Hour','Minute','Second'],compactLabels:['y','m','w','d'],whichLabels:null,digits:['0','1','2','3','4','5','6','7','8','9'],timeSeparator:':',isRTL:false}},_getters:['getTimes'],_rtlClass:w+'-rtl',_sectionClass:w+'-section',_amountClass:w+'-amount',_periodClass:w+'-period',_rowClass:w+'-row',_holdingClass:w+'-holding',_showClass:w+'-show',_descrClass:w+'-descr',_timerElems:[],_init:function(){var c=this;this._super();this._serverSyncs=[];var d=(typeof Date.now=='function'?Date.now:function(){return new Date().getTime()});var e=(window.performance&&typeof window.performance.now=='function');function timerCallBack(a){var b=(a<1e12?(e?(performance.now()+performance.timing.navigationStart):d()):a||d());if(b-g>=1000){c._updateElems();g=b}f(timerCallBack)}var f=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||null;var g=0;if(!f||$.noRequestAnimationFrame){$.noRequestAnimationFrame=null;setInterval(function(){c._updateElems()},980)}else{g=window.animationStartTime||window.webkitAnimationStartTime||window.mozAnimationStartTime||window.oAnimationStartTime||window.msAnimationStartTime||d();f(timerCallBack)}},UTCDate:function(a,b,c,e,f,g,h,i){if(typeof b=='object'&&b.constructor==Date){i=b.getMilliseconds();h=b.getSeconds();g=b.getMinutes();f=b.getHours();e=b.getDate();c=b.getMonth();b=b.getFullYear()}var d=new Date();d.setUTCFullYear(b);d.setUTCDate(1);d.setUTCMonth(c||0);d.setUTCDate(e||1);d.setUTCHours(f||0);d.setUTCMinutes((g||0)-(Math.abs(a)<30?a*60:a));d.setUTCSeconds(h||0);d.setUTCMilliseconds(i||0);return d},periodsToSeconds:function(a){return a[0]*31557600+a[1]*2629800+a[2]*604800+a[3]*86400+a[4]*3600+a[5]*60+a[6]},_instSettings:function(a,b){return{_periods:[0,0,0,0,0,0,0]}},_addElem:function(a){if(!this._hasElem(a)){this._timerElems.push(a)}},_hasElem:function(a){return($.inArray(a,this._timerElems)>-1)},_removeElem:function(b){this._timerElems=$.map(this._timerElems,function(a){return(a==b?null:a)})},_updateElems:function(){for(var i=this._timerElems.length-1;i>=0;i--){this._updateCountdown(this._timerElems[i])}},_optionsChanged:function(a,b,c){if(c.layout){c.layout=c.layout.replace(/</g,'<').replace(/>/g,'>')}this._resetExtraLabels(b.options,c);var d=(b.options.timezone!=c.timezone);$.extend(b.options,c);this._adjustSettings(a,b,c.until!=null||c.since!=null||d);var e=new Date();if((b._since&&b._since<e)||(b._until&&b._until>e)){this._addElem(a[0])}this._updateCountdown(a,b)},_updateCountdown:function(a,b){a=a.jquery?a:$(a);b=b||this._getInst(a);if(!b){return}a.html(this._generateHTML(b)).toggleClass(this._rtlClass,b.options.isRTL);if($.isFunction(b.options.onTick)){var c=b._hold!='lap'?b._periods:this._calculatePeriods(b,b._show,b.options.significant,new Date());if(b.options.tickInterval==1||this.periodsToSeconds(c)%b.options.tickInterval==0){b.options.onTick.apply(a[0],[c])}}var d=b._hold!='pause'&&(b._since?b._now.getTime()<b._since.getTime():b._now.getTime()>=b._until.getTime());if(d&&!b._expiring){b._expiring=true;if(this._hasElem(a[0])||b.options.alwaysExpire){this._removeElem(a[0]);if($.isFunction(b.options.onExpiry)){b.options.onExpiry.apply(a[0],[])}if(b.options.expiryText){var e=b.options.layout;b.options.layout=b.options.expiryText;this._updateCountdown(a[0],b);b.options.layout=e}if(b.options.expiryUrl){window.location=b.options.expiryUrl}}b._expiring=false}else if(b._hold=='pause'){this._removeElem(a[0])}},_resetExtraLabels:function(a,b){for(var n in b){if(n.match(/[Ll]abels[02-9]|compactLabels1/)){a[n]=b[n]}}for(var n in a){if(n.match(/[Ll]abels[02-9]|compactLabels1/)&&typeof b[n]==='undefined'){a[n]=null}}},_adjustSettings:function(a,b,c){var d;var e=0;var f=null;for(var i=0;i<this._serverSyncs.length;i++){if(this._serverSyncs[i][0]==b.options.serverSync){f=this._serverSyncs[i][1];break}}if(f!=null){e=(b.options.serverSync?f:0);d=new Date()}else{var g=($.isFunction(b.options.serverSync)?b.options.serverSync.apply(a[0],[]):null);d=new Date();e=(g?d.getTime()-g.getTime():0);this._serverSyncs.push([b.options.serverSync,e])}var h=b.options.timezone;h=(h==null?-d.getTimezoneOffset():h);if(c||(!c&&b._until==null&&b._since==null)){b._since=b.options.since;if(b._since!=null){b._since=this.UTCDate(h,this._determineTime(b._since,null));if(b._since&&e){b._since.setMilliseconds(b._since.getMilliseconds()+e)}}b._until=this.UTCDate(h,this._determineTime(b.options.until,d));if(e){b._until.setMilliseconds(b._until.getMilliseconds()+e)}}b._show=this._determineShow(b)},_preDestroy:function(a,b){this._removeElem(a[0]);a.empty()},pause:function(a){this._hold(a,'pause')},lap:function(a){this._hold(a,'lap')},resume:function(a){this._hold(a,null)},toggle:function(a){var b=$.data(a,this.name)||{};this[!b._hold?'pause':'resume'](a)},toggleLap:function(a){var b=$.data(a,this.name)||{};this[!b._hold?'lap':'resume'](a)},_hold:function(a,b){var c=$.data(a,this.name);if(c){if(c._hold=='pause'&&!b){c._periods=c._savePeriods;var d=(c._since?'-':'+');c[c._since?'_since':'_until']=this._determineTime(d+c._periods[0]+'y'+d+c._periods[1]+'o'+d+c._periods[2]+'w'+d+c._periods[3]+'d'+d+c._periods[4]+'h'+d+c._periods[5]+'m'+d+c._periods[6]+'s');this._addElem(a)}c._hold=b;c._savePeriods=(b=='pause'?c._periods:null);$.data(a,this.name,c);this._updateCountdown(a,c)}},getTimes:function(a){var b=$.data(a,this.name);return(!b?null:(b._hold=='pause'?b._savePeriods:(!b._hold?b._periods:this._calculatePeriods(b,b._show,b.options.significant,new Date()))))},_determineTime:function(k,l){var m=this;var n=function(a){var b=new Date();b.setTime(b.getTime()+a*1000);return b};var o=function(a){a=a.toLowerCase();var b=new Date();var c=b.getFullYear();var d=b.getMonth();var e=b.getDate();var f=b.getHours();var g=b.getMinutes();var h=b.getSeconds();var i=/([+-]?[0-9]+)\s*(s|m|h|d|w|o|y)?/g;var j=i.exec(a);while(j){switch(j[2]||'s'){case's':h+=parseInt(j[1],10);break;case'm':g+=parseInt(j[1],10);break;case'h':f+=parseInt(j[1],10);break;case'd':e+=parseInt(j[1],10);break;case'w':e+=parseInt(j[1],10)*7;break;case'o':d+=parseInt(j[1],10);e=Math.min(e,m._getDaysInMonth(c,d));break;case'y':c+=parseInt(j[1],10);e=Math.min(e,m._getDaysInMonth(c,d));break}j=i.exec(a)}return new Date(c,d,e,f,g,h,0)};var p=(k==null?l:(typeof k=='string'?o(k):(typeof k=='number'?n(k):k)));if(p)p.setMilliseconds(0);return p},_getDaysInMonth:function(a,b){return 32-new Date(a,b,32).getDate()},_normalLabels:function(a){return a},_generateHTML:function(c){var d=this;c._periods=(c._hold?c._periods:this._calculatePeriods(c,c._show,c.options.significant,new Date()));var e=false;var f=0;var g=c.options.significant;var h=$.extend({},c._show);for(var i=Y;i<=S;i++){e|=(c._show[i]=='?'&&c._periods[i]>0);h[i]=(c._show[i]=='?'&&!e?null:c._show[i]);f+=(h[i]?1:0);g-=(c._periods[i]>0?1:0)}var j=[false,false,false,false,false,false,false];for(var i=S;i>=Y;i--){if(c._show[i]){if(c._periods[i]){j[i]=true}else{j[i]=g>0;g--}}}var k=(c.options.compact?c.options.compactLabels:c.options.labels);var l=c.options.whichLabels||this._normalLabels;var m=function(a){var b=c.options['compactLabels'+l(c._periods[a])];return(h[a]?d._translateDigits(c,c._periods[a])+(b?b[a]:k[a])+' ':'')};var n=(c.options.padZeroes?2:1);var o=function(a){var b=c.options['labels'+l(c._periods[a])];return((!c.options.significant&&h[a])||(c.options.significant&&j[a])?'<span class="'+d._sectionClass+'">'+'<span class="'+d._amountClass+'">'+d._minDigits(c,c._periods[a],n)+'</span>'+'<span class="'+d._periodClass+'">'+(b?b[a]:k[a])+'</span></span>':'')};return(c.options.layout?this._buildLayout(c,h,c.options.layout,c.options.compact,c.options.significant,j):((c.options.compact?'<span class="'+this._rowClass+' '+this._amountClass+(c._hold?' '+this._holdingClass:'')+'">'+m(Y)+m(O)+m(W)+m(D)+(h[H]?this._minDigits(c,c._periods[H],2):'')+(h[M]?(h[H]?c.options.timeSeparator:'')+this._minDigits(c,c._periods[M],2):'')+(h[S]?(h[H]||h[M]?c.options.timeSeparator:'')+this._minDigits(c,c._periods[S],2):''):'<span class="'+this._rowClass+' '+this._showClass+(c.options.significant||f)+(c._hold?' '+this._holdingClass:'')+'">'+o(Y)+o(O)+o(W)+o(D)+o(H)+o(M)+o(S))+'</span>'+(c.options.description?'<span class="'+this._rowClass+' '+this._descrClass+'">'+c.options.description+'</span>':'')))},_buildLayout:function(c,d,e,f,g,h){var j=c.options[f?'compactLabels':'labels'];var k=c.options.whichLabels||this._normalLabels;var l=function(a){return(c.options[(f?'compactLabels':'labels')+k(c._periods[a])]||j)[a]};var m=function(a,b){return c.options.digits[Math.floor(a/b)%10]};var o={desc:c.options.description,sep:c.options.timeSeparator,yl:l(Y),yn:this._minDigits(c,c._periods[Y],1),ynn:this._minDigits(c,c._periods[Y],2),ynnn:this._minDigits(c,c._periods[Y],3),y1:m(c._periods[Y],1),y10:m(c._periods[Y],10),y100:m(c._periods[Y],100),y1000:m(c._periods[Y],1000),ol:l(O),on:this._minDigits(c,c._periods[O],1),onn:this._minDigits(c,c._periods[O],2),onnn:this._minDigits(c,c._periods[O],3),o1:m(c._periods[O],1),o10:m(c._periods[O],10),o100:m(c._periods[O],100),o1000:m(c._periods[O],1000),wl:l(W),wn:this._minDigits(c,c._periods[W],1),wnn:this._minDigits(c,c._periods[W],2),wnnn:this._minDigits(c,c._periods[W],3),w1:m(c._periods[W],1),w10:m(c._periods[W],10),w100:m(c._periods[W],100),w1000:m(c._periods[W],1000),dl:l(D),dn:this._minDigits(c,c._periods[D],1),dnn:this._minDigits(c,c._periods[D],2),dnnn:this._minDigits(c,c._periods[D],3),d1:m(c._periods[D],1),d10:m(c._periods[D],10),d100:m(c._periods[D],100),d1000:m(c._periods[D],1000),hl:l(H),hn:this._minDigits(c,c._periods[H],1),hnn:this._minDigits(c,c._periods[H],2),hnnn:this._minDigits(c,c._periods[H],3),h1:m(c._periods[H],1),h10:m(c._periods[H],10),h100:m(c._periods[H],100),h1000:m(c._periods[H],1000),ml:l(M),mn:this._minDigits(c,c._periods[M],1),mnn:this._minDigits(c,c._periods[M],2),mnnn:this._minDigits(c,c._periods[M],3),m1:m(c._periods[M],1),m10:m(c._periods[M],10),m100:m(c._periods[M],100),m1000:m(c._periods[M],1000),sl:l(S),sn:this._minDigits(c,c._periods[S],1),snn:this._minDigits(c,c._periods[S],2),snnn:this._minDigits(c,c._periods[S],3),s1:m(c._periods[S],1),s10:m(c._periods[S],10),s100:m(c._periods[S],100),s1000:m(c._periods[S],1000)};var p=e;for(var i=Y;i<=S;i++){var q='yowdhms'.charAt(i);var r=new RegExp('\\{'+q+'<\\}([\\s\\S]*)\\{'+q+'>\\}','g');p=p.replace(r,((!g&&d[i])||(g&&h[i])?'$1':''))}$.each(o,function(n,v){var a=new RegExp('\\{'+n+'\\}','g');p=p.replace(a,v)});return p},_minDigits:function(a,b,c){b=''+b;if(b.length>=c){return this._translateDigits(a,b)}b='0000000000'+b;return this._translateDigits(a,b.substr(b.length-c))},_translateDigits:function(b,c){return(''+c).replace(/[0-9]/g,function(a){return b.options.digits[a]})},_determineShow:function(a){var b=a.options.format;var c=[];c[Y]=(b.match('y')?'?':(b.match('Y')?'!':null));c[O]=(b.match('o')?'?':(b.match('O')?'!':null));c[W]=(b.match('w')?'?':(b.match('W')?'!':null));c[D]=(b.match('d')?'?':(b.match('D')?'!':null));c[H]=(b.match('h')?'?':(b.match('H')?'!':null));c[M]=(b.match('m')?'?':(b.match('M')?'!':null));c[S]=(b.match('s')?'?':(b.match('S')?'!':null));return c},_calculatePeriods:function(c,d,e,f){c._now=f;c._now.setMilliseconds(0);var g=new Date(c._now.getTime());if(c._since){if(f.getTime()<c._since.getTime()){c._now=f=g}else{f=c._since}}else{g.setTime(c._until.getTime());if(f.getTime()>c._until.getTime()){c._now=f=g}}var h=[0,0,0,0,0,0,0];if(d[Y]||d[O]){var i=this._getDaysInMonth(f.getFullYear(),f.getMonth());var j=this._getDaysInMonth(g.getFullYear(),g.getMonth());var k=(g.getDate()==f.getDate()||(g.getDate()>=Math.min(i,j)&&f.getDate()>=Math.min(i,j)));var l=function(a){return(a.getHours()*60+a.getMinutes())*60+a.getSeconds()};var m=Math.max(0,(g.getFullYear()-f.getFullYear())*12+g.getMonth()-f.getMonth()+((g.getDate()<f.getDate()&&!k)||(k&&l(g)<l(f))?-1:0));h[Y]=(d[Y]?Math.floor(m/12):0);h[O]=(d[O]?m-h[Y]*12:0);f=new Date(f.getTime());var n=(f.getDate()==i);var o=this._getDaysInMonth(f.getFullYear()+h[Y],f.getMonth()+h[O]);if(f.getDate()>o){f.setDate(o)}f.setFullYear(f.getFullYear()+h[Y]);f.setMonth(f.getMonth()+h[O]);if(n){f.setDate(o)}}var p=Math.floor((g.getTime()-f.getTime())/1000);var q=function(a,b){h[a]=(d[a]?Math.floor(p/b):0);p-=h[a]*b};q(W,604800);q(D,86400);q(H,3600);q(M,60);q(S,1);if(p>0&&!c._since){var r=[1,12,4.3482,7,24,60,60];var s=S;var t=1;for(var u=S;u>=Y;u--){if(d[u]){if(h[s]>=t){h[s]=0;p=1}if(p>0){h[u]++;p=0;s=u;t=1}}t*=r[u]}}if(e){for(var u=Y;u<=S;u++){if(e&&h[u]){e--}else if(!e){h[u]=0}}}return h}})})(jQuery);
|
skin/frontend/base/default/js/deals/jquery.plugin.min.js
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
/** Abstract base class for collection plugins v1.0.1.
|
2 |
+
Written by Keith Wood (kbwood{at}iinet.com.au) December 2013.
|
3 |
+
Licensed under the MIT (https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt) license. */
|
4 |
+
(function(){var j=false;window.JQClass=function(){};JQClass.classes={};JQClass.extend=function extender(f){var g=this.prototype;j=true;var h=new this();j=false;for(var i in f){h[i]=typeof f[i]=='function'&&typeof g[i]=='function'?(function(d,e){return function(){var b=this._super;this._super=function(a){return g[d].apply(this,a||[])};var c=e.apply(this,arguments);this._super=b;return c}})(i,f[i]):f[i]}function JQClass(){if(!j&&this._init){this._init.apply(this,arguments)}}JQClass.prototype=h;JQClass.prototype.constructor=JQClass;JQClass.extend=extender;return JQClass}})();(function($){JQClass.classes.JQPlugin=JQClass.extend({name:'plugin',defaultOptions:{},regionalOptions:{},_getters:[],_getMarker:function(){return'is-'+this.name},_init:function(){$.extend(this.defaultOptions,(this.regionalOptions&&this.regionalOptions[''])||{});var c=camelCase(this.name);$[c]=this;$.fn[c]=function(a){var b=Array.prototype.slice.call(arguments,1);if($[c]._isNotChained(a,b)){return $[c][a].apply($[c],[this[0]].concat(b))}return this.each(function(){if(typeof a==='string'){if(a[0]==='_'||!$[c][a]){throw'Unknown method: '+a;}$[c][a].apply($[c],[this].concat(b))}else{$[c]._attach(this,a)}})}},setDefaults:function(a){$.extend(this.defaultOptions,a||{})},_isNotChained:function(a,b){if(a==='option'&&(b.length===0||(b.length===1&&typeof b[0]==='string'))){return true}return $.inArray(a,this._getters)>-1},_attach:function(a,b){a=$(a);if(a.hasClass(this._getMarker())){return}a.addClass(this._getMarker());b=$.extend({},this.defaultOptions,this._getMetadata(a),b||{});var c=$.extend({name:this.name,elem:a,options:b},this._instSettings(a,b));a.data(this.name,c);this._postAttach(a,c);this.option(a,b)},_instSettings:function(a,b){return{}},_postAttach:function(a,b){},_getMetadata:function(d){try{var f=d.data(this.name.toLowerCase())||'';f=f.replace(/'/g,'"');f=f.replace(/([a-zA-Z0-9]+):/g,function(a,b,i){var c=f.substring(0,i).match(/"/g);return(!c||c.length%2===0?'"'+b+'":':b+':')});f=$.parseJSON('{'+f+'}');for(var g in f){var h=f[g];if(typeof h==='string'&&h.match(/^new Date\((.*)\)$/)){f[g]=eval(h)}}return f}catch(e){return{}}},_getInst:function(a){return $(a).data(this.name)||{}},option:function(a,b,c){a=$(a);var d=a.data(this.name);if(!b||(typeof b==='string'&&c==null)){var e=(d||{}).options;return(e&&b?e[b]:e)}if(!a.hasClass(this._getMarker())){return}var e=b||{};if(typeof b==='string'){e={};e[b]=c}this._optionsChanged(a,d,e);$.extend(d.options,e)},_optionsChanged:function(a,b,c){},destroy:function(a){a=$(a);if(!a.hasClass(this._getMarker())){return}this._preDestroy(a,this._getInst(a));a.removeData(this.name).removeClass(this._getMarker())},_preDestroy:function(a,b){}});function camelCase(c){return c.replace(/-([a-z])/g,function(a,b){return b.toUpperCase()})}$.JQPlugin={createPlugin:function(a,b){if(typeof a==='object'){b=a;a='JQPlugin'}a=camelCase(a);var c=camelCase(b.name);JQClass.classes[c]=JQClass.classes[a].extend(b);new JQClass.classes[c]()}}})(jQuery);
|
skin/frontend/base/default/js/deals/owl.carousel.min.js
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g});
|
2 |
+
(function(f,g,k){var l={init:function(a,b){this.$elem=f(b);this.options=f.extend({},f.fn.owlCarousel.options,this.$elem.data(),a);this.userOptions=a;this.loadContent()},loadContent:function(){function a(a){var d,e="";if("function"===typeof b.options.jsonSuccess)b.options.jsonSuccess.apply(this,[a]);else{for(d in a.owl)a.owl.hasOwnProperty(d)&&(e+=a.owl[d].item);b.$elem.html(e)}b.logIn()}var b=this,e;"function"===typeof b.options.beforeInit&&b.options.beforeInit.apply(this,[b.$elem]);"string"===typeof b.options.jsonPath?
|
3 |
+
(e=b.options.jsonPath,f.getJSON(e,a)):b.logIn()},logIn:function(){this.$elem.data("owl-originalStyles",this.$elem.attr("style"));this.$elem.data("owl-originalClasses",this.$elem.attr("class"));this.$elem.css({opacity:0});this.orignalItems=this.options.items;this.checkBrowser();this.wrapperWidth=0;this.checkVisible=null;this.setVars()},setVars:function(){if(0===this.$elem.children().length)return!1;this.baseClass();this.eventTypes();this.$userItems=this.$elem.children();this.itemsAmount=this.$userItems.length;
|
4 |
+
this.wrapItems();this.$owlItems=this.$elem.find(".owl-item");this.$owlWrapper=this.$elem.find(".owl-wrapper");this.playDirection="next";this.prevItem=0;this.prevArr=[0];this.currentItem=0;this.customEvents();this.onStartup()},onStartup:function(){this.updateItems();this.calculateAll();this.buildControls();this.updateControls();this.response();this.moveEvents();this.stopOnHover();this.owlStatus();!1!==this.options.transitionStyle&&this.transitionTypes(this.options.transitionStyle);!0===this.options.autoPlay&&
|
5 |
+
(this.options.autoPlay=5E3);this.play();this.$elem.find(".owl-wrapper").css("display","block");this.$elem.is(":visible")?this.$elem.css("opacity",1):this.watchVisibility();this.onstartup=!1;this.eachMoveUpdate();"function"===typeof this.options.afterInit&&this.options.afterInit.apply(this,[this.$elem])},eachMoveUpdate:function(){!0===this.options.lazyLoad&&this.lazyLoad();!0===this.options.autoHeight&&this.autoHeight();this.onVisibleItems();"function"===typeof this.options.afterAction&&this.options.afterAction.apply(this,
|
6 |
+
[this.$elem])},updateVars:function(){"function"===typeof this.options.beforeUpdate&&this.options.beforeUpdate.apply(this,[this.$elem]);this.watchVisibility();this.updateItems();this.calculateAll();this.updatePosition();this.updateControls();this.eachMoveUpdate();"function"===typeof this.options.afterUpdate&&this.options.afterUpdate.apply(this,[this.$elem])},reload:function(){var a=this;g.setTimeout(function(){a.updateVars()},0)},watchVisibility:function(){var a=this;if(!1===a.$elem.is(":visible"))a.$elem.css({opacity:0}),
|
7 |
+
g.clearInterval(a.autoPlayInterval),g.clearInterval(a.checkVisible);else return!1;a.checkVisible=g.setInterval(function(){a.$elem.is(":visible")&&(a.reload(),a.$elem.animate({opacity:1},200),g.clearInterval(a.checkVisible))},500)},wrapItems:function(){this.$userItems.wrapAll('<div class="owl-wrapper">').wrap('<div class="owl-item"></div>');this.$elem.find(".owl-wrapper").wrap('<div class="owl-wrapper-outer">');this.wrapperOuter=this.$elem.find(".owl-wrapper-outer");this.$elem.css("display","block")},
|
8 |
+
baseClass:function(){var a=this.$elem.hasClass(this.options.baseClass),b=this.$elem.hasClass(this.options.theme);a||this.$elem.addClass(this.options.baseClass);b||this.$elem.addClass(this.options.theme)},updateItems:function(){var a,b;if(!1===this.options.responsive)return!1;if(!0===this.options.singleItem)return this.options.items=this.orignalItems=1,this.options.itemsCustom=!1,this.options.itemsDesktop=!1,this.options.itemsDesktopSmall=!1,this.options.itemsTablet=!1,this.options.itemsTabletSmall=
|
9 |
+
!1,this.options.itemsMobile=!1;a=f(this.options.responsiveBaseWidth).width();a>(this.options.itemsDesktop[0]||this.orignalItems)&&(this.options.items=this.orignalItems);if(!1!==this.options.itemsCustom)for(this.options.itemsCustom.sort(function(a,b){return a[0]-b[0]}),b=0;b<this.options.itemsCustom.length;b+=1)this.options.itemsCustom[b][0]<=a&&(this.options.items=this.options.itemsCustom[b][1]);else a<=this.options.itemsDesktop[0]&&!1!==this.options.itemsDesktop&&(this.options.items=this.options.itemsDesktop[1]),
|
10 |
+
a<=this.options.itemsDesktopSmall[0]&&!1!==this.options.itemsDesktopSmall&&(this.options.items=this.options.itemsDesktopSmall[1]),a<=this.options.itemsTablet[0]&&!1!==this.options.itemsTablet&&(this.options.items=this.options.itemsTablet[1]),a<=this.options.itemsTabletSmall[0]&&!1!==this.options.itemsTabletSmall&&(this.options.items=this.options.itemsTabletSmall[1]),a<=this.options.itemsMobile[0]&&!1!==this.options.itemsMobile&&(this.options.items=this.options.itemsMobile[1]);this.options.items>this.itemsAmount&&
|
11 |
+
!0===this.options.itemsScaleUp&&(this.options.items=this.itemsAmount)},response:function(){var a=this,b,e;if(!0!==a.options.responsive)return!1;e=f(g).width();a.resizer=function(){f(g).width()!==e&&(!1!==a.options.autoPlay&&g.clearInterval(a.autoPlayInterval),g.clearTimeout(b),b=g.setTimeout(function(){e=f(g).width();a.updateVars()},a.options.responsiveRefreshRate))};f(g).resize(a.resizer)},updatePosition:function(){this.jumpTo(this.currentItem);!1!==this.options.autoPlay&&this.checkAp()},appendItemsSizes:function(){var a=
|
12 |
+
this,b=0,e=a.itemsAmount-a.options.items;a.$owlItems.each(function(c){var d=f(this);d.css({width:a.itemWidth}).data("owl-item",Number(c));if(0===c%a.options.items||c===e)c>e||(b+=1);d.data("owl-roundPages",b)})},appendWrapperSizes:function(){this.$owlWrapper.css({width:this.$owlItems.length*this.itemWidth*2,left:0});this.appendItemsSizes()},calculateAll:function(){this.calculateWidth();this.appendWrapperSizes();this.loops();this.max()},calculateWidth:function(){this.itemWidth=Math.round(this.$elem.width()/
|
13 |
+
this.options.items)},max:function(){var a=-1*(this.itemsAmount*this.itemWidth-this.options.items*this.itemWidth);this.options.items>this.itemsAmount?this.maximumPixels=a=this.maximumItem=0:(this.maximumItem=this.itemsAmount-this.options.items,this.maximumPixels=a);return a},min:function(){return 0},loops:function(){var a=0,b=0,e,c;this.positionsInArray=[0];this.pagesInArray=[];for(e=0;e<this.itemsAmount;e+=1)b+=this.itemWidth,this.positionsInArray.push(-b),!0===this.options.scrollPerPage&&(c=f(this.$owlItems[e]),
|
14 |
+
c=c.data("owl-roundPages"),c!==a&&(this.pagesInArray[a]=this.positionsInArray[e],a=c))},buildControls:function(){if(!0===this.options.navigation||!0===this.options.pagination)this.owlControls=f('<div class="owl-controls"/>').toggleClass("clickable",!this.browser.isTouch).appendTo(this.$elem);!0===this.options.pagination&&this.buildPagination();!0===this.options.navigation&&this.buildButtons()},buildButtons:function(){var a=this,b=f('<div class="owl-buttons"/>');a.owlControls.append(b);a.buttonPrev=
|
15 |
+
f("<div/>",{"class":"owl-prev",html:a.options.navigationText[0]||""});a.buttonNext=f("<div/>",{"class":"owl-next",html:a.options.navigationText[1]||""});b.append(a.buttonPrev).append(a.buttonNext);b.on("touchstart.owlControls mousedown.owlControls",'div[class^="owl"]',function(a){a.preventDefault()});b.on("touchend.owlControls mouseup.owlControls",'div[class^="owl"]',function(b){b.preventDefault();f(this).hasClass("owl-next")?a.next():a.prev()})},buildPagination:function(){var a=this;a.paginationWrapper=
|
16 |
+
f('<div class="owl-pagination"/>');a.owlControls.append(a.paginationWrapper);a.paginationWrapper.on("touchend.owlControls mouseup.owlControls",".owl-page",function(b){b.preventDefault();Number(f(this).data("owl-page"))!==a.currentItem&&a.goTo(Number(f(this).data("owl-page")),!0)})},updatePagination:function(){var a,b,e,c,d,g;if(!1===this.options.pagination)return!1;this.paginationWrapper.html("");a=0;b=this.itemsAmount-this.itemsAmount%this.options.items;for(c=0;c<this.itemsAmount;c+=1)0===c%this.options.items&&
|
17 |
+
(a+=1,b===c&&(e=this.itemsAmount-this.options.items),d=f("<div/>",{"class":"owl-page"}),g=f("<span></span>",{text:!0===this.options.paginationNumbers?a:"","class":!0===this.options.paginationNumbers?"owl-numbers":""}),d.append(g),d.data("owl-page",b===c?e:c),d.data("owl-roundPages",a),this.paginationWrapper.append(d));this.checkPagination()},checkPagination:function(){var a=this;if(!1===a.options.pagination)return!1;a.paginationWrapper.find(".owl-page").each(function(){f(this).data("owl-roundPages")===
|
18 |
+
f(a.$owlItems[a.currentItem]).data("owl-roundPages")&&(a.paginationWrapper.find(".owl-page").removeClass("active"),f(this).addClass("active"))})},checkNavigation:function(){if(!1===this.options.navigation)return!1;!1===this.options.rewindNav&&(0===this.currentItem&&0===this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.addClass("disabled")):0===this.currentItem&&0!==this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.removeClass("disabled")):this.currentItem===
|
19 |
+
this.maximumItem?(this.buttonPrev.removeClass("disabled"),this.buttonNext.addClass("disabled")):0!==this.currentItem&&this.currentItem!==this.maximumItem&&(this.buttonPrev.removeClass("disabled"),this.buttonNext.removeClass("disabled")))},updateControls:function(){this.updatePagination();this.checkNavigation();this.owlControls&&(this.options.items>=this.itemsAmount?this.owlControls.hide():this.owlControls.show())},destroyControls:function(){this.owlControls&&this.owlControls.remove()},next:function(a){if(this.isTransition)return!1;
|
20 |
+
this.currentItem+=!0===this.options.scrollPerPage?this.options.items:1;if(this.currentItem>this.maximumItem+(!0===this.options.scrollPerPage?this.options.items-1:0))if(!0===this.options.rewindNav)this.currentItem=0,a="rewind";else return this.currentItem=this.maximumItem,!1;this.goTo(this.currentItem,a)},prev:function(a){if(this.isTransition)return!1;this.currentItem=!0===this.options.scrollPerPage&&0<this.currentItem&&this.currentItem<this.options.items?0:this.currentItem-(!0===this.options.scrollPerPage?
|
21 |
+
this.options.items:1);if(0>this.currentItem)if(!0===this.options.rewindNav)this.currentItem=this.maximumItem,a="rewind";else return this.currentItem=0,!1;this.goTo(this.currentItem,a)},goTo:function(a,b,e){var c=this;if(c.isTransition)return!1;"function"===typeof c.options.beforeMove&&c.options.beforeMove.apply(this,[c.$elem]);a>=c.maximumItem?a=c.maximumItem:0>=a&&(a=0);c.currentItem=c.owl.currentItem=a;if(!1!==c.options.transitionStyle&&"drag"!==e&&1===c.options.items&&!0===c.browser.support3d)return c.swapSpeed(0),
|
22 |
+
!0===c.browser.support3d?c.transition3d(c.positionsInArray[a]):c.css2slide(c.positionsInArray[a],1),c.afterGo(),c.singleItemTransition(),!1;a=c.positionsInArray[a];!0===c.browser.support3d?(c.isCss3Finish=!1,!0===b?(c.swapSpeed("paginationSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},c.options.paginationSpeed)):"rewind"===b?(c.swapSpeed(c.options.rewindSpeed),g.setTimeout(function(){c.isCss3Finish=!0},c.options.rewindSpeed)):(c.swapSpeed("slideSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},
|
23 |
+
c.options.slideSpeed)),c.transition3d(a)):!0===b?c.css2slide(a,c.options.paginationSpeed):"rewind"===b?c.css2slide(a,c.options.rewindSpeed):c.css2slide(a,c.options.slideSpeed);c.afterGo()},jumpTo:function(a){"function"===typeof this.options.beforeMove&&this.options.beforeMove.apply(this,[this.$elem]);a>=this.maximumItem||-1===a?a=this.maximumItem:0>=a&&(a=0);this.swapSpeed(0);!0===this.browser.support3d?this.transition3d(this.positionsInArray[a]):this.css2slide(this.positionsInArray[a],1);this.currentItem=
|
24 |
+
this.owl.currentItem=a;this.afterGo()},afterGo:function(){this.prevArr.push(this.currentItem);this.prevItem=this.owl.prevItem=this.prevArr[this.prevArr.length-2];this.prevArr.shift(0);this.prevItem!==this.currentItem&&(this.checkPagination(),this.checkNavigation(),this.eachMoveUpdate(),!1!==this.options.autoPlay&&this.checkAp());"function"===typeof this.options.afterMove&&this.prevItem!==this.currentItem&&this.options.afterMove.apply(this,[this.$elem])},stop:function(){this.apStatus="stop";g.clearInterval(this.autoPlayInterval)},
|
25 |
+
checkAp:function(){"stop"!==this.apStatus&&this.play()},play:function(){var a=this;a.apStatus="play";if(!1===a.options.autoPlay)return!1;g.clearInterval(a.autoPlayInterval);a.autoPlayInterval=g.setInterval(function(){a.next(!0)},a.options.autoPlay)},swapSpeed:function(a){"slideSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed)):"paginationSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed)):"string"!==typeof a&&this.$owlWrapper.css(this.addCssSpeed(a))},
|
26 |
+
addCssSpeed:function(a){return{"-webkit-transition":"all "+a+"ms ease","-moz-transition":"all "+a+"ms ease","-o-transition":"all "+a+"ms ease",transition:"all "+a+"ms ease"}},removeTransition:function(){return{"-webkit-transition":"","-moz-transition":"","-o-transition":"",transition:""}},doTranslate:function(a){return{"-webkit-transform":"translate3d("+a+"px, 0px, 0px)","-moz-transform":"translate3d("+a+"px, 0px, 0px)","-o-transform":"translate3d("+a+"px, 0px, 0px)","-ms-transform":"translate3d("+
|
27 |
+
a+"px, 0px, 0px)",transform:"translate3d("+a+"px, 0px,0px)"}},transition3d:function(a){this.$owlWrapper.css(this.doTranslate(a))},css2move:function(a){this.$owlWrapper.css({left:a})},css2slide:function(a,b){var e=this;e.isCssFinish=!1;e.$owlWrapper.stop(!0,!0).animate({left:a},{duration:b||e.options.slideSpeed,complete:function(){e.isCssFinish=!0}})},checkBrowser:function(){var a=k.createElement("div");a.style.cssText=" -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)";
|
28 |
+
a=a.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g);this.browser={support3d:null!==a&&1===a.length,isTouch:"ontouchstart"in g||g.navigator.msMaxTouchPoints}},moveEvents:function(){if(!1!==this.options.mouseDrag||!1!==this.options.touchDrag)this.gestures(),this.disabledEvents()},eventTypes:function(){var a=["s","e","x"];this.ev_types={};!0===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl mousedown.owl","touchmove.owl mousemove.owl","touchend.owl touchcancel.owl mouseup.owl"]:
|
29 |
+
!1===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl","touchmove.owl","touchend.owl touchcancel.owl"]:!0===this.options.mouseDrag&&!1===this.options.touchDrag&&(a=["mousedown.owl","mousemove.owl","mouseup.owl"]);this.ev_types.start=a[0];this.ev_types.move=a[1];this.ev_types.end=a[2]},disabledEvents:function(){this.$elem.on("dragstart.owl",function(a){a.preventDefault()});this.$elem.on("mousedown.disableTextSelect",function(a){return f(a.target).is("input, textarea, select, option")})},
|
30 |
+
gestures:function(){function a(a){if(void 0!==a.touches)return{x:a.touches[0].pageX,y:a.touches[0].pageY};if(void 0===a.touches){if(void 0!==a.pageX)return{x:a.pageX,y:a.pageY};if(void 0===a.pageX)return{x:a.clientX,y:a.clientY}}}function b(a){"on"===a?(f(k).on(d.ev_types.move,e),f(k).on(d.ev_types.end,c)):"off"===a&&(f(k).off(d.ev_types.move),f(k).off(d.ev_types.end))}function e(b){b=b.originalEvent||b||g.event;d.newPosX=a(b).x-h.offsetX;d.newPosY=a(b).y-h.offsetY;d.newRelativeX=d.newPosX-h.relativePos;
|
31 |
+
"function"===typeof d.options.startDragging&&!0!==h.dragging&&0!==d.newRelativeX&&(h.dragging=!0,d.options.startDragging.apply(d,[d.$elem]));(8<d.newRelativeX||-8>d.newRelativeX)&&!0===d.browser.isTouch&&(void 0!==b.preventDefault?b.preventDefault():b.returnValue=!1,h.sliding=!0);(10<d.newPosY||-10>d.newPosY)&&!1===h.sliding&&f(k).off("touchmove.owl");d.newPosX=Math.max(Math.min(d.newPosX,d.newRelativeX/5),d.maximumPixels+d.newRelativeX/5);!0===d.browser.support3d?d.transition3d(d.newPosX):d.css2move(d.newPosX)}
|
32 |
+
function c(a){a=a.originalEvent||a||g.event;var c;a.target=a.target||a.srcElement;h.dragging=!1;!0!==d.browser.isTouch&&d.$owlWrapper.removeClass("grabbing");d.dragDirection=0>d.newRelativeX?d.owl.dragDirection="left":d.owl.dragDirection="right";0!==d.newRelativeX&&(c=d.getNewPosition(),d.goTo(c,!1,"drag"),h.targetElement===a.target&&!0!==d.browser.isTouch&&(f(a.target).on("click.disable",function(a){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();f(a.target).off("click.disable")}),
|
33 |
+
a=f._data(a.target,"events").click,c=a.pop(),a.splice(0,0,c)));b("off")}var d=this,h={offsetX:0,offsetY:0,baseElWidth:0,relativePos:0,position:null,minSwipe:null,maxSwipe:null,sliding:null,dargging:null,targetElement:null};d.isCssFinish=!0;d.$elem.on(d.ev_types.start,".owl-wrapper",function(c){c=c.originalEvent||c||g.event;var e;if(3===c.which)return!1;if(!(d.itemsAmount<=d.options.items)){if(!1===d.isCssFinish&&!d.options.dragBeforeAnimFinish||!1===d.isCss3Finish&&!d.options.dragBeforeAnimFinish)return!1;
|
34 |
+
!1!==d.options.autoPlay&&g.clearInterval(d.autoPlayInterval);!0===d.browser.isTouch||d.$owlWrapper.hasClass("grabbing")||d.$owlWrapper.addClass("grabbing");d.newPosX=0;d.newRelativeX=0;f(this).css(d.removeTransition());e=f(this).position();h.relativePos=e.left;h.offsetX=a(c).x-e.left;h.offsetY=a(c).y-e.top;b("on");h.sliding=!1;h.targetElement=c.target||c.srcElement}})},getNewPosition:function(){var a=this.closestItem();a>this.maximumItem?a=this.currentItem=this.maximumItem:0<=this.newPosX&&(this.currentItem=
|
35 |
+
a=0);return a},closestItem:function(){var a=this,b=!0===a.options.scrollPerPage?a.pagesInArray:a.positionsInArray,e=a.newPosX,c=null;f.each(b,function(d,g){e-a.itemWidth/20>b[d+1]&&e-a.itemWidth/20<g&&"left"===a.moveDirection()?(c=g,a.currentItem=!0===a.options.scrollPerPage?f.inArray(c,a.positionsInArray):d):e+a.itemWidth/20<g&&e+a.itemWidth/20>(b[d+1]||b[d]-a.itemWidth)&&"right"===a.moveDirection()&&(!0===a.options.scrollPerPage?(c=b[d+1]||b[b.length-1],a.currentItem=f.inArray(c,a.positionsInArray)):
|
36 |
+
(c=b[d+1],a.currentItem=d+1))});return a.currentItem},moveDirection:function(){var a;0>this.newRelativeX?(a="right",this.playDirection="next"):(a="left",this.playDirection="prev");return a},customEvents:function(){var a=this;a.$elem.on("owl.next",function(){a.next()});a.$elem.on("owl.prev",function(){a.prev()});a.$elem.on("owl.play",function(b,e){a.options.autoPlay=e;a.play();a.hoverStatus="play"});a.$elem.on("owl.stop",function(){a.stop();a.hoverStatus="stop"});a.$elem.on("owl.goTo",function(b,e){a.goTo(e)});
|
37 |
+
a.$elem.on("owl.jumpTo",function(b,e){a.jumpTo(e)})},stopOnHover:function(){var a=this;!0===a.options.stopOnHover&&!0!==a.browser.isTouch&&!1!==a.options.autoPlay&&(a.$elem.on("mouseover",function(){a.stop()}),a.$elem.on("mouseout",function(){"stop"!==a.hoverStatus&&a.play()}))},lazyLoad:function(){var a,b,e,c,d;if(!1===this.options.lazyLoad)return!1;for(a=0;a<this.itemsAmount;a+=1)b=f(this.$owlItems[a]),"loaded"!==b.data("owl-loaded")&&(e=b.data("owl-item"),c=b.find(".lazyOwl"),"string"!==typeof c.data("src")?
|
38 |
+
b.data("owl-loaded","loaded"):(void 0===b.data("owl-loaded")&&(c.hide(),b.addClass("loading").data("owl-loaded","checked")),(d=!0===this.options.lazyFollow?e>=this.currentItem:!0)&&e<this.currentItem+this.options.items&&c.length&&this.lazyPreload(b,c)))},lazyPreload:function(a,b){function e(){a.data("owl-loaded","loaded").removeClass("loading");b.removeAttr("data-src");"fade"===d.options.lazyEffect?b.fadeIn(400):b.show();"function"===typeof d.options.afterLazyLoad&&d.options.afterLazyLoad.apply(this,
|
39 |
+
[d.$elem])}function c(){f+=1;d.completeImg(b.get(0))||!0===k?e():100>=f?g.setTimeout(c,100):e()}var d=this,f=0,k;"DIV"===b.prop("tagName")?(b.css("background-image","url("+b.data("src")+")"),k=!0):b[0].src=b.data("src");c()},autoHeight:function(){function a(){var a=f(e.$owlItems[e.currentItem]).height();e.wrapperOuter.css("height",a+"px");e.wrapperOuter.hasClass("autoHeight")||g.setTimeout(function(){e.wrapperOuter.addClass("autoHeight")},0)}function b(){d+=1;e.completeImg(c.get(0))?a():100>=d?g.setTimeout(b,
|
40 |
+
100):e.wrapperOuter.css("height","")}var e=this,c=f(e.$owlItems[e.currentItem]).find("img"),d;void 0!==c.get(0)?(d=0,b()):a()},completeImg:function(a){return!a.complete||"undefined"!==typeof a.naturalWidth&&0===a.naturalWidth?!1:!0},onVisibleItems:function(){var a;!0===this.options.addClassActive&&this.$owlItems.removeClass("active");this.visibleItems=[];for(a=this.currentItem;a<this.currentItem+this.options.items;a+=1)this.visibleItems.push(a),!0===this.options.addClassActive&&f(this.$owlItems[a]).addClass("active");
|
41 |
+
this.owl.visibleItems=this.visibleItems},transitionTypes:function(a){this.outClass="owl-"+a+"-out";this.inClass="owl-"+a+"-in"},singleItemTransition:function(){var a=this,b=a.outClass,e=a.inClass,c=a.$owlItems.eq(a.currentItem),d=a.$owlItems.eq(a.prevItem),f=Math.abs(a.positionsInArray[a.currentItem])+a.positionsInArray[a.prevItem],g=Math.abs(a.positionsInArray[a.currentItem])+a.itemWidth/2;a.isTransition=!0;a.$owlWrapper.addClass("owl-origin").css({"-webkit-transform-origin":g+"px","-moz-perspective-origin":g+
|
42 |
+
"px","perspective-origin":g+"px"});d.css({position:"relative",left:f+"px"}).addClass(b).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend",function(){a.endPrev=!0;d.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");a.clearTransStyle(d,b)});c.addClass(e).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend",function(){a.endCurrent=!0;c.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");a.clearTransStyle(c,e)})},clearTransStyle:function(a,
|
43 |
+
b){a.css({position:"",left:""}).removeClass(b);this.endPrev&&this.endCurrent&&(this.$owlWrapper.removeClass("owl-origin"),this.isTransition=this.endCurrent=this.endPrev=!1)},owlStatus:function(){this.owl={userOptions:this.userOptions,baseElement:this.$elem,userItems:this.$userItems,owlItems:this.$owlItems,currentItem:this.currentItem,prevItem:this.prevItem,visibleItems:this.visibleItems,isTouch:this.browser.isTouch,browser:this.browser,dragDirection:this.dragDirection}},clearEvents:function(){this.$elem.off(".owl owl mousedown.disableTextSelect");
|
44 |
+
f(k).off(".owl owl");f(g).off("resize",this.resizer)},unWrap:function(){0!==this.$elem.children().length&&(this.$owlWrapper.unwrap(),this.$userItems.unwrap().unwrap(),this.owlControls&&this.owlControls.remove());this.clearEvents();this.$elem.attr("style",this.$elem.data("owl-originalStyles")||"").attr("class",this.$elem.data("owl-originalClasses"))},destroy:function(){this.stop();g.clearInterval(this.checkVisible);this.unWrap();this.$elem.removeData()},reinit:function(a){a=f.extend({},this.userOptions,
|
45 |
+
a);this.unWrap();this.init(a,this.$elem)},addItem:function(a,b){var e;if(!a)return!1;if(0===this.$elem.children().length)return this.$elem.append(a),this.setVars(),!1;this.unWrap();e=void 0===b||-1===b?-1:b;e>=this.$userItems.length||-1===e?this.$userItems.eq(-1).after(a):this.$userItems.eq(e).before(a);this.setVars()},removeItem:function(a){if(0===this.$elem.children().length)return!1;a=void 0===a||-1===a?-1:a;this.unWrap();this.$userItems.eq(a).remove();this.setVars()}};f.fn.owlCarousel=function(a){return this.each(function(){if(!0===
|
46 |
+
f(this).data("owl-init"))return!1;f(this).data("owl-init",!0);var b=Object.create(l);b.init(a,this);f.data(this,"owlCarousel",b)})};f.fn.owlCarousel.options={items:5,itemsCustom:!1,itemsDesktop:[1199,4],itemsDesktopSmall:[979,3],itemsTablet:[768,2],itemsTabletSmall:!1,itemsMobile:[479,1],singleItem:!1,itemsScaleUp:!1,slideSpeed:200,paginationSpeed:800,rewindSpeed:1E3,autoPlay:!1,stopOnHover:!1,navigation:!1,navigationText:["prev","next"],rewindNav:!0,scrollPerPage:!1,pagination:!0,paginationNumbers:!1,
|
47 |
+
responsive:!0,responsiveRefreshRate:200,responsiveBaseWidth:g,baseClass:"owl-carousel",theme:"owl-theme",lazyLoad:!1,lazyFollow:!0,lazyEffect:"fade",autoHeight:!1,jsonPath:!1,jsonSuccess:!1,dragBeforeAnimFinish:!0,mouseDrag:!0,touchDrag:!0,addClassActive:!1,transitionStyle:!1,beforeUpdate:!1,afterUpdate:!1,beforeInit:!1,afterInit:!1,beforeMove:!1,afterMove:!1,afterAction:!1,startDragging:!1,afterLazyLoad:!1}})(jQuery,window,document);
|