Version Notes
Wireframe Based on Foundation Zurb 5.5.1
and Magento 1.9.0.0
Download this release
Release Info
Developer | Magento Core Team |
Extension | Foungento |
Version | 0.0.1 |
Comparing to | |
See all releases |
Version 0.0.1
- app/code/local/Foungento/Responsive/Block/Checkout/Cart/Crosssell.php +17 -0
- app/code/local/Foungento/Responsive/etc/config.xml +23 -0
- app/design/frontend/foungento/default/layout/local.xml +160 -0
- app/design/frontend/foungento/default/template/catalog/category/view.phtml +47 -0
- app/design/frontend/foungento/default/template/catalog/layer/state.phtml +55 -0
- app/design/frontend/foungento/default/template/catalog/product/list.phtml +114 -0
- app/design/frontend/foungento/default/template/catalog/product/list/toolbar.phtml +78 -0
- app/design/frontend/foungento/default/template/catalog/product/list/upsell.phtml +25 -0
- app/design/frontend/foungento/default/template/catalog/product/new.phtml +32 -0
- app/design/frontend/foungento/default/template/catalog/product/view.phtml +176 -0
- app/design/frontend/foungento/default/template/catalog/product/view/addto.phtml +18 -0
- app/design/frontend/foungento/default/template/catalog/product/view/addtocart.phtml +14 -0
- app/design/frontend/foungento/default/template/catalog/product/view/attributes.phtml +52 -0
- app/design/frontend/foungento/default/template/catalog/product/view/media.phtml +53 -0
- app/design/frontend/foungento/default/template/catalog/product/view/options/wrapper.phtml +7 -0
- app/design/frontend/foungento/default/template/catalog/product/view/options/wrapper/bottom.phtml +3 -0
- app/design/frontend/foungento/default/template/catalog/product/view/type/default.phtml +17 -0
- app/design/frontend/foungento/default/template/catalog/product/view/type/grouped.phtml +68 -0
- app/design/frontend/foungento/default/template/catalogsearch/form.mini.phtml +22 -0
- app/design/frontend/foungento/default/template/catalogsearch/result.phtml +57 -0
- app/design/frontend/foungento/default/template/checkout/cart.phtml +151 -0
- app/design/frontend/foungento/default/template/checkout/cart/coupon.phtml +61 -0
- app/design/frontend/foungento/default/template/checkout/cart/crosssell.phtml +33 -0
- app/design/frontend/foungento/default/template/checkout/cart/item/configure/updatecart.phtml +39 -0
- app/design/frontend/foungento/default/template/checkout/cart/item/default.phtml +266 -0
- app/design/frontend/foungento/default/template/checkout/cart/minicart.phtml +24 -0
- app/design/frontend/foungento/default/template/checkout/cart/minicart/default.phtml +323 -0
- app/design/frontend/foungento/default/template/checkout/cart/minicart/items.phtml +130 -0
- app/design/frontend/foungento/default/template/checkout/cart/noItems.phtml +12 -0
- app/design/frontend/foungento/default/template/checkout/cart/shipping.phtml +139 -0
- app/design/frontend/foungento/default/template/checkout/cart/sidebar.phtml +80 -0
- app/design/frontend/foungento/default/template/checkout/cart/sidebar/default.phtml +145 -0
- app/design/frontend/foungento/default/template/checkout/cart/totals.phtml +24 -0
- app/design/frontend/foungento/default/template/checkout/onepage.phtml +42 -0
- app/design/frontend/foungento/default/template/checkout/onepage/billing.phtml +216 -0
- app/design/frontend/foungento/default/template/checkout/onepage/link.phtml +29 -0
- app/design/frontend/foungento/default/template/checkout/onepage/payment.phtml +73 -0
- app/design/frontend/foungento/default/template/checkout/onepage/payment/methods.phtml +73 -0
- app/design/frontend/foungento/default/template/checkout/onepage/review/info.phtml +60 -0
- app/design/frontend/foungento/default/template/checkout/onepage/review/totals.phtml +47 -0
- app/design/frontend/foungento/default/template/checkout/onepage/shipping_method.phtml +46 -0
- app/design/frontend/foungento/default/template/checkout/success.phtml +42 -0
- app/design/frontend/foungento/default/template/customer/account/dashboard.phtml +19 -0
- app/design/frontend/foungento/default/template/customer/account/dashboard/address.phtml +25 -0
- app/design/frontend/foungento/default/template/customer/account/dashboard/info.phtml +38 -0
- app/design/frontend/foungento/default/template/customer/form/forgotpassword.phtml +36 -0
- app/design/frontend/foungento/default/template/newsletter/subscribe.phtml +49 -0
- app/design/frontend/foungento/default/template/page/1column.phtml +35 -0
- app/design/frontend/foungento/default/template/page/2columns-left.phtml +41 -0
- app/design/frontend/foungento/default/template/page/2columns-right.phtml +40 -0
- app/design/frontend/foungento/default/template/page/3columns.phtml +41 -0
- app/design/frontend/foungento/default/template/page/html/breadcrumbs.phtml +22 -0
- app/design/frontend/foungento/default/template/page/html/footer.phtml +93 -0
- app/design/frontend/foungento/default/template/page/html/header.phtml +59 -0
- app/design/frontend/foungento/default/template/page/html/notices.phtml +36 -0
- app/design/frontend/foungento/default/template/page/html/pager.phtml +123 -0
- app/design/frontend/foungento/default/template/page/html/topmenu.phtml +64 -0
- app/design/frontend/foungento/default/template/page/switch/languages.phtml +17 -0
- app/design/frontend/foungento/default/template/page/template/links.phtml +32 -0
- app/design/frontend/foungento/default/template/persistent/checkout/onepage/billing.phtml +226 -0
- app/design/frontend/foungento/default/template/persistent/checkout/onepage/login.phtml +181 -0
- app/design/frontend/foungento/default/template/persistent/customer/form/login.phtml +69 -0
- app/design/frontend/foungento/default/template/persistent/customer/form/register.phtml +166 -0
- app/design/frontend/foungento/default/template/persistent/remember_me.phtml +39 -0
- app/design/frontend/foungento/default/template/reports/product_viewed.phtml +44 -0
- app/design/frontend/foungento/default/template/sales/order/recent.phtml +43 -0
- app/design/frontend/foungento/default/template/sales/reorder/sidebar.phtml +78 -0
- app/design/frontend/foungento/default/template/tag/list.phtml +37 -0
- app/etc/modules/Foungento_All.xml +9 -0
- package.xml +21 -0
- skin/frontend/foungento/default/css/app.css +1 -0
- skin/frontend/foungento/default/css/normalize.css +427 -0
- skin/frontend/foungento/default/css/print.css +40 -0
- skin/frontend/foungento/default/css/reset.css +48 -0
- skin/frontend/foungento/default/css/responsive-tables.css +38 -0
- skin/frontend/foungento/default/css/styles.css +309 -0
- skin/frontend/foungento/default/images/100x50.gif +0 -0
- skin/frontend/foungento/default/images/130x50.gif +0 -0
- skin/frontend/foungento/default/images/20x20.gif +0 -0
- skin/frontend/foungento/default/images/50x50.gif +0 -0
- skin/frontend/foungento/default/images/address_icon.png +0 -0
- skin/frontend/foungento/default/images/addtocart_icon.png +0 -0
- skin/frontend/foungento/default/images/basket_icon.png +0 -0
- skin/frontend/foungento/default/images/btn_trash.gif +0 -0
- skin/frontend/foungento/default/images/email_icon.png +0 -0
- skin/frontend/foungento/default/images/facebook.png +0 -0
- skin/frontend/foungento/default/images/footer_bg.png +0 -0
- skin/frontend/foungento/default/images/footer_bg_darker.png +0 -0
- skin/frontend/foungento/default/images/i_arrow-top.gif +0 -0
- skin/frontend/foungento/default/images/i_asc_arrow.gif +0 -0
- skin/frontend/foungento/default/images/i_msg-error.gif +0 -0
- skin/frontend/foungento/default/images/i_msg-note.gif +0 -0
- skin/frontend/foungento/default/images/i_msg-success.gif +0 -0
- skin/frontend/foungento/default/images/left_arrow.png +0 -0
- skin/frontend/foungento/default/images/logo_footer.png +0 -0
- skin/frontend/foungento/default/images/master.png +0 -0
- skin/frontend/foungento/default/images/media/350x150.gif +0 -0
- skin/frontend/foungento/default/images/media/fashion_style_logo.png +0 -0
- skin/frontend/foungento/default/images/media/logo.png +0 -0
- skin/frontend/foungento/default/images/media/logo_small.png +0 -0
- skin/frontend/foungento/default/images/opc-ajax-loader.gif +0 -0
- skin/frontend/foungento/default/images/pager_arrow_left.gif +0 -0
- skin/frontend/foungento/default/images/pager_arrow_right.gif +0 -0
- skin/frontend/foungento/default/images/paypal.png +0 -0
- skin/frontend/foungento/default/images/phone_icon.png +0 -0
- skin/frontend/foungento/default/images/play_icon.png +0 -0
- skin/frontend/foungento/default/images/right_arrow.png +0 -0
- skin/frontend/foungento/default/images/slanted_horizontal_line.png +0 -0
- skin/frontend/foungento/default/images/twitter.png +0 -0
- skin/frontend/foungento/default/images/visa.png +0 -0
- skin/frontend/foungento/default/js/custom.js +40 -0
- skin/frontend/foungento/default/js/foundation.interchange.js +356 -0
- skin/frontend/foungento/default/js/foundation.min.js +6081 -0
- skin/frontend/foungento/default/js/jquery.1.8.3.min.js +2 -0
- skin/frontend/foungento/default/js/jquery_plugins/jquery.infinitescroll.js +827 -0
- skin/frontend/foungento/default/js/jquery_plugins/manual-trigger.js +61 -0
- skin/frontend/foungento/default/js/minicart.js +214 -0
- skin/frontend/foungento/default/js/modernizr.js +8 -0
- skin/frontend/foungento/default/js/noConflict.js +1 -0
- skin/frontend/foungento/default/js/responsive-tables.js +67 -0
app/code/local/Foungento/Responsive/Block/Checkout/Cart/Crosssell.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Cart crosssell list
|
4 |
+
*
|
5 |
+
* @category Armin
|
6 |
+
* @package Armin_Responsive
|
7 |
+
* @author Armin Core <armin.almuete@gmail.com>
|
8 |
+
*/
|
9 |
+
class Foungento_Responsive_Block_Checkout_Cart_Crosssell extends Mage_Checkout_Block_Cart_Crosssell
|
10 |
+
{
|
11 |
+
/**
|
12 |
+
* Items quantity will be capped to this value
|
13 |
+
*
|
14 |
+
* @var int
|
15 |
+
*/
|
16 |
+
protected $_maxItemCount = 8;
|
17 |
+
}
|
app/code/local/Foungento/Responsive/etc/config.xml
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Foungento_Responsive>
|
5 |
+
<version>0.0.1</version>
|
6 |
+
</Foungento_Responsive>
|
7 |
+
</modules>
|
8 |
+
|
9 |
+
<global>
|
10 |
+
<blocks>
|
11 |
+
<foungento_responsive>
|
12 |
+
<class>Foungento_Responsive_Block</class>
|
13 |
+
</foungento_responsive>
|
14 |
+
|
15 |
+
<checkout>
|
16 |
+
<rewrite>
|
17 |
+
<cart_crosssell>Foungento_Responsive_Block_Checkout_Cart_Crosssell</cart_crosssell>
|
18 |
+
</rewrite>
|
19 |
+
</checkout>
|
20 |
+
|
21 |
+
</blocks>
|
22 |
+
</global>
|
23 |
+
</config>
|
app/design/frontend/foungento/default/layout/local.xml
ADDED
@@ -0,0 +1,160 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
<default>
|
4 |
+
<remove name="left.permanent.callout"/>
|
5 |
+
<remove name="tags_popular"/>
|
6 |
+
|
7 |
+
<reference name="head">
|
8 |
+
<action method="addItem"><type>skin_js</type><name>js/jquery.1.8.3.min.js</name><params/></action>
|
9 |
+
<action method="addItem"><type>skin_js</type><name>js/noConflict.js</name><params/></action>
|
10 |
+
<action method="addItem"><type>skin_js</type><name>js/foundation.min.js</name><params/></action>
|
11 |
+
<action method="addItem"><type>skin_js</type><name>js/foundation.interchange.js</name><params/></action>
|
12 |
+
<action method="addItem"><type>skin_js</type><name>js/responsive-tables.js</name><params/></action>
|
13 |
+
<action method="addCss"><stylesheet>css/reset.css</stylesheet></action>
|
14 |
+
<action method="addCss"><stylesheet>css/app.css</stylesheet></action>
|
15 |
+
<action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
|
16 |
+
|
17 |
+
<action method="addCss"><stylesheet>css/responsive-tables.css</stylesheet></action>
|
18 |
+
|
19 |
+
|
20 |
+
<action method="addItem"><type>skin_js</type><name>js/modernizr.js</name></action>
|
21 |
+
<action method="addItem"><type>skin_js</type><name>js/minicart.js</name></action>
|
22 |
+
<action method="addItem"><type>skin_js</type><name>js/custom.js</name></action>
|
23 |
+
|
24 |
+
<block type="core/text" name="zurb.foundation">
|
25 |
+
<action method="setText">
|
26 |
+
<text>
|
27 |
+
<![CDATA[
|
28 |
+
<link href='http://fonts.googleapis.com/css?family=Roboto:400,900,700italic,700,500,500italic,400italic,300,300italic,100italic,100,900italic' rel='stylesheet' type='text/css'>
|
29 |
+
<script type="text/javascript">
|
30 |
+
jQuery(document).ready(function() {
|
31 |
+
jQuery(document).foundation();
|
32 |
+
jQuery(".messages").wrap(function() {
|
33 |
+
return "<div class='row'><div class='large-12 columns'></div></div>";
|
34 |
+
});
|
35 |
+
|
36 |
+
/*jQuery("body").css('background-color', '#333');*/
|
37 |
+
/*jQuery("body").find('.button').addClass('radius tiny ');*/
|
38 |
+
|
39 |
+
jQuery("button").each(function() {
|
40 |
+
jQuery(this).addClass("radius tiny button");
|
41 |
+
});
|
42 |
+
|
43 |
+
/* BACKGROUND */
|
44 |
+
/*jQuery(".columns").each(function() {
|
45 |
+
var hue = 'rgb(' + (Math.floor((256-199)*Math.random()) + 200) + ',' + (Math.floor((256-199)*Math.random()) + 200) + ',' + (Math.floor((256-199)*Math.random()) + 200) + ')';
|
46 |
+
jQuery(this).css("background-color", hue);
|
47 |
+
jQuery(this).css("margin","0px 0px");
|
48 |
+
});*/
|
49 |
+
|
50 |
+
jQuery("#header-cart").hide();
|
51 |
+
jQuery(".mysubtotal").html(jQuery(".minicart-wrapper .subtotal span.price").html());
|
52 |
+
|
53 |
+
/*jQuery("table").addClass("responsive");*/
|
54 |
+
|
55 |
+
var s = jQuery("#stiky-left");
|
56 |
+
var pos = s.position();
|
57 |
+
jQuery(window).scroll(function() {
|
58 |
+
var windowpos = jQuery(window).scrollTop();
|
59 |
+
if (windowpos >= s.data('boundaries')) {
|
60 |
+
s.addClass("stick");
|
61 |
+
} else {
|
62 |
+
s.removeClass("stick");
|
63 |
+
}
|
64 |
+
});
|
65 |
+
});
|
66 |
+
</script>
|
67 |
+
]]>
|
68 |
+
</text>
|
69 |
+
</action>
|
70 |
+
</block>
|
71 |
+
|
72 |
+
|
73 |
+
</reference>
|
74 |
+
|
75 |
+
<reference name="header">
|
76 |
+
<block type="checkout/cart_minicart" name="minicart_head" template="checkout/cart/minicart.phtml" before="-">
|
77 |
+
<block type="checkout/cart_sidebar" name="minicart_content" template="checkout/cart/minicart/items.phtml">
|
78 |
+
<action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/cart/minicart/default.phtml</template></action>
|
79 |
+
<action method="addItemRender"><type>simple</type><block>checkout/cart_item_renderer</block><template>checkout/cart/minicart/default.phtml</template></action>
|
80 |
+
<action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/cart/minicart/default.phtml</template></action>
|
81 |
+
<action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/cart/minicart/default.phtml</template></action>
|
82 |
+
|
83 |
+
<block type="core/text_list" name="cart_sidebar.cart_promotion" as="cart_promotion" translate="label" module="checkout">
|
84 |
+
<label>Mini-cart promotion block</label>
|
85 |
+
</block>
|
86 |
+
<block type="core/text_list" name="cart_sidebar.extra_actions" as="extra_actions" translate="label" module="checkout">
|
87 |
+
<label>Shopping Cart Sidebar Extra Actions</label>
|
88 |
+
</block>
|
89 |
+
</block>
|
90 |
+
</block>
|
91 |
+
</reference>
|
92 |
+
</default>
|
93 |
+
|
94 |
+
<catalog_category_layered>
|
95 |
+
<reference name="head">
|
96 |
+
<action method="addItem"><type>skin_js</type><name>js/jquery_plugins/jquery.infinitescroll.js</name><params/></action>
|
97 |
+
<action method="addItem"><type>skin_js</type><name>js/jquery_plugins/manual-trigger.js</name><params/></action>
|
98 |
+
<action method="addItem"><type>skin_js</type><name>js/inFiniteScroll.js</name><params/></action>
|
99 |
+
</reference>
|
100 |
+
<reference name="root">
|
101 |
+
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
|
102 |
+
</reference>
|
103 |
+
</catalog_category_layered>
|
104 |
+
|
105 |
+
<catalog_category_default>
|
106 |
+
<reference name="head">
|
107 |
+
<action method="addItem"><type>skin_js</type><name>js/jquery_plugins/jquery.infinitescroll.js</name><params/></action>
|
108 |
+
<action method="addItem"><type>skin_js</type><name>js/inFiniteScroll.js</name><params/></action>
|
109 |
+
</reference>
|
110 |
+
</catalog_category_default>
|
111 |
+
|
112 |
+
<catalog_category_view>
|
113 |
+
<reference name="root">
|
114 |
+
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
|
115 |
+
</reference>
|
116 |
+
</catalog_category_view>
|
117 |
+
|
118 |
+
<catalog_product_view>
|
119 |
+
<reference name="root">
|
120 |
+
<action method="setTemplate"><template>page/1column.phtml</template></action>
|
121 |
+
</reference>
|
122 |
+
</catalog_product_view>
|
123 |
+
|
124 |
+
<catalogsearch_result_index>
|
125 |
+
<reference name="root">
|
126 |
+
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
|
127 |
+
</reference>
|
128 |
+
</catalogsearch_result_index>
|
129 |
+
|
130 |
+
<tag_product_list>
|
131 |
+
<reference name="root">
|
132 |
+
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
|
133 |
+
</reference>
|
134 |
+
</tag_product_list>
|
135 |
+
|
136 |
+
|
137 |
+
<checkout_onepage_index>
|
138 |
+
<remove name="top.menu"/>
|
139 |
+
<remove name="top.search"/>
|
140 |
+
<remove name="footer"/>
|
141 |
+
<remove name="top.links"/>
|
142 |
+
|
143 |
+
<!--
|
144 |
+
<remove name="top.search"/>
|
145 |
+
<remove name="top.links"/>
|
146 |
+
<remove name="top.menu"/>
|
147 |
+
<remove name="welcome"/>
|
148 |
+
<remove name="store_language"/>
|
149 |
+
-->
|
150 |
+
<reference name="root">
|
151 |
+
<action method="setTemplate"><template>page/1column.phtml</template></action>
|
152 |
+
</reference>
|
153 |
+
</checkout_onepage_index>
|
154 |
+
|
155 |
+
<checkout_cart_index translate="label">
|
156 |
+
<reference name="root">
|
157 |
+
<action method="setTemplate"><template>page/1column.phtml</template></action>
|
158 |
+
</reference>
|
159 |
+
</checkout_cart_index>
|
160 |
+
</layout>
|
app/design/frontend/foungento/default/template/catalog/category/view.phtml
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Category view template
|
4 |
+
*
|
5 |
+
* @see Mage_Catalog_Block_Category_View
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<?php
|
9 |
+
$_helper = $this->helper('catalog/output');
|
10 |
+
$_category = $this->getCurrentCategory();
|
11 |
+
$_imgHtml = '';
|
12 |
+
if ($_imgUrl = $_category->getImageUrl()) {
|
13 |
+
$_imgHtml = '<div class="row"><div class="large-12 columns"><p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this->escapeHtml($_category->getName()).'" title="'.$this->escapeHtml($_category->getName()).'" /></p></div></div>';
|
14 |
+
$_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
|
15 |
+
}
|
16 |
+
?>
|
17 |
+
<div class="row">
|
18 |
+
<div class="page-title category-title large-12 columns">
|
19 |
+
<?php if($this->IsRssCatalogEnable() && $this->IsTopCategory()): ?>
|
20 |
+
<a href="<?php echo $this->getRssLink() ?>" class="link-rss"><?php echo $this->__('Subscribe to RSS Feed') ?></a>
|
21 |
+
<?php endif; ?>
|
22 |
+
<h1><?php echo $_helper->categoryAttribute($_category, $_category->getName(), 'name') ?></h1>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
|
26 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
27 |
+
|
28 |
+
<?php if($_imgUrl): ?>
|
29 |
+
<?php echo $_imgHtml ?>
|
30 |
+
<?php endif; ?>
|
31 |
+
|
32 |
+
<?php if($_description=$this->getCurrentCategory()->getDescription()): ?>
|
33 |
+
<div class="category-description std">
|
34 |
+
<?php echo $_helper->categoryAttribute($_category, $_description, 'description') ?>
|
35 |
+
</div>
|
36 |
+
<?php endif; ?>
|
37 |
+
|
38 |
+
<?php if($this->isContentMode()): ?>
|
39 |
+
<?php echo $this->getCmsBlockHtml() ?>
|
40 |
+
|
41 |
+
<?php elseif($this->isMixedMode()): ?>
|
42 |
+
<?php echo $this->getCmsBlockHtml() ?>
|
43 |
+
<?php echo $this->getProductListHtml() ?>
|
44 |
+
|
45 |
+
<?php else: ?>
|
46 |
+
<?php echo $this->getProductListHtml() ?>
|
47 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/catalog/layer/state.phtml
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* Category layered navigation state
|
30 |
+
*
|
31 |
+
* @see Mage_Catalog_Block_Layer_State
|
32 |
+
*/
|
33 |
+
?>
|
34 |
+
<?php $_filters = $this->getActiveFilters() ?>
|
35 |
+
<?php if(!empty($_filters)): ?>
|
36 |
+
<div class="currently">
|
37 |
+
<p class="block-subtitle"><?php echo $this->__('Currently Shopping by:') ?></p>
|
38 |
+
<ol>
|
39 |
+
<?php foreach ($_filters as $_filter): ?>
|
40 |
+
<li>
|
41 |
+
<span class="radius label secondary"><?php echo $this->__($_filter->getName()) ?>:</span> <span class="value"><?php echo $this->stripTags($_filter->getLabel()) ?></span>
|
42 |
+
<?php
|
43 |
+
$clearLinkUrl = $_filter->getClearLinkUrl();
|
44 |
+
if ($clearLinkUrl):
|
45 |
+
?>
|
46 |
+
<a class="btn-previous" href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo $this->__('Previous') ?>"><?php echo $this->__('Previous') ?></a>
|
47 |
+
<a class="btn-remove right" title="<?php echo $this->escapeHtml($_filter->getFilter()->getClearLinkText()) ?>" href="<?php echo $clearLinkUrl ?>"><?php echo $this->escapeHtml($_filter->getFilter()->getClearLinkText()) ?></a>
|
48 |
+
<?php else: ?>
|
49 |
+
<a class="btn-remove right" href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo $this->__('Remove This Item') ?>"><img src="<?php echo $this->getSkinUrl('images/btn_trash.gif'); ?>" title="<?php echo $this->__('Delete %s Filter', $this->__($_filter->getName())); ?>"/></a>
|
50 |
+
<?php endif; ?>
|
51 |
+
</li>
|
52 |
+
<?php endforeach; ?>
|
53 |
+
</ol>
|
54 |
+
</div>
|
55 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/catalog/product/list.phtml
ADDED
@@ -0,0 +1,114 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Product list template
|
4 |
+
*
|
5 |
+
* @see Mage_Catalog_Block_Product_List
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<?php
|
9 |
+
$_productCollection=$this->getLoadedProductCollection();
|
10 |
+
$_helper = $this->helper('catalog/output');
|
11 |
+
?>
|
12 |
+
<?php if(!$_productCollection->count()): ?>
|
13 |
+
<p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p>
|
14 |
+
<?php else: ?>
|
15 |
+
<div class="category-products">
|
16 |
+
<?php echo $this->getToolbarHtml() ?>
|
17 |
+
|
18 |
+
<?php // List mode ?>
|
19 |
+
<?php if($this->getMode()!='grid'): ?>
|
20 |
+
<?php $_iterator = 0; ?>
|
21 |
+
<ol id="products-list" class="products-list small-block-grid-1 medium-block-grid-3 large-block-grid-1">
|
22 |
+
<?php foreach ($_productCollection as $_product): ?>
|
23 |
+
<li class="item">
|
24 |
+
|
25 |
+
<div class="row">
|
26 |
+
<div class="large-5 columns">
|
27 |
+
<?php // Product Image ?>
|
28 |
+
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(600); ?>" width="600" height="600" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
|
29 |
+
<?php // Product description ?>
|
30 |
+
</div>
|
31 |
+
<div class="product-shop large-7 columns">
|
32 |
+
<div class="f-fix">
|
33 |
+
<?php $_productNameStripped = $this->stripTags($_product->getName(), null, true); ?>
|
34 |
+
<h2 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped; ?>"><?php echo $_helper->productAttribute($_product, $_product->getName() , 'name'); ?></a></h2>
|
35 |
+
<?php /*if($_product->getRatingSummary()): ?>
|
36 |
+
<?php echo $this->getReviewsSummaryHtml($_product) ?>
|
37 |
+
<?php endif; */?>
|
38 |
+
<?php echo $this->getPriceHtml($_product, true) ?>
|
39 |
+
<?php if($_product->isSaleable()): ?>
|
40 |
+
<p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="radius tiny button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
|
41 |
+
<?php else: ?>
|
42 |
+
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
|
43 |
+
<?php endif; ?>
|
44 |
+
<div class="desc std">
|
45 |
+
<?php echo $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description') ?>
|
46 |
+
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped ?>" class="link-learn"><?php echo $this->__('Learn More') ?></a>
|
47 |
+
</div>
|
48 |
+
<ul class="add-to-links">
|
49 |
+
<?php if ($this->helper('wishlist')->isAllow()) : ?>
|
50 |
+
<li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
|
51 |
+
<?php endif; ?>
|
52 |
+
<?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>
|
53 |
+
<li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
|
54 |
+
<?php endif; ?>
|
55 |
+
</ul>
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
</div>
|
59 |
+
</li>
|
60 |
+
<?php endforeach; ?>
|
61 |
+
</ol>
|
62 |
+
<script type="text/javascript">decorateList('products-list', 'none-recursive')</script>
|
63 |
+
|
64 |
+
<?php else: ?>
|
65 |
+
|
66 |
+
<?php // Grid Mode ?>
|
67 |
+
|
68 |
+
<?php $_collectionSize = $_productCollection->count() ?>
|
69 |
+
<?php $_columnCount = $this->getColumnCount(); ?>
|
70 |
+
<div class="list-items row">
|
71 |
+
<div class="small-12 medium-12 large-12 columns">
|
72 |
+
<ul class="products-grid small-block-grid-1 medium-block-grid-2 large-block-grid-4">
|
73 |
+
<?php $i=0; foreach ($_productCollection as $_product): ?>
|
74 |
+
<?php /* if ($i++%$_columnCount==0): ?>
|
75 |
+
<ul class="products-grid small-block-grid-2 medium-block-grid-3 large-block-grid-3">
|
76 |
+
<?php endif */ ?>
|
77 |
+
<li class="list-items item small-text-center medium-text-left large-text-left">
|
78 |
+
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(600); ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
|
79 |
+
<h2 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></h2>
|
80 |
+
<?php /* if($_product->getRatingSummary()): ?>
|
81 |
+
<?php echo $this->getReviewsSummaryHtml($_product, 'short') ?>
|
82 |
+
<?php endif; */ ?>
|
83 |
+
<?php echo $this->getPriceHtml($_product, true) ?>
|
84 |
+
<div class="force-bottom actions small-text-center medium-text-left large-text-left">
|
85 |
+
<?php if($_product->isSaleable()): ?>
|
86 |
+
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="radius tiny button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
|
87 |
+
<?php else: ?>
|
88 |
+
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
|
89 |
+
<?php endif; ?>
|
90 |
+
<ul class="add-to-links">
|
91 |
+
<?php if ($this->helper('wishlist')->isAllow()) : ?>
|
92 |
+
<li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
|
93 |
+
<?php endif; ?>
|
94 |
+
<?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>
|
95 |
+
<li><a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
|
96 |
+
<?php endif; ?>
|
97 |
+
</ul>
|
98 |
+
</div>
|
99 |
+
</li>
|
100 |
+
<?php /*if ($i%$_columnCount==0 || $i==$_collectionSize): ?>
|
101 |
+
</ul>
|
102 |
+
<?php endif */ ?>
|
103 |
+
<?php endforeach ?>
|
104 |
+
</ul>
|
105 |
+
</div>
|
106 |
+
</div>
|
107 |
+
<script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script>
|
108 |
+
<?php endif; ?>
|
109 |
+
|
110 |
+
<div class="toolbar-bottom">
|
111 |
+
<?php echo $this->getToolbarHtml() ?>
|
112 |
+
</div>
|
113 |
+
</div>
|
114 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/catalog/product/list/toolbar.phtml
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Product list toolbar
|
4 |
+
*
|
5 |
+
* @see Mage_Catalog_Block_Product_List_Toolbar
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<?php if($this->getCollection()->getSize()): ?>
|
9 |
+
<div class="toolbar hide">
|
10 |
+
<div class="pager row">
|
11 |
+
<div class="small-12 medium-9 large-9 columns">
|
12 |
+
<p class="amount">
|
13 |
+
<?php if($this->getLastPageNum()>1): ?>
|
14 |
+
<?php echo $this->__('Items %s to %s of %s total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
|
15 |
+
<?php else: ?>
|
16 |
+
<strong><?php echo $this->__('%s Item(s)', $this->getTotalNum()) ?></strong>
|
17 |
+
<?php endif; ?>
|
18 |
+
</p>
|
19 |
+
</div>
|
20 |
+
<div class="small-12 medium-3 large-3 columns">
|
21 |
+
<div class="limiter">
|
22 |
+
<!-- label><?php echo $this->__('Show') ?></label -->
|
23 |
+
<select onchange="setLocation(this.value)">
|
24 |
+
<?php foreach ($this->getAvailableLimit() as $_key=>$_limit): ?>
|
25 |
+
<option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if($this->isLimitCurrent($_key)): ?> selected="selected"<?php endif ?>>
|
26 |
+
<?php echo $_limit ?>
|
27 |
+
</option>
|
28 |
+
<?php endforeach; ?>
|
29 |
+
</select> <?php echo $this->__('per page') ?>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
|
34 |
+
<?php if( $this->isExpanded() ): ?>
|
35 |
+
<div class="sorter row">
|
36 |
+
<?php if( $this->isEnabledViewSwitcher() ): ?>
|
37 |
+
<div class="small-12 medium-9 large-9 columns">
|
38 |
+
<p class="view-mode">
|
39 |
+
<?php $_modes = $this->getModes(); ?>
|
40 |
+
<?php if($_modes && count($_modes)>1): ?>
|
41 |
+
<label><?php echo $this->__('View as') ?>:</label>
|
42 |
+
<?php foreach ($this->getModes() as $_code=>$_label): ?>
|
43 |
+
<?php if($this->isModeActive($_code)): ?>
|
44 |
+
<strong title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></strong>
|
45 |
+
<?php else: ?>
|
46 |
+
<a href="<?php echo $this->getModeUrl($_code) ?>" title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></a>
|
47 |
+
<?php endif; ?>
|
48 |
+
<?php endforeach; ?>
|
49 |
+
<?php endif; ?>
|
50 |
+
</p>
|
51 |
+
</div>
|
52 |
+
<?php endif; ?>
|
53 |
+
<div class="small-12 medium-3 large-3 columns">
|
54 |
+
<div class="sort-by">
|
55 |
+
<!-- label><?php echo $this->__('Sort By') ?></label -->
|
56 |
+
<select onchange="setLocation(this.value)">
|
57 |
+
<?php foreach($this->getAvailableOrders() as $_key=>$_order): ?>
|
58 |
+
<option value="<?php echo $this->getOrderUrl($_key, 'asc') ?>"<?php if($this->isOrderCurrent($_key)): ?> selected="selected"<?php endif; ?>>
|
59 |
+
<?php echo $this->__($_order) ?>
|
60 |
+
</option>
|
61 |
+
<?php endforeach; ?>
|
62 |
+
</select>
|
63 |
+
<?php if($this->getCurrentDirection() == 'desc'): ?>
|
64 |
+
<a href="<?php echo $this->getOrderUrl(null, 'asc') ?>" title="<?php echo $this->__('Set Ascending Direction') ?>"><img src="<?php echo $this->getSkinUrl('images/i_desc_arrow.gif') ?>" alt="<?php echo $this->__('Set Ascending Direction') ?>" class="v-middle" /></a>
|
65 |
+
<?php else: ?>
|
66 |
+
<a href="<?php echo $this->getOrderUrl(null, 'desc') ?>" title="<?php echo $this->__('Set Descending Direction') ?>"><img src="<?php echo $this->getSkinUrl('images/i_asc_arrow.gif') ?>" alt="<?php echo $this->__('Set Descending Direction') ?>" class="v-middle" /></a>
|
67 |
+
<?php endif; ?>
|
68 |
+
</div>
|
69 |
+
</div>
|
70 |
+
</div>
|
71 |
+
<?php endif; ?>
|
72 |
+
|
73 |
+
<div class="row">
|
74 |
+
<?php echo $this->getPagerHtml() ?>
|
75 |
+
</div>
|
76 |
+
|
77 |
+
</div>
|
78 |
+
<?php endif ?>
|
app/design/frontend/foungento/default/template/catalog/product/list/upsell.phtml
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if(count($this->getItemCollection()->getItems())): ?>
|
2 |
+
<h2><?php echo $this->__('You may also be interested in the following product(s)') ?></h2>
|
3 |
+
<ul class="products-grid small-block-grid-2 medium-block-grid-2 large-block-grid-4" id="upsell-product-table">
|
4 |
+
<?php // $this->setColumnCount(5); // uncomment this line if you want to have another number of columns. also can be changed in layout ?>
|
5 |
+
<?php $this->resetItemsIterator() ?>
|
6 |
+
<?php for($_i=0;$_i<$this->getRowCount();$_i++): ?>
|
7 |
+
|
8 |
+
<?php for($_j=0;$_j<$this->getColumnCount();$_j++): ?>
|
9 |
+
<?php if($_link=$this->getIterableItem()): ?>
|
10 |
+
<li>
|
11 |
+
<a href="<?php echo $_link->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_link->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_link, 'small_image')->resize(125) ?>" width="125" height="125" alt="<?php echo $this->escapeHtml($_link->getName()) ?>" /></a>
|
12 |
+
<h3 class="product-name"><a href="<?php echo $_link->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_link->getName()) ?>"><?php echo $this->escapeHtml($_link->getName()) ?></a></h3>
|
13 |
+
<?php echo $this->getPriceHtml($_link, true, '-upsell') ?>
|
14 |
+
<?php echo $this->getReviewsSummaryHtml($_link) ?>
|
15 |
+
</li>
|
16 |
+
<?php else: ?>
|
17 |
+
|
18 |
+
<?php endif; ?>
|
19 |
+
<?php endfor; ?>
|
20 |
+
|
21 |
+
<?php endfor; ?>
|
22 |
+
</ul>
|
23 |
+
<script type="text/javascript">decorateTable('upsell-product-table')</script>
|
24 |
+
|
25 |
+
<?php endif ?>
|
app/design/frontend/foungento/default/template/catalog/product/new.phtml
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
|
2 |
+
<div class="row">
|
3 |
+
<div class="large-12 columns">
|
4 |
+
<?php $_columnCount = $this->getColumnCount(); ?>
|
5 |
+
<ul class="products-grid small-block-grid-1 medium-block-grid-3 large-block-grid-3">
|
6 |
+
<?php $i=0; foreach ($_products->getItems() as $_product): ?>
|
7 |
+
<li class="item">
|
8 |
+
<div class="products-grid-content">
|
9 |
+
<a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_product->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(600) ?>" width="600" height="600" alt="<?php echo $this->escapeHtml($_product->getName()) ?>" /></a>
|
10 |
+
<h3 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_product->getName()) ?>"><?php echo $this->escapeHtml($_product->getName()) ?></a></h3>
|
11 |
+
<?php //echo $this->getReviewsSummaryHtml($_product, 'short') ?>
|
12 |
+
<div class="row">
|
13 |
+
<div class="small-6 medium-6 large-6 columns">
|
14 |
+
<?php echo $this->getPriceHtml($_product, true, '-new') ?>
|
15 |
+
</div>
|
16 |
+
<div class="small-6 medium-6 large-6 columns">
|
17 |
+
<div class="actions text-right">
|
18 |
+
<?php if($_product->isSaleable()): ?>
|
19 |
+
<button class="btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart')?></span></span></button>
|
20 |
+
<?php else: ?>
|
21 |
+
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
|
22 |
+
<?php endif; ?>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</li>
|
28 |
+
<?php endforeach; ?>
|
29 |
+
</ul>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/catalog/product/view.phtml
ADDED
@@ -0,0 +1,176 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Product view template
|
4 |
+
*
|
5 |
+
* @see Mage_Catalog_Block_Product_View
|
6 |
+
* @see Mage_Review_Block_Product_View
|
7 |
+
*/
|
8 |
+
?>
|
9 |
+
<?php $_helper = $this->helper('catalog/output'); ?>
|
10 |
+
<?php $_product = $this->getProduct(); ?>
|
11 |
+
<script type="text/javascript">
|
12 |
+
var optionsPrice = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>);
|
13 |
+
</script>
|
14 |
+
<div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
|
15 |
+
<div class="product-view">
|
16 |
+
<div class="product-essential row">
|
17 |
+
<form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
|
18 |
+
<?php echo $this->getBlockHtml('formkey') ?>
|
19 |
+
<div class="no-display">
|
20 |
+
<input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
|
21 |
+
<input type="hidden" name="related_product" id="related-products-field" value="" />
|
22 |
+
</div>
|
23 |
+
|
24 |
+
<div class="product-img-box small-12 small-centered medium-5 medium-uncentered large-6 columns">
|
25 |
+
<?php echo $this->getChildHtml('media') ?>
|
26 |
+
</div>
|
27 |
+
|
28 |
+
<div class="product-shop small-12 medium-7 large-6 columns">
|
29 |
+
<div class="product-name">
|
30 |
+
<h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
|
31 |
+
</div>
|
32 |
+
|
33 |
+
<div class="row">
|
34 |
+
<?php if ($this->canEmailToFriend()): ?>
|
35 |
+
<div class="large-6 columns">
|
36 |
+
<p class="email-friend"><a href="<?php echo $this->helper('catalog/product')->getEmailToFriendUrl($_product) ?>"><?php echo $this->__('Email to a Friend') ?></a></p>
|
37 |
+
</div>
|
38 |
+
<?php endif; ?>
|
39 |
+
<div class="large-6 columns">
|
40 |
+
<?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
|
44 |
+
|
45 |
+
<?php echo $this->getChildHtml('alert_urls') ?>
|
46 |
+
<?php echo $this->getChildHtml('product_type_data') ?>
|
47 |
+
<?php echo $this->getTierPriceHtml() ?>
|
48 |
+
<?php echo $this->getChildHtml('extrahint') ?>
|
49 |
+
|
50 |
+
<?php if (!$this->hasOptions()):?>
|
51 |
+
<div class="add-to-box">
|
52 |
+
<?php if($_product->isSaleable()): ?>
|
53 |
+
<?php echo $this->getChildHtml('addtocart') ?>
|
54 |
+
<?php if( $this->helper('wishlist')->isAllow() || $_compareUrl=$this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
|
55 |
+
<span class="or"><?php echo $this->__('OR') ?></span>
|
56 |
+
<?php endif; ?>
|
57 |
+
<?php endif; ?>
|
58 |
+
<?php echo $this->getChildHtml('addto') ?>
|
59 |
+
</div>
|
60 |
+
<?php echo $this->getChildHtml('extra_buttons') ?>
|
61 |
+
<?php elseif (!$_product->isSaleable()): ?>
|
62 |
+
<div class="add-to-box">
|
63 |
+
<?php echo $this->getChildHtml('addto') ?>
|
64 |
+
</div>
|
65 |
+
<?php endif; ?>
|
66 |
+
|
67 |
+
<div class="row">
|
68 |
+
|
69 |
+
<?php /*if ($_product->isSaleable() && $this->hasOptions()):?>
|
70 |
+
<div class="container2 large-6 columns">
|
71 |
+
<?php echo $this->getChildChildHtml('container2', '', true, true) ?>
|
72 |
+
</div>
|
73 |
+
<?php endif; */?>
|
74 |
+
|
75 |
+
|
76 |
+
|
77 |
+
<?php if ($_product->isSaleable() && $this->hasOptions()):?>
|
78 |
+
<div class="container1 large-6 columns">
|
79 |
+
<?php echo $this->getChildChildHtml('container1', '', true, true) ?>
|
80 |
+
</div>
|
81 |
+
<?php endif;?>
|
82 |
+
|
83 |
+
<?php if ($_product->getShortDescription()):?>
|
84 |
+
<div class="container2 large-6 columns">
|
85 |
+
<h2><?php echo $this->__('Quick Overview') ?></h2>
|
86 |
+
<div class="std"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
|
87 |
+
</div>
|
88 |
+
<?php endif;?>
|
89 |
+
|
90 |
+
|
91 |
+
</div>
|
92 |
+
|
93 |
+
<?php echo $this->getChildHtml('other');?>
|
94 |
+
|
95 |
+
|
96 |
+
|
97 |
+
</div>
|
98 |
+
|
99 |
+
|
100 |
+
|
101 |
+
</form>
|
102 |
+
<script type="text/javascript">
|
103 |
+
//<![CDATA[
|
104 |
+
var productAddToCartForm = new VarienForm('product_addtocart_form');
|
105 |
+
productAddToCartForm.submit = function(button, url) {
|
106 |
+
if (this.validator.validate()) {
|
107 |
+
var form = this.form;
|
108 |
+
var oldUrl = form.action;
|
109 |
+
|
110 |
+
if (url) {
|
111 |
+
form.action = url;
|
112 |
+
}
|
113 |
+
var e = null;
|
114 |
+
try {
|
115 |
+
this.form.submit();
|
116 |
+
} catch (e) {
|
117 |
+
}
|
118 |
+
this.form.action = oldUrl;
|
119 |
+
if (e) {
|
120 |
+
throw e;
|
121 |
+
}
|
122 |
+
|
123 |
+
if (button && button != 'undefined') {
|
124 |
+
button.disabled = true;
|
125 |
+
}
|
126 |
+
}
|
127 |
+
}.bind(productAddToCartForm);
|
128 |
+
|
129 |
+
productAddToCartForm.submitLight = function(button, url){
|
130 |
+
if(this.validator) {
|
131 |
+
var nv = Validation.methods;
|
132 |
+
delete Validation.methods['required-entry'];
|
133 |
+
delete Validation.methods['validate-one-required'];
|
134 |
+
delete Validation.methods['validate-one-required-by-name'];
|
135 |
+
// Remove custom datetime validators
|
136 |
+
for (var methodName in Validation.methods) {
|
137 |
+
if (methodName.match(/^validate-datetime-.*/i)) {
|
138 |
+
delete Validation.methods[methodName];
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
if (this.validator.validate()) {
|
143 |
+
if (url) {
|
144 |
+
this.form.action = url;
|
145 |
+
}
|
146 |
+
this.form.submit();
|
147 |
+
}
|
148 |
+
Object.extend(Validation.methods, nv);
|
149 |
+
}
|
150 |
+
}.bind(productAddToCartForm);
|
151 |
+
//]]>
|
152 |
+
</script>
|
153 |
+
</div>
|
154 |
+
|
155 |
+
|
156 |
+
|
157 |
+
|
158 |
+
<div class="product-collateral row">
|
159 |
+
<?php foreach ($this->getChildGroup('detailed_info', 'getChildHtml') as $alias => $html):?>
|
160 |
+
<div class="box-collateral <?php echo "box-{$alias}"?> large-12 columns">
|
161 |
+
<?php if ($title = $this->getChildData($alias, 'title')):?>
|
162 |
+
<h2><?php echo $this->escapeHtml($title); ?></h2>
|
163 |
+
<?php endif;?>
|
164 |
+
<?php echo $html; ?>
|
165 |
+
</div>
|
166 |
+
<?php endforeach;?>
|
167 |
+
<?php //echo $this->getChildHtml('product_additional_data') ?>
|
168 |
+
</div>
|
169 |
+
|
170 |
+
<div class="row">
|
171 |
+
<div class="box-collateral box-up-sell large-12 columns">
|
172 |
+
<?php echo $this->getChildHtml('upsell_products') ?>
|
173 |
+
</div>
|
174 |
+
</div>
|
175 |
+
|
176 |
+
</div>
|
app/design/frontend/foungento/default/template/catalog/product/view/addto.phtml
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $_product = $this->getProduct(); ?>
|
2 |
+
<?php $_wishlistSubmitUrl = $this->helper('wishlist')->getAddUrl($_product); ?>
|
3 |
+
|
4 |
+
<div class="row">
|
5 |
+
<div class="right small-12 columns">
|
6 |
+
<ul class="add-to-links">
|
7 |
+
<?php if ($this->helper('wishlist')->isAllow()) : ?>
|
8 |
+
<li><a href="<?php echo $_wishlistSubmitUrl ?>" onclick="productAddToCartForm.submitLight(this, this.href); return false;" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
|
9 |
+
<?php endif; ?>
|
10 |
+
<?php
|
11 |
+
$_compareUrl = $this->helper('catalog/product_compare')->getAddUrl($_product);
|
12 |
+
?>
|
13 |
+
<?php if($_compareUrl) : ?>
|
14 |
+
<li><a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
|
15 |
+
<?php endif; ?>
|
16 |
+
</ul>
|
17 |
+
</div>
|
18 |
+
</div>
|
app/design/frontend/foungento/default/template/catalog/product/view/addtocart.phtml
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php $_product = $this->getProduct(); ?>
|
2 |
+
<?php $buttonTitle = $this->__('Add to Cart'); ?>
|
3 |
+
<?php if($_product->isSaleable()): ?>
|
4 |
+
<div class="add-to-cart row">
|
5 |
+
<div class="right small-12 columns">
|
6 |
+
<?php if(!$_product->isGrouped()): ?>
|
7 |
+
<label for="qty"><?php echo $this->__('Qty:') ?></label>
|
8 |
+
<input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
|
9 |
+
<?php endif; ?>
|
10 |
+
<button type="button" title="<?php echo $buttonTitle ?>" id="product-addtocart-button" class="button btn-cart radius tiny" onclick="productAddToCartForm.submit(this)"><span><span><?php echo $buttonTitle ?></span></span></button>
|
11 |
+
<?php echo $this->getChildHtml('', true, true) ?>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/catalog/product/view/attributes.phtml
ADDED
@@ -0,0 +1,52 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Product additional attributes template
|
29 |
+
*
|
30 |
+
* @see Mage_Catalog_Block_Product_View_Attributes
|
31 |
+
*/
|
32 |
+
?>
|
33 |
+
<?php
|
34 |
+
$_helper = $this->helper('catalog/output');
|
35 |
+
$_product = $this->getProduct()
|
36 |
+
?>
|
37 |
+
<?php if($_additional = $this->getAdditionalData()): ?>
|
38 |
+
<h2><?php echo $this->__('Additional Information') ?></h2>
|
39 |
+
<table class="data-table" id="product-attribute-specs-table">
|
40 |
+
<col width="25%" />
|
41 |
+
<col />
|
42 |
+
<tbody>
|
43 |
+
<?php foreach ($_additional as $_data): ?>
|
44 |
+
<tr>
|
45 |
+
<th class="label secondary"><?php echo $this->escapeHtml($this->__($_data['label'])) ?></th>
|
46 |
+
<td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
|
47 |
+
</tr>
|
48 |
+
<?php endforeach; ?>
|
49 |
+
</tbody>
|
50 |
+
</table>
|
51 |
+
<script type="text/javascript">decorateTable('product-attribute-specs-table')</script>
|
52 |
+
<?php endif;?>
|
app/design/frontend/foungento/default/template/catalog/product/view/media.phtml
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Product media data template
|
4 |
+
*
|
5 |
+
* @see Mage_Catalog_Block_Product_View_Media
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<?php
|
9 |
+
$_product = $this->getProduct();
|
10 |
+
$_helper = $this->helper('catalog/output');
|
11 |
+
?>
|
12 |
+
<?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
|
13 |
+
<p class="product-image product-image-zoom">
|
14 |
+
<?php
|
15 |
+
$_img = '<img id="image" src="'.$this->helper('catalog/image')->init($_product, 'image').'" alt="'.$this->escapeHtml($this->getImageLabel()).'" title="'.$this->escapeHtml($this->getImageLabel()).'" />';
|
16 |
+
echo $_helper->productAttribute($_product, $_img, 'image');
|
17 |
+
?>
|
18 |
+
</p>
|
19 |
+
<p class="zoom-notice" id="track_hint"><?php echo $this->__('Double click on above image to view full picture') ?></p>
|
20 |
+
<div class="zoom">
|
21 |
+
<img id="zoom_out" src="<?php echo $this->getSkinUrl('images/slider_btn_zoom_out.gif') ?>" alt="<?php echo $this->__('Zoom Out') ?>" title="<?php echo $this->__('Zoom Out') ?>" class="btn-zoom-out" />
|
22 |
+
<div id="track">
|
23 |
+
<div id="handle"></div>
|
24 |
+
</div>
|
25 |
+
<img id="zoom_in" src="<?php echo $this->getSkinUrl('images/slider_btn_zoom_in.gif') ?>" alt="<?php echo $this->__('Zoom In') ?>" title="<?php echo $this->__('Zoom In') ?>" class="btn-zoom-in" />
|
26 |
+
</div>
|
27 |
+
<script type="text/javascript">
|
28 |
+
//<![CDATA[
|
29 |
+
Event.observe(window, 'load', function() {
|
30 |
+
product_zoom = new Product.Zoom('image', 'track', 'handle', 'zoom_in', 'zoom_out', 'track_hint');
|
31 |
+
});
|
32 |
+
//]]>
|
33 |
+
</script>
|
34 |
+
<?php else: ?>
|
35 |
+
<p class="product-image">
|
36 |
+
<?php
|
37 |
+
$_img = '<img src="'.$this->helper('catalog/image')->init($_product, 'image')->resize(265).'" alt="'.$this->escapeHtml($this->getImageLabel()).'" title="'.$this->escapeHtml($this->getImageLabel()).'" />';
|
38 |
+
echo $_helper->productAttribute($_product, $_img, 'image');
|
39 |
+
?>
|
40 |
+
</p>
|
41 |
+
<?php endif; ?>
|
42 |
+
<?php if (count($this->getGalleryImages()) > 0): ?>
|
43 |
+
<div class="more-views">
|
44 |
+
<h2><?php echo $this->__('More Views') ?></h2>
|
45 |
+
<ul class="clearing-thumbs image-thumbnail small-block-grid-3 medium-block-grid-6 large-block-grid-6" data-clearing>
|
46 |
+
<?php foreach ($this->getGalleryImages() as $_image): ?>
|
47 |
+
<li>
|
48 |
+
<a href="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'small_image', $_image->getFile())->resize(500); ?>" title="<?php echo $this->escapeHtml($_image->getLabel()) ?>"><img data-caption="<?php echo $_image->getLabel(); ?>" src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'small_image', $_image->getFile())->resize(500); ?>" width="50" height="500" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" /></a>
|
49 |
+
</li>
|
50 |
+
<?php endforeach; ?>
|
51 |
+
</ul>
|
52 |
+
</div>
|
53 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/catalog/product/view/options/wrapper.phtml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="product-options-wrapper" class="product-options">
|
2 |
+
<?php echo $this->getChildHtml('', true, true);?>
|
3 |
+
<?php if ($this->hasRequiredOptions()):?>
|
4 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
5 |
+
<?php endif;?>
|
6 |
+
</div>
|
7 |
+
<script type="text/javascript">decorateGeneric($$('#product-options-wrapper dl'), ['last']);</script>
|
app/design/frontend/foungento/default/template/catalog/product/view/options/wrapper/bottom.phtml
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
<div class="product-options-bottom">
|
2 |
+
<?php echo $this->getChildHtml('', true, true);?>
|
3 |
+
</div>
|
app/design/frontend/foungento/default/template/catalog/product/view/type/default.phtml
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php /* @var $this Mage_Catalog_Block_Product_View_Abstract */?>
|
2 |
+
<?php $_product = $this->getProduct() ?>
|
3 |
+
<div class="row">
|
4 |
+
<div class="large-6 columns"><?php echo $this->getPriceHtml($_product) ?></div>
|
5 |
+
<?php if ($this->displayProductStockStatus()): ?>
|
6 |
+
<?php if ($_product->isAvailable()): ?>
|
7 |
+
<div class="large-6 columns">
|
8 |
+
<p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
|
9 |
+
</div>
|
10 |
+
<?php else: ?>
|
11 |
+
<div class="large-6 columns">
|
12 |
+
<p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
|
13 |
+
</div>
|
14 |
+
<?php endif; ?>
|
15 |
+
<?php endif; ?>
|
16 |
+
<?php echo $this->getChildHtml('product_type_data_extra') ?>
|
17 |
+
</div>
|
app/design/frontend/foungento/default/template/catalog/product/view/type/grouped.phtml
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Grouped product data template
|
4 |
+
*
|
5 |
+
* @see Mage_Catalog_Block_Product_View_Media
|
6 |
+
* @see Mage_Catalog_Block_Product_View_Type_Grouped
|
7 |
+
*/
|
8 |
+
?>
|
9 |
+
<?php $this->setPreconfiguredValue(); ?>
|
10 |
+
<?php $_product = $this->getProduct(); ?>
|
11 |
+
<?php $_associatedProducts = $this->getAssociatedProducts(); ?>
|
12 |
+
<?php $_hasAssociatedProducts = count($_associatedProducts) > 0; ?>
|
13 |
+
<?php if ($this->displayProductStockStatus()): ?>
|
14 |
+
<?php if ($_product->isAvailable() && $_hasAssociatedProducts): ?>
|
15 |
+
<p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
|
16 |
+
<?php else: ?>
|
17 |
+
<p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
|
18 |
+
<?php endif; ?>
|
19 |
+
<?php endif; ?>
|
20 |
+
<?php echo $this->getChildHtml('product_type_data_extra') ?>
|
21 |
+
<table class="data-table grouped-items-table" id="super-product-table">
|
22 |
+
<!-- col />
|
23 |
+
<col />
|
24 |
+
<col width="1" / -->
|
25 |
+
<thead>
|
26 |
+
<tr>
|
27 |
+
<th><?php echo $this->__('Product Name') ?></th>
|
28 |
+
<?php if ($this->getCanShowProductPrice($_product)): ?>
|
29 |
+
<th class="a-right"><?php echo $this->__('Price') ?></th>
|
30 |
+
<?php endif; ?>
|
31 |
+
<?php if ($_product->isSaleable()): ?>
|
32 |
+
<th class="a-center"><?php echo $this->__('Qty') ?></th>
|
33 |
+
<?php endif; ?>
|
34 |
+
</tr>
|
35 |
+
</thead>
|
36 |
+
<tbody>
|
37 |
+
<?php if ($_hasAssociatedProducts): ?>
|
38 |
+
<?php foreach ($_associatedProducts as $_item): ?>
|
39 |
+
<?php $_finalPriceInclTax = $this->helper('tax')->getPrice($_item, $_item->getFinalPrice(), true) ?>
|
40 |
+
<tr>
|
41 |
+
<td><?php echo $this->escapeHtml($_item->getName()) ?></td>
|
42 |
+
<?php if ($this->getCanShowProductPrice($_product)): ?>
|
43 |
+
<td class="a-right">
|
44 |
+
<?php if ($this->getCanShowProductPrice($_item)): ?>
|
45 |
+
<?php echo $this->getPriceHtml($_item, true) ?>
|
46 |
+
<?php echo $this->getTierPriceHtml($_item) ?>
|
47 |
+
<?php endif; ?>
|
48 |
+
</td>
|
49 |
+
<?php endif; ?>
|
50 |
+
<?php if ($_product->isSaleable()): ?>
|
51 |
+
<td class="a-center">
|
52 |
+
<?php if ($_item->isSaleable()) : ?>
|
53 |
+
<input type="text" name="super_group[<?php echo $_item->getId() ?>]" maxlength="12" value="<?php echo $_item->getQty()*1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
|
54 |
+
<?php else: ?>
|
55 |
+
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
|
56 |
+
<?php endif; ?>
|
57 |
+
</td>
|
58 |
+
<?php endif; ?>
|
59 |
+
</tr>
|
60 |
+
<?php endforeach; ?>
|
61 |
+
<?php else: ?>
|
62 |
+
<tr>
|
63 |
+
<td colspan="<?php if ($_product->isSaleable()): ?>4<?php else : ?>3<?php endif; ?>"><?php echo $this->__('No options of this product are available.') ?></td>
|
64 |
+
</tr>
|
65 |
+
<?php endif; ?>
|
66 |
+
</tbody>
|
67 |
+
</table>
|
68 |
+
<script type="text/javascript">decorateTable('super-product-table')</script>
|
app/design/frontend/foungento/default/template/catalogsearch/form.mini.phtml
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/* @var $this Mage_Core_Block_Template */
|
3 |
+
/* @var $catalogSearchHelper Mage_Catalogsearch_Helper_Data */
|
4 |
+
$catalogSearchHelper = $this->helper('catalogsearch');
|
5 |
+
?>
|
6 |
+
<form id="search_mini_form" action="<?php echo $catalogSearchHelper->getResultUrl() ?>" method="get">
|
7 |
+
<div class="form-search row collapse">
|
8 |
+
<div class="small-3 right medium-2 large-3 columns">
|
9 |
+
<button type="submit" title="<?php echo $this->__('Search') ?>" class="radius tiny button postfix"><span><span><?php echo $this->__('Search') ?></span></span></button>
|
10 |
+
</div>
|
11 |
+
<div class="small-9 right medium-10 large-8 columns">
|
12 |
+
<input id="search" type="text" name="<?php echo $catalogSearchHelper->getQueryParamName() ?>" value="<?php echo $catalogSearchHelper->getEscapedQueryText() ?>" class="input-text" maxlength="<?php echo $catalogSearchHelper->getMaxQueryLength();?>" />
|
13 |
+
</div>
|
14 |
+
<div id="search_autocomplete" class="search-autocomplete"></div>
|
15 |
+
<script type="text/javascript">
|
16 |
+
//<![CDATA[
|
17 |
+
var searchForm = new Varien.searchForm('search_mini_form', 'search', '<?php echo $this->__('Search entire store here...') ?>');
|
18 |
+
searchForm.initAutocomplete('<?php echo $catalogSearchHelper->getSuggestUrl() ?>', 'search_autocomplete');
|
19 |
+
//]]>
|
20 |
+
</script>
|
21 |
+
</div>
|
22 |
+
</form>
|
app/design/frontend/foungento/default/template/catalogsearch/result.phtml
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php if($this->getResultCount()): ?>
|
28 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
29 |
+
<div class="row">
|
30 |
+
<div class="page-title large-12 columns">
|
31 |
+
<?php if ($this->helper('rss/catalog')->getTagFeedUrl()): ?>
|
32 |
+
<a href="<?php echo $this->helper('rss/catalog')->getTagFeedUrl() ?>" class="nobr link-rss"><?php echo $this->__('Subscribe to Feed') ?></a>
|
33 |
+
<?php endif; ?>
|
34 |
+
<h1><?php echo ($this->getHeaderText() || $this->getHeaderText() === false) ? $this->getHeaderText() : $this->__("Search results for '%s'", $this->helper('catalogsearch')->getEscapedQueryText()) ?></h1>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
<?php if ($messages = $this->getNoteMessages()):?>
|
38 |
+
<p class="note-msg">
|
39 |
+
<?php foreach ($messages as $message):?>
|
40 |
+
<?php echo $message?><br />
|
41 |
+
<?php endforeach;?>
|
42 |
+
</p>
|
43 |
+
<?php endif; ?>
|
44 |
+
<?php echo $this->getProductListHtml() ?>
|
45 |
+
<?php else: ?>
|
46 |
+
<div class="page-title">
|
47 |
+
<h1><?php echo ($this->getHeaderText() || $this->getHeaderText() === false) ? $this->getHeaderText() : $this->__("Search results for '%s'", $this->helper('catalogsearch')->getEscapedQueryText()) ?></h1>
|
48 |
+
</div>
|
49 |
+
<p class="note-msg">
|
50 |
+
<?php echo ($this->getNoResultText()) ? $this->getNoResultText() : $this->__('Your search returns no results.') ?>
|
51 |
+
<?php if ($messages = $this->getNoteMessages()):?>
|
52 |
+
<?php foreach ($messages as $message):?>
|
53 |
+
<br /><?php echo $message?>
|
54 |
+
<?php endforeach;?>
|
55 |
+
<?php endif; ?>
|
56 |
+
</p>
|
57 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/checkout/cart.phtml
ADDED
@@ -0,0 +1,151 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shopping cart template
|
4 |
+
*
|
5 |
+
* @see Mage_Checkout_Block_Cart
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<div class="cart ">
|
9 |
+
<div class="page-title title-buttons row">
|
10 |
+
<div class="small-12 medium-6 large-8 columns">
|
11 |
+
<h1><?php echo $this->__('Shopping Cart') ?></h1>
|
12 |
+
</div>
|
13 |
+
<?php if(!$this->hasError()): ?>
|
14 |
+
<div class="small-12 medium-4 large-4 columns">
|
15 |
+
<ul class="checkout-types right">
|
16 |
+
<?php foreach ($this->getMethods('top_methods') as $method): ?>
|
17 |
+
<?php if ($methodHtml = $this->getMethodHtml($method)): ?>
|
18 |
+
<li><?php echo $methodHtml; ?></li>
|
19 |
+
<?php endif; ?>
|
20 |
+
<?php endforeach; ?>
|
21 |
+
</ul>
|
22 |
+
</div>
|
23 |
+
<?php endif; ?>
|
24 |
+
</div>
|
25 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
26 |
+
<?php echo $this->getChildHtml('form_before') ?>
|
27 |
+
<form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post">
|
28 |
+
<?php echo $this->getBlockHtml('formkey'); ?>
|
29 |
+
<div class="row">
|
30 |
+
<div class="small-12 medium-12 large-12 columns">
|
31 |
+
<table id="shopping-cart-table" class="data-table cart-table responsive">
|
32 |
+
<?php /* ?>
|
33 |
+
<col width="1" />
|
34 |
+
<col />
|
35 |
+
<col width="1" />
|
36 |
+
<?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
|
37 |
+
<col width="1" />
|
38 |
+
<?php endif ?>
|
39 |
+
<?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
40 |
+
<col width="1" />
|
41 |
+
<?php endif; ?>
|
42 |
+
<?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
43 |
+
<col width="1" />
|
44 |
+
<?php endif; ?>
|
45 |
+
<col width="1" />
|
46 |
+
<?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
47 |
+
<col width="1" />
|
48 |
+
<?php endif; ?>
|
49 |
+
<?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
50 |
+
<col width="1" />
|
51 |
+
<?php endif; ?>
|
52 |
+
<col width="1" />
|
53 |
+
<?php */ ?>
|
54 |
+
<?php $mergedCells = ($this->helper('tax')->displayCartBothPrices() ? 2 : 1); ?>
|
55 |
+
|
56 |
+
<thead>
|
57 |
+
<tr>
|
58 |
+
<th rowspan="<?php echo $mergedCells; ?>"> </th>
|
59 |
+
<th rowspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Product Name') ?></span></th>
|
60 |
+
<!-- th rowspan="<?php echo $mergedCells; ?>"></th -->
|
61 |
+
<?php /* if ($this->helper('wishlist')->isAllowInCart()) : ?>
|
62 |
+
<th rowspan="<?php echo $mergedCells; ?>" class="a-center text-right"><span class="nobr"><?php echo $this->__('Move to Wishlist') ?></span></th>
|
63 |
+
<?php endif */?>
|
64 |
+
<th class="a-center text-center" colspan="<?php echo $mergedCells; ?>"><span class="nobr"><?php echo $this->__('Unit Price') ?></span></th>
|
65 |
+
<th rowspan="<?php echo $mergedCells; ?>" class="a-center text-center"><?php echo $this->__('Qty') ?></th>
|
66 |
+
<th class="a-center text-center" colspan="<?php echo $mergedCells; ?>"><?php echo $this->__('Subtotal') ?></th>
|
67 |
+
<th rowspan="<?php echo $mergedCells; ?>" class="a-center"> </th>
|
68 |
+
</tr>
|
69 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
70 |
+
<tr>
|
71 |
+
<th class="a-right text-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
|
72 |
+
<th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
|
73 |
+
<th class="a-right text-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
|
74 |
+
<th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
|
75 |
+
</tr>
|
76 |
+
<?php endif; ?>
|
77 |
+
</thead>
|
78 |
+
|
79 |
+
<tbody>
|
80 |
+
<?php foreach($this->getItems() as $_item): ?>
|
81 |
+
<?php echo $this->getItemHtml($_item) ?>
|
82 |
+
<?php endforeach ?>
|
83 |
+
</tbody>
|
84 |
+
|
85 |
+
<?php /* ?>
|
86 |
+
<tfoot>
|
87 |
+
<tr>
|
88 |
+
<td colspan="50" class="a-right">
|
89 |
+
<?php if($this->getContinueShoppingUrl()): ?>
|
90 |
+
<button type="button" title="<?php echo $this->__('Continue Shopping') ?>" class="button btn-continue" onclick="setLocation('<?php echo $this->getContinueShoppingUrl() ?>')"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
|
91 |
+
<?php endif; ?>
|
92 |
+
<button type="submit" name="update_cart_action" value="update_qty" title="<?php echo $this->__('Update Shopping Cart'); ?>" class="button btn-update"><span><span><?php echo $this->__('Update Shopping Cart'); ?></span></span></button>
|
93 |
+
<button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo $this->__('Clear Shopping Cart'); ?>" class="button btn-empty" id="empty_cart_button"><span><span><?php echo $this->__('Clear Shopping Cart'); ?></span></span></button>
|
94 |
+
<!--[if lt IE 8]>
|
95 |
+
<input type="hidden" id="update_cart_action_container" />
|
96 |
+
<script type="text/javascript">
|
97 |
+
//<![CDATA[
|
98 |
+
Event.observe(window, 'load', function()
|
99 |
+
{
|
100 |
+
// Internet Explorer (lt 8) does not support value attribute in button elements
|
101 |
+
$emptyCartButton = $('empty_cart_button');
|
102 |
+
$cartActionContainer = $('update_cart_action_container');
|
103 |
+
if ($emptyCartButton && $cartActionContainer) {
|
104 |
+
Event.observe($emptyCartButton, 'click', function()
|
105 |
+
{
|
106 |
+
$emptyCartButton.setAttribute('name', 'update_cart_action_temp');
|
107 |
+
$cartActionContainer.setAttribute('name', 'update_cart_action');
|
108 |
+
$cartActionContainer.setValue('empty_cart');
|
109 |
+
});
|
110 |
+
}
|
111 |
+
|
112 |
+
});
|
113 |
+
//]]>
|
114 |
+
</script>
|
115 |
+
<![endif]-->
|
116 |
+
</td>
|
117 |
+
</tr>
|
118 |
+
</tfoot>
|
119 |
+
<?php */ ?>
|
120 |
+
|
121 |
+
</table>
|
122 |
+
<script type="text/javascript">decorateTable('shopping-cart-table')</script>
|
123 |
+
</div>
|
124 |
+
</div>
|
125 |
+
</form>
|
126 |
+
|
127 |
+
<div class="cart-collaterals row">
|
128 |
+
<div class="col-1 large-12 columns">
|
129 |
+
<?php echo $this->getChildHtml('crosssell') ?>
|
130 |
+
</div>
|
131 |
+
<div class="col2-set large-8 columns">
|
132 |
+
<?php /* Extensions placeholder */ ?>
|
133 |
+
<?php echo $this->getChildHtml('checkout.cart.extra') ?>
|
134 |
+
<?php echo $this->getChildHtml('coupon') ?>
|
135 |
+
<?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?>
|
136 |
+
</div>
|
137 |
+
<div class="totals large-4 columns">
|
138 |
+
<?php echo $this->getChildHtml('totals'); ?>
|
139 |
+
<?php if(!$this->hasError()): ?>
|
140 |
+
<ul class="checkout-types right">
|
141 |
+
<?php foreach ($this->getMethods('methods') as $method): ?>
|
142 |
+
<?php if ($methodHtml = $this->getMethodHtml($method)): ?>
|
143 |
+
<li><?php echo $methodHtml; ?></li>
|
144 |
+
<?php endif; ?>
|
145 |
+
<?php endforeach; ?>
|
146 |
+
</ul>
|
147 |
+
<?php endif; ?>
|
148 |
+
</div>
|
149 |
+
</div>
|
150 |
+
|
151 |
+
</div>
|
app/design/frontend/foungento/default/template/checkout/cart/coupon.phtml
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<div class="large-6 columns">
|
28 |
+
<form id="discount-coupon-form" action="<?php echo $this->getUrl('checkout/cart/couponPost') ?>" method="post">
|
29 |
+
<div class="discount">
|
30 |
+
<h2><?php echo $this->__('Discount Codes') ?></h2>
|
31 |
+
<div class="discount-form">
|
32 |
+
<label for="coupon_code"><?php echo $this->__('Enter your coupon code if you have one.') ?></label>
|
33 |
+
<input type="hidden" name="remove" id="remove-coupone" value="0" />
|
34 |
+
<div class="input-box">
|
35 |
+
<input type="text" class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $this->escapeHtml($this->getCouponCode()) ?>" />
|
36 |
+
</div>
|
37 |
+
<div class="buttons-set">
|
38 |
+
<button type="button" title="<?php echo $this->__('Apply Coupon') ?>" class="radius tiny button" onclick="discountForm.submit(false)" value="<?php echo $this->__('Apply Coupon') ?>"><span><span><?php echo $this->__('Apply Coupon') ?></span></span></button>
|
39 |
+
<?php if(strlen($this->getCouponCode())): ?>
|
40 |
+
<button type="button" title="<?php echo $this->__('Cancel Coupon') ?>" class="button" onclick="discountForm.submit(true)" value="<?php echo $this->__('Cancel Coupon') ?>"><span><span><?php echo $this->__('Cancel Coupon') ?></span></span></button>
|
41 |
+
<?php endif;?>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
</div>
|
45 |
+
</form>
|
46 |
+
<script type="text/javascript">
|
47 |
+
//<![CDATA[
|
48 |
+
var discountForm = new VarienForm('discount-coupon-form');
|
49 |
+
discountForm.submit = function (isRemove) {
|
50 |
+
if (isRemove) {
|
51 |
+
$('coupon_code').removeClassName('required-entry');
|
52 |
+
$('remove-coupone').value = "1";
|
53 |
+
} else {
|
54 |
+
$('coupon_code').addClassName('required-entry');
|
55 |
+
$('remove-coupone').value = "0";
|
56 |
+
}
|
57 |
+
return VarienForm.prototype.submit.bind(discountForm)();
|
58 |
+
}
|
59 |
+
//]]>
|
60 |
+
</script>
|
61 |
+
</div>
|
app/design/frontend/foungento/default/template/checkout/cart/crosssell.phtml
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Cart cross sell items template
|
4 |
+
*
|
5 |
+
* @see Mage_Checkout_Block_Cart_Crosssell
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<?php if($this->getItemCount()): ?>
|
9 |
+
<div class="crosssell">
|
10 |
+
<h2><?php echo $this->__('Based on your selection, you may be interested in the following items:') ?></h2>
|
11 |
+
<ul id="crosssell-products-list" class="small-block-grid-1 medium-block-grid-2 large-block-grid-4">
|
12 |
+
<?php foreach ($this->getItems() as $_item): ?>
|
13 |
+
<li class="item">
|
14 |
+
<a class="product-image" href="<?php echo $_item->getProductUrl() ?>" title="<?php echo $this->escapeHtml($_item->getName()) ?>"><img src="<?php echo $this->helper('catalog/image')->init($_item, 'thumbnail')->resize(600); ?>" width="600" height="600" alt="<?php echo $this->escapeHtml($_item->getName()) ?>" /></a>
|
15 |
+
<div class="product-details small-text-center medium-text-left large-text-center">
|
16 |
+
<h3 class="product-name"><a href="<?php echo $_item->getProductUrl() ?>"><?php echo $this->escapeHtml($_item->getName()) ?></a></h3>
|
17 |
+
<?php echo $this->getPriceHtml($_item, true) ?>
|
18 |
+
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="radius tiny button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_item) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
|
19 |
+
<ul class="add-to-links">
|
20 |
+
<?php if ($this->helper('wishlist')->isAllow()) : ?>
|
21 |
+
<li><a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
|
22 |
+
<?php endif; ?>
|
23 |
+
<?php if($_compareUrl=$this->getAddToCompareUrl($_item)): ?>
|
24 |
+
<li><a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
|
25 |
+
<?php endif; ?>
|
26 |
+
</ul>
|
27 |
+
</div>
|
28 |
+
</li>
|
29 |
+
<?php endforeach; ?>
|
30 |
+
</ul>
|
31 |
+
<script type="text/javascript">decorateList('crosssell-products-list', 'none-recursive')</script>
|
32 |
+
</div>
|
33 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/checkout/cart/item/configure/updatecart.phtml
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
|
28 |
+
<?php $_product = $this->getProduct(); ?>
|
29 |
+
<?php $buttonTitle = $this->__('Update Cart'); ?>
|
30 |
+
<?php if ($_product->isSaleable()): ?>
|
31 |
+
<div class="add-to-cart">
|
32 |
+
<?php if (!$_product->isGrouped()): ?>
|
33 |
+
<label for="qty"><?php echo $this->__('Qty:') ?></label>
|
34 |
+
<input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo $this->__('Qty') ?>" class="input-text qty" />
|
35 |
+
<?php endif; ?>
|
36 |
+
<button type="button" title="<?php echo $buttonTitle ?>" class="radius tiny button btn-cart" onclick="productAddToCartForm.submit(this)"><span><span><?php echo $buttonTitle ?></span></span></button>
|
37 |
+
<?php echo $this->getChildHtml('', true, true) ?>
|
38 |
+
</div>
|
39 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/checkout/cart/item/default.phtml
ADDED
@@ -0,0 +1,266 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$_item = $this->getItem();
|
3 |
+
$isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
|
4 |
+
$canApplyMsrp = Mage::helper('catalog')->canApplyMsrp($_item->getProduct(), Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type::TYPE_BEFORE_ORDER_CONFIRM);
|
5 |
+
?>
|
6 |
+
<tr>
|
7 |
+
<td><?php if ($this->hasProductUrl()):?><a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product-image"><?php endif;?><img src="<?php echo $this->getProductThumbnail()->resize(75); ?>" width="75" height="75" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /><?php if ($this->hasProductUrl()):?></a><?php endif;?></td>
|
8 |
+
<td>
|
9 |
+
<h2 class="product-name">
|
10 |
+
<?php if ($this->hasProductUrl()):?>
|
11 |
+
<a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
|
12 |
+
<?php else: ?>
|
13 |
+
<?php echo $this->escapeHtml($this->getProductName()) ?>
|
14 |
+
<?php endif; ?>
|
15 |
+
</h2>
|
16 |
+
<?php if ($_options = $this->getOptionList()):?>
|
17 |
+
<ul class="item-options">
|
18 |
+
<?php foreach ($_options as $_option) : ?>
|
19 |
+
<?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
|
20 |
+
<li>
|
21 |
+
<span class="label secondary"><?php echo $this->escapeHtml($_option['label']) ?></span>
|
22 |
+
<span <?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated"<?php endif; ?>>
|
23 |
+
<?php echo $_formatedOptionValue['value'] ?>
|
24 |
+
<?php if (isset($_formatedOptionValue['full_view'])): ?>
|
25 |
+
<div class="truncated_full_value">
|
26 |
+
<div class="item-options">
|
27 |
+
<span class="label secondary"><?php echo $this->escapeHtml($_option['label']) ?></span>
|
28 |
+
<span><?php echo $_formatedOptionValue['full_view'] ?></span>
|
29 |
+
</div>
|
30 |
+
</div>
|
31 |
+
</span>
|
32 |
+
<?php endif; ?>
|
33 |
+
</li>
|
34 |
+
<?php endforeach; ?>
|
35 |
+
</ul>
|
36 |
+
<?php endif;?>
|
37 |
+
<?php if ($messages = $this->getMessages()): ?>
|
38 |
+
<?php foreach ($messages as $message): ?>
|
39 |
+
<p class="item-msg <?php echo $message['type'] ?>">* <?php echo $this->escapeHtml($message['text']) ?></p>
|
40 |
+
<?php endforeach; ?>
|
41 |
+
<?php endif; ?>
|
42 |
+
<?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
|
43 |
+
<?php if ($addInfoBlock): ?>
|
44 |
+
<?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
|
45 |
+
<?php endif;?>
|
46 |
+
</td>
|
47 |
+
<!-- td class="a-center text-right">
|
48 |
+
<?php if ($isVisibleProduct): ?>
|
49 |
+
<a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo $this->__('Edit item parameters') ?>"><?php echo $this->__('Edit') ?></a>
|
50 |
+
<?php endif ?>
|
51 |
+
</td -->
|
52 |
+
<?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
|
53 |
+
<!-- td class="a-center text-right">
|
54 |
+
<?php if ($isVisibleProduct): ?>
|
55 |
+
<a href="<?php echo $this->helper('wishlist')->getMoveFromCartUrl($_item->getId()); ?>" class="link-wishlist use-ajax"><?php echo $this->__('Move'); ?></a>
|
56 |
+
<?php endif ?>
|
57 |
+
</td -->
|
58 |
+
<?php endif ?>
|
59 |
+
|
60 |
+
<?php if ($canApplyMsrp): ?>
|
61 |
+
<td class="a-right"<?php if ($this->helper('tax')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
|
62 |
+
<span class="cart-price">
|
63 |
+
<span class="cart-msrp-unit"><?php echo $this->__('See price before order confirmation.'); ?></span>
|
64 |
+
<?php $helpLinkId = 'cart-msrp-help-' . $_item->getId(); ?>
|
65 |
+
<a id="<?php echo $helpLinkId ?>" href="#" class="map-help-link"><?php echo $this->__("What's this?"); ?></a>
|
66 |
+
<script type="text/javascript">
|
67 |
+
Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo $this->__("What's this?") ?>");
|
68 |
+
</script>
|
69 |
+
</span>
|
70 |
+
</td>
|
71 |
+
<?php else: ?>
|
72 |
+
|
73 |
+
<?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
74 |
+
<td class="a-right">
|
75 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
76 |
+
<span class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
|
77 |
+
<?php else: ?>
|
78 |
+
<span class="cart-price">
|
79 |
+
<?php endif; ?>
|
80 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
81 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
|
82 |
+
<?php else: ?>
|
83 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()) ?>
|
84 |
+
<?php endif; ?>
|
85 |
+
|
86 |
+
</span>
|
87 |
+
|
88 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
89 |
+
|
90 |
+
<div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
|
91 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
92 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
93 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
|
94 |
+
<?php endforeach; ?>
|
95 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
96 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
97 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
|
98 |
+
<?php endforeach; ?>
|
99 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
100 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
101 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
|
102 |
+
<?php endforeach; ?>
|
103 |
+
<?php endif; ?>
|
104 |
+
</div>
|
105 |
+
|
106 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
107 |
+
<div class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
|
108 |
+
<span class="weee"><?php echo Mage::helper('weee')->__('Total'); ?>: <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
|
109 |
+
</div>
|
110 |
+
<?php endif; ?>
|
111 |
+
<?php endif; ?>
|
112 |
+
</td>
|
113 |
+
<?php endif; ?><!-- inclusive price starts here -->
|
114 |
+
<?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
115 |
+
<td class="text-center">
|
116 |
+
<?php $_incl = $this->helper('checkout')->getPriceInclTax($_item); ?>
|
117 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
118 |
+
<span class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
|
119 |
+
<?php else: ?>
|
120 |
+
<span class="cart-price">
|
121 |
+
<?php endif; ?>
|
122 |
+
|
123 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
124 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?>
|
125 |
+
<?php else: ?>
|
126 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
|
127 |
+
<?php endif; ?>
|
128 |
+
|
129 |
+
</span>
|
130 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
131 |
+
|
132 |
+
<div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
|
133 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
134 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
135 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
|
136 |
+
<?php endforeach; ?>
|
137 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
138 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
139 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
|
140 |
+
<?php endforeach; ?>
|
141 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
142 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
143 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
|
144 |
+
<?php endforeach; ?>
|
145 |
+
<?php endif; ?>
|
146 |
+
</div>
|
147 |
+
|
148 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
149 |
+
<div class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
|
150 |
+
<span class="weee"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>: <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?></span>
|
151 |
+
</div>
|
152 |
+
<?php endif; ?>
|
153 |
+
<?php endif; ?>
|
154 |
+
</td>
|
155 |
+
<?php endif; ?>
|
156 |
+
<?php endif; ?>
|
157 |
+
<td class="a-center text-center">
|
158 |
+
<input type="text" name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" size="4" title="<?php echo $this->__('Qty') ?>" class="text-center input-text qty" maxlength="12" />
|
159 |
+
</td>
|
160 |
+
|
161 |
+
<!--Sub total starts here -->
|
162 |
+
<?php if (($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
|
163 |
+
<td class="a-right">
|
164 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
165 |
+
<span class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
|
166 |
+
<?php else: ?>
|
167 |
+
<span class="cart-price">
|
168 |
+
<?php endif; ?>
|
169 |
+
|
170 |
+
<?php if ($canApplyMsrp): ?>
|
171 |
+
<span class="cart-msrp-subtotal">--</span>
|
172 |
+
<?php else: ?>
|
173 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
174 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
|
175 |
+
<?php else: ?>
|
176 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()) ?>
|
177 |
+
<?php endif; ?>
|
178 |
+
<?php endif; ?>
|
179 |
+
|
180 |
+
</span>
|
181 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
182 |
+
|
183 |
+
<div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
|
184 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
185 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
186 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
|
187 |
+
<?php endforeach; ?>
|
188 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
189 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
190 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
|
191 |
+
<?php endforeach; ?>
|
192 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
193 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
194 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
|
195 |
+
<?php endforeach; ?>
|
196 |
+
<?php endif; ?>
|
197 |
+
</div>
|
198 |
+
|
199 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
200 |
+
<div class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
|
201 |
+
<span class="weee"><?php echo Mage::helper('weee')->__('Total'); ?>: <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
|
202 |
+
</div>
|
203 |
+
<?php endif; ?>
|
204 |
+
<?php endif; ?>
|
205 |
+
</td>
|
206 |
+
<?php endif; ?>
|
207 |
+
<?php if (($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
|
208 |
+
<td class="text-center">
|
209 |
+
<?php $_incl = $this->helper('checkout')->getSubtotalInclTax($_item); ?>
|
210 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
211 |
+
<span class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
|
212 |
+
<?php else: ?>
|
213 |
+
<span class="cart-price">
|
214 |
+
<?php endif; ?>
|
215 |
+
|
216 |
+
<?php if ($canApplyMsrp): ?>
|
217 |
+
<span class="cart-msrp-subtotal">--</span>
|
218 |
+
<?php else: ?>
|
219 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
220 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getRowWeeeTaxInclTax($_item)); ?>
|
221 |
+
<?php else: ?>
|
222 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
|
223 |
+
<?php endif; ?>
|
224 |
+
<?php endif; ?>
|
225 |
+
|
226 |
+
</span>
|
227 |
+
|
228 |
+
|
229 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
230 |
+
|
231 |
+
<div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
|
232 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
233 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
234 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
|
235 |
+
<?php endforeach; ?>
|
236 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
237 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
238 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
|
239 |
+
<?php endforeach; ?>
|
240 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
|
241 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
242 |
+
<span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
|
243 |
+
<?php endforeach; ?>
|
244 |
+
<?php endif; ?>
|
245 |
+
</div>
|
246 |
+
|
247 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmounte()): ?>
|
248 |
+
<div class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
|
249 |
+
<span class="weee"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>: <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getRowWeeeTaxInclTax($_item)); ?></span>
|
250 |
+
</div>
|
251 |
+
<?php endif; ?>
|
252 |
+
<?php endif; ?>
|
253 |
+
</td>
|
254 |
+
<?php endif; ?>
|
255 |
+
<td class="a-center">
|
256 |
+
<ul class="inline-list">
|
257 |
+
<li><a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo $this->__('Remove')?>" class="btn-remove btn-remove2"><?php echo $this->__('Delete')?></a></li>
|
258 |
+
<?php if ($isVisibleProduct): ?>
|
259 |
+
<li><a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo $this->__('Edit item parameters') ?>"><?php echo $this->__('Edit') ?></a></li>
|
260 |
+
<?php endif ?>
|
261 |
+
<?php if ($isVisibleProduct): ?>
|
262 |
+
<li><a href="<?php echo $this->helper('wishlist')->getMoveFromCartUrl($_item->getId()); ?>" class="link-wishlist use-ajax"><?php echo $this->__('Move'); ?></a></li>
|
263 |
+
<?php endif ?>
|
264 |
+
</ul>
|
265 |
+
</td>
|
266 |
+
</tr>
|
app/design/frontend/foungento/default/template/checkout/cart/minicart.phtml
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shoping cart sidebar
|
4 |
+
*
|
5 |
+
* @see Mage_Checkout_Block_Cart_Sidebar
|
6 |
+
*/
|
7 |
+
|
8 |
+
?>
|
9 |
+
|
10 |
+
<?php
|
11 |
+
$_cartQty = $this->getSummaryCount();
|
12 |
+
if(empty($_cartQty)) {
|
13 |
+
$_cartQty = 0;
|
14 |
+
}
|
15 |
+
?>
|
16 |
+
|
17 |
+
<a data-reveal-id="firstModal" href="#header-cart" class="skip-link skip-cart <?php if($_cartQty <= 0): ?> no-count<?php endif; ?>">
|
18 |
+
<span class="count"><?php echo $_cartQty; ?> item(s)</span>
|
19 |
+
<span class="mysubtotal"></span>
|
20 |
+
</a>
|
21 |
+
|
22 |
+
<div id="firstModal" class="reveal-modal" data-reveal class="small medium large content f-dropdown" tabindex="-1">
|
23 |
+
<?php echo $this->getChildHtml('minicart_content'); ?>
|
24 |
+
</div>
|
app/design/frontend/foungento/default/template/checkout/cart/minicart/default.phtml
ADDED
@@ -0,0 +1,323 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package rwd_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
$_item = $this->getItem();
|
29 |
+
$isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
|
30 |
+
$canApplyMsrp = Mage::helper('catalog')->canApplyMsrp($_item->getProduct(), Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type::TYPE_BEFORE_ORDER_CONFIRM);
|
31 |
+
?>
|
32 |
+
<li class="item small-text-center medium-text-left large-text-left" xmlns="http://www.w3.org/1999/html">
|
33 |
+
<?php if ($this->hasProductUrl()): ?>
|
34 |
+
<a href="<?php echo $this->getProductUrl()?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product-image"><img src="<?php echo $this->getProductThumbnail()->resize(200, 200); ?>" width="200" height="200" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /></a>
|
35 |
+
<?php else: ?>
|
36 |
+
<span class="product-image"><img src="<?php echo $this->getProductThumbnail()->resize(200, 200); ?>" width="200" height="200" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /></span>
|
37 |
+
<?php endif; ?>
|
38 |
+
|
39 |
+
<div class="product-details">
|
40 |
+
<ul>
|
41 |
+
<li><p class="product-name"><?php if ($this->hasProductUrl()): ?><a href="<?php echo $this->getProductUrl() ?>"><?php endif; ?><?php echo $this->escapeHtml($this->getProductName()) ?><?php if ($this->hasProductUrl()): ?></a><?php endif; ?></p></li>
|
42 |
+
<?php if ($canApplyMsrp): ?>
|
43 |
+
<li>
|
44 |
+
<span class="map-cart-sidebar-item"><?php echo $this->__('See price before order confirmation.'); ?></span>
|
45 |
+
|
46 |
+
<?php else: ?>
|
47 |
+
|
48 |
+
<?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
49 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
50 |
+
<?php echo $this->__('Excl. Tax'); ?>:
|
51 |
+
<?php endif; ?>
|
52 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
|
53 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
|
54 |
+
<?php else: ?>
|
55 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()) ?>
|
56 |
+
<?php endif; ?>
|
57 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
58 |
+
<br />
|
59 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales')): ?>
|
60 |
+
<small>
|
61 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
62 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span><br />
|
63 |
+
<?php endforeach; ?>
|
64 |
+
</small>
|
65 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
66 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
67 |
+
<span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
|
68 |
+
<?php endforeach; ?>
|
69 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales')): ?>
|
70 |
+
<small>
|
71 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
72 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
|
73 |
+
<?php endforeach; ?>
|
74 |
+
</small>
|
75 |
+
<?php endif; ?>
|
76 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
77 |
+
<span class="nobr"><?php echo Mage::helper('weee')->__('Total'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
|
78 |
+
<?php endif; ?>
|
79 |
+
<?php endif; ?>
|
80 |
+
<?php endif; ?>
|
81 |
+
|
82 |
+
|
83 |
+
|
84 |
+
<?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
85 |
+
<?php $_incl = $this->helper('checkout')->getPriceInclTax($_item); ?>
|
86 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
87 |
+
<br /><?php echo $this->__('Incl. Tax'); ?>:
|
88 |
+
<?php endif; ?>
|
89 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
|
90 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?>
|
91 |
+
<?php else: ?>
|
92 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
|
93 |
+
<?php endif; ?>
|
94 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
95 |
+
<br />
|
96 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales')): ?>
|
97 |
+
<small>
|
98 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
99 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span><br />
|
100 |
+
<?php endforeach; ?>
|
101 |
+
</small>
|
102 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
103 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
104 |
+
<span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
|
105 |
+
<?php endforeach; ?>
|
106 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales')): ?>
|
107 |
+
<small>
|
108 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
109 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
|
110 |
+
<?php endforeach; ?>
|
111 |
+
</small>
|
112 |
+
<?php endif; ?>
|
113 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
114 |
+
<span class="nobr"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?></span>
|
115 |
+
<?php endif; ?>
|
116 |
+
<?php endif; ?>
|
117 |
+
<?php endif; ?>
|
118 |
+
</li>
|
119 |
+
<?php endif; //Can apply MSRP ?>
|
120 |
+
<li>
|
121 |
+
<?php if ($_options = $this->getOptionList()):?>
|
122 |
+
<div class="truncated">
|
123 |
+
<div class="truncated_full_value">
|
124 |
+
<ul class="item-options">
|
125 |
+
<?php foreach ($_options as $_option) : ?>
|
126 |
+
<li>
|
127 |
+
<span class="radius label secondary"><?php echo $this->escapeHtml($_option['label']) ?></span>
|
128 |
+
<?php if (is_array($_option['value'])): ?>
|
129 |
+
<?php echo nl2br(implode("\n", $_option['value'])) ?>
|
130 |
+
<?php else: ?>
|
131 |
+
<?php echo $_option['value'] ?>
|
132 |
+
<?php endif; ?>
|
133 |
+
</li>
|
134 |
+
<?php endforeach; ?>
|
135 |
+
</ul>
|
136 |
+
</div>
|
137 |
+
<!-- a href="#" onclick="return false;" class="details"><?php echo $this->__('Details') ?></a -->
|
138 |
+
</div>
|
139 |
+
<?php endif; ?>
|
140 |
+
</li>
|
141 |
+
<li>
|
142 |
+
<span class="radius label qty secondary"><?php echo $this->__('Qty: ')?></span>
|
143 |
+
<?php echo $this->getQty()?>
|
144 |
+
</li>
|
145 |
+
<li>
|
146 |
+
<?php if ($isVisibleProduct): ?>
|
147 |
+
<a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo $this->__('Edit item') ?>" class="btn-edit">
|
148 |
+
<span class="radius label edit"><?php echo $this->__('Edit item')?></span>
|
149 |
+
</a>
|
150 |
+
<?php if (!$this->isOnCheckoutPage()): ?>
|
151 |
+
<a href="<?php echo $this->getAjaxDeleteUrl() ?>" title="<?php echo $this->__('Remove This Item') ?>"
|
152 |
+
data-confirm="<?php echo $this->__('Are you sure you would like to remove this item from the shopping cart?') ?>"
|
153 |
+
class="remove">
|
154 |
+
<span class="radius label remove"><?php echo $this->__('Remove Item') ?></span>
|
155 |
+
</a>
|
156 |
+
<?php else: ?>
|
157 |
+
<span class="radius label remove"><?php echo $this->__('Remove Item') ?></span>
|
158 |
+
<?php endif; ?>
|
159 |
+
<?php endif ?>
|
160 |
+
</li>
|
161 |
+
</ul>
|
162 |
+
</div>
|
163 |
+
|
164 |
+
|
165 |
+
|
166 |
+
|
167 |
+
|
168 |
+
|
169 |
+
|
170 |
+
|
171 |
+
|
172 |
+
<!-- div class="product-details">
|
173 |
+
<p class="product-name"><?php if ($this->hasProductUrl()): ?><a href="<?php echo $this->getProductUrl() ?>"><?php endif; ?><?php echo $this->escapeHtml($this->getProductName()) ?><?php if ($this->hasProductUrl()): ?></a><?php endif; ?></p>
|
174 |
+
|
175 |
+
<table class="info-wrapper">
|
176 |
+
<tbody>
|
177 |
+
<tr>
|
178 |
+
<th><?php echo $this->__('Price'); ?></th>
|
179 |
+
<td>
|
180 |
+
<?php if ($canApplyMsrp): ?>
|
181 |
+
|
182 |
+
<span class="map-cart-sidebar-item"><?php echo $this->__('See price before order confirmation.'); ?></span>
|
183 |
+
|
184 |
+
<?php else: ?>
|
185 |
+
|
186 |
+
<?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
187 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
188 |
+
<?php echo $this->__('Excl. Tax'); ?>:
|
189 |
+
<?php endif; ?>
|
190 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
|
191 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
|
192 |
+
<?php else: ?>
|
193 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()) ?>
|
194 |
+
<?php endif; ?>
|
195 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
196 |
+
<br />
|
197 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales')): ?>
|
198 |
+
<small>
|
199 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
200 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span><br />
|
201 |
+
<?php endforeach; ?>
|
202 |
+
</small>
|
203 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
204 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
205 |
+
<span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
|
206 |
+
<?php endforeach; ?>
|
207 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales')): ?>
|
208 |
+
<small>
|
209 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
210 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
|
211 |
+
<?php endforeach; ?>
|
212 |
+
</small>
|
213 |
+
<?php endif; ?>
|
214 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
215 |
+
<span class="nobr"><?php echo Mage::helper('weee')->__('Total'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
|
216 |
+
<?php endif; ?>
|
217 |
+
<?php endif; ?>
|
218 |
+
<?php endif; ?>
|
219 |
+
|
220 |
+
|
221 |
+
|
222 |
+
<?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
223 |
+
<?php $_incl = $this->helper('checkout')->getPriceInclTax($_item); ?>
|
224 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
225 |
+
<br /><?php echo $this->__('Incl. Tax'); ?>:
|
226 |
+
<?php endif; ?>
|
227 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
|
228 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?>
|
229 |
+
<?php else: ?>
|
230 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
|
231 |
+
<?php endif; ?>
|
232 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
233 |
+
<br />
|
234 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales')): ?>
|
235 |
+
<small>
|
236 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
237 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span><br />
|
238 |
+
<?php endforeach; ?>
|
239 |
+
</small>
|
240 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
241 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
242 |
+
<span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
|
243 |
+
<?php endforeach; ?>
|
244 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales')): ?>
|
245 |
+
<small>
|
246 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
247 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
|
248 |
+
<?php endforeach; ?>
|
249 |
+
</small>
|
250 |
+
<?php endif; ?>
|
251 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
252 |
+
<span class="nobr"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?></span>
|
253 |
+
<?php endif; ?>
|
254 |
+
<?php endif; ?>
|
255 |
+
<?php endif; ?>
|
256 |
+
|
257 |
+
<?php endif; //Can apply MSRP ?>
|
258 |
+
</td>
|
259 |
+
</tr>
|
260 |
+
<tr class="qty-wrapper">
|
261 |
+
<th><?php echo $this->__('Qty'); ?></th>
|
262 |
+
<td>
|
263 |
+
<input
|
264 |
+
id="qinput-<?php echo $_item->getId(); ?>"
|
265 |
+
data-link="<?php echo $this->getAjaxUpdateUrl() ?>"
|
266 |
+
data-item-id="<?php echo $_item->getId(); ?>"
|
267 |
+
class="qty cart-item-quantity" name=""
|
268 |
+
value="<?php echo $this->getQty()?>"
|
269 |
+
<?php if ($this->isOnCheckoutPage()) echo 'disabled'; ?>
|
270 |
+
/>
|
271 |
+
|
272 |
+
<button id="qbutton-<?php echo $_item->getId(); ?>"
|
273 |
+
data-item-id="<?php echo $_item->getId(); ?>"
|
274 |
+
disabled="disabled"
|
275 |
+
data-update
|
276 |
+
class="button quantity-button">
|
277 |
+
<?php echo $this->__('ok'); ?>
|
278 |
+
</button>
|
279 |
+
</td>
|
280 |
+
</tr>
|
281 |
+
</tbody>
|
282 |
+
</table>
|
283 |
+
|
284 |
+
<?php if ($isVisibleProduct): ?>
|
285 |
+
<a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo $this->__('Edit item') ?>" class="btn-edit">
|
286 |
+
<?php echo $this->__('Edit item')?>
|
287 |
+
</a>
|
288 |
+
|
|
289 |
+
<?php if (!$this->isOnCheckoutPage()): ?>
|
290 |
+
<a href="<?php echo $this->getAjaxDeleteUrl() ?>" title="<?php echo $this->__('Remove This Item') ?>"
|
291 |
+
data-confirm="<?php echo $this->__('Are you sure you would like to remove this item from the shopping cart?') ?>"
|
292 |
+
class="remove">
|
293 |
+
<?php echo $this->__('Remove Item') ?>
|
294 |
+
</a>
|
295 |
+
<?php else: ?>
|
296 |
+
<span><?php echo $this->__('Remove Item') ?></span>
|
297 |
+
<?php endif; ?>
|
298 |
+
<?php endif ?>
|
299 |
+
|
300 |
+
|
301 |
+
|
302 |
+
<?php if ($_options = $this->getOptionList()):?>
|
303 |
+
<div class="truncated">
|
304 |
+
<div class="truncated_full_value">
|
305 |
+
<dl class="item-options">
|
306 |
+
<?php foreach ($_options as $_option) : ?>
|
307 |
+
<dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
|
308 |
+
<dd>
|
309 |
+
<?php if (is_array($_option['value'])): ?>
|
310 |
+
<?php echo nl2br(implode("\n", $_option['value'])) ?>
|
311 |
+
<?php else: ?>
|
312 |
+
<?php echo $_option['value'] ?>
|
313 |
+
<?php endif; ?>
|
314 |
+
</dd>
|
315 |
+
<?php endforeach; ?>
|
316 |
+
</dl>
|
317 |
+
</div>
|
318 |
+
<a href="#" onclick="return false;" class="details"><?php echo $this->__('Details') ?></a>
|
319 |
+
</div>
|
320 |
+
<?php endif; ?>
|
321 |
+
|
322 |
+
</div -->
|
323 |
+
</li>
|
app/design/frontend/foungento/default/template/checkout/cart/minicart/items.phtml
ADDED
@@ -0,0 +1,130 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shoping cart sidebar
|
4 |
+
*
|
5 |
+
* @var Mage_Checkout_Block_Cart_Minicart $this
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
|
9 |
+
<?php
|
10 |
+
$_cartQty = $this->getSummaryCount();
|
11 |
+
if(empty($_cartQty)) {
|
12 |
+
$_cartQty = 0;
|
13 |
+
}
|
14 |
+
?>
|
15 |
+
<div id="minicart-error-message" class="minicart-message"></div>
|
16 |
+
<div id="minicart-success-message" class="minicart-message"></div>
|
17 |
+
|
18 |
+
<div class="minicart-wrapper">
|
19 |
+
|
20 |
+
<p class="block-subtitle small-text-center medium-text-left large-text-left">
|
21 |
+
<?php echo $this->__('Shopping Bag %s Item(s)', $_cartQty) ?>
|
22 |
+
<a class="close-reveal-modal">×</a>
|
23 |
+
</p>
|
24 |
+
|
25 |
+
<?php $_items = $this->getRecentItems() ?>
|
26 |
+
<?php $countItems = count($_items); ?>
|
27 |
+
<?php if($countItems): ?>
|
28 |
+
<div class="row">
|
29 |
+
<div id="minicart-widgets" class="large-12 columns">
|
30 |
+
<?php echo $this->getChildHtml('cart_promotion') ?>
|
31 |
+
</div>
|
32 |
+
|
33 |
+
<div class="cart-subtotal large-12 columns">
|
34 |
+
|
35 |
+
<div class="subtotal small-text-center medium-text-right large-text-right">
|
36 |
+
<?php if ($this->canApplyMsrp()): ?>
|
37 |
+
<span class="map-cart-sidebar-total"><?php echo $this->__('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?></span>
|
38 |
+
<?php else: ?>
|
39 |
+
<?php echo $this->__('Cart Subtotal: ') ?><?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?>
|
40 |
+
<?php if ($_subtotalInclTax = $this->getSubtotalInclTax()): ?>
|
41 |
+
<br />(<?php echo Mage::helper('checkout')->formatPrice($_subtotalInclTax) ?> <?php echo Mage::helper('tax')->getIncExcText(true) ?>)
|
42 |
+
<?php endif; ?>
|
43 |
+
<?php endif; ?>
|
44 |
+
</div>
|
45 |
+
|
46 |
+
<?php if($_cartQty && $this->isPossibleOnepageCheckout()): ?>
|
47 |
+
<div class="small-text-center medium-text-right large-text-right">
|
48 |
+
<ul class="checkout-types minicart">
|
49 |
+
<?php echo $this->getChildHtml('extra_actions') ?>
|
50 |
+
<li>
|
51 |
+
<a title="<?php echo $this->__('Checkout') ?>" class="radius tiny button checkout-button" href="<?php echo $this->getCheckoutUrl() ?>">
|
52 |
+
<?php echo $this->__('Checkout') ?>
|
53 |
+
</a>
|
54 |
+
|
55 |
+
<a class="radius tiny button cart-link" href="<?php echo $this->getUrl('checkout/cart'); ?>">
|
56 |
+
<?php echo $this->__('View Shopping Cart'); ?>
|
57 |
+
</a>
|
58 |
+
</li>
|
59 |
+
</ul>
|
60 |
+
</div>
|
61 |
+
<?php endif ?>
|
62 |
+
|
63 |
+
|
64 |
+
|
65 |
+
</div>
|
66 |
+
</div>
|
67 |
+
<?php endif; ?>
|
68 |
+
|
69 |
+
|
70 |
+
|
71 |
+
<?php if($countItems): ?>
|
72 |
+
<div>
|
73 |
+
<ul id="cart-sidebar" class="mini-products-list small-block-grid-1 medium-block-grid-2 large-block-grid-4">
|
74 |
+
<?php foreach($_items as $_item): ?>
|
75 |
+
<?php echo $this->getItemHtml($_item) ?>
|
76 |
+
<?php endforeach; ?>
|
77 |
+
</ul>
|
78 |
+
</div>
|
79 |
+
<script type="text/javascript">
|
80 |
+
decorateList('cart-sidebar', 'none-recursive');
|
81 |
+
jQuery('document').ready(function() {
|
82 |
+
var minicartOptions = {
|
83 |
+
formKey: "<?php echo $this->getFormKey();?>"
|
84 |
+
}
|
85 |
+
var Mini = new Minicart(minicartOptions);
|
86 |
+
Mini.init();
|
87 |
+
});
|
88 |
+
</script>
|
89 |
+
|
90 |
+
|
91 |
+
<div class="row">
|
92 |
+
<div id="minicart-widgets" class="large-12 columns">
|
93 |
+
<?php echo $this->getChildHtml('cart_promotion') ?>
|
94 |
+
</div>
|
95 |
+
|
96 |
+
<div class="cart-subtotal large-12 columns">
|
97 |
+
<div class="subtotal small-text-center medium-text-right large-text-right">
|
98 |
+
<?php if ($this->canApplyMsrp()): ?>
|
99 |
+
<span class="map-cart-sidebar-total"><?php echo $this->__('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?></span>
|
100 |
+
<?php else: ?>
|
101 |
+
<?php echo $this->__('Cart Subtotal: ') ?><?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?>
|
102 |
+
<?php if ($_subtotalInclTax = $this->getSubtotalInclTax()): ?>
|
103 |
+
<br />(<?php echo Mage::helper('checkout')->formatPrice($_subtotalInclTax) ?> <?php echo Mage::helper('tax')->getIncExcText(true) ?>)
|
104 |
+
<?php endif; ?>
|
105 |
+
<?php endif; ?>
|
106 |
+
</div>
|
107 |
+
|
108 |
+
<?php if($_cartQty && $this->isPossibleOnepageCheckout()): ?>
|
109 |
+
<div class="small-text-center medium-text-right large-text-right">
|
110 |
+
<ul class="checkout-types minicart">
|
111 |
+
<?php echo $this->getChildHtml('extra_actions') ?>
|
112 |
+
<li>
|
113 |
+
<a title="<?php echo $this->__('Checkout') ?>" class="radius tiny button checkout-button" href="<?php echo $this->getCheckoutUrl() ?>">
|
114 |
+
<?php echo $this->__('Checkout') ?>
|
115 |
+
</a>
|
116 |
+
|
117 |
+
<a class="radius tiny button cart-link" href="<?php echo $this->getUrl('checkout/cart'); ?>">
|
118 |
+
<?php echo $this->__('View Shopping Cart'); ?>
|
119 |
+
</a>
|
120 |
+
</li>
|
121 |
+
</ul>
|
122 |
+
</div>
|
123 |
+
<?php endif ?>
|
124 |
+
</div>
|
125 |
+
</div>
|
126 |
+
|
127 |
+
<?php else: ?>
|
128 |
+
<p class="empty small-text-center medium-text-center large-text-center"><?php echo $this->__('You have no items in your shopping cart.') ?></p>
|
129 |
+
<?php endif ?>
|
130 |
+
</div>
|
app/design/frontend/foungento/default/template/checkout/cart/noItems.phtml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row">
|
2 |
+
<div class="page-title large-12 columns">
|
3 |
+
<h1><?php echo $this->__('Shopping Cart is Empty') ?></h1>
|
4 |
+
</div>
|
5 |
+
<div class="cart-empty large-12 columns">
|
6 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
7 |
+
<?php echo $this->getChildHtml('checkout_cart_empty_widget'); ?>
|
8 |
+
<p><?php echo $this->__('You have no items in your shopping cart.') ?></p>
|
9 |
+
<p><?php echo $this->__('Click <a href="%s">here</a> to continue shopping.', $this->getContinueShoppingUrl()) ?></p>
|
10 |
+
<?php echo $this->getChildHtml('shopping.cart.table.after'); ?>
|
11 |
+
</div>
|
12 |
+
</div>
|
app/design/frontend/foungento/default/template/checkout/cart/shipping.phtml
ADDED
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php /** @var $this Mage_Checkout_Block_Cart_Shipping */ ?>
|
28 |
+
<div class="shipping large-6 columns">
|
29 |
+
<h2><?php echo $this->__('Estimate Shipping and Tax') ?></h2>
|
30 |
+
<div class="shipping-form">
|
31 |
+
<form action="<?php echo $this->getUrl('checkout/cart/estimatePost') ?>" method="post" id="shipping-zip-form">
|
32 |
+
<p><?php echo $this->__('Enter your destination to get a shipping estimate.') ?></p>
|
33 |
+
<ul class="form-list">
|
34 |
+
<li>
|
35 |
+
<label for="country" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
|
36 |
+
<div class="input-box">
|
37 |
+
<?php echo Mage::getBlockSingleton('directory/data')->getCountryHtmlSelect($this->getEstimateCountryId()) ?>
|
38 |
+
</div>
|
39 |
+
</li>
|
40 |
+
<?php //if($this->getStateActive()): ?>
|
41 |
+
<li>
|
42 |
+
<label for="region_id"<?php if ($this->isStateProvinceRequired()) echo ' class="required"' ?>><?php if ($this->isStateProvinceRequired()) echo '<em>*</em>' ?><?php echo $this->__('State/Province') ?></label>
|
43 |
+
<div class="input-box">
|
44 |
+
<select id="region_id" name="region_id" title="<?php echo $this->__('State/Province') ?>" style="display:none;"<?php echo ($this->isStateProvinceRequired() ? ' class="validate-select"' : '') ?>>
|
45 |
+
<option value=""><?php echo $this->__('Please select region, state or province') ?></option>
|
46 |
+
</select>
|
47 |
+
<script type="text/javascript">
|
48 |
+
//<![CDATA[
|
49 |
+
$('region_id').setAttribute('defaultValue', "<?php echo $this->getEstimateRegionId() ?>");
|
50 |
+
//]]>
|
51 |
+
</script>
|
52 |
+
<input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getEstimateRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text" style="display:none;" />
|
53 |
+
</div>
|
54 |
+
</li>
|
55 |
+
<?php //endif; ?>
|
56 |
+
<?php if($this->getCityActive()): ?>
|
57 |
+
<li>
|
58 |
+
<label for="city"<?php if ($this->isCityRequired()) echo ' class="required"' ?>><?php if ($this->isCityRequired()) echo '<em>*</em>' ?><?php echo $this->__('City') ?></label>
|
59 |
+
<div class="input-box">
|
60 |
+
<input class="input-text<?php if ($this->isCityRequired()):?> required-entry<?php endif;?>" id="city" type="text" name="estimate_city" value="<?php echo $this->escapeHtml($this->getEstimateCity()) ?>" />
|
61 |
+
</div>
|
62 |
+
</li>
|
63 |
+
<?php endif; ?>
|
64 |
+
<li>
|
65 |
+
<label for="postcode"<?php if ($this->isZipCodeRequired()) echo ' class="required"' ?>><?php if ($this->isZipCodeRequired()) echo '<em>*</em>' ?><?php echo $this->__('Zip/Postal Code') ?></label>
|
66 |
+
<div class="input-box">
|
67 |
+
<input class="input-text validate-postcode<?php if ($this->isZipCodeRequired()):?> required-entry<?php endif;?>" type="text" id="postcode" name="estimate_postcode" value="<?php echo $this->escapeHtml($this->getEstimatePostcode()) ?>" />
|
68 |
+
</div>
|
69 |
+
</li>
|
70 |
+
</ul>
|
71 |
+
<div class="buttons-set">
|
72 |
+
<button type="button" title="<?php echo $this->__('Get a Quote') ?>" onclick="coShippingMethodForm.submit()" class="radius tiny button"><span><span><?php echo $this->__('Get a Quote') ?></span></span></button>
|
73 |
+
</div>
|
74 |
+
</form>
|
75 |
+
<script type="text/javascript">
|
76 |
+
//<![CDATA[
|
77 |
+
new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>);
|
78 |
+
//]]>
|
79 |
+
</script>
|
80 |
+
|
81 |
+
<?php if (($_shippingRateGroups = $this->getEstimateRates())): ?>
|
82 |
+
<form id="co-shipping-method-form" action="<?php echo $this->getUrl('checkout/cart/estimateUpdatePost') ?>">
|
83 |
+
<dl class="sp-methods">
|
84 |
+
<?php foreach ($_shippingRateGroups as $code => $_rates): ?>
|
85 |
+
<dt><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
|
86 |
+
<dd>
|
87 |
+
<ul>
|
88 |
+
<?php foreach ($_rates as $_rate): ?>
|
89 |
+
<li<?php if ($_rate->getErrorMessage()) echo ' class="error-msg"';?>>
|
90 |
+
<?php if ($_rate->getErrorMessage()): ?>
|
91 |
+
<?php echo $this->escapeHtml($_rate->getErrorMessage()) ?>
|
92 |
+
<?php else: ?>
|
93 |
+
<input name="estimate_method" type="radio" value="<?php echo $this->escapeHtml($_rate->getCode()) ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio" />
|
94 |
+
<label for="s_method_<?php echo $_rate->getCode() ?>"><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>
|
95 |
+
<?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('tax')->displayShippingPriceIncludingTax()); ?>
|
96 |
+
<?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>
|
97 |
+
<?php echo $_excl; ?>
|
98 |
+
<?php if ($this->helper('tax')->displayShippingBothPrices() && $_incl != $_excl): ?>
|
99 |
+
(<?php echo $this->__('Incl. Tax'); ?> <?php echo $_incl; ?>)
|
100 |
+
<?php endif; ?>
|
101 |
+
</label>
|
102 |
+
<?php endif ?>
|
103 |
+
</li>
|
104 |
+
<?php endforeach; ?>
|
105 |
+
</ul>
|
106 |
+
</dd>
|
107 |
+
<?php endforeach; ?>
|
108 |
+
</dl>
|
109 |
+
<div class="buttons-set">
|
110 |
+
<button type="submit" title="<?php echo $this->__('Update Total') ?>" class="radius tiny button" name="do" value="<?php echo $this->__('Update Total') ?>"><span><span><?php echo $this->__('Update Total') ?></span></span></button>
|
111 |
+
</div>
|
112 |
+
</form>
|
113 |
+
<?php endif; ?>
|
114 |
+
<script type="text/javascript">
|
115 |
+
//<![CDATA[
|
116 |
+
var coShippingMethodForm = new VarienForm('shipping-zip-form');
|
117 |
+
var countriesWithOptionalZip = <?php echo $this->helper('directory')->getCountriesWithOptionalZip(true) ?>;
|
118 |
+
|
119 |
+
coShippingMethodForm.submit = function () {
|
120 |
+
var country = $F('country');
|
121 |
+
var optionalZip = false;
|
122 |
+
|
123 |
+
for (i=0; i < countriesWithOptionalZip.length; i++) {
|
124 |
+
if (countriesWithOptionalZip[i] == country) {
|
125 |
+
optionalZip = true;
|
126 |
+
}
|
127 |
+
}
|
128 |
+
if (optionalZip) {
|
129 |
+
$('postcode').removeClassName('required-entry');
|
130 |
+
}
|
131 |
+
else {
|
132 |
+
$('postcode').addClassName('required-entry');
|
133 |
+
}
|
134 |
+
return VarienForm.prototype.submit.bind(coShippingMethodForm)();
|
135 |
+
}
|
136 |
+
//]]>
|
137 |
+
</script>
|
138 |
+
</div>
|
139 |
+
</div>
|
app/design/frontend/foungento/default/template/checkout/cart/sidebar.phtml
ADDED
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Shoping cart sidebar
|
29 |
+
*
|
30 |
+
* @see Mage_Checkout_Block_Cart_Sidebar
|
31 |
+
*/
|
32 |
+
|
33 |
+
?>
|
34 |
+
<?php if ($this->getIsNeedToDisplaySideBar()):?>
|
35 |
+
<div class="block block-cart">
|
36 |
+
<?php $_cartQty = $this->getSummaryCount() ?>
|
37 |
+
<div class="block-title">
|
38 |
+
<strong><span><?php echo $this->__('My Cart') ?></span></strong>
|
39 |
+
</div>
|
40 |
+
<div class="block-content">
|
41 |
+
<?php if ($_cartQty>0): ?>
|
42 |
+
<div class="summary">
|
43 |
+
<?php if ($_cartQty==1): ?>
|
44 |
+
<p class="amount"><?php echo $this->__('There is <a href="%s">1 item</a> in your cart.', $this->getUrl('checkout/cart')) ?></p>
|
45 |
+
<?php else: ?>
|
46 |
+
<p class="amount"><?php echo $this->__('There are <a href="%s">%s items</a> in your cart.', $this->getUrl('checkout/cart'), $_cartQty) ?></p>
|
47 |
+
<?php endif ?>
|
48 |
+
<p class="subtotal">
|
49 |
+
<?php if ($this->canApplyMsrp()): ?>
|
50 |
+
<span class="map-cart-sidebar-total"><?php echo $this->__('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?></span>
|
51 |
+
<?php else: ?>
|
52 |
+
<span class="radius label secondary"><?php echo $this->__('Cart Subtotal:') ?></span> <?php echo Mage::helper('checkout')->formatPrice($this->getSubtotal()) ?>
|
53 |
+
<?php if ($_subtotalInclTax = $this->getSubtotalInclTax()): ?>
|
54 |
+
<br />(<?php echo Mage::helper('checkout')->formatPrice($_subtotalInclTax) ?> <?php echo Mage::helper('tax')->getIncExcText(true) ?>)
|
55 |
+
<?php endif; ?>
|
56 |
+
<?php endif; ?>
|
57 |
+
</p>
|
58 |
+
</div>
|
59 |
+
<?php endif ?>
|
60 |
+
<?php if($_cartQty && $this->isPossibleOnepageCheckout()): ?>
|
61 |
+
<div class="actions">
|
62 |
+
<?php echo $this->getChildHtml('extra_actions') ?>
|
63 |
+
<button type="radius tiny button" title="<?php echo $this->__('Checkout') ?>" class="radius tiny button" onclick="setLocation('<?php echo $this->getCheckoutUrl() ?>')"><span><span><?php echo $this->__('Checkout') ?></span></span></button>
|
64 |
+
</div>
|
65 |
+
<?php endif ?>
|
66 |
+
<?php $_items = $this->getRecentItems() ?>
|
67 |
+
<?php if(count($_items)): ?>
|
68 |
+
<p class="block-subtitle"><?php echo $this->__('Recently added item(s)') ?></p>
|
69 |
+
<ol id="cart-sidebar" class="small-block-grid-2 medium-block-grid-1 medium-block-grid-1 large-block-grid-1 mini-products-list">
|
70 |
+
<?php foreach($_items as $_item): ?>
|
71 |
+
<?php echo $this->getItemHtml($_item) ?>
|
72 |
+
<?php endforeach; ?>
|
73 |
+
</ol>
|
74 |
+
<script type="text/javascript">decorateList('cart-sidebar', 'none-recursive')</script>
|
75 |
+
<?php else: ?>
|
76 |
+
<p class="empty"><?php echo $this->__('You have no items in your shopping cart.') ?></p>
|
77 |
+
<?php endif ?>
|
78 |
+
</div>
|
79 |
+
</div>
|
80 |
+
<?php endif;?>
|
app/design/frontend/foungento/default/template/checkout/cart/sidebar/default.phtml
ADDED
@@ -0,0 +1,145 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
$_item = $this->getItem();
|
29 |
+
$isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
|
30 |
+
$canApplyMsrp = Mage::helper('catalog')->canApplyMsrp($_item->getProduct(), Mage_Catalog_Model_Product_Attribute_Source_Msrp_Type::TYPE_BEFORE_ORDER_CONFIRM);
|
31 |
+
?>
|
32 |
+
<li class="item">
|
33 |
+
<?php if ($this->hasProductUrl()): ?>
|
34 |
+
<a href="<?php echo $this->getProductUrl()?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product-image"><img src="<?php echo $this->getProductThumbnail()->resize(50, 50)->setWatermarkSize('30x10'); ?>" width="50" height="50" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /></a>
|
35 |
+
<?php else: ?>
|
36 |
+
<span class="product-image"><img src="<?php echo $this->getProductThumbnail()->resize(50, 50)->setWatermarkSize('30x10'); ?>" width="50" height="50" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /></span>
|
37 |
+
<?php endif; ?>
|
38 |
+
<div class="product-details">
|
39 |
+
<a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo $this->__('Remove This Item') ?>" onclick="return confirm('<?php echo $this->__('Are you sure you would like to remove this item from the shopping cart?') ?>');" class="btn-remove"><?php echo $this->__('Remove This Item') ?></a>
|
40 |
+
<?php if ($isVisibleProduct): ?>
|
41 |
+
<a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo $this->__('Edit item') ?>" class="btn-edit"><?php echo $this->__('Edit item')?></a>
|
42 |
+
<?php endif ?>
|
43 |
+
<p class="product-name"><?php if ($this->hasProductUrl()): ?><a href="<?php echo $this->getProductUrl() ?>"><?php endif; ?><?php echo $this->escapeHtml($this->getProductName()) ?><?php if ($this->hasProductUrl()): ?></a><?php endif; ?></p>
|
44 |
+
<strong><?php echo $this->getQty() ?></strong> x
|
45 |
+
|
46 |
+
<?php if ($canApplyMsrp): ?>
|
47 |
+
|
48 |
+
<span class="map-cart-sidebar-item"><?php echo $this->__('See price before order confirmation.'); ?></span>
|
49 |
+
|
50 |
+
<?php else: ?>
|
51 |
+
|
52 |
+
<?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
53 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
54 |
+
<?php echo $this->__('Excl. Tax'); ?>:
|
55 |
+
<?php endif; ?>
|
56 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
|
57 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
|
58 |
+
<?php else: ?>
|
59 |
+
<?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()) ?>
|
60 |
+
<?php endif; ?>
|
61 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
62 |
+
<br />
|
63 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales')): ?>
|
64 |
+
<small>
|
65 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
66 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span><br />
|
67 |
+
<?php endforeach; ?>
|
68 |
+
</small>
|
69 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
70 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
71 |
+
<span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
|
72 |
+
<?php endforeach; ?>
|
73 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales')): ?>
|
74 |
+
<small>
|
75 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
76 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
|
77 |
+
<?php endforeach; ?>
|
78 |
+
</small>
|
79 |
+
<?php endif; ?>
|
80 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
81 |
+
<span class="nobr"><?php echo Mage::helper('weee')->__('Total'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
|
82 |
+
<?php endif; ?>
|
83 |
+
<?php endif; ?>
|
84 |
+
<?php endif; ?>
|
85 |
+
|
86 |
+
|
87 |
+
|
88 |
+
<?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
|
89 |
+
<?php $_incl = $this->helper('checkout')->getPriceInclTax($_item); ?>
|
90 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
91 |
+
<br /><?php echo $this->__('Incl. Tax'); ?>:
|
92 |
+
<?php endif; ?>
|
93 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
|
94 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?>
|
95 |
+
<?php else: ?>
|
96 |
+
<?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
|
97 |
+
<?php endif; ?>
|
98 |
+
<?php if (Mage::helper('weee')->getApplied($_item)): ?>
|
99 |
+
<br />
|
100 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales')): ?>
|
101 |
+
<small>
|
102 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
103 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span><br />
|
104 |
+
<?php endforeach; ?>
|
105 |
+
</small>
|
106 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
107 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
108 |
+
<span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
|
109 |
+
<?php endforeach; ?>
|
110 |
+
<?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales')): ?>
|
111 |
+
<small>
|
112 |
+
<?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
|
113 |
+
<span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
|
114 |
+
<?php endforeach; ?>
|
115 |
+
</small>
|
116 |
+
<?php endif; ?>
|
117 |
+
<?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales')): ?>
|
118 |
+
<span class="nobr"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_incl + Mage::helper('weee')->getWeeeTaxInclTax($_item)); ?></span>
|
119 |
+
<?php endif; ?>
|
120 |
+
<?php endif; ?>
|
121 |
+
<?php endif; ?>
|
122 |
+
|
123 |
+
<?php endif; //Can apply MSRP ?>
|
124 |
+
|
125 |
+
<?php if ($_options = $this->getOptionList()):?>
|
126 |
+
<div class="truncated">
|
127 |
+
<div class="truncated_full_value">
|
128 |
+
<ul class="item-options">
|
129 |
+
<?php foreach ($_options as $_option) : ?>
|
130 |
+
<li>
|
131 |
+
<span class="radius label secondary"><?php echo $this->escapeHtml($_option['label']) ?></span>
|
132 |
+
<?php if (is_array($_option['value'])): ?>
|
133 |
+
<?php echo nl2br(implode("\n", $_option['value'])) ?>
|
134 |
+
<?php else: ?>
|
135 |
+
<?php echo $_option['value'] ?>
|
136 |
+
<?php endif; ?>
|
137 |
+
</li>
|
138 |
+
<?php endforeach; ?>
|
139 |
+
</ul>
|
140 |
+
</div>
|
141 |
+
<!-- a href="#" onclick="return false;" class="details"><?php echo $this->__('Details') ?></a -->
|
142 |
+
</div>
|
143 |
+
<?php endif; ?>
|
144 |
+
</div>
|
145 |
+
</li>
|
app/design/frontend/foungento/default/template/checkout/cart/totals.phtml
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Shopping cart totals template
|
4 |
+
*
|
5 |
+
* @see Mage_Checkout_Block_Cart_Totals
|
6 |
+
* @var $this Mage_Checkout_Block_Cart_Totals
|
7 |
+
*/
|
8 |
+
?>
|
9 |
+
<?php if ($this->canApplyMsrp()): ?>
|
10 |
+
<div class="cart-msrp-totals"><?php echo $this->__('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?></div>
|
11 |
+
<?php else: ?>
|
12 |
+
<table id="shopping-cart-totals-table">
|
13 |
+
<?php /* ?>
|
14 |
+
<col />
|
15 |
+
<col width="1" />
|
16 |
+
<?php */ ?>
|
17 |
+
<tfoot>
|
18 |
+
<?php echo $this->renderTotals('footer'); ?>
|
19 |
+
</tfoot>
|
20 |
+
<tbody>
|
21 |
+
<?php echo $this->renderTotals(); ?>
|
22 |
+
</tbody>
|
23 |
+
</table>
|
24 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/checkout/onepage.phtml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row">
|
2 |
+
<div class="large-12 columns">
|
3 |
+
<div class="page-title">
|
4 |
+
<h1><?php echo $this->__('Checkout') ?></h1>
|
5 |
+
</div>
|
6 |
+
</div>
|
7 |
+
</div>
|
8 |
+
<script type="text/javascript" src="<?php echo $this->getJsUrl('varien/accordion.js') ?>"></script>
|
9 |
+
<script type="text/javascript" src="<?php echo $this->getSkinUrl('js/opcheckout.js') ?>"></script>
|
10 |
+
|
11 |
+
<div class="row">
|
12 |
+
<div class="large-12 columns">
|
13 |
+
<ol id="checkoutSteps" class="opc small-block-grid-1 medium-block-grid-1 large-block-grid-1">
|
14 |
+
<?php $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo): ?>
|
15 |
+
<?php if (!$this->getChild($_stepId) || !$this->getChild($_stepId)->isShow()): continue; endif; $i++ ?>
|
16 |
+
<li id="opc-<?php echo $_stepId ?>" class="section<?php echo !empty($_stepInfo['allow'])?' allow':'' ?><?php echo !empty($_stepInfo['complete'])?' saved':'' ?>">
|
17 |
+
<div class="step-title row">
|
18 |
+
<div class="small-12 medium-11 large-11 columns label-title"><h2><?php echo $_stepInfo['label'] ?></h2></div>
|
19 |
+
<div class="hide small-12 medium-1 large-1 columns"><a href="#"><?php echo $this->__('Edit') ?></a></div>
|
20 |
+
</div>
|
21 |
+
<div id="checkout-step-<?php echo $_stepId ?>" class="step a-item" style="display:none;">
|
22 |
+
<?php echo $this->getChildHtml($_stepId) ?>
|
23 |
+
</div>
|
24 |
+
</li>
|
25 |
+
<?php endforeach ?>
|
26 |
+
</ol>
|
27 |
+
<script type="text/javascript">
|
28 |
+
//<![CDATA[
|
29 |
+
var accordion = new Accordion('checkoutSteps', '.step-title', true);
|
30 |
+
<?php if($this->getActiveStep()): ?>
|
31 |
+
accordion.openSection('opc-<?php echo $this->getActiveStep() ?>');
|
32 |
+
<?php endif ?>
|
33 |
+
var checkout = new Checkout(accordion,{
|
34 |
+
progress: '<?php echo $this->getUrl('checkout/onepage/progress') ?>',
|
35 |
+
review: '<?php echo $this->getUrl('checkout/onepage/review') ?>',
|
36 |
+
saveMethod: '<?php echo $this->getUrl('checkout/onepage/saveMethod') ?>',
|
37 |
+
failure: '<?php echo $this->getUrl('checkout/cart') ?>'}
|
38 |
+
);
|
39 |
+
//]]>
|
40 |
+
</script>
|
41 |
+
</div>
|
42 |
+
</div>
|
app/design/frontend/foungento/default/template/checkout/onepage/billing.phtml
ADDED
@@ -0,0 +1,216 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<form id="co-billing-form" action="">
|
28 |
+
<fieldset>
|
29 |
+
<ul class="form-list">
|
30 |
+
<?php if ($this->customerHasAddresses()): ?>
|
31 |
+
<li class="wide">
|
32 |
+
<label for="billing-address-select"><?php echo $this->__('Select a billing address from your address book or enter a new address.') ?></label>
|
33 |
+
<div class="input-box">
|
34 |
+
<?php echo $this->getAddressesHtmlSelect('billing') ?>
|
35 |
+
</div>
|
36 |
+
</li>
|
37 |
+
<?php endif; ?>
|
38 |
+
<li id="billing-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif; ?>>
|
39 |
+
<fieldset>
|
40 |
+
<input type="hidden" name="billing[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="billing:address_id" />
|
41 |
+
<ul>
|
42 |
+
<li class="fields"><?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getQuote()->getCustomer())->setForceUseCustomerRequiredAttributes(!$this->isCustomerLoggedIn())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?></li>
|
43 |
+
<li class="fields">
|
44 |
+
<div class="field">
|
45 |
+
<label for="billing:company"><?php echo $this->__('Company') ?></label>
|
46 |
+
<div class="input-box">
|
47 |
+
<input type="text" id="billing:company" name="billing[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>" />
|
48 |
+
</div>
|
49 |
+
</div>
|
50 |
+
<?php if(!$this->isCustomerLoggedIn()): ?>
|
51 |
+
<div class="field">
|
52 |
+
<label for="billing:email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
|
53 |
+
<div class="input-box">
|
54 |
+
<input type="text" name="billing[email]" id="billing:email" value="<?php echo $this->escapeHtml($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
<?php endif; ?>
|
58 |
+
</li>
|
59 |
+
<?php $_streetValidationClass = $this->helper('customer/address')->getAttributeValidationClass('street'); ?>
|
60 |
+
<li class="wide">
|
61 |
+
<label for="billing:street1" class="required"><em>*</em><?php echo $this->__('Address') ?></label>
|
62 |
+
<div class="input-box">
|
63 |
+
<input type="text" title="<?php echo $this->__('Street Address') ?>" name="billing[street][]" id="billing:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
|
64 |
+
</div>
|
65 |
+
</li>
|
66 |
+
<?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
|
67 |
+
<?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
|
68 |
+
<li class="wide">
|
69 |
+
<div class="input-box">
|
70 |
+
<input type="text" title="<?php echo $this->__('Street Address %s', $_i) ?>" name="billing[street][]" id="billing:street<?php echo $_i ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
|
71 |
+
</div>
|
72 |
+
</li>
|
73 |
+
<?php endfor; ?>
|
74 |
+
<?php if ($this->helper('customer/address')->isVatAttributeVisible()) : ?>
|
75 |
+
<li class="wide">
|
76 |
+
<label for="billing:vat_id"><?php echo $this->__('VAT Number') ?></label>
|
77 |
+
<div class="input-box">
|
78 |
+
<input type="text" id="billing:vat_id" name="billing[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo $this->__('VAT Number') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('vat_id') ?>" />
|
79 |
+
</div>
|
80 |
+
</li>
|
81 |
+
<?php endif; ?>
|
82 |
+
<li class="fields">
|
83 |
+
<div class="field">
|
84 |
+
<label for="billing:city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
|
85 |
+
<div class="input-box">
|
86 |
+
<input type="text" title="<?php echo $this->__('City') ?>" name="billing[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('city') ?>" id="billing:city" />
|
87 |
+
</div>
|
88 |
+
</div>
|
89 |
+
<div class="field">
|
90 |
+
<label for="billing:region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
|
91 |
+
<div class="input-box">
|
92 |
+
<select id="billing:region_id" name="billing[region_id]" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;">
|
93 |
+
<option value=""><?php echo $this->__('Please select region, state or province') ?></option>
|
94 |
+
</select>
|
95 |
+
<script type="text/javascript">
|
96 |
+
//<![CDATA[
|
97 |
+
$('billing:region_id').setAttribute('defaultValue', "<?php echo $this->getAddress()->getRegionId() ?>");
|
98 |
+
//]]>
|
99 |
+
</script>
|
100 |
+
<input type="text" id="billing:region" name="billing[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>" style="display:none;" />
|
101 |
+
</div>
|
102 |
+
</div>
|
103 |
+
</li>
|
104 |
+
<li class="fields">
|
105 |
+
<div class="field">
|
106 |
+
<label for="billing:postcode" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
|
107 |
+
<div class="input-box">
|
108 |
+
<input type="text" title="<?php echo $this->__('Zip/Postal Code') ?>" name="billing[postcode]" id="billing:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>" />
|
109 |
+
</div>
|
110 |
+
</div>
|
111 |
+
<div class="field">
|
112 |
+
<label for="billing:country_id" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
|
113 |
+
<div class="input-box">
|
114 |
+
<?php echo $this->getCountryHtmlSelect('billing') ?>
|
115 |
+
</div>
|
116 |
+
</div>
|
117 |
+
</li>
|
118 |
+
<li class="fields">
|
119 |
+
<div class="field">
|
120 |
+
<label for="billing:telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
|
121 |
+
<div class="input-box">
|
122 |
+
<input type="text" name="billing[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" id="billing:telephone" />
|
123 |
+
</div>
|
124 |
+
</div>
|
125 |
+
<div class="field">
|
126 |
+
<label for="billing:fax"><?php echo $this->__('Fax') ?></label>
|
127 |
+
<div class="input-box">
|
128 |
+
<input type="text" name="billing[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo $this->__('Fax') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('fax') ?>" id="billing:fax" />
|
129 |
+
</div>
|
130 |
+
</div>
|
131 |
+
</li>
|
132 |
+
<?php if(!$this->isCustomerLoggedIn()): ?>
|
133 |
+
|
134 |
+
<?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?>
|
135 |
+
<?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
|
136 |
+
<?php if ($_dob->isEnabled() || $_gender->isEnabled()): ?>
|
137 |
+
<li class="fields">
|
138 |
+
<?php if ($_dob->isEnabled()): ?>
|
139 |
+
<div class="field">
|
140 |
+
<?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
|
141 |
+
</div>
|
142 |
+
<?php endif; ?>
|
143 |
+
<?php if ($_gender->isEnabled()): ?>
|
144 |
+
<div class="field">
|
145 |
+
<?php echo $_gender->setGender($this->getQuote()->getCustomerGender())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
|
146 |
+
</div>
|
147 |
+
<?php endif ?>
|
148 |
+
</li>
|
149 |
+
<?php endif ?>
|
150 |
+
|
151 |
+
<?php $_taxvat = $this->getLayout()->createBlock('customer/widget_taxvat') ?>
|
152 |
+
<?php if ($_taxvat->isEnabled()): ?>
|
153 |
+
<li>
|
154 |
+
<?php echo $_taxvat->setTaxvat($this->getQuote()->getCustomerTaxvat())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
|
155 |
+
</li>
|
156 |
+
<?php endif ?>
|
157 |
+
|
158 |
+
<li class="fields" id="register-customer-password">
|
159 |
+
<div class="field">
|
160 |
+
<label for="billing:customer_password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
|
161 |
+
<div class="input-box">
|
162 |
+
<input type="password" name="billing[customer_password]" id="billing:customer_password" title="<?php echo $this->__('Password') ?>" class="input-text required-entry validate-password" />
|
163 |
+
</div>
|
164 |
+
</div>
|
165 |
+
<div class="field">
|
166 |
+
<label for="billing:confirm_password" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
|
167 |
+
<div class="input-box">
|
168 |
+
<input type="password" name="billing[confirm_password]" title="<?php echo $this->__('Confirm Password') ?>" id="billing:confirm_password" class="input-text required-entry validate-cpassword" />
|
169 |
+
</div>
|
170 |
+
</div>
|
171 |
+
</li>
|
172 |
+
<?php endif; ?>
|
173 |
+
<?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
|
174 |
+
<li class="control">
|
175 |
+
<input type="checkbox" name="billing[save_in_address_book]" value="1" title="<?php echo $this->__('Save in address book') ?>" id="billing:save_in_address_book" onchange="if(window.shipping) shipping.setSameAsBilling(false);"<?php if ($this->getAddress()->getSaveInAddressBook()):?> checked="checked"<?php endif;?> class="checkbox" /><label for="billing:save_in_address_book"><?php echo $this->__('Save in address book') ?></label>
|
176 |
+
</li>
|
177 |
+
<?php else:?>
|
178 |
+
<li class="no-display"><input type="hidden" name="billing[save_in_address_book]" value="1" /></li>
|
179 |
+
<?php endif; ?>
|
180 |
+
<?php echo $this->getChildHtml('form.additional.info'); ?>
|
181 |
+
</ul>
|
182 |
+
</fieldset>
|
183 |
+
</li>
|
184 |
+
<?php /* Extensions placeholder */ ?>
|
185 |
+
<?php echo $this->getChildHtml('checkout.onepage.billing.extra')?>
|
186 |
+
<?php if ($this->canShip()): ?>
|
187 |
+
<li class="control">
|
188 |
+
<input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_yes" value="1"<?php if ($this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> title="<?php echo $this->__('Ship to this address') ?>" onclick="$('shipping:same_as_billing').checked = true;" class="radio" /><label for="billing:use_for_shipping_yes"><?php echo $this->__('Ship to this address') ?></label></li>
|
189 |
+
<li class="control">
|
190 |
+
<input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_no" value="0"<?php if (!$this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> title="<?php echo $this->__('Ship to different address') ?>" onclick="$('shipping:same_as_billing').checked = false;" class="radio" /><label for="billing:use_for_shipping_no"><?php echo $this->__('Ship to different address') ?></label>
|
191 |
+
</li>
|
192 |
+
<?php endif; ?>
|
193 |
+
</ul>
|
194 |
+
<?php if (!$this->canShip()): ?>
|
195 |
+
<input type="hidden" name="billing[use_for_shipping]" value="1" />
|
196 |
+
<?php endif; ?>
|
197 |
+
<div class="buttons-set" id="billing-buttons-container">
|
198 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
199 |
+
<button type="button" title="<?php echo $this->__('Continue') ?>" class="radius tiny button" onclick="billing.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
200 |
+
<span class="please-wait" id="billing-please-wait" style="display:none;">
|
201 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Loading next step...') ?>" title="<?php echo $this->__('Loading next step...') ?>" class="v-middle" /> <?php echo $this->__('Loading next step...') ?>
|
202 |
+
</span>
|
203 |
+
</div>
|
204 |
+
</fieldset>
|
205 |
+
</form>
|
206 |
+
<script type="text/javascript">
|
207 |
+
//<![CDATA[
|
208 |
+
var billing = new Billing('co-billing-form', '<?php echo $this->getUrl('checkout/onepage/getAddress') ?>address/', '<?php echo $this->getUrl('checkout/onepage/saveBilling') ?>');
|
209 |
+
var billingForm = new VarienForm('co-billing-form');
|
210 |
+
|
211 |
+
//billingForm.setElementsRelation('billing:country_id', 'billing:region', '<?php echo $this->getUrl('directory/json/childRegion') ?>', '<?php echo $this->__('Select State/Province...') ?>');
|
212 |
+
$('billing-address-select') && billing.newAddress(!$('billing-address-select').value);
|
213 |
+
|
214 |
+
var billingRegionUpdater = new RegionUpdater('billing:country_id', 'billing:region', 'billing:region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'billing:postcode');
|
215 |
+
//]]>
|
216 |
+
</script>
|
app/design/frontend/foungento/default/template/checkout/onepage/link.phtml
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php if ($this->isPossibleOnepageCheckout()):?>
|
28 |
+
<button type="button" title="<?php echo $this->__('Proceed to Checkout') ?>" class="radius tiny button btn-proceed-checkout btn-checkout<?php if ($this->isDisabled()):?> no-checkout<?php endif; ?>"<?php if ($this->isDisabled()):?> disabled="disabled"<?php endif; ?> onclick="window.location='<?php echo $this->getCheckoutUrl() ?>';"><span><span><?php echo $this->__('Proceed to Checkout') ?></span></span></button>
|
29 |
+
<?php endif?>
|
app/design/frontend/foungento/default/template/checkout/onepage/payment.phtml
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<script type="text/javascript">
|
28 |
+
//<![CDATA[
|
29 |
+
var quoteBaseGrandTotal = <?php echo (float)$this->getQuoteBaseGrandTotal(); ?>;
|
30 |
+
var checkQuoteBaseGrandTotal = quoteBaseGrandTotal;
|
31 |
+
var payment = new Payment('co-payment-form', '<?php echo $this->getUrl('checkout/onepage/savePayment') ?>');
|
32 |
+
var lastPrice;
|
33 |
+
//]]>
|
34 |
+
</script>
|
35 |
+
<form action="" id="co-payment-form">
|
36 |
+
<fieldset>
|
37 |
+
<?php echo $this->getChildHtml('methods') ?>
|
38 |
+
</fieldset>
|
39 |
+
</form>
|
40 |
+
<div class="tool-tip" id="payment-tool-tip" style="display:none;">
|
41 |
+
<div class="btn-close"><a href="#" id="payment-tool-tip-close" title="<?php echo $this->__('Close') ?>"><?php echo $this->__('Close') ?></a></div>
|
42 |
+
<div class="tool-tip-content"><img src="<?php echo $this->getSkinUrl('images/cvv.gif') ?>" alt="<?php echo $this->__('Card Verification Number Visual Reference') ?>" title="<?php echo $this->__('Card Verification Number Visual Reference') ?>" /></div>
|
43 |
+
</div>
|
44 |
+
<div class="buttons-set" id="payment-buttons-container">
|
45 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
46 |
+
<p class="back-link"><a href="#" onclick="checkout.back(); return false;"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
47 |
+
<button type="button" class="radius tiny button" onclick="payment.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
48 |
+
<span class="please-wait" id="payment-please-wait" style="display:none;">
|
49 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Loading next step...') ?>" title="<?php echo $this->__('Loading next step...') ?>" class="v-middle" /> <?php echo $this->__('Loading next step...') ?>
|
50 |
+
</span>
|
51 |
+
</div>
|
52 |
+
<script type="text/javascript">
|
53 |
+
//<![CDATA[
|
54 |
+
function toggleToolTip(event){
|
55 |
+
if($('payment-tool-tip')){
|
56 |
+
$('payment-tool-tip').setStyle({
|
57 |
+
top: (Event.pointerY(event)-560)+'px'//,
|
58 |
+
//left: (Event.pointerX(event)+100)+'px'
|
59 |
+
})
|
60 |
+
$('payment-tool-tip').toggle();
|
61 |
+
}
|
62 |
+
Event.stop(event);
|
63 |
+
}
|
64 |
+
if($('payment-tool-tip-close')){
|
65 |
+
Event.observe($('payment-tool-tip-close'), 'click', toggleToolTip);
|
66 |
+
}
|
67 |
+
//]]>
|
68 |
+
</script>
|
69 |
+
<script type="text/javascript">
|
70 |
+
//<![CDATA[
|
71 |
+
payment.currentMethod = "<?php echo $this->getChild('methods')->getSelectedMethodCode() ?>";
|
72 |
+
//]]>
|
73 |
+
</script>
|
app/design/frontend/foungento/default/template/checkout/onepage/payment/methods.phtml
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* One page checkout payment methods
|
30 |
+
*
|
31 |
+
* @var $this Mage_Checkout_Block_Onepage_Payment_Methods
|
32 |
+
*/
|
33 |
+
?>
|
34 |
+
|
35 |
+
<?php
|
36 |
+
$methods = $this->getMethods();
|
37 |
+
$oneMethod = count($methods) <= 1;
|
38 |
+
?>
|
39 |
+
<?php if (empty($methods)): ?>
|
40 |
+
<dt>
|
41 |
+
<?php echo $this->__('No Payment Methods') ?>
|
42 |
+
</dt>
|
43 |
+
<?php else:
|
44 |
+
foreach ($methods as $_method):
|
45 |
+
$_code = $_method->getCode();
|
46 |
+
?>
|
47 |
+
<dt>
|
48 |
+
<?php if(!$oneMethod): ?>
|
49 |
+
<input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" title="<?php echo $this->escapeHtml($_method->getTitle()) ?>" onclick="payment.switchMethod('<?php echo $_code ?>')"<?php if($this->getSelectedMethodCode()==$_code): ?> checked="checked"<?php endif; ?> class="radio" />
|
50 |
+
<?php else: ?>
|
51 |
+
<input id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" type="radio" name="payment[method]" checked="checked" class="radio" />
|
52 |
+
<?php $oneMethod = $_code; ?>
|
53 |
+
<?php endif; ?>
|
54 |
+
<label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($this->getMethodTitle($_method)) ?> <?php echo $this->getMethodLabelAfterHtml($_method) ?></label>
|
55 |
+
</dt>
|
56 |
+
<?php if ($html = $this->getPaymentMethodFormHtml($_method)): ?>
|
57 |
+
<dd>
|
58 |
+
<?php echo $html; ?>
|
59 |
+
</dd>
|
60 |
+
<?php endif; ?>
|
61 |
+
<?php endforeach;
|
62 |
+
endif;
|
63 |
+
?>
|
64 |
+
<?php echo $this->getChildChildHtml('additional'); ?>
|
65 |
+
<script type="text/javascript">
|
66 |
+
//<![CDATA[
|
67 |
+
<?php echo $this->getChildChildHtml('scripts'); ?>
|
68 |
+
payment.init();
|
69 |
+
<?php if (is_string($oneMethod)): ?>
|
70 |
+
payment.switchMethod('<?php echo $oneMethod ?>');
|
71 |
+
<?php endif; ?>
|
72 |
+
//]]>
|
73 |
+
</script>
|
app/design/frontend/foungento/default/template/checkout/onepage/review/info.phtml
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php echo $this->getChildHtml('items_before'); ?>
|
2 |
+
<div id="checkout-review-table-wrapper">
|
3 |
+
<table class="data-table responsive" id="checkout-review-table">
|
4 |
+
<?php /* ?>
|
5 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
|
6 |
+
<col />
|
7 |
+
<col width="1" />
|
8 |
+
<col width="1" />
|
9 |
+
<col width="1" />
|
10 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
11 |
+
<col width="1" />
|
12 |
+
<col width="1" />
|
13 |
+
<?php endif; ?>
|
14 |
+
<?php */ ?>
|
15 |
+
<thead>
|
16 |
+
<tr>
|
17 |
+
<th rowspan="<?php echo $rowspan ?>"><?php echo $this->__('Product Name') ?></th>
|
18 |
+
<th colspan="<?php echo $colspan ?>" class="text-right"><?php echo $this->__('Price') ?></th>
|
19 |
+
<th rowspan="<?php echo $rowspan ?>" class="text-right"><?php echo $this->__('Qty') ?></th>
|
20 |
+
<th colspan="<?php echo $colspan ?>" class="text-right"><?php echo $this->__('Subtotal') ?></th>
|
21 |
+
</tr>
|
22 |
+
<?php if ($this->helper('tax')->displayCartBothPrices()): ?>
|
23 |
+
<tr>
|
24 |
+
<th class="text-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
|
25 |
+
<th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
|
26 |
+
<th class="text-right"><?php echo $this->helper('tax')->getIncExcTaxLabel(false) ?></th>
|
27 |
+
<th><?php echo $this->helper('tax')->getIncExcTaxLabel(true) ?></th>
|
28 |
+
</tr>
|
29 |
+
<?php endif; ?>
|
30 |
+
</thead>
|
31 |
+
<?php echo $this->getChildHtml('totals'); ?>
|
32 |
+
<tbody>
|
33 |
+
<?php foreach($this->getItems() as $_item): ?>
|
34 |
+
<?php echo $this->getItemHtml($_item)?>
|
35 |
+
<?php endforeach ?>
|
36 |
+
</tbody>
|
37 |
+
</table>
|
38 |
+
</div>
|
39 |
+
<?php echo $this->getChildHtml('items_after'); ?>
|
40 |
+
<script type="text/javascript">
|
41 |
+
//<![CDATA[
|
42 |
+
decorateTable('checkout-review-table');
|
43 |
+
truncateOptions();
|
44 |
+
//]]>
|
45 |
+
</script>
|
46 |
+
<div id="checkout-review-submit">
|
47 |
+
<?php echo $this->getChildHtml('agreements') ?>
|
48 |
+
<div class="buttons-set" id="review-buttons-container">
|
49 |
+
<p class="f-left"><?php echo $this->__('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>"><?php echo $this->__('Edit Your Cart') ?></a></p>
|
50 |
+
<?php echo $this->getChildHtml('button') ?>
|
51 |
+
<span class="please-wait" id="review-please-wait" style="display:none;">
|
52 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Submitting order information...') ?>" title="<?php echo $this->__('Submitting order information...') ?>" class="v-middle" /> <?php echo $this->__('Submitting order information...') ?>
|
53 |
+
</span>
|
54 |
+
</div>
|
55 |
+
<script type="text/javascript">
|
56 |
+
//<![CDATA[
|
57 |
+
review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder', array('form_key' => Mage::getSingleton('core/session')->getFormKey())) ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));
|
58 |
+
//]]>
|
59 |
+
</script>
|
60 |
+
</div>
|
app/design/frontend/foungento/default/template/checkout/onepage/review/totals.phtml
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* @see Mage_Checkout_Block_Cart_Totals
|
29 |
+
*/
|
30 |
+
?>
|
31 |
+
<?php if ($this->getTotals()): ?>
|
32 |
+
<tfoot>
|
33 |
+
<?php $_colspan = $this->helper('tax')->displayCartBothPrices() ? 5 : 3; ?>
|
34 |
+
<?php echo $this->renderTotals(null, $_colspan); ?>
|
35 |
+
<?php echo $this->renderTotals('footer', $_colspan); ?>
|
36 |
+
<?php if ($this->needDisplayBaseGrandtotal()):?>
|
37 |
+
<tr>
|
38 |
+
<td class="text-right" colspan="<?php echo $_colspan; ?>">
|
39 |
+
<small><?php echo $this->helper('sales')->__('Your credit card will be charged for') ?></small>
|
40 |
+
</td>
|
41 |
+
<td class="text-right">
|
42 |
+
<small><?php echo $this->displayBaseGrandtotal() ?></small>
|
43 |
+
</td>
|
44 |
+
</tr>
|
45 |
+
<?php endif?>
|
46 |
+
</tfoot>
|
47 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/checkout/onepage/shipping_method.phtml
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<form id="co-shipping-method-form" action="">
|
28 |
+
<div id="checkout-shipping-method-load">
|
29 |
+
<!-- Content loaded dynamically -->
|
30 |
+
</div>
|
31 |
+
<script type="text/javascript">
|
32 |
+
//<![CDATA[
|
33 |
+
var shippingMethod = new ShippingMethod('co-shipping-method-form', "<?php echo $this->getUrl('checkout/onepage/saveShippingMethod') ?>");
|
34 |
+
//]]>
|
35 |
+
</script>
|
36 |
+
<div id="onepage-checkout-shipping-method-additional-load">
|
37 |
+
<?php echo $this->getChildHtml('additional') ?>
|
38 |
+
</div>
|
39 |
+
<div class="buttons-set" id="shipping-method-buttons-container">
|
40 |
+
<p class="back-link"><a href="#" onclick="checkout.back(); return false;"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
41 |
+
<button type="button" class="radius tiny button" onclick="shippingMethod.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
42 |
+
<span id="shipping-method-please-wait" class="please-wait" style="display:none;">
|
43 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Loading next step...') ?>" title="<?php echo $this->__('Loading next step...') ?>" class="v-middle" /> <?php echo $this->__('Loading next step...') ?>
|
44 |
+
</span>
|
45 |
+
</div>
|
46 |
+
</form>
|
app/design/frontend/foungento/default/template/checkout/success.phtml
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row">
|
2 |
+
<div class="large-12 columns">
|
3 |
+
<div class="page-title">
|
4 |
+
<h1><?php echo $this->__('Your order has been received.') ?></h1>
|
5 |
+
</div>
|
6 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
7 |
+
<h2 class="sub-title"><?php echo $this->__('Thank you for your purchase!') ?></h2>
|
8 |
+
|
9 |
+
<?php if ($this->getOrderId()):?>
|
10 |
+
<?php if ($this->getCanViewOrder()) :?>
|
11 |
+
<p><?php echo $this->__('Your order # is: %s.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getViewOrderUrl()), $this->escapeHtml($this->getOrderId()))) ?></p>
|
12 |
+
<?php else :?>
|
13 |
+
<p><?php echo $this->__('Your order # is: %s.', $this->escapeHtml($this->getOrderId())) ?></p>
|
14 |
+
<?php endif;?>
|
15 |
+
<p><?php echo $this->__('You will receive an order confirmation email with details of your order and a link to track its progress.') ?></p>
|
16 |
+
<?php if ($this->getCanViewOrder() && $this->getCanPrintOrder()) :?>
|
17 |
+
<p>
|
18 |
+
<?php echo $this->__('Click <a href="%s" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
|
19 |
+
<?php echo $this->getChildHtml() ?>
|
20 |
+
</p>
|
21 |
+
<?php endif;?>
|
22 |
+
<?php endif;?>
|
23 |
+
|
24 |
+
<?php if ($this->getAgreementRefId()): ?>
|
25 |
+
<p><?php echo $this->__('Your billing agreement # is: %s.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getAgreementUrl()), $this->escapeHtml($this->getAgreementRefId())))?></p>
|
26 |
+
<?php endif;?>
|
27 |
+
|
28 |
+
<?php if ($profiles = $this->getRecurringProfiles()):?>
|
29 |
+
<p><?php echo $this->__('Your recurring payment profiles:'); ?></p>
|
30 |
+
<ul class="disc">
|
31 |
+
<?php foreach($profiles as $profile):?>
|
32 |
+
<?php $profileIdHtml = ($this->getCanViewProfiles() ? sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getProfileUrl($profile)), $this->escapeHtml($this->getObjectData($profile, 'reference_id'))) : $this->escapeHtml($this->getObjectData($profile, 'reference_id')));?>
|
33 |
+
<li><?php echo $this->__('Payment profile # %s: "%s".', $profileIdHtml, $this->escapeHtml($this->getObjectData($profile, 'schedule_description')))?></li>
|
34 |
+
<?php endforeach;?>
|
35 |
+
</ul>
|
36 |
+
<?php endif;?>
|
37 |
+
|
38 |
+
<div class="buttons-set">
|
39 |
+
<button type="button" class="radius tiny button" title="<?php echo $this->__('Continue Shopping') ?>" onclick="window.location='<?php echo $this->getUrl() ?>'"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
</div>
|
app/design/frontend/foungento/default/template/customer/account/dashboard.phtml
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="dashboard">
|
2 |
+
<div class="page-title">
|
3 |
+
<h1><?php echo $this->__('My Dashboard') ?></h1>
|
4 |
+
</div>
|
5 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
6 |
+
<?php echo $this->getChildHtml('hello') ?>
|
7 |
+
<?php echo $this->getChildHtml('top') ?>
|
8 |
+
<div class="box-account box-info">
|
9 |
+
<div class="box-head">
|
10 |
+
<h2><?php echo $this->__('Account Information') ?></h2>
|
11 |
+
</div>
|
12 |
+
<?php /* Extensions placeholder */ ?>
|
13 |
+
<?php echo $this->getChildHtml('customer.account.dashboard.extra') ?>
|
14 |
+
<?php echo $this->getChildHtml('info') ?>
|
15 |
+
<?php echo $this->getChildHtml('address') ?>
|
16 |
+
</div>
|
17 |
+
<?php echo $this->getChildHtml('info1') ?>
|
18 |
+
<?php echo $this->getChildHtml('info2') ?>
|
19 |
+
</div>
|
app/design/frontend/foungento/default/template/customer/account/dashboard/address.phtml
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
<div class="col2-set">
|
3 |
+
<div class="box">
|
4 |
+
<div class="box-title">
|
5 |
+
<h3><?php echo $this->__('Address Book') ?></h3>
|
6 |
+
<a href="<?php echo $this->getAddressBookUrl() ?>"><?php echo $this->__('Manage Addresses') ?></a>
|
7 |
+
</div>
|
8 |
+
<div class="box-content row">
|
9 |
+
<div class="col-1 small-12 medium-6 large-6 columns">
|
10 |
+
<h4><?php echo $this->__('Default Billing Address') ?></h4>
|
11 |
+
<address>
|
12 |
+
<?php echo $this->getPrimaryBillingAddressHtml() ?><br />
|
13 |
+
<a class="button radius tiny" href="<?php echo $this->getPrimaryBillingAddressEditUrl() ?>"><?php echo $this->__('Edit Address') ?></a>
|
14 |
+
</address>
|
15 |
+
</div>
|
16 |
+
<div class="col-2 small-12 medium-6 large-6 columns">
|
17 |
+
<h4><?php echo $this->__('Default Shipping Address') ?></h4>
|
18 |
+
<address>
|
19 |
+
<?php echo $this->getPrimaryShippingAddressHtml() ?><br />
|
20 |
+
<a class="button radius tiny" href="<?php echo $this->getPrimaryShippingAddressEditUrl() ?>"><?php echo $this->__('Edit Address') ?></a>
|
21 |
+
</address>
|
22 |
+
</div>
|
23 |
+
</div>
|
24 |
+
</div>
|
25 |
+
</div>
|
app/design/frontend/foungento/default/template/customer/account/dashboard/info.phtml
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="col2-set row">
|
2 |
+
<div class="col-1 ">
|
3 |
+
<div class="box small-12 medium-6 large-6 columns">
|
4 |
+
<div class="box-title">
|
5 |
+
<h3><?php echo $this->__('Contact Information') ?></h3>
|
6 |
+
<a class="button radius tiny " href="<?php echo $this->getUrl('customer/account/edit') ?>"><?php echo $this->__('Edit') ?></a>
|
7 |
+
</div>
|
8 |
+
<div class="box-content">
|
9 |
+
<p>
|
10 |
+
<?php echo $this->escapeHtml($this->getCustomer()->getName()) ?><br />
|
11 |
+
<?php echo $this->escapeHtml($this->getCustomer()->getEmail()) ?><br />
|
12 |
+
<a href="<?php echo $this->getChangePasswordUrl() ?>"><?php echo $this->__('Change Password') ?></a>
|
13 |
+
</p>
|
14 |
+
</div>
|
15 |
+
</div>
|
16 |
+
</div>
|
17 |
+
<?php if( $this->isNewsletterEnabled() ): ?>
|
18 |
+
<div class="col-2 small-12 medium-6 large-6 columns">
|
19 |
+
<div class="box">
|
20 |
+
<div class="box-title">
|
21 |
+
<h3><?php echo $this->__('Newsletters') ?></h3>
|
22 |
+
<a class="button radius tiny " href="<?php echo $this->getUrl('newsletter/manage') ?>"><?php echo $this->__('Edit') ?></a>
|
23 |
+
</div>
|
24 |
+
<div class="box-content">
|
25 |
+
<p>
|
26 |
+
<?php if( $this->getIsSubscribed() ): ?>
|
27 |
+
<?php echo $this->__("You are currently subscribed to 'General Subscription'.") ?>
|
28 |
+
<?php else: ?>
|
29 |
+
<?php echo $this->__('You are currently not subscribed to any newsletter.') ?>
|
30 |
+
<?php endif; ?>
|
31 |
+
</p>
|
32 |
+
</div>
|
33 |
+
</div>
|
34 |
+
<?php /* Extensions placeholder */ ?>
|
35 |
+
<?php echo $this->getChildHtml('customer.account.dashboard.info.extra')?>
|
36 |
+
</div>
|
37 |
+
<?php endif; ?>
|
38 |
+
</div>
|
app/design/frontend/foungento/default/template/customer/form/forgotpassword.phtml
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="row">
|
2 |
+
<div class="page-title large-12 columns">
|
3 |
+
<h1><?php echo $this->__('Forgot Your Password?') ?></h1>
|
4 |
+
</div>
|
5 |
+
</div>
|
6 |
+
|
7 |
+
<div class="row">
|
8 |
+
<div class="large-12 columns">
|
9 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
10 |
+
<form action="<?php echo $this->getUrl('*/*/forgotpasswordpost') ?>" method="post" id="form-validate">
|
11 |
+
<div class="fieldset">
|
12 |
+
<h2 class="legend"><?php echo $this->__('Retrieve your password here') ?></h2>
|
13 |
+
<p><?php echo $this->__('Please enter your email address below. You will receive a link to reset your password.') ?></p>
|
14 |
+
<ul class="form-list">
|
15 |
+
<li>
|
16 |
+
<label for="email_address" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
|
17 |
+
<div class="input-box">
|
18 |
+
<input type="text" name="email" alt="email" id="email_address" class="input-text required-entry validate-email" value="<?php echo $this->escapeHtml($this->getEmailValue()) ?>" />
|
19 |
+
</div>
|
20 |
+
</li>
|
21 |
+
<?php echo $this->getChildHtml('form.additional.info'); ?>
|
22 |
+
</ul>
|
23 |
+
</div>
|
24 |
+
<div class="buttons-set">
|
25 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
26 |
+
<p class="back-link"><a href="<?php echo $this->helper('customer')->getLoginUrl() ?>"><small>« </small><?php echo $this->__('Back to Login') ?></a></p>
|
27 |
+
<button type="submit" title="<?php echo $this->__('Submit') ?>" class="radius tiny button"><span><span><?php echo $this->__('Submit') ?></span></span></button>
|
28 |
+
</div>
|
29 |
+
</form>
|
30 |
+
<script type="text/javascript">
|
31 |
+
//<![CDATA[
|
32 |
+
var dataForm = new VarienForm('form-validate', true);
|
33 |
+
//]]>
|
34 |
+
</script>
|
35 |
+
</div>
|
36 |
+
</div>
|
app/design/frontend/foungento/default/template/newsletter/subscribe.phtml
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<div class="block block-subscribe">
|
28 |
+
<div class="block-title">
|
29 |
+
<strong><span><?php echo $this->__('Newsletter') ?></span></strong>
|
30 |
+
</div>
|
31 |
+
<form action="<?php echo $this->getFormActionUrl() ?>" method="post" id="newsletter-validate-detail">
|
32 |
+
<div class="block-content">
|
33 |
+
<div class="form-subscribe-header">
|
34 |
+
<label for="newsletter"><?php echo $this->__('Sign Up for Our Newsletter:') ?></label>
|
35 |
+
</div>
|
36 |
+
<div class="input-box">
|
37 |
+
<input type="text" name="email" id="newsletter" title="<?php echo $this->__('Sign up for our newsletter') ?>" class="input-text required-entry validate-email" />
|
38 |
+
</div>
|
39 |
+
<div class="actions">
|
40 |
+
<button type="submit" title="<?php echo $this->__('Subscribe') ?>" class="radius tiny button"><span><span><?php echo $this->__('Subscribe') ?></span></span></button>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
</form>
|
44 |
+
<script type="text/javascript">
|
45 |
+
//<![CDATA[
|
46 |
+
var newsletterSubscriberFormDetail = new VarienForm('newsletter-validate-detail');
|
47 |
+
//]]>
|
48 |
+
</script>
|
49 |
+
</div>
|
app/design/frontend/foungento/default/template/page/1column.phtml
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template for Mage_Page_Block_Html
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
7 |
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
|
8 |
+
<head>
|
9 |
+
<meta charset="utf-8">
|
10 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
11 |
+
<?php echo $this->getChildHtml('head') ?>
|
12 |
+
</head>
|
13 |
+
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
|
14 |
+
<?php echo $this->getChildHtml('after_body_start') ?>
|
15 |
+
<div class="wrapper">
|
16 |
+
<?php echo $this->getChildHtml('global_notices') ?>
|
17 |
+
<div class="page">
|
18 |
+
<?php echo $this->getChildHtml('header') ?>
|
19 |
+
<div class="main-container col2-left-layout">
|
20 |
+
<div class="main row">
|
21 |
+
<div class="hide-for-small-only small-12 medium-12 large-12 columns"><?php echo $this->getChildHtml('breadcrumbs') ?></div>
|
22 |
+
<div class="col-main small-12 medium-12 large-12 columns">
|
23 |
+
<?php echo $this->getChildHtml('global_messages') ?>
|
24 |
+
<?php echo $this->getChildHtml('content') ?>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
<?php echo $this->getChildHtml('footer') ?>
|
29 |
+
<?php echo $this->getChildHtml('global_cookie_notice') ?>
|
30 |
+
<?php echo $this->getChildHtml('before_body_end') ?>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
<?php echo $this->getAbsoluteFooter() ?>
|
34 |
+
</body>
|
35 |
+
</html>
|
app/design/frontend/foungento/default/template/page/2columns-left.phtml
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template for Mage_Page_Block_Html
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
7 |
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
|
8 |
+
<head>
|
9 |
+
<meta charset="utf-8">
|
10 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
11 |
+
<?php echo $this->getChildHtml('head') ?>
|
12 |
+
</head>
|
13 |
+
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
|
14 |
+
<?php echo $this->getChildHtml('after_body_start') ?>
|
15 |
+
<div class="wrapper">
|
16 |
+
<?php echo $this->getChildHtml('global_notices') ?>
|
17 |
+
<div class="page">
|
18 |
+
<?php echo $this->getChildHtml('header') ?>
|
19 |
+
<div class="main-container col2-left-layout">
|
20 |
+
<div class="main row">
|
21 |
+
<div class="hide-for-small-only small-12 medium-12 large-12 columns"><?php echo $this->getChildHtml('breadcrumbs') ?></div>
|
22 |
+
<div class="hide-for-small-only col-left sidebar small-12 medium-4 large-3 columns">
|
23 |
+
<div id="stiky-left" data-boundaries="373">
|
24 |
+
<?php echo $this->getChildHtml('left') ?>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
|
28 |
+
<div class="col-main small-12 medium-8 large-9 columns">
|
29 |
+
<?php echo $this->getChildHtml('global_messages') ?>
|
30 |
+
<?php echo $this->getChildHtml('content') ?>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
</div>
|
34 |
+
<?php echo $this->getChildHtml('footer') ?>
|
35 |
+
<?php echo $this->getChildHtml('global_cookie_notice') ?>
|
36 |
+
<?php echo $this->getChildHtml('before_body_end') ?>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
<?php echo $this->getAbsoluteFooter() ?>
|
40 |
+
</body>
|
41 |
+
</html>
|
app/design/frontend/foungento/default/template/page/2columns-right.phtml
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template for Mage_Page_Block_Html
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
7 |
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
|
8 |
+
<head>
|
9 |
+
<meta charset="utf-8">
|
10 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
11 |
+
<?php echo $this->getChildHtml('head') ?>
|
12 |
+
</head>
|
13 |
+
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
|
14 |
+
<?php echo $this->getChildHtml('after_body_start') ?>
|
15 |
+
<div class="wrapper">
|
16 |
+
<?php echo $this->getChildHtml('global_notices') ?>
|
17 |
+
<div class="page">
|
18 |
+
<?php echo $this->getChildHtml('header') ?>
|
19 |
+
<div class="main-container col2-right-layout">
|
20 |
+
<div class="main row">
|
21 |
+
<div class="hide-for-small-only small-12 medium-12 large-12 columns"><?php echo $this->getChildHtml('breadcrumbs') ?></div>
|
22 |
+
<div class="col-main small-12 medium-8 large-9 columns">
|
23 |
+
<?php echo $this->getChildHtml('global_messages') ?>
|
24 |
+
<?php echo $this->getChildHtml('content') ?>
|
25 |
+
</div>
|
26 |
+
<div class="hide-for-small-only col-left sidebar small-12 medium-4 large-3 columns">
|
27 |
+
<div>
|
28 |
+
<?php echo $this->getChildHtml('right') ?>
|
29 |
+
</div>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
<?php echo $this->getChildHtml('footer') ?>
|
34 |
+
<?php echo $this->getChildHtml('global_cookie_notice') ?>
|
35 |
+
<?php echo $this->getChildHtml('before_body_end') ?>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
<?php echo $this->getAbsoluteFooter() ?>
|
39 |
+
</body>
|
40 |
+
</html>
|
app/design/frontend/foungento/default/template/page/3columns.phtml
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Template for Mage_Page_Block_Html
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
7 |
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
|
8 |
+
<head>
|
9 |
+
<meta charset="utf-8">
|
10 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
11 |
+
<?php echo $this->getChildHtml('head') ?>
|
12 |
+
</head>
|
13 |
+
<body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
|
14 |
+
<?php echo $this->getChildHtml('after_body_start') ?>
|
15 |
+
<div class="wrapper">
|
16 |
+
<?php echo $this->getChildHtml('global_notices') ?>
|
17 |
+
<div class="page">
|
18 |
+
<?php echo $this->getChildHtml('header') ?>
|
19 |
+
<div class="main-container col3-layout">
|
20 |
+
<div class="main">
|
21 |
+
<?php echo $this->getChildHtml('breadcrumbs') ?>
|
22 |
+
<div class="row">
|
23 |
+
<div class="col-wrapper small-12 medium-9 large-9 columns">
|
24 |
+
<div class="col-left sidebar small-12 medium-4 large-4 columns"><?php echo $this->getChildHtml('left') ?></div>
|
25 |
+
<div class="col-main small-12 medium-8 large-8 columns">
|
26 |
+
<?php echo $this->getChildHtml('global_messages') ?>
|
27 |
+
<?php echo $this->getChildHtml('content') ?>
|
28 |
+
</div>
|
29 |
+
</div>
|
30 |
+
<div class="col-right sidebar small-12 medium-3 large-3 columns"><?php echo $this->getChildHtml('right') ?></div>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
</div>
|
34 |
+
<?php echo $this->getChildHtml('footer') ?>
|
35 |
+
<?php echo $this->getChildHtml('global_cookie_notice') ?>
|
36 |
+
<?php echo $this->getChildHtml('before_body_end') ?>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
<?php echo $this->getAbsoluteFooter() ?>
|
40 |
+
</body>
|
41 |
+
</html>
|
app/design/frontend/foungento/default/template/page/html/breadcrumbs.phtml
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if($crumbs && is_array($crumbs)): ?>
|
2 |
+
<div class="row">
|
3 |
+
<div class="large-12 columns">
|
4 |
+
<ul class="breadcrumbs">
|
5 |
+
<?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
|
6 |
+
<li class="<?php echo $_crumbName ?>">
|
7 |
+
<?php if($_crumbInfo['link']): ?>
|
8 |
+
<a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->escapeHtml($_crumbInfo['title']) ?>"><?php echo $this->escapeHtml($_crumbInfo['label']) ?></a>
|
9 |
+
<?php elseif($_crumbInfo['last']): ?>
|
10 |
+
<strong><?php echo $this->escapeHtml($_crumbInfo['label']) ?></strong>
|
11 |
+
<?php else: ?>
|
12 |
+
<?php echo $this->escapeHtml($_crumbInfo['label']) ?>
|
13 |
+
<?php endif; ?>
|
14 |
+
<?php if(!$_crumbInfo['last']): ?>
|
15 |
+
<!-- span>/ </span -->
|
16 |
+
<?php endif; ?>
|
17 |
+
</li>
|
18 |
+
<?php endforeach; ?>
|
19 |
+
</ul>
|
20 |
+
</div>
|
21 |
+
</div>
|
22 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/page/html/footer.phtml
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="footer-container">
|
2 |
+
<div class="row">
|
3 |
+
<div class="links small-12 medium-6 large-3 columns">
|
4 |
+
<ul class="resize-activation accordion" data-accordion>
|
5 |
+
<li class="accordion-navigation">
|
6 |
+
<a href="#information"><h4>Information</h4></a>
|
7 |
+
<div id="information" class="content">
|
8 |
+
<ul class="links">
|
9 |
+
<li><a title="Site Map" href="#">About Us</a></li>
|
10 |
+
<li><a title="Search Terms" href="#">Delivery Information</a></li>
|
11 |
+
<li><a title="Advanced Search" href="#">Privacy Policy</a></li>
|
12 |
+
<li><a title="Orders and Returns" href="#">Free Delivery</a></li>
|
13 |
+
<li><a title="Contact Us" href="#">Terms and Condition</a></li>
|
14 |
+
</ul>
|
15 |
+
</div>
|
16 |
+
</li>
|
17 |
+
</ul>
|
18 |
+
</div>
|
19 |
+
<div class="links small-12 medium-6 large-3 columns">
|
20 |
+
<ul class="resize-activation accordion" data-accordion>
|
21 |
+
<li class="accordion-navigation">
|
22 |
+
<a href="#customer-service"><h4>Customer Service</h4></a>
|
23 |
+
<div id="customer-service" class="content">
|
24 |
+
<ul class="links">
|
25 |
+
<li><a title="Site Map" href="#">Customer Assistance</a></li>
|
26 |
+
<li><a title="Search Terms" href="#">Net Transaction</a></li>
|
27 |
+
<li><a title="Advanced Search" href="#">Delivery Information</a></li>
|
28 |
+
<li><a title="Orders and Returns" href="#">Product Information</a></li>
|
29 |
+
<li><a title="Contact Us" href="#">International Shipping</a></li>
|
30 |
+
</ul>
|
31 |
+
</div>
|
32 |
+
</li>
|
33 |
+
</ul>
|
34 |
+
</div>
|
35 |
+
<div class="links small-12 medium-6 large-3 columns">
|
36 |
+
<ul class="resize-activation accordion" data-accordion>
|
37 |
+
<li class="accordion-navigation">
|
38 |
+
<a href="#my-account"><h4>My Account</h4></a>
|
39 |
+
<div id="my-account" class="content">
|
40 |
+
<ul class="links">
|
41 |
+
<li><a title="Site Map" href="#">My Order</a></li>
|
42 |
+
<li><a title="Search Terms" href="#">My Credit slips</a></li>
|
43 |
+
<li><a title="Advanced Search" href="#">My Addresses</a></li>
|
44 |
+
<li><a title="Orders and Returns" href="#">My Wishlist</a></li>
|
45 |
+
<li><a title="Contact Us" href="#">My Personal Information.</a></li>
|
46 |
+
</ul>
|
47 |
+
</div>
|
48 |
+
</li>
|
49 |
+
</ul>
|
50 |
+
</div>
|
51 |
+
<div class="links small-12 medium-6 large-3 columns">
|
52 |
+
<ul class="resize-activation accordion" data-accordion>
|
53 |
+
<li class="accordion-navigation">
|
54 |
+
<a href="#contact-us"><h4>Contact Us</h4></a>
|
55 |
+
<div id="contact-us" class="content">
|
56 |
+
<ul class="links">
|
57 |
+
<li>
|
58 |
+
<div class="clearfix">
|
59 |
+
<span class="address-icon"><img src="<?php echo $this->getSkinUrl('images/address_icon.png');?>" /> </span>
|
60 |
+
<span class="address-text">Lorem 19 Ipsum Building, Dolor City Cyberpark, Piksum, Pakar City 1110, Bagyo City, Philippines</span>
|
61 |
+
</div>
|
62 |
+
</li>
|
63 |
+
<li><img src="<?php echo $this->getSkinUrl('images/phone_icon.png');?>">+61 (2) 8484 0400</li>
|
64 |
+
<li><img src="<?php echo $this->getSkinUrl('images/email_icon.png');?>"><a title="Advanced Search" href="#">foungento@gmail.com</a></li>
|
65 |
+
</ul>
|
66 |
+
</div>
|
67 |
+
</li>
|
68 |
+
</ul>
|
69 |
+
</div>
|
70 |
+
<div class="trusted-payment-gateway small-text-center medium-12 medium-text-left large-12 large-text-left columns">
|
71 |
+
<img width="40" src="<?php echo $this->getSkinUrl('images/100x50.gif')?>" />
|
72 |
+
<img width="40" src="<?php echo $this->getSkinUrl('images/100x50.gif')?>" />
|
73 |
+
<img width="40" src="<?php echo $this->getSkinUrl('images/100x50.gif')?>" />
|
74 |
+
</div>
|
75 |
+
</div>
|
76 |
+
</div>
|
77 |
+
<div class="copy-right-container">
|
78 |
+
<div class="row">
|
79 |
+
<div class="small-12 small-text-center medium-3 medium-uncentered large-3 large-text-left large-uncentered columns">
|
80 |
+
<img src="<?php echo $this->getSkinUrl('images/130x50.gif')?>" />
|
81 |
+
</div>
|
82 |
+
<div class="small-12 small-text-center medium-6 medium-uncentered large-6 large-uncentered columns">
|
83 |
+
<p class="text-center copy-right">
|
84 |
+
<?php echo $this->getCopyright() ?>
|
85 |
+
</p>
|
86 |
+
</div>
|
87 |
+
<div class="small-12 small-text-center medium-3 medium-uncentered large-3 large-uncentered social-link small-text-center medium-text-right large-text-right columns">
|
88 |
+
<img src="<?php echo $this->getSkinUrl('images/20x20.gif')?>" />
|
89 |
+
<img src="<?php echo $this->getSkinUrl('images/20x20.gif')?>" />
|
90 |
+
</div>
|
91 |
+
</div>
|
92 |
+
</div>
|
93 |
+
|
app/design/frontend/foungento/default/template/page/html/header.phtml
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php if($this->getChildHtml('topLinks') || $this->getChildHtml('minicart_head')) : ?>
|
2 |
+
<div class="top-links-container">
|
3 |
+
<div class="row">
|
4 |
+
<div class="hide-for-small-only small-12 medium-pull-0 medium-8 large-8 columns">
|
5 |
+
<?php echo $this->getChildHtml('topLinks') ?>
|
6 |
+
</div>
|
7 |
+
<div class="minicart-container small-text-center hide-for-small-only small-12 medium-text-right medium-4 large-text-right large-4 columns">
|
8 |
+
<?php //echo $this->getChildHtml('store_language') ?>
|
9 |
+
<div class="minicart-head-container">
|
10 |
+
<?php echo $this->getChildHtml('minicart_head') ?>
|
11 |
+
</div>
|
12 |
+
</div>
|
13 |
+
</div>
|
14 |
+
</div>
|
15 |
+
<?php endif; ?>
|
16 |
+
|
17 |
+
<div class="header-container row">
|
18 |
+
<div class="header small-12 medium-12 large-12 columns">
|
19 |
+
<?php if ($this->getIsHomePage()):?>
|
20 |
+
<h1 class="logo text-center small-12 medium-12 large-12 columns">
|
21 |
+
<a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo">
|
22 |
+
<img data-interchange="[<?php echo $this->getLogoSrc() ?>, (small)], [<?php echo $this->getLogoSrc() ?>, (medium)], [<?php echo $this->getLogoSrc() ?>, (large)]" />
|
23 |
+
</a>
|
24 |
+
</h1>
|
25 |
+
<?php else:?>
|
26 |
+
<h1 class="logo text-center small-12 medium-12 large-12 columns">
|
27 |
+
<a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo">
|
28 |
+
<img data-interchange="[<?php echo $this->getLogoSrc() ?>, (small)], [<?php echo $this->getLogoSrc() ?>, (medium)], [<?php echo $this->getLogoSrc() ?>, (large)]" />
|
29 |
+
</a>
|
30 |
+
</h1>
|
31 |
+
<?php endif?>
|
32 |
+
|
33 |
+
|
34 |
+
<div class="logo text-center small-12 medium-12 large-12 columns">
|
35 |
+
<?php if(Mage::getSingleton("customer/session")->isLoggedIn()) : ?>
|
36 |
+
<p class="welcome-msg"><?php echo $this->getChildHtml('welcome') ?> <?php echo $this->getAdditionalHtml() ?></p>
|
37 |
+
<?php endif; ?>
|
38 |
+
</div>
|
39 |
+
|
40 |
+
<div class="quick-access large-12 columns">
|
41 |
+
|
42 |
+
</div>
|
43 |
+
|
44 |
+
<?php echo $this->getChildHtml('topContainer'); ?>
|
45 |
+
</div>
|
46 |
+
</div>
|
47 |
+
|
48 |
+
<?php if($this->getChildHtml('topMenu') || $this->getChildHtml('topSearch')) : ?>
|
49 |
+
<div class="nav-container row">
|
50 |
+
<div class="top-menu-container small-12 medium-12 large-8 columns">
|
51 |
+
<?php echo $this->getChildHtml('topMenu'); ?>
|
52 |
+
</div>
|
53 |
+
|
54 |
+
<div class="hide-for-small-only top-search-container small-12 medium-12 large-4 columns">
|
55 |
+
<?php echo $this->getChildHtml('topSearch') ?>
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
<?php endif; ?>
|
59 |
+
<br/>
|
app/design/frontend/foungento/default/template/page/html/notices.phtml
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @var $this Mage_Page_Block_Html_Notices
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
|
7 |
+
<div class="contain-to-grid sticky foungento-header">
|
8 |
+
<nav class="top-bar" data-topbar role="navigation" data-options="sticky_on: large">
|
9 |
+
<ul class="title-area left">
|
10 |
+
<!-- Title Area -->
|
11 |
+
<li class="name">
|
12 |
+
<h3><a href="http://foungento.com">foungento</a></h3>
|
13 |
+
</li>
|
14 |
+
</ul>
|
15 |
+
</nav>
|
16 |
+
</div>
|
17 |
+
|
18 |
+
<?php if ($this->displayNoscriptNotice()): ?>
|
19 |
+
<noscript>
|
20 |
+
<div class="global-site-notice noscript">
|
21 |
+
<div class="notice-inner">
|
22 |
+
<p>
|
23 |
+
<strong><?php echo $this->__('JavaScript seems to be disabled in your browser.'); ?></strong><br />
|
24 |
+
<?php echo $this->__('You must have JavaScript enabled in your browser to utilize the functionality of this website.'); ?>
|
25 |
+
</p>
|
26 |
+
</div>
|
27 |
+
</div>
|
28 |
+
</noscript>
|
29 |
+
<?php endif; ?>
|
30 |
+
<?php if ($this->displayDemoNotice()): ?>
|
31 |
+
<div class="row">
|
32 |
+
<div class="global-site-notice demo-notice text-center large-12 columns">
|
33 |
+
<div class="notice-inner"><p><?php echo $this->__('This is a demo store. Any orders placed through this store will not be honored or fulfilled.') ?></p></div>
|
34 |
+
</div>
|
35 |
+
</div>
|
36 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/page/html/pager.phtml
ADDED
@@ -0,0 +1,123 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* Pager template
|
30 |
+
*
|
31 |
+
* @see Mage_Page_Block_Html_Pager
|
32 |
+
*/
|
33 |
+
?>
|
34 |
+
<?php if($this->getCollection()->getSize()): ?>
|
35 |
+
|
36 |
+
<?php if($this->getUseContainer()): ?>
|
37 |
+
<div class="pager row">
|
38 |
+
<?php endif ?>
|
39 |
+
|
40 |
+
<?php if($this->getShowAmounts()): ?>
|
41 |
+
<p class="amount large-9 columns">
|
42 |
+
<?php if($this->getLastPageNum()>1): ?>
|
43 |
+
<?php echo $this->__('Items %s to %s of %s total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
|
44 |
+
<?php else: ?>
|
45 |
+
<strong><?php echo $this->__('%s Item(s)', $this->getTotalNum()) ?></strong>
|
46 |
+
<?php endif; ?>
|
47 |
+
</p>
|
48 |
+
<?php endif ?>
|
49 |
+
|
50 |
+
<?php if($this->getShowPerPage()): ?>
|
51 |
+
<div class="limiter large-3 columns">
|
52 |
+
<label><?php echo $this->__('Show') ?></label>
|
53 |
+
<select onchange="setLocation(this.value)">
|
54 |
+
<?php foreach ($this->getAvailableLimit() as $_key=>$_limit): ?>
|
55 |
+
<option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if($this->isLimitCurrent($_key)): ?> selected="selected"<?php endif ?>>
|
56 |
+
<?php echo $_limit ?>
|
57 |
+
</option>
|
58 |
+
<?php endforeach; ?>
|
59 |
+
</select> <?php echo $this->__('per page') ?>
|
60 |
+
</div>
|
61 |
+
<?php endif ?>
|
62 |
+
|
63 |
+
<?php if($this->getLastPageNum()>1): ?>
|
64 |
+
<div class="pages large-12 columns">
|
65 |
+
<strong><?php echo $this->__('Page:') ?></strong>
|
66 |
+
<ul class="inline-list right">
|
67 |
+
<?php if (!$this->isFirstPage()): ?>
|
68 |
+
<li>
|
69 |
+
<a class="previous<?php if(!$this->getAnchorTextForPrevious()): ?> i-previous<?php endif;?>" href="<?php echo $this->getPreviousPageUrl() ?>" title="<?php echo $this->__('Previous') ?>">
|
70 |
+
<?php if(!$this->getAnchorTextForPrevious()): ?>
|
71 |
+
<img src="<?php echo $this->getSkinUrl('images/pager_arrow_left.gif') ?>" alt="<?php echo $this->__('Previous') ?>" class="v-middle" />
|
72 |
+
<?php else: ?>
|
73 |
+
<?php echo $this->getAnchorTextForPrevious() ?>
|
74 |
+
<?php endif;?>
|
75 |
+
</a>
|
76 |
+
</li>
|
77 |
+
<?php endif;?>
|
78 |
+
|
79 |
+
<?php if ($this->canShowFirst()): ?>
|
80 |
+
<li class="page-first"><a class="first" href="<?php echo $this->getFirstPageUrl() ?>">1</a></li>
|
81 |
+
<?php endif;?>
|
82 |
+
|
83 |
+
<?php if ($this->canShowPreviousJump()): ?>
|
84 |
+
<li><a class="previous_jump" title="" href="<?php echo $this->getPreviousJumpUrl() ?>">...</a></li>
|
85 |
+
<?php endif;?>
|
86 |
+
|
87 |
+
<?php foreach ($this->getFramePages() as $_page): ?>
|
88 |
+
<?php if ($this->isPageCurrent($_page)): ?>
|
89 |
+
<li class="current"><?php echo $_page ?></li>
|
90 |
+
<?php else: ?>
|
91 |
+
<li data-page="<?php echo $_page?>"><a href="<?php echo $this->getPageUrl($_page) ?>"><?php echo $_page ?></a></li>
|
92 |
+
<?php endif;?>
|
93 |
+
<?php endforeach;?>
|
94 |
+
|
95 |
+
<?php if ($this->canShowNextJump()): ?>
|
96 |
+
<li><a class="next_jump" title="" href="<?php echo $this->getNextJumpUrl() ?>">...</a></li>
|
97 |
+
<?php endif;?>
|
98 |
+
|
99 |
+
<?php if ($this->canShowLast()): ?>
|
100 |
+
<li><a class="last" href="<?php echo $this->getLastPageUrl() ?>"><?php echo $this->getLastPageNum() ?></a></li>
|
101 |
+
<?php endif;?>
|
102 |
+
|
103 |
+
<?php if (!$this->isLastPage()): ?>
|
104 |
+
<li class="last">
|
105 |
+
<a class="next<?php if(!$this->getAnchorTextForNext()): ?> i-next<?php endif; ?>" href="<?php echo $this->getNextPageUrl() ?>" title="<?php echo $this->__('Next') ?>">
|
106 |
+
<?php if(!$this->getAnchorTextForNext()): ?>
|
107 |
+
<img src="<?php echo $this->getSkinUrl('images/pager_arrow_right.gif') ?>" alt="<?php echo $this->__('Next') ?>" class="v-middle" />
|
108 |
+
<?php else: ?>
|
109 |
+
<?php echo $this->getAnchorTextForNext() ?>
|
110 |
+
<?php endif;?>
|
111 |
+
</a>
|
112 |
+
</li>
|
113 |
+
<?php endif;?>
|
114 |
+
</ul>
|
115 |
+
|
116 |
+
</div>
|
117 |
+
<?php endif; ?>
|
118 |
+
|
119 |
+
<?php if($this->getUseContainer()): ?>
|
120 |
+
</div>
|
121 |
+
<?php endif ?>
|
122 |
+
|
123 |
+
<?php endif ?>
|
app/design/frontend/foungento/default/template/page/html/topmenu.phtml
ADDED
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Top menu for store
|
4 |
+
*
|
5 |
+
* @see Mage_Page_Block_Html_Topmenu
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<?php /* ?>
|
9 |
+
<div class="row">
|
10 |
+
<div class="large-12 columns">
|
11 |
+
<nav class="top-bar" data-topbar role="navigation">
|
12 |
+
<ul class="title-area">
|
13 |
+
<li class="name">
|
14 |
+
<h1><a href="#">My Site</a></h1>
|
15 |
+
</li>
|
16 |
+
<!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
|
17 |
+
<li class="toggle-topbar menu-icon">
|
18 |
+
<a href="#"><span></span></a>
|
19 |
+
</li>
|
20 |
+
</ul>
|
21 |
+
<section class="top-bar-section">
|
22 |
+
<!-- Right Nav Section -->
|
23 |
+
<ul class="left">
|
24 |
+
<li class="active"><a href="#">Right Button Active</a></li>
|
25 |
+
<li class="has-dropdown"> <a href="#">Right Button Dropdown</a>
|
26 |
+
<ul class="dropdown">
|
27 |
+
<li><a href="#">First link in dropdown</a></li>
|
28 |
+
<li class="active"><a href="#">Active link in dropdown</a></li>
|
29 |
+
</ul>
|
30 |
+
</li>
|
31 |
+
</ul>
|
32 |
+
<!-- Left Nav Section -->
|
33 |
+
<ul class="left">
|
34 |
+
<li><a href="#">Left Nav Button</a></li>
|
35 |
+
</ul>
|
36 |
+
</section>
|
37 |
+
</nav>
|
38 |
+
</div>
|
39 |
+
</div>
|
40 |
+
<?php */ ?>
|
41 |
+
|
42 |
+
<?php $_menu = $this->getHtml('level-top') ?>
|
43 |
+
<?php if($_menu): ?>
|
44 |
+
<div class="sticky-off">
|
45 |
+
<nav class="top-bar" data-topbar role="navigation" data-options="mobile_show_parent_link: false; scrolltop: true">
|
46 |
+
<ul class="title-area">
|
47 |
+
<li class="name show-for-small">
|
48 |
+
<div class="minicart-small-container"></div>
|
49 |
+
</li>
|
50 |
+
<!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
|
51 |
+
<li class="toggle-topbar menu-icon">
|
52 |
+
<a href="#"><span></span></a>
|
53 |
+
</li>
|
54 |
+
</ul>
|
55 |
+
|
56 |
+
<section class="top-bar-section navigation">
|
57 |
+
<ul id="nav">
|
58 |
+
<?php echo $_menu ?>
|
59 |
+
<li class="divider show-for-small-only"></li>
|
60 |
+
</ul>
|
61 |
+
</section>
|
62 |
+
</nav>
|
63 |
+
</div>
|
64 |
+
<?php endif ?>
|
app/design/frontend/foungento/default/template/page/switch/languages.phtml
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Language switcher template
|
4 |
+
*
|
5 |
+
* @see Mage_Page_Block_Switch
|
6 |
+
*/
|
7 |
+
?>
|
8 |
+
<?php if(count($this->getStores())>1): ?>
|
9 |
+
<div class="form-language row">
|
10 |
+
<select id="select-language" title="<?php echo $this->__('Your Language') ?>" onchange="window.location.href=this.value">
|
11 |
+
<?php foreach ($this->getStores() as $_lang): ?>
|
12 |
+
<?php $_selected = ($_lang->getId() == $this->getCurrentStoreId()) ? ' selected="selected"' : '' ?>
|
13 |
+
<option value="<?php echo $_lang->getCurrentUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_lang->getName()) ?></option>
|
14 |
+
<?php endforeach; ?>
|
15 |
+
</select>
|
16 |
+
</div>
|
17 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/page/template/links.phtml
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* @see Mage_Page_Block_Template_Links
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
<?php $_links = $this->getLinks(); ?>
|
7 |
+
<?php if(count($_links)>0): ?>
|
8 |
+
<div class="contain-to-grid ">
|
9 |
+
<nav class="top-bar" data-topbar role="navigation">
|
10 |
+
<ul class="title-area">
|
11 |
+
<li class="name show-for-small">
|
12 |
+
<h1><a href="#"></a></h1>
|
13 |
+
</li>
|
14 |
+
<!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone -->
|
15 |
+
<li class="toggle-topbar menu-icon">
|
16 |
+
<a href="#"><span></span></a>
|
17 |
+
</li>
|
18 |
+
</ul>
|
19 |
+
<section class="top-bar-section">
|
20 |
+
<ul class="links" id="<?php if($this->getName()): ?><?php echo $this->getName() ?><?php endif;?>" >
|
21 |
+
<?php foreach($_links as $_link): ?>
|
22 |
+
<?php if ($_link instanceof Mage_Core_Block_Abstract):?>
|
23 |
+
<?php echo $_link->toHtml() ?>
|
24 |
+
<?php else: ?>
|
25 |
+
<li <?php if($_link->getIsFirst()||$_link->getIsLast()): ?> class="<?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
|
26 |
+
<?php endif;?>
|
27 |
+
<?php endforeach; ?>
|
28 |
+
</ul>
|
29 |
+
</section>
|
30 |
+
</nav>
|
31 |
+
</div>
|
32 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/persistent/checkout/onepage/billing.phtml
ADDED
@@ -0,0 +1,226 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
/** @var Mage_Checkout_Block_Onepage_Billing $this */
|
27 |
+
?>
|
28 |
+
<form id="co-billing-form" action="">
|
29 |
+
<fieldset>
|
30 |
+
<ul class="form-list">
|
31 |
+
<?php if ($this->customerHasAddresses()): ?>
|
32 |
+
<li class="wide">
|
33 |
+
<label for="billing-address-select"><?php echo $this->__('Select a billing address from your address book or enter a new address.') ?></label>
|
34 |
+
<div class="input-box">
|
35 |
+
<?php echo $this->getAddressesHtmlSelect('billing') ?>
|
36 |
+
</div>
|
37 |
+
</li>
|
38 |
+
<?php endif; ?>
|
39 |
+
<li id="billing-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif; ?>>
|
40 |
+
<fieldset>
|
41 |
+
<input type="hidden" name="billing[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="billing:address_id" />
|
42 |
+
<ul>
|
43 |
+
<li class="fields"><?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getQuote()->getCustomer())->setForceUseCustomerRequiredAttributes(!$this->isCustomerLoggedIn())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?></li>
|
44 |
+
<li class="fields">
|
45 |
+
<div class="field">
|
46 |
+
<label for="billing:company"><?php echo $this->__('Company') ?></label>
|
47 |
+
<div class="input-box">
|
48 |
+
<input type="text" id="billing:company" name="billing[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>" />
|
49 |
+
</div>
|
50 |
+
</div>
|
51 |
+
<?php if(!$this->isCustomerLoggedIn()): ?>
|
52 |
+
<div class="field">
|
53 |
+
<label for="billing:email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
|
54 |
+
<div class="input-box">
|
55 |
+
<input type="text" name="billing[email]" id="billing:email" value="<?php echo $this->escapeHtml($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
<?php endif; ?>
|
59 |
+
</li>
|
60 |
+
<?php $_streetValidationClass = $this->helper('customer/address')->getAttributeValidationClass('street'); ?>
|
61 |
+
<li class="wide">
|
62 |
+
<label for="billing:street1" class="required"><em>*</em><?php echo $this->__('Address') ?></label>
|
63 |
+
<div class="input-box">
|
64 |
+
<input type="text" title="<?php echo $this->__('Street Address') ?>" name="billing[street][]" id="billing:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
|
65 |
+
</div>
|
66 |
+
</li>
|
67 |
+
<?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
|
68 |
+
<?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
|
69 |
+
<li class="wide">
|
70 |
+
<div class="input-box">
|
71 |
+
<input type="text" title="<?php echo $this->__('Street Address %s', $_i) ?>" name="billing[street][]" id="billing:street<?php echo $_i ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
|
72 |
+
</div>
|
73 |
+
</li>
|
74 |
+
<?php endfor; ?>
|
75 |
+
<?php if ($this->helper('customer/address')->isVatAttributeVisible()) : ?>
|
76 |
+
<li class="wide">
|
77 |
+
<label for="billing:vat_id"><?php echo $this->__('VAT Number') ?></label>
|
78 |
+
<div class="input-box">
|
79 |
+
<input type="text" id="billing:vat_id" name="billing[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo $this->__('VAT Number') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('vat_id') ?>" />
|
80 |
+
</div>
|
81 |
+
</li>
|
82 |
+
<?php endif; ?>
|
83 |
+
<li class="fields">
|
84 |
+
<div class="field">
|
85 |
+
<label for="billing:city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
|
86 |
+
<div class="input-box">
|
87 |
+
<input type="text" title="<?php echo $this->__('City') ?>" name="billing[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('city') ?>" id="billing:city" />
|
88 |
+
</div>
|
89 |
+
</div>
|
90 |
+
<div class="field">
|
91 |
+
<label for="billing:region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
|
92 |
+
<div class="input-box">
|
93 |
+
<select id="billing:region_id" name="billing[region_id]" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;">
|
94 |
+
<option value=""><?php echo $this->__('Please select region, state or province') ?></option>
|
95 |
+
</select>
|
96 |
+
<script type="text/javascript">
|
97 |
+
//<![CDATA[
|
98 |
+
$('billing:region_id').setAttribute('defaultValue', "<?php echo $this->getAddress()->getRegionId() ?>");
|
99 |
+
//]]>
|
100 |
+
</script>
|
101 |
+
<input type="text" id="billing:region" name="billing[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>" style="display:none;" />
|
102 |
+
</div>
|
103 |
+
</div>
|
104 |
+
</li>
|
105 |
+
<li class="fields">
|
106 |
+
<div class="field">
|
107 |
+
<label for="billing:postcode" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
|
108 |
+
<div class="input-box">
|
109 |
+
<input type="text" title="<?php echo $this->__('Zip/Postal Code') ?>" name="billing[postcode]" id="billing:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>" />
|
110 |
+
</div>
|
111 |
+
</div>
|
112 |
+
<div class="field">
|
113 |
+
<label for="billing:country_id" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
|
114 |
+
<div class="input-box">
|
115 |
+
<?php echo $this->getCountryHtmlSelect('billing') ?>
|
116 |
+
</div>
|
117 |
+
</div>
|
118 |
+
</li>
|
119 |
+
<li class="fields">
|
120 |
+
<div class="field">
|
121 |
+
<label for="billing:telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
|
122 |
+
<div class="input-box">
|
123 |
+
<input type="text" name="billing[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" id="billing:telephone" />
|
124 |
+
</div>
|
125 |
+
</div>
|
126 |
+
<div class="field">
|
127 |
+
<label for="billing:fax"><?php echo $this->__('Fax') ?></label>
|
128 |
+
<div class="input-box">
|
129 |
+
<input type="text" name="billing[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo $this->__('Fax') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('fax') ?>" id="billing:fax" />
|
130 |
+
</div>
|
131 |
+
</div>
|
132 |
+
</li>
|
133 |
+
<?php if(!$this->isCustomerLoggedIn()): ?>
|
134 |
+
|
135 |
+
<?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?>
|
136 |
+
<?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
|
137 |
+
<?php if ($_dob->isEnabled() || $_gender->isEnabled()): ?>
|
138 |
+
<li class="fields">
|
139 |
+
<?php if ($_dob->isEnabled()): ?>
|
140 |
+
<div class="field">
|
141 |
+
<?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
|
142 |
+
</div>
|
143 |
+
<?php endif; ?>
|
144 |
+
<?php if ($_gender->isEnabled()): ?>
|
145 |
+
<div class="field">
|
146 |
+
<?php echo $_gender->setGender($this->getQuote()->getCustomerGender())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
|
147 |
+
</div>
|
148 |
+
<?php endif ?>
|
149 |
+
</li>
|
150 |
+
<?php endif ?>
|
151 |
+
|
152 |
+
<?php if ($this->isTaxvatEnabled()):?>
|
153 |
+
<li><?php echo $this->getTaxvatHtml() ?></li>
|
154 |
+
<?php endif; ?>
|
155 |
+
|
156 |
+
<li class="fields" id="register-customer-password">
|
157 |
+
<div class="field">
|
158 |
+
<label for="billing:customer_password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
|
159 |
+
<div class="input-box">
|
160 |
+
<input type="password" name="billing[customer_password]" id="billing:customer_password" title="<?php echo $this->__('Password') ?>" class="input-text required-entry validate-password" />
|
161 |
+
</div>
|
162 |
+
</div>
|
163 |
+
<div class="field">
|
164 |
+
<label for="billing:confirm_password" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
|
165 |
+
<div class="input-box">
|
166 |
+
<input type="password" name="billing[confirm_password]" title="<?php echo $this->__('Confirm Password') ?>" id="billing:confirm_password" class="input-text required-entry validate-cpassword" />
|
167 |
+
</div>
|
168 |
+
</div>
|
169 |
+
</li>
|
170 |
+
<?php echo $this->getChildHtml('persistent.remember.me'); ?>
|
171 |
+
<?php endif; ?>
|
172 |
+
<?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
|
173 |
+
<li class="control">
|
174 |
+
<input type="checkbox" name="billing[save_in_address_book]" value="1" title="<?php echo $this->__('Save in address book') ?>" id="billing:save_in_address_book" onchange="if(window.shipping) shipping.setSameAsBilling(false);"<?php if ($this->getAddress()->getSaveInAddressBook()):?> checked="checked"<?php endif;?> class="checkbox" /><label for="billing:save_in_address_book"><?php echo $this->__('Save in address book') ?></label>
|
175 |
+
</li>
|
176 |
+
<?php else:?>
|
177 |
+
<li class="no-display"><input type="hidden" name="billing[save_in_address_book]" value="1" /></li>
|
178 |
+
<?php endif; ?>
|
179 |
+
<?php echo $this->getChildHtml('form.additional.info'); ?>
|
180 |
+
</ul>
|
181 |
+
<?php echo $this->getChildHtml('persistent.remember.me.tooltip'); ?>
|
182 |
+
</fieldset>
|
183 |
+
</li>
|
184 |
+
<?php if ($this->canShip()): ?>
|
185 |
+
<li class="control">
|
186 |
+
<input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_yes" value="1"<?php if ($this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> title="<?php echo $this->__('Ship to this address') ?>" onclick="$('shipping:same_as_billing').checked = true;" class="radio" /><label for="billing:use_for_shipping_yes"><?php echo $this->__('Ship to this address') ?></label></li>
|
187 |
+
<li class="control">
|
188 |
+
<input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_no" value="0"<?php if (!$this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> title="<?php echo $this->__('Ship to different address') ?>" onclick="$('shipping:same_as_billing').checked = false;" class="radio" /><label for="billing:use_for_shipping_no"><?php echo $this->__('Ship to different address') ?></label>
|
189 |
+
</li>
|
190 |
+
<?php endif; ?>
|
191 |
+
</ul>
|
192 |
+
<?php if (!$this->canShip()): ?>
|
193 |
+
<input type="hidden" name="billing[use_for_shipping]" value="1" />
|
194 |
+
<?php endif; ?>
|
195 |
+
<div class="buttons-set" id="billing-buttons-container">
|
196 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
197 |
+
<button type="button" title="<?php echo $this->__('Continue') ?>" class="radius tiny button" onclick="billing.save()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
198 |
+
<span class="please-wait" id="billing-please-wait" style="display:none;">
|
199 |
+
<img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->__('Loading next step...') ?>" title="<?php echo $this->__('Loading next step...') ?>" class="v-middle" /> <?php echo $this->__('Loading next step...') ?>
|
200 |
+
</span>
|
201 |
+
</div>
|
202 |
+
</fieldset>
|
203 |
+
</form>
|
204 |
+
<script type="text/javascript">
|
205 |
+
//<![CDATA[
|
206 |
+
var billing = new Billing('co-billing-form', '<?php echo $this->getUrl('checkout/onepage/getAddress') ?>address/', '<?php echo $this->getUrl('checkout/onepage/saveBilling') ?>');
|
207 |
+
var billingForm = new VarienForm('co-billing-form');
|
208 |
+
|
209 |
+
//billingForm.setElementsRelation('billing:country_id', 'billing:region', '<?php echo $this->getUrl('directory/json/childRegion') ?>', '<?php echo $this->__('Select State/Province...') ?>');
|
210 |
+
$('billing-address-select') && billing.newAddress(!$('billing-address-select').value);
|
211 |
+
|
212 |
+
var billingRegionUpdater = new RegionUpdater('billing:country_id', 'billing:region', 'billing:region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'billing:postcode');
|
213 |
+
if ($('onepage-guest-register-button')) {
|
214 |
+
Event.observe($('onepage-guest-register-button'), 'click', function(event) {
|
215 |
+
var billingRememberMe = $('co-billing-form').select('#remember-me-box');
|
216 |
+
if (billingRememberMe.length > 0) {
|
217 |
+
if ($('login:guest') && $('login:guest').checked) {
|
218 |
+
billingRememberMe[0].hide();
|
219 |
+
} else if ($('login:register') && ($('login:register').checked || $('login:register').type == 'hidden')) {
|
220 |
+
billingRememberMe[0].show();
|
221 |
+
}
|
222 |
+
}
|
223 |
+
});
|
224 |
+
}
|
225 |
+
//]]>
|
226 |
+
</script>
|
app/design/frontend/foungento/default/template/persistent/checkout/onepage/login.phtml
ADDED
@@ -0,0 +1,181 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* Customer onepage checkout login form template
|
30 |
+
*
|
31 |
+
* @see app/design/frontend/base/default/template/checkout/onepage/login.phtml
|
32 |
+
*/
|
33 |
+
/** @var $this Mage_Checkout_Block_Onepage_Login */
|
34 |
+
?>
|
35 |
+
<div class="col2-set row">
|
36 |
+
<?php echo $this->getChildHtml('login_before')?>
|
37 |
+
<div class="col-1 large-6 columns">
|
38 |
+
<h3><?php echo $this->__('Login') ?></h3>
|
39 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
40 |
+
<form id="login-form" action="<?php echo $this->getPostAction() ?>" method="post">
|
41 |
+
<fieldset>
|
42 |
+
<?php echo $this->getBlockHtml('formkey'); ?>
|
43 |
+
<h3><?php echo $this->__('Already registered?') ?></h3>
|
44 |
+
<p><?php echo $this->__('Please log in below:') ?></p>
|
45 |
+
<ul class="form-list">
|
46 |
+
<li>
|
47 |
+
<label for="login-email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
|
48 |
+
<div class="input-box">
|
49 |
+
<input type="text" class="input-text required-entry validate-email" id="login-email" name="login[username]" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" />
|
50 |
+
</div>
|
51 |
+
</li>
|
52 |
+
<li>
|
53 |
+
<label for="login-password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
|
54 |
+
<div class="input-box">
|
55 |
+
<input type="password" class="input-text required-entry" id="login-password" name="login[password]" />
|
56 |
+
</div>
|
57 |
+
</li>
|
58 |
+
<?php echo $this->getChildHtml('form.additional.info'); ?>
|
59 |
+
<?php echo $this->getChildHtml('persistent.remember.me'); ?>
|
60 |
+
</ul>
|
61 |
+
<input name="context" type="hidden" value="checkout" />
|
62 |
+
</fieldset>
|
63 |
+
</form>
|
64 |
+
|
65 |
+
<div class="buttons-set">
|
66 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
67 |
+
<button type="submit" class="radius tiny button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
|
68 |
+
<a href="<?php echo $this->getUrl('customer/account/forgotpassword') ?>" class="forgot-password"><?php echo $this->__('Forgot your password?') ?></a>
|
69 |
+
</div>
|
70 |
+
|
71 |
+
</div>
|
72 |
+
|
73 |
+
<div class="col-2 large-6 margin-top-40 columns">
|
74 |
+
<h3><?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
|
75 |
+
<?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
|
76 |
+
<p><?php echo $this->__('Register with us for future convenience:') ?></p>
|
77 |
+
<?php else: ?>
|
78 |
+
<p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
|
79 |
+
<?php echo $this->__('Register with us for future convenience:') ?></p>
|
80 |
+
<ul>
|
81 |
+
<li><?php echo $this->__('Fast and easy check out') ?></li>
|
82 |
+
<li><?php echo $this->__('Easy access to your order history and status') ?></li>
|
83 |
+
</ul>
|
84 |
+
<?php endif; ?>
|
85 |
+
<?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
|
86 |
+
<ul class="form-list">
|
87 |
+
<?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
|
88 |
+
<li class="control">
|
89 |
+
<input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
|
90 |
+
</li>
|
91 |
+
<?php endif; ?>
|
92 |
+
<li class="control">
|
93 |
+
<input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
|
94 |
+
</li>
|
95 |
+
</ul>
|
96 |
+
<h4><?php echo $this->__('Register and save time!') ?></h4>
|
97 |
+
<p><?php echo $this->__('Register with us for future convenience:') ?></p>
|
98 |
+
<ul class="ul">
|
99 |
+
<li><?php echo $this->__('Fast and easy check out') ?></li>
|
100 |
+
<li><?php echo $this->__('Easy access to your order history and status') ?></li>
|
101 |
+
</ul>
|
102 |
+
<?php else: ?>
|
103 |
+
<input type="hidden" name="checkout_method" id="login:register" value="register" checked="checked" />
|
104 |
+
<?php endif; ?>
|
105 |
+
|
106 |
+
<div class="buttons-set">
|
107 |
+
<p class="required"> </p>
|
108 |
+
<?php if ($this->getQuote()->isAllowedGuestCheckout()): ?>
|
109 |
+
<button id="onepage-guest-register-button" type="button" class="radius tiny button" onclick="checkout.setMethod();"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
110 |
+
<?php elseif ($this->helper('checkout')->isCustomerMustBeLogged()): ?>
|
111 |
+
<button id="onepage-guest-register-button" type="button" class="radius tiny button" onclick="window.location='<?php echo $this->helper('checkout/url')->getRegistrationUrl();?>'"><span><span><?php echo $this->__('Register') ?></span></span></button>
|
112 |
+
<?php else: ?>
|
113 |
+
<form action="<?php echo $this->getUrl('persistent/index/saveMethod'); ?>">
|
114 |
+
<button id="onepage-guest-register-button" type="submit" class="radius tiny button"><span><span><?php echo $this->__('Register') ?></span></span></button>
|
115 |
+
</form>
|
116 |
+
<?php endif; ?>
|
117 |
+
</div>
|
118 |
+
|
119 |
+
</div>
|
120 |
+
|
121 |
+
</div>
|
122 |
+
<!--
|
123 |
+
<div class="col2-set row">
|
124 |
+
<div class="col-1 large-12 columns">
|
125 |
+
<div class="buttons-set">
|
126 |
+
<p class="required"> </p>
|
127 |
+
<?php if ($this->getQuote()->isAllowedGuestCheckout()): ?>
|
128 |
+
<button id="onepage-guest-register-button" type="button" class="button" onclick="checkout.setMethod();"><span><span><?php echo $this->__('Continue') ?></span></span></button>
|
129 |
+
<?php elseif ($this->helper('checkout')->isCustomerMustBeLogged()): ?>
|
130 |
+
<button id="onepage-guest-register-button" type="button" class="button" onclick="window.location='<?php echo $this->helper('checkout/url')->getRegistrationUrl();?>'"><span><span><?php echo $this->__('Register') ?></span></span></button>
|
131 |
+
<?php else: ?>
|
132 |
+
<form action="<?php echo $this->getUrl('persistent/index/saveMethod'); ?>">
|
133 |
+
<button id="onepage-guest-register-button" type="submit" class="button"><span><span><?php echo $this->__('Register') ?></span></span></button>
|
134 |
+
</form>
|
135 |
+
<?php endif; ?>
|
136 |
+
</div>
|
137 |
+
</div>
|
138 |
+
<div class="col-2 large-12 columns">
|
139 |
+
<div class="buttons-set">
|
140 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
141 |
+
<a href="<?php echo $this->getUrl('customer/account/forgotpassword') ?>" class="f-left"><?php echo $this->__('Forgot your password?') ?></a>
|
142 |
+
<button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
|
143 |
+
</div>
|
144 |
+
</div>
|
145 |
+
</div>
|
146 |
+
-->
|
147 |
+
|
148 |
+
<script type="text/javascript">
|
149 |
+
//<![CDATA[
|
150 |
+
var loginForm = new VarienForm('login-form', true);
|
151 |
+
$('login-email').observe('keypress', bindLoginPost);
|
152 |
+
$('login-password').observe('keypress', bindLoginPost);
|
153 |
+
function bindLoginPost(evt){
|
154 |
+
if (evt.keyCode == Event.KEY_RETURN) {
|
155 |
+
loginForm.submit();
|
156 |
+
}
|
157 |
+
}
|
158 |
+
function onepageLogin(button)
|
159 |
+
{
|
160 |
+
if(loginForm.validator && loginForm.validator.validate()){
|
161 |
+
button.disabled = true;
|
162 |
+
loginForm.submit();
|
163 |
+
}
|
164 |
+
}
|
165 |
+
//]]>
|
166 |
+
</script>
|
167 |
+
<?php
|
168 |
+
$registerParam = $this->getRequest()->getParam('register');
|
169 |
+
if ($registerParam || $registerParam === ''):
|
170 |
+
?>
|
171 |
+
<script type="text/javascript">
|
172 |
+
//<![CDATA[
|
173 |
+
document.observe("dom:loaded", function() {
|
174 |
+
if($('login:register')) {
|
175 |
+
$('login:register').checked = true;
|
176 |
+
checkout.setMethod();
|
177 |
+
}
|
178 |
+
})
|
179 |
+
//]]>
|
180 |
+
</script>
|
181 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/persistent/customer/form/login.phtml
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Customer login form template
|
4 |
+
*
|
5 |
+
* @see app/design/frontend/base/default/template/customer/form/login.phtml
|
6 |
+
*/
|
7 |
+
/** @var $this Mage_Customer_Block_Form_Login */
|
8 |
+
?>
|
9 |
+
<div class="account-login row">
|
10 |
+
<div class="page-title large-12 columns">
|
11 |
+
<h1><?php echo $this->__('Login or Create an Account') ?></h1>
|
12 |
+
</div>
|
13 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
14 |
+
<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
|
15 |
+
<?php echo $this->getBlockHtml('formkey'); ?>
|
16 |
+
<div class="col2-set">
|
17 |
+
<div class="col-1 new-users small-12 medium-6 large-6 columns">
|
18 |
+
<div class="content">
|
19 |
+
<h2><?php echo $this->__('New Customers') ?></h2>
|
20 |
+
<p><?php echo $this->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
|
21 |
+
</div>
|
22 |
+
|
23 |
+
<div class="buttons-set">
|
24 |
+
<button type="button" title="<?php echo $this->__('Create an Account') ?>" class="radius tiny button" onclick="window.location='<?php echo Mage::helper('persistent')->getCreateAccountUrl($this->getCreateAccountUrl()) ?>';"><span><span><?php echo $this->__('Create an Account') ?></span></span></button>
|
25 |
+
</div>
|
26 |
+
</div>
|
27 |
+
<div class="col-2 registered-users small-12 medium-6 large-6 columns">
|
28 |
+
<div class="content">
|
29 |
+
<h2><?php echo $this->__('Registered Customers') ?></h2>
|
30 |
+
<p><?php echo $this->__('If you have an account with us, please log in.') ?></p>
|
31 |
+
<ul class="form-list">
|
32 |
+
<li>
|
33 |
+
<label for="email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
|
34 |
+
<div class="input-box">
|
35 |
+
<input type="text" name="login[username]" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" id="email" class="input-text required-entry validate-email" title="<?php echo $this->__('Email Address') ?>" />
|
36 |
+
</div>
|
37 |
+
</li>
|
38 |
+
<li>
|
39 |
+
<label for="pass" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
|
40 |
+
<div class="input-box">
|
41 |
+
<input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo $this->__('Password') ?>" />
|
42 |
+
</div>
|
43 |
+
</li>
|
44 |
+
<?php echo $this->getChildHtml('form.additional.info'); ?>
|
45 |
+
<?php echo $this->getChildHtml('persistent.remember.me'); ?>
|
46 |
+
</ul>
|
47 |
+
<?php echo $this->getChildHtml('persistent.remember.me.tooltip'); ?>
|
48 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
49 |
+
</div>
|
50 |
+
|
51 |
+
<div class="buttons-set">
|
52 |
+
<a href="<?php echo $this->getForgotPasswordUrl() ?>" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
|
53 |
+
<button type="submit" class="radius tiny button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
|
54 |
+
</div>
|
55 |
+
</div>
|
56 |
+
</div>
|
57 |
+
|
58 |
+
|
59 |
+
<?php if (Mage::helper('checkout')->isContextCheckout()): ?>
|
60 |
+
<input name="context" type="hidden" value="checkout" />
|
61 |
+
<?php endif; ?>
|
62 |
+
</form>
|
63 |
+
<script type="text/javascript">
|
64 |
+
//<![CDATA[
|
65 |
+
var dataForm = new VarienForm('login-form', true);
|
66 |
+
//]]>
|
67 |
+
</script>
|
68 |
+
|
69 |
+
</div>
|
app/design/frontend/foungento/default/template/persistent/customer/form/register.phtml
ADDED
@@ -0,0 +1,166 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Create account form template
|
4 |
+
*
|
5 |
+
* @see app/design/frontend/base/default/template/customer/form/register.phtml
|
6 |
+
*/
|
7 |
+
/** @var $this Mage_Customer_Block_Form_Register */
|
8 |
+
?>
|
9 |
+
<div class="account-create row">
|
10 |
+
<div class="customer-create-account small-centered small-10 medium-centered medium-6 large-centered large-6 columns">
|
11 |
+
<div class="page-title">
|
12 |
+
<h1><?php echo $this->__('Create an Account') ?></h1>
|
13 |
+
</div>
|
14 |
+
<?php echo $this->getChildHtml('form_fields_before')?>
|
15 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
16 |
+
<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate">
|
17 |
+
<div class="fieldset">
|
18 |
+
<input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
|
19 |
+
<input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
|
20 |
+
<h2 class="legend"><?php echo $this->__('Personal Information') ?></h2>
|
21 |
+
<ul class="form-list">
|
22 |
+
<li class="fields">
|
23 |
+
<?php echo $this->getLayout()->createBlock('customer/widget_name')->setObject($this->getFormData())->setForceUseCustomerAttributes(true)->toHtml() ?>
|
24 |
+
</li>
|
25 |
+
<li>
|
26 |
+
<label for="email_address" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
|
27 |
+
<div class="input-box">
|
28 |
+
<input type="text" name="email" id="email_address" value="<?php echo $this->escapeHtml($this->getFormData()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
|
29 |
+
</div>
|
30 |
+
</li>
|
31 |
+
<?php if ($this->isNewsletterEnabled()): ?>
|
32 |
+
<li class="control">
|
33 |
+
<input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
|
34 |
+
<label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
|
35 |
+
</li>
|
36 |
+
<?php endif ?>
|
37 |
+
<?php $_dob = $this->getLayout()->createBlock('customer/widget_dob') ?>
|
38 |
+
<?php if ($_dob->isEnabled()): ?>
|
39 |
+
<li><?php echo $_dob->setDate($this->getFormData()->getDob())->toHtml() ?></li>
|
40 |
+
<?php endif ?>
|
41 |
+
<?php $_taxvat = $this->getLayout()->createBlock('customer/widget_taxvat') ?>
|
42 |
+
<?php if ($_taxvat->isEnabled()): ?>
|
43 |
+
<li><?php echo $_taxvat->setTaxvat($this->getFormData()->getTaxvat())->toHtml() ?></li>
|
44 |
+
<?php endif ?>
|
45 |
+
<?php $_gender = $this->getLayout()->createBlock('customer/widget_gender') ?>
|
46 |
+
<?php if ($_gender->isEnabled()): ?>
|
47 |
+
<li><?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?></li>
|
48 |
+
<?php endif ?>
|
49 |
+
</ul>
|
50 |
+
</div>
|
51 |
+
<?php if($this->getShowAddressFields()): ?>
|
52 |
+
<div class="fieldset">
|
53 |
+
<input type="hidden" name="create_address" value="1" />
|
54 |
+
<h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
|
55 |
+
<ul class="form-list">
|
56 |
+
<li class="fields">
|
57 |
+
<div class="field">
|
58 |
+
<label for="company"><?php echo $this->__('Company') ?></label>
|
59 |
+
<div class="input-box">
|
60 |
+
<input type="text" name="company" id="company" value="<?php echo $this->escapeHtml($this->getFormData()->getCompany()) ?>" title="<?php echo $this->__('Company') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('company') ?>" />
|
61 |
+
</div>
|
62 |
+
</div>
|
63 |
+
<div class="field">
|
64 |
+
<label for="telephone" class="required"><em>*</em><?php echo $this->__('Telephone') ?></label>
|
65 |
+
<div class="input-box">
|
66 |
+
<input type="text" name="telephone" id="telephone" value="<?php echo $this->escapeHtml($this->getFormData()->getTelephone()) ?>" title="<?php echo $this->__('Telephone') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('telephone') ?>" />
|
67 |
+
</div>
|
68 |
+
</div>
|
69 |
+
</li>
|
70 |
+
<?php $_streetValidationClass = $this->helper('customer/address')->getAttributeValidationClass('street'); ?>
|
71 |
+
<li class="wide">
|
72 |
+
<label for="street_1" class="required"><em>*</em><?php echo $this->__('Street Address') ?></label>
|
73 |
+
<div class="input-box">
|
74 |
+
<input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet(1)) ?>" title="<?php echo $this->__('Street Address') ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>" />
|
75 |
+
</div>
|
76 |
+
</li>
|
77 |
+
<?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
|
78 |
+
<?php for ($_i = 2, $_n = $this->helper('customer/address')->getStreetLines(); $_i <= $_n; $_i++): ?>
|
79 |
+
<li class="wide">
|
80 |
+
<div class="input-box">
|
81 |
+
<input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet($_i)) ?>" title="<?php echo $this->__('Street Address %s', $_i) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
|
82 |
+
</div>
|
83 |
+
</li>
|
84 |
+
<?php endfor; ?>
|
85 |
+
<li class="fields">
|
86 |
+
<div class="field">
|
87 |
+
<label for="city" class="required"><em>*</em><?php echo $this->__('City') ?></label>
|
88 |
+
<div class="input-box">
|
89 |
+
<input type="text" name="city" value="<?php echo $this->escapeHtml($this->getFormData()->getCity()) ?>" title="<?php echo $this->__('City') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('city') ?>" id="city" />
|
90 |
+
</div>
|
91 |
+
</div>
|
92 |
+
<div class="field">
|
93 |
+
<label for="region_id" class="required"><em>*</em><?php echo $this->__('State/Province') ?></label>
|
94 |
+
<div class="input-box">
|
95 |
+
<select id="region_id" name="region_id" title="<?php echo $this->__('State/Province') ?>" class="validate-select" style="display:none;">
|
96 |
+
<option value=""><?php echo $this->__('Please select region, state or province') ?></option>
|
97 |
+
</select>
|
98 |
+
<script type="text/javascript">
|
99 |
+
//<![CDATA[
|
100 |
+
$('region_id').setAttribute('defaultValue', "<?php echo $this->getFormData()->getRegionId() ?>");
|
101 |
+
//]]>
|
102 |
+
</script>
|
103 |
+
<input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getRegion()) ?>" title="<?php echo $this->__('State/Province') ?>" class="input-text <?php echo $this->helper('customer/address')->getAttributeValidationClass('region') ?>" style="display:none;" />
|
104 |
+
</div>
|
105 |
+
</div>
|
106 |
+
</li>
|
107 |
+
<li class="fields">
|
108 |
+
<div class="field">
|
109 |
+
<label for="zip" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
|
110 |
+
<div class="input-box">
|
111 |
+
<input type="text" name="postcode" value="<?php echo $this->escapeHtml($this->getFormData()->getPostcode()) ?>" title="<?php echo $this->__('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>" />
|
112 |
+
</div>
|
113 |
+
</div>
|
114 |
+
<div class="field">
|
115 |
+
<label for="country" class="required"><em>*</em><?php echo $this->__('Country') ?></label>
|
116 |
+
<div class="input-box">
|
117 |
+
<?php echo $this->getCountryHtmlSelect() ?>
|
118 |
+
</div>
|
119 |
+
</div>
|
120 |
+
</li>
|
121 |
+
</ul>
|
122 |
+
<input type="hidden" name="default_billing" value="1" />
|
123 |
+
<input type="hidden" name="default_shipping" value="1" />
|
124 |
+
</div>
|
125 |
+
<?php endif; ?>
|
126 |
+
<div class="fieldset">
|
127 |
+
<h2 class="legend"><?php echo $this->__('Login Information') ?></h2>
|
128 |
+
<ul class="form-list">
|
129 |
+
<li class="fields">
|
130 |
+
<div class="field">
|
131 |
+
<label for="password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
|
132 |
+
<div class="input-box">
|
133 |
+
<input type="password" name="password" id="password" title="<?php echo $this->__('Password') ?>" class="input-text required-entry validate-password" />
|
134 |
+
</div>
|
135 |
+
</div>
|
136 |
+
<div class="field">
|
137 |
+
<label for="confirmation" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
|
138 |
+
<div class="input-box">
|
139 |
+
<input type="password" name="confirmation" title="<?php echo $this->__('Confirm Password') ?>" id="confirmation" class="input-text required-entry validate-cpassword" />
|
140 |
+
</div>
|
141 |
+
</div>
|
142 |
+
</li>
|
143 |
+
<?php echo $this->getChildHtml('form.additional.info'); ?>
|
144 |
+
<?php echo $this->getChildHtml('persistent.remember.me'); ?>
|
145 |
+
</ul>
|
146 |
+
<?php echo $this->getChildHtml('persistent.remember.me.tooltip'); ?>
|
147 |
+
</div>
|
148 |
+
<div class="buttons-set">
|
149 |
+
<p class="required"><?php echo $this->__('* Required Fields') ?></p>
|
150 |
+
<p class="back-link"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="back-link"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
151 |
+
<button type="submit" title="<?php echo $this->__('Submit') ?>" class="radius tiny button"><span><span><?php echo $this->__('Submit') ?></span></span></button>
|
152 |
+
</div>
|
153 |
+
<?php if (Mage::helper('checkout')->isContextCheckout()): ?>
|
154 |
+
<input name="context" type="hidden" value="checkout" />
|
155 |
+
<?php endif; ?>
|
156 |
+
</form>
|
157 |
+
<script type="text/javascript">
|
158 |
+
//<![CDATA[
|
159 |
+
var dataForm = new VarienForm('form-validate', true);
|
160 |
+
<?php if($this->getShowAddressFields()): ?>
|
161 |
+
new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
|
162 |
+
<?php endif; ?>
|
163 |
+
//]]>
|
164 |
+
</script>
|
165 |
+
</div>
|
166 |
+
</div>
|
app/design/frontend/foungento/default/template/persistent/remember_me.phtml
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* Customer "Remember Me" template
|
30 |
+
*
|
31 |
+
* @var $this Mage_Persistent_Block_Form_Remember
|
32 |
+
*/
|
33 |
+
?>
|
34 |
+
<li id="remember-me-box" class="control">
|
35 |
+
<?php $rememberMeId = 'remember_me' . Mage::helper('core')->getRandomString(10); ?>
|
36 |
+
<input type="checkbox" name="persistent_remember_me" class="checkbox" id="<?php echo $rememberMeId; ?>"<?php if ($this->isRememberMeChecked()): ?> checked="checked"<?php endif; ?> title="<?php echo $this->__('Remember Me') ?>" />
|
37 |
+
<label for="<?php echo $rememberMeId; ?>"><?php echo $this->__('Remember Me') ?></label>
|
38 |
+
<a class="link-tip" href="#"><?php echo $this->__('What\'s this?') ?></a>
|
39 |
+
</li>
|
app/design/frontend/foungento/default/template/reports/product_viewed.phtml
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
/* @var $this Mage_Reports_Block_Product_Viewed */
|
27 |
+
?>
|
28 |
+
<?php if ($_products = $this->getRecentlyViewedProducts()): ?>
|
29 |
+
<div class="block block-list block-viewed">
|
30 |
+
<div class="block-title">
|
31 |
+
<strong><span><?php echo $this->__('Recently Viewed Products') ?></span></strong>
|
32 |
+
</div>
|
33 |
+
<div class="block-content">
|
34 |
+
<ul id="recently-viewed-items">
|
35 |
+
<?php foreach ($_products as $_item): ?>
|
36 |
+
<li class="item">
|
37 |
+
<p class="product-name"><a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->helper('catalog/output')->productAttribute($_item, $_item->getName() , 'name') ?></a></p>
|
38 |
+
</li>
|
39 |
+
<?php endforeach; ?>
|
40 |
+
</ul>
|
41 |
+
<script type="text/javascript">decorateList('recently-viewed-items');</script>
|
42 |
+
</div>
|
43 |
+
</div>
|
44 |
+
<?php endif; ?>
|
app/design/frontend/foungento/default/template/sales/order/recent.phtml
ADDED
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="box-account box-recent">
|
2 |
+
<?php $_orders = $this->getOrders(); ?>
|
3 |
+
<div class="box-head">
|
4 |
+
<h2><?php echo $this->__('Recent Orders') ?></h2>
|
5 |
+
<?php if( sizeof($_orders->getItems()) > 0 ): ?><a href="<?php echo $this->getUrl('sales/order/history') ?>"><?php echo $this->__('View All') ?></a><?php endif; ?>
|
6 |
+
</div>
|
7 |
+
<?php if( sizeof($_orders->getItems()) > 0 ): ?>
|
8 |
+
<table class="responsive">
|
9 |
+
<thead>
|
10 |
+
<tr>
|
11 |
+
<th><?php echo $this->__('Order #') ?></th>
|
12 |
+
<th><?php echo $this->__('Date') ?></th>
|
13 |
+
<th><?php echo $this->__('Ship To') ?></th>
|
14 |
+
<th><span class="nobr"><?php echo $this->__('Order Total') ?></span></th>
|
15 |
+
<th><?php echo $this->__('Status') ?></th>
|
16 |
+
<th> </th>
|
17 |
+
</tr>
|
18 |
+
</thead>
|
19 |
+
<tbody>
|
20 |
+
<?php foreach ($_orders as $_order): ?>
|
21 |
+
<tr>
|
22 |
+
<td><?php echo $_order->getRealOrderId() ?></td>
|
23 |
+
<td><span class="nobr"><?php echo $this->formatDate($_order->getCreatedAtStoreDate()) ?></span></td>
|
24 |
+
<td><?php echo $_order->getShippingAddress() ? $this->escapeHtml($_order->getShippingAddress()->getName()) : ' ' ?></td>
|
25 |
+
<td><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></td>
|
26 |
+
<td><em><?php echo $_order->getStatusLabel() ?></em></td>
|
27 |
+
<td class="a-center">
|
28 |
+
<span class="nobr">
|
29 |
+
<a href="<?php echo $this->getViewUrl($_order) ?>"><?php echo $this->__('View Order') ?></a>
|
30 |
+
<?php if ($this->helper('sales/reorder')->canReorder($_order)) : ?>
|
31 |
+
<a href="<?php echo $this->getReorderUrl($_order) ?>" class="link-reorder"><?php echo $this->__('Reorder') ?></a>
|
32 |
+
<?php endif ?>
|
33 |
+
</span>
|
34 |
+
</td>
|
35 |
+
</tr>
|
36 |
+
<?php endforeach; ?>
|
37 |
+
</tbody>
|
38 |
+
</table>
|
39 |
+
<script type="text/javascript">decorateTable('my-orders-table')</script>
|
40 |
+
<?php else: ?>
|
41 |
+
<p><?php echo $this->__('You have placed no orders.'); ?></p>
|
42 |
+
<?php endif; ?>
|
43 |
+
</div>
|
app/design/frontend/foungento/default/template/sales/reorder/sidebar.phtml
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* Last order sidebar
|
30 |
+
*
|
31 |
+
* @see Mage_Sale_Block_Reorder_Sidebar
|
32 |
+
*/
|
33 |
+
?>
|
34 |
+
<?php $_items = $this->getItems()?>
|
35 |
+
<?php if($_items): ?>
|
36 |
+
<div class="block block-reorder">
|
37 |
+
<div class="block-title">
|
38 |
+
<strong><span><?php echo $this->__('My Orders') ?></span></strong>
|
39 |
+
</div>
|
40 |
+
<form method="post" action="<?php echo $this->getFormActionUrl() ?>" id="reorder-validate-detail">
|
41 |
+
<?php echo $this->getBlockHtml('formkey'); ?>
|
42 |
+
<div class="block-content">
|
43 |
+
<p class="block-subtitle"><?php echo $this->__('Last Ordered Items') ?></p>
|
44 |
+
<ol id="cart-sidebar-reorder">
|
45 |
+
<?php $_showAddButtonFlag = false ?>
|
46 |
+
<?php foreach ($_items as $_item): ?>
|
47 |
+
<li class="item">
|
48 |
+
<?php if ($this->isItemAvailableForReorder($_item)): ?>
|
49 |
+
<?php $_showAddButtonFlag = true ?>
|
50 |
+
<input type="checkbox" name="order_items[]" id="reorder-item-<?php echo $_item->getId() ?>" value="<?php echo $_item->getId() ?>" title="<?php echo $this->__('Add to Cart') ?>" class="checkbox validate-one-required-by-name" />
|
51 |
+
<script type="text/javascript">
|
52 |
+
//<![CDATA[
|
53 |
+
$('reorder-item-<?php echo $_item->getId() ?>').advaiceContainer = 'cart-sidebar-reorder-advice-container';
|
54 |
+
//]]>
|
55 |
+
</script>
|
56 |
+
<?php endif; ?>
|
57 |
+
<a class="product-name" href="<?php echo $_item->getProduct()->getProductUrl() ?>"><?php echo $this->escapeHtml($_item->getName()) ?></a>
|
58 |
+
</li>
|
59 |
+
<?php endforeach; ?>
|
60 |
+
</ol>
|
61 |
+
<script type="text/javascript">decorateList('cart-sidebar-reorder')</script>
|
62 |
+
<div id="cart-sidebar-reorder-advice-container"></div>
|
63 |
+
<div class="actions">
|
64 |
+
<?php if ($_showAddButtonFlag): ?>
|
65 |
+
<button type="submit" title="<?php echo $this->__('Add to Cart') ?>" class="radius tiny button btn-cart"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
|
66 |
+
<?php endif; ?>
|
67 |
+
<a href="<?php echo $this->getUrl('customer/account') ?>"><?php echo $this->__('View All'); ?></a>
|
68 |
+
</div>
|
69 |
+
</div>
|
70 |
+
</form>
|
71 |
+
</div>
|
72 |
+
<?php echo $this->getPagerHtml(); ?>
|
73 |
+
<script type="text/javascript">
|
74 |
+
//<![CDATA[
|
75 |
+
var reorderFormDetail = new VarienForm('reorder-validate-detail');
|
76 |
+
//]]>
|
77 |
+
</script>
|
78 |
+
<?php endif ?>
|
app/design/frontend/foungento/default/template/tag/list.phtml
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div class="box-collateral box-tags large-6 columns">
|
2 |
+
<h2><?php echo $this->__('Product Tags') ?></h2>
|
3 |
+
<?php echo $this->getChildHtml('list_before')?>
|
4 |
+
<?php if( $this->getCount() ): ?>
|
5 |
+
<h3><?php echo $this->__('Other people marked this product with these tags:') ?></h3>
|
6 |
+
<ul id="<?php echo $this->getUniqueHtmlId('product-tags_'); ?>" class="product-tags">
|
7 |
+
<?php echo $this->renderTags('<li><a href="%1$s">%2$s</a> (%3$s)</li>') ?>
|
8 |
+
</ul>
|
9 |
+
<script type="text/javascript">
|
10 |
+
decorateGeneric($("<?php echo $this->getUniqueHtmlId('product-tags_'); ?>").select('li'), ['first', 'last']);
|
11 |
+
</script>
|
12 |
+
<?php endif; ?>
|
13 |
+
<form id="addTagForm" action="<?php echo $this->getFormAction(); ?>" method="get">
|
14 |
+
<div class="form-add">
|
15 |
+
<label for="productTagName"><?php echo $this->__('Add Your Tags:') ?></label>
|
16 |
+
<div class="input-box">
|
17 |
+
<input type="text" class="input-text required-entry" name="productTagName" id="productTagName" />
|
18 |
+
</div>
|
19 |
+
<button type="radius tiny button" title="<?php echo $this->__('Add Tags') ?>" class="button" onclick="submitTagForm()">
|
20 |
+
<span>
|
21 |
+
<span><?php echo $this->__('Add Tags') ?></span>
|
22 |
+
</span>
|
23 |
+
</button>
|
24 |
+
</div>
|
25 |
+
</form>
|
26 |
+
<p class="note"><?php echo $this->__("Use spaces to separate tags. Use single quotes (') for phrases.") ?></p>
|
27 |
+
<script type="text/javascript">
|
28 |
+
//<![CDATA[
|
29 |
+
var addTagFormJs = new VarienForm('addTagForm');
|
30 |
+
function submitTagForm(){
|
31 |
+
if(addTagFormJs.validator.validate()) {
|
32 |
+
addTagFormJs.form.submit();
|
33 |
+
}
|
34 |
+
}
|
35 |
+
//]]>
|
36 |
+
</script>
|
37 |
+
</div>
|
app/etc/modules/Foungento_All.xml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Foungento_Responsive>
|
5 |
+
<active>true</active>
|
6 |
+
<codePool>local</codePool>
|
7 |
+
</Foungento_Responsive>
|
8 |
+
</modules>
|
9 |
+
</config>
|
package.xml
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>Foungento</name>
|
4 |
+
<version>0.0.1</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>The new magento prototyping
|
10 |
+
and most innovative
|
11 |
+
wireframe in the world.</summary>
|
12 |
+
<description>Foungento is the world's most powerful e-commerce system and world's most advanced opensource with applied responsive layout.</description>
|
13 |
+
<notes>Wireframe Based on Foundation Zurb 5.5.1
|
14 |
+
and Magento 1.9.0.0</notes>
|
15 |
+
<authors><author><name>Armin Almuete</name><user>auto-converted</user><email>armin.almuete@gmail.com</email></author></authors>
|
16 |
+
<date>2015-05-12</date>
|
17 |
+
<time>05:12:00</time>
|
18 |
+
<contents><target name="mage"><dir name="skin"><dir name="frontend"><dir name="foungento"><dir name="default"><dir name="css"><file name="app.css" hash="0c067b55a42897445b4a844d6de2c7bb"/><file name="normalize.css" hash="7caceed677229c6cc84aa3f4754ff3a4"/><file name="print.css" hash="0931bba935b423c1e1866b4e586de88e"/><file name="reset.css" hash="b7a0ec5214baff7c15dadde36c6db6e3"/><file name="responsive-tables.css" hash="3639635d7f7f3c1038c75ab53abce169"/><file name="styles.css" hash="a9a21b531a4563639ed884403ebbe2f9"/></dir><dir name="images"><dir name="media"><file name="350x150.gif" hash="7455fe494e08a01b6896365ee36f1172"/><file name="fashion_style_logo.png" hash="339b43c035ba7fb320854bc3f62bdfa7"/><file name="logo.png" hash="dc349fcc2a18b0488e87bbd2e39b4f95"/><file name="logo_small.png" hash="42c0b23b4d2e3d59835688847546be29"/></dir><file name="100x50.gif" hash="56edee78ce0d890b3d3d350e91f4950b"/><file name="130x50.gif" hash="b574bea09bf40966fe6deb9e46fcfd33"/><file name="20x20.gif" hash="a55619401b36a9c248c3968d792ec243"/><file name="50x50.gif" hash="9aa6aa6eab88e87685c525fa8f70120f"/><file name="address_icon.png" hash="9e8bfc809010c5c53d8886978944959e"/><file name="addtocart_icon.png" hash="b5abf0a4f18ccc736ed9985e75c6b266"/><file name="basket_icon.png" hash="77eeb7ae404bea2aa7a906288b7f123e"/><file name="btn_trash.gif" hash="bcb22f558a0eb32243a2a36645189e9f"/><file name="email_icon.png" hash="d892ba9056bc621648b533566e36f007"/><file name="facebook.png" hash="eb66bc0edc1a0b18fc7ec6e7aeb6eb41"/><file name="footer_bg.png" hash="78e6a5e338b9ed6d2d16529455eb005f"/><file name="footer_bg_darker.png" hash="2e96d501dfa419eaaaa1c0a4562437d8"/><file name="i_arrow-top.gif" hash="3dbb0584e8eb1d96cc3d3c40c17d7aaf"/><file name="i_asc_arrow.gif" hash="40aa554212d6a1f60593c27d78d85fa3"/><file name="i_msg-error.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="i_msg-note.gif" hash="e774ee481a2820789c1a77112377c4e0"/><file name="i_msg-success.gif" hash="834dfafd5f8b44c4b24a4c00add56fcf"/><file name="left_arrow.png" hash="9186620e83d3e1079db13fd5d9616a30"/><file name="logo_footer.png" hash="1f26e2c6fbc8b0e4458930ea5344e0a4"/><file name="master.png" hash="90bec11bbec32e2bb3a6f66e9a374155"/><file name="opc-ajax-loader.gif" hash="e805ea7eca1f34c75ba0f93780d32d38"/><file name="pager_arrow_left.gif" hash="75973b020105dccbaf34e49d7852552d"/><file name="pager_arrow_right.gif" hash="ed4d6640624c2b6edeab4c212314bd6d"/><file name="paypal.png" hash="7e713397e9a8aaa44a199d4ea240a34e"/><file name="phone_icon.png" hash="94cd67bb2d24c5d35fa0dec566b3823c"/><file name="play_icon.png" hash="9b32a0a57f4932fdff268500e15208f7"/><file name="right_arrow.png" hash="1dcf9333ada080c5d7b99eeb8325500e"/><file name="slanted_horizontal_line.png" hash="7fb22dbc3b0564844faf3495d9b56796"/><file name="twitter.png" hash="0064ec83d4aab8e023687169161d2422"/><file name="visa.png" hash="f163f63e6dae7a71280100dec608e409"/></dir><dir name="js"><dir name="jquery_plugins"><file name="jquery.infinitescroll.js" hash="4d3925729221423e68b1e94645b83020"/><file name="manual-trigger.js" hash="18f5d124d0ba590fc41f769d2ac4298a"/></dir><file name="custom.js" hash="d1ec101dc559435b655c05b0aa650187"/><file name="foundation.interchange.js" hash="4ba8fc1eade807ef5b894104c51da7e7"/><file name="foundation.min.js" hash="020e106c6c9ea754af5e3a515fa68b4c"/><file name="jquery.1.8.3.min.js" hash="e1288116312e4728f98923c79b034b67"/><file name="minicart.js" hash="6c1e147f30a00e70da980014c4e17fe6"/><file name="modernizr.js" hash="af71e73c084534b45bdd06224977b260"/><file name="noConflict.js" hash="e2060c4e5e5955c824723b13a212d3ec"/><file name="responsive-tables.js" hash="7c74c2bccea288423951f15c0261720e"/></dir></dir></dir></dir></dir><dir name="app"><dir name="etc"><dir name="modules"><file name="Foungento_All.xml" hash="88656fbec28138eb05346127edcfc927"/></dir></dir><dir name="code"><dir name="local"><dir name="Foungento"><dir name="Responsive"><dir name="Block"><dir name="Checkout"><dir name="Cart"><file name="Crosssell.php" hash="ef7b3d3afb565f8af7269a02eb32183c"/></dir></dir></dir><dir name="etc"><file name="config.xml" hash="0ef4aac0a6d7dedafe6877e8c7a09e9b"/></dir></dir></dir></dir></dir><dir name="design"><dir name="frontend"><dir name="foungento"><dir name="default"><dir name="layout"><file name="local.xml" hash="ac0e34557352d72079815191bb37030c"/></dir><dir name="template"><dir name="catalog"><dir name="category"><file name="view.phtml" hash="caac63757c4266a34e28ba1ad7bbd335"/></dir><dir name="layer"><file name="state.phtml" hash="9ebc861ca310244787ff0fd0b555deff"/></dir><dir name="product"><dir name="list"><file name="toolbar.phtml" hash="32bc9903c149de0061b9ba34c6c9fea8"/><file name="upsell.phtml" hash="892a866a01051d85b6ce587c42780c4c"/></dir><dir name="view"><dir name="options"><dir name="wrapper"><file name="bottom.phtml" hash="bd1a795bb7ae0f33dbd1e3252d03f39c"/></dir><file name="wrapper.phtml" hash="bf82f0580b5c7a1c7b6b6fb28283b7f6"/></dir><dir name="type"><file name="default.phtml" hash="aefa4d6798eda5997a68d380b6900152"/><file name="grouped.phtml" hash="92d90b2998dd0d15c3ed845a1f7b3622"/></dir><file name="addto.phtml" hash="ca853dba66c3f41c613dd0a619bd40ef"/><file name="addtocart.phtml" hash="e5bb061cf7f63be22d2fb118ddafe740"/><file name="attributes.phtml" hash="7620da6f047b6d28fe0444faa4a23fe4"/><file name="media.phtml" hash="76b49a9163f28b7bfb5c434d5cfeaf5c"/></dir><file name="list.phtml" hash="65712de3b7389294bdc3a6ec9435b04f"/><file name="new.phtml" hash="b633753c6b6ae51e1dd87bd6594599e1"/><file name="view.phtml" hash="792f2acfc58898f87d2d95e805071fc7"/></dir></dir><dir name="catalogsearch"><file name="form.mini.phtml" hash="1cf48fe198e47ca58433775c59fed20c"/><file name="result.phtml" hash="3707ef5acee02ea28e8742b137de90f0"/></dir><dir name="checkout"><dir name="cart"><dir name="item"><dir name="configure"><file name="updatecart.phtml" hash="edb1afe40a0f9af0c188c3adf858c948"/></dir><file name="default.phtml" hash="e2dda40494efb45cce9eda57025aab53"/></dir><dir name="minicart"><file name="default.phtml" hash="10df6249a229886b817def5d7e71600f"/><file name="items.phtml" hash="d96fb263ff30fb6ce5f67975efabf5b9"/></dir><dir name="sidebar"><file name="default.phtml" hash="889ba0c2abdbaa68a59d76e022a364c3"/></dir><file name="coupon.phtml" hash="7fa7a008c92955175dd849f6552abaa3"/><file name="crosssell.phtml" hash="fbbfe90145a42f6bcb82aeed37d14be6"/><file name="minicart.phtml" hash="3952e1e8b8d4f6cdc9156502b416d379"/><file name="noItems.phtml" hash="1375223cf92822e5504b24a5c949c6a2"/><file name="shipping.phtml" hash="ee579544f9ef1232882001c6fd3211a4"/><file name="sidebar.phtml" hash="1453d622f4f3a73a8d7099c7b0813aa2"/><file name="totals.phtml" hash="d40ec25c652ac9dc01ae0df8a2bb28ec"/></dir><dir name="onepage"><dir name="payment"><file name="methods.phtml" hash="a7485a249f2d9f758bba4f60f10391c8"/></dir><dir name="review"><file name="info.phtml" hash="2b535505a7f418a47dd79ccf0d48410f"/><file name="totals.phtml" hash="9487535030d3581cbbd3dc78f7659d68"/></dir><file name="billing.phtml" hash="a619a215966ccb555c82915c7b9bbc7c"/><file name="link.phtml" hash="6497f98b2c328c39768ea68676516b51"/><file name="payment.phtml" hash="6721d19e384522dbdf437ebd841874f5"/><file name="shipping_method.phtml" hash="53c4015aa400fe7e51e451bce830c996"/></dir><file name="cart.phtml" hash="b0cc43338f671b159c30f056752fa498"/><file name="onepage.phtml" hash="49637cbb8ee93caed2c98b9e492c5a03"/><file name="success.phtml" hash="13a9b6cf5acdcc8503c6b2ff902b81d9"/></dir><dir name="customer"><dir name="account"><dir name="dashboard"><file name="address.phtml" hash="b3ad2b76758cc81374a618b7ee895113"/><file name="info.phtml" hash="def7ba4e0d6593daf549e75cc7f7bdf7"/></dir><file name="dashboard.phtml" hash="1c8be0d74c877cc07fb2ae7c34670edf"/></dir><dir name="form"><file name="forgotpassword.phtml" hash="6ace04d73362f59e80f944b57177c343"/></dir></dir><dir name="newsletter"><file name="subscribe.phtml" hash="d47541d41c7210a7cc2435c478b26f28"/></dir><dir name="page"><dir name="html"><file name="breadcrumbs.phtml" hash="b28d41d8131f2ba46b8c2eaf65873411"/><file name="footer.phtml" hash="8c8ec481bcd632bc414b7434ab1d86ef"/><file name="header.phtml" hash="cc90e1ecb5074337cc0449b6f592bfbe"/><file name="notices.phtml" hash="93640bf588dce94a3c3c99d88e876c79"/><file name="pager.phtml" hash="7525b1c15e3e87f2f4e7bd8d8e8c12e1"/><file name="topmenu.phtml" hash="e9f28b7ac36126de0f3b2ee04bfaa178"/></dir><dir name="switch"><file name="languages.phtml" hash="698817ee65ded2e03907e0b6933c8405"/></dir><dir name="template"><file name="links.phtml" hash="23d3e04ed2156a26238769c4c79d127c"/></dir><file name="1column.phtml" hash="adccad541b37ae7d001b93a5e4d83313"/><file name="2columns-left.phtml" hash="165bff6254f79be965a58c5805ac49f6"/><file name="2columns-right.phtml" hash="07de1ce46797240b920bfb69bd19a85c"/><file name="3columns.phtml" hash="921f573b0ac23a5efb44eb6db1160cfa"/></dir><dir name="persistent"><dir name="checkout"><dir name="onepage"><file name="billing.phtml" hash="e3c4250ba9f54acb6e95926b108ac99c"/><file name="login.phtml" hash="791ae40aade9dff08e73ec909978d14a"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="3ef5fcef386fc7e740d9cf8dc5fd5036"/><file name="register.phtml" hash="02eb473c87f7c2a2fd6dcbcd05becbc5"/></dir></dir><file name="remember_me.phtml" hash="fa9690852e26b6c8dddf4d9b2e3b9233"/></dir><dir name="reports"><file name="product_viewed.phtml" hash="6f9670ea450e2bd48aa4528c7d92454f"/></dir><dir name="sales"><dir name="order"><file name="recent.phtml" hash="fb27d029b56a14945d06a964ac3e4edf"/></dir><dir name="reorder"><file name="sidebar.phtml" hash="f644591f6080a6fa647665008f9d02ff"/></dir></dir><dir name="tag"><file name="list.phtml" hash="dfba22844bc98f438e5c8fdcb5cd5223"/></dir></dir></dir></dir></dir></dir></dir></target></contents>
|
19 |
+
<compatible/>
|
20 |
+
<dependencies/>
|
21 |
+
</package>
|
skin/frontend/foungento/default/css/app.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.alert-box{top:-10px}meta.foundation-version{font-family:"/5.5.1/"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.063em) and (max-width:64em)/";width:40.063em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.063em)/";width:64.063em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.063em) and (max-width:90em)/";width:64.063em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.063em)/";width:90.063em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.063em) and (max-width:120em)/";width:90.063em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.063em)/";width:120.063em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{font-size:100%}body{background:#fff;color:#222;padding:0;margin:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;line-height:1.5;position:relative;cursor:auto}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:960px}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{width:auto;margin-left:-0.3125rem;margin-right:-0.3125rem;margin-top:0;margin-bottom:0;max-width:none}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{width:auto;margin:0;max-width:none}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:0.3125rem;padding-right:0.3125rem;width:100%;float:left}[class*="column"]+[class*="column"]:last-child{float:right}[class*="column"]+[class*="column"].end{float:left}@media only screen{.small-push-0{position:relative;left:0%;right:auto}.small-pull-0{position:relative;right:0%;left:auto}.small-push-1{position:relative;left:8.3333333333%;right:auto}.small-pull-1{position:relative;right:8.3333333333%;left:auto}.small-push-2{position:relative;left:16.6666666667%;right:auto}.small-pull-2{position:relative;right:16.6666666667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.3333333333%;right:auto}.small-pull-4{position:relative;right:33.3333333333%;left:auto}.small-push-5{position:relative;left:41.6666666667%;right:auto}.small-pull-5{position:relative;right:41.6666666667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.3333333333%;right:auto}.small-pull-7{position:relative;right:58.3333333333%;left:auto}.small-push-8{position:relative;left:66.6666666667%;right:auto}.small-pull-8{position:relative;right:66.6666666667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.3333333333%;right:auto}.small-pull-10{position:relative;right:83.3333333333%;left:auto}.small-push-11{position:relative;left:91.6666666667%;right:auto}.small-pull-11{position:relative;right:91.6666666667%;left:auto}.column,.columns{position:relative;padding-left:0.3125rem;padding-right:0.3125rem;float:left}.small-1{width:8.3333333333%}.small-2{width:16.6666666667%}.small-3{width:25%}.small-4{width:33.3333333333%}.small-5{width:41.6666666667%}.small-6{width:50%}.small-7{width:58.3333333333%}.small-8{width:66.6666666667%}.small-9{width:75%}.small-10{width:83.3333333333%}.small-11{width:91.6666666667%}.small-12{width:100%}.small-offset-0{margin-left:0% !important}.small-offset-1{margin-left:8.3333333333% !important}.small-offset-2{margin-left:16.6666666667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.3333333333% !important}.small-offset-5{margin-left:41.6666666667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.3333333333% !important}.small-offset-8{margin-left:66.6666666667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.3333333333% !important}.small-offset-11{margin-left:91.6666666667% !important}.small-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{margin-left:0;margin-right:0;float:left}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}.row.small-collapse>.column,.row.small-collapse>.columns{padding-left:0;padding-right:0}.row.small-collapse .row{margin-left:0;margin-right:0}.row.small-uncollapse>.column,.row.small-uncollapse>.columns{padding-left:0.3125rem;padding-right:0.3125rem;float:left}}@media only screen and (min-width:40.063em){.medium-push-0{position:relative;left:0%;right:auto}.medium-pull-0{position:relative;right:0%;left:auto}.medium-push-1{position:relative;left:8.3333333333%;right:auto}.medium-pull-1{position:relative;right:8.3333333333%;left:auto}.medium-push-2{position:relative;left:16.6666666667%;right:auto}.medium-pull-2{position:relative;right:16.6666666667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.3333333333%;right:auto}.medium-pull-4{position:relative;right:33.3333333333%;left:auto}.medium-push-5{position:relative;left:41.6666666667%;right:auto}.medium-pull-5{position:relative;right:41.6666666667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.3333333333%;right:auto}.medium-pull-7{position:relative;right:58.3333333333%;left:auto}.medium-push-8{position:relative;left:66.6666666667%;right:auto}.medium-pull-8{position:relative;right:66.6666666667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.3333333333%;right:auto}.medium-pull-10{position:relative;right:83.3333333333%;left:auto}.medium-push-11{position:relative;left:91.6666666667%;right:auto}.medium-pull-11{position:relative;right:91.6666666667%;left:auto}.column,.columns{position:relative;padding-left:0.3125rem;padding-right:0.3125rem;float:left}.medium-1{width:8.3333333333%}.medium-2{width:16.6666666667%}.medium-3{width:25%}.medium-4{width:33.3333333333%}.medium-5{width:41.6666666667%}.medium-6{width:50%}.medium-7{width:58.3333333333%}.medium-8{width:66.6666666667%}.medium-9{width:75%}.medium-10{width:83.3333333333%}.medium-11{width:91.6666666667%}.medium-12{width:100%}.medium-offset-0{margin-left:0% !important}.medium-offset-1{margin-left:8.3333333333% !important}.medium-offset-2{margin-left:16.6666666667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.3333333333% !important}.medium-offset-5{margin-left:41.6666666667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.3333333333% !important}.medium-offset-8{margin-left:66.6666666667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.3333333333% !important}.medium-offset-11{margin-left:91.6666666667% !important}.medium-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{margin-left:0;margin-right:0;float:left}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.row.medium-collapse>.column,.row.medium-collapse>.columns{padding-left:0;padding-right:0}.row.medium-collapse .row{margin-left:0;margin-right:0}.row.medium-uncollapse>.column,.row.medium-uncollapse>.columns{padding-left:0.3125rem;padding-right:0.3125rem;float:left}.push-0{position:relative;left:0%;right:auto}.pull-0{position:relative;right:0%;left:auto}.push-1{position:relative;left:8.3333333333%;right:auto}.pull-1{position:relative;right:8.3333333333%;left:auto}.push-2{position:relative;left:16.6666666667%;right:auto}.pull-2{position:relative;right:16.6666666667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.3333333333%;right:auto}.pull-4{position:relative;right:33.3333333333%;left:auto}.push-5{position:relative;left:41.6666666667%;right:auto}.pull-5{position:relative;right:41.6666666667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.3333333333%;right:auto}.pull-7{position:relative;right:58.3333333333%;left:auto}.push-8{position:relative;left:66.6666666667%;right:auto}.pull-8{position:relative;right:66.6666666667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.3333333333%;right:auto}.pull-10{position:relative;right:83.3333333333%;left:auto}.push-11{position:relative;left:91.6666666667%;right:auto}.pull-11{position:relative;right:91.6666666667%;left:auto}}@media only screen and (min-width:64.063em){.large-push-0{position:relative;left:0%;right:auto}.large-pull-0{position:relative;right:0%;left:auto}.large-push-1{position:relative;left:8.3333333333%;right:auto}.large-pull-1{position:relative;right:8.3333333333%;left:auto}.large-push-2{position:relative;left:16.6666666667%;right:auto}.large-pull-2{position:relative;right:16.6666666667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.3333333333%;right:auto}.large-pull-4{position:relative;right:33.3333333333%;left:auto}.large-push-5{position:relative;left:41.6666666667%;right:auto}.large-pull-5{position:relative;right:41.6666666667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.3333333333%;right:auto}.large-pull-7{position:relative;right:58.3333333333%;left:auto}.large-push-8{position:relative;left:66.6666666667%;right:auto}.large-pull-8{position:relative;right:66.6666666667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.3333333333%;right:auto}.large-pull-10{position:relative;right:83.3333333333%;left:auto}.large-push-11{position:relative;left:91.6666666667%;right:auto}.large-pull-11{position:relative;right:91.6666666667%;left:auto}.column,.columns{position:relative;padding-left:0.3125rem;padding-right:0.3125rem;float:left}.large-1{width:8.3333333333%}.large-2{width:16.6666666667%}.large-3{width:25%}.large-4{width:33.3333333333%}.large-5{width:41.6666666667%}.large-6{width:50%}.large-7{width:58.3333333333%}.large-8{width:66.6666666667%}.large-9{width:75%}.large-10{width:83.3333333333%}.large-11{width:91.6666666667%}.large-12{width:100%}.large-offset-0{margin-left:0% !important}.large-offset-1{margin-left:8.3333333333% !important}.large-offset-2{margin-left:16.6666666667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.3333333333% !important}.large-offset-5{margin-left:41.6666666667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.3333333333% !important}.large-offset-8{margin-left:66.6666666667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.3333333333% !important}.large-offset-11{margin-left:91.6666666667% !important}.large-reset-order{margin-left:0;margin-right:0;left:auto;right:auto;float:left}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{margin-left:0;margin-right:0;float:left}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:0.3125rem;padding-right:0.3125rem;float:left}.push-0{position:relative;left:0%;right:auto}.pull-0{position:relative;right:0%;left:auto}.push-1{position:relative;left:8.3333333333%;right:auto}.pull-1{position:relative;right:8.3333333333%;left:auto}.push-2{position:relative;left:16.6666666667%;right:auto}.pull-2{position:relative;right:16.6666666667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.3333333333%;right:auto}.pull-4{position:relative;right:33.3333333333%;left:auto}.push-5{position:relative;left:41.6666666667%;right:auto}.pull-5{position:relative;right:41.6666666667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.3333333333%;right:auto}.pull-7{position:relative;right:58.3333333333%;left:auto}.push-8{position:relative;left:66.6666666667%;right:auto}.pull-8{position:relative;right:66.6666666667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.3333333333%;right:auto}.pull-10{position:relative;right:83.3333333333%;left:auto}.push-11{position:relative;left:91.6666666667%;right:auto}.pull-11{position:relative;right:91.6666666667%;left:auto}}.accordion{margin-bottom:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:none}.accordion .accordion-navigation>a,.accordion dd>a{background:none;color:#222222;padding:1rem;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem}.accordion .accordion-navigation>a:hover,.accordion dd>a:hover{background:none}.accordion .accordion-navigation>.content,.accordion dd>.content{display:none;padding:0.3125rem}.accordion .accordion-navigation>.content.active,.accordion dd>.content.active{display:block;background:#FFFFFF}.alert-box{border-style:solid;border-width:1px;display:block;font-weight:normal;margin-bottom:1.25rem;position:relative;padding:0.0625rem 0.6875rem 0.0625rem 0.0625rem;font-size:0.6875rem;transition:opacity 300ms ease-out;background-color:#222;border-color:#1d1d1d;color:#FFFFFF}.alert-box .close{font-size:1.375rem;padding:0 6px 4px;line-height:0.9;position:absolute;top:50%;margin-top:-0.6875rem;right:0.25rem;color:#333333;opacity:0.3;background:inherit}.alert-box .close:hover,.alert-box .close:focus{opacity:0.5}.alert-box.radius{border-radius:3px}.alert-box.round{border-radius:1000px}.alert-box.success{background-color:#43AC6A;border-color:#3a945b;color:#FFFFFF}.alert-box.alert{background-color:#f04124;border-color:#de2d0f;color:#FFFFFF}.alert-box.secondary{background-color:#222;border-color:#1d1d1d;color:#FFFFFF}.alert-box.warning{background-color:#f08a24;border-color:#de770f;color:#FFFFFF}.alert-box.info{background-color:#a0d3e8;border-color:#74bfdd;color:#0c0c0c}.alert-box.alert-close{opacity:0}[class*="block-grid-"]{display:block;padding:0;margin:0 -0.625rem}[class*="block-grid-"]:before,[class*="block-grid-"]:after{content:" ";display:table}[class*="block-grid-"]:after{clear:both}[class*="block-grid-"]>li{display:block;height:auto;float:left;padding:0 0.625rem 1.25rem}@media only screen{.small-block-grid-1>li{width:100%;list-style:none}.small-block-grid-1>li:nth-of-type(1n){clear:none}.small-block-grid-1>li:nth-of-type(1n+1){clear:both}.small-block-grid-2>li{width:50%;list-style:none}.small-block-grid-2>li:nth-of-type(1n){clear:none}.small-block-grid-2>li:nth-of-type(2n+1){clear:both}.small-block-grid-3>li{width:33.3333333333%;list-style:none}.small-block-grid-3>li:nth-of-type(1n){clear:none}.small-block-grid-3>li:nth-of-type(3n+1){clear:both}.small-block-grid-4>li{width:25%;list-style:none}.small-block-grid-4>li:nth-of-type(1n){clear:none}.small-block-grid-4>li:nth-of-type(4n+1){clear:both}.small-block-grid-5>li{width:20%;list-style:none}.small-block-grid-5>li:nth-of-type(1n){clear:none}.small-block-grid-5>li:nth-of-type(5n+1){clear:both}.small-block-grid-6>li{width:16.6666666667%;list-style:none}.small-block-grid-6>li:nth-of-type(1n){clear:none}.small-block-grid-6>li:nth-of-type(6n+1){clear:both}.small-block-grid-7>li{width:14.2857142857%;list-style:none}.small-block-grid-7>li:nth-of-type(1n){clear:none}.small-block-grid-7>li:nth-of-type(7n+1){clear:both}.small-block-grid-8>li{width:12.5%;list-style:none}.small-block-grid-8>li:nth-of-type(1n){clear:none}.small-block-grid-8>li:nth-of-type(8n+1){clear:both}.small-block-grid-9>li{width:11.1111111111%;list-style:none}.small-block-grid-9>li:nth-of-type(1n){clear:none}.small-block-grid-9>li:nth-of-type(9n+1){clear:both}.small-block-grid-10>li{width:10%;list-style:none}.small-block-grid-10>li:nth-of-type(1n){clear:none}.small-block-grid-10>li:nth-of-type(10n+1){clear:both}.small-block-grid-11>li{width:9.0909090909%;list-style:none}.small-block-grid-11>li:nth-of-type(1n){clear:none}.small-block-grid-11>li:nth-of-type(11n+1){clear:both}.small-block-grid-12>li{width:8.3333333333%;list-style:none}.small-block-grid-12>li:nth-of-type(1n){clear:none}.small-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width:40.063em){.medium-block-grid-1>li{width:100%;list-style:none}.medium-block-grid-1>li:nth-of-type(1n){clear:none}.medium-block-grid-1>li:nth-of-type(1n+1){clear:both}.medium-block-grid-2>li{width:50%;list-style:none}.medium-block-grid-2>li:nth-of-type(1n){clear:none}.medium-block-grid-2>li:nth-of-type(2n+1){clear:both}.medium-block-grid-3>li{width:33.3333333333%;list-style:none}.medium-block-grid-3>li:nth-of-type(1n){clear:none}.medium-block-grid-3>li:nth-of-type(3n+1){clear:both}.medium-block-grid-4>li{width:25%;list-style:none}.medium-block-grid-4>li:nth-of-type(1n){clear:none}.medium-block-grid-4>li:nth-of-type(4n+1){clear:both}.medium-block-grid-5>li{width:20%;list-style:none}.medium-block-grid-5>li:nth-of-type(1n){clear:none}.medium-block-grid-5>li:nth-of-type(5n+1){clear:both}.medium-block-grid-6>li{width:16.6666666667%;list-style:none}.medium-block-grid-6>li:nth-of-type(1n){clear:none}.medium-block-grid-6>li:nth-of-type(6n+1){clear:both}.medium-block-grid-7>li{width:14.2857142857%;list-style:none}.medium-block-grid-7>li:nth-of-type(1n){clear:none}.medium-block-grid-7>li:nth-of-type(7n+1){clear:both}.medium-block-grid-8>li{width:12.5%;list-style:none}.medium-block-grid-8>li:nth-of-type(1n){clear:none}.medium-block-grid-8>li:nth-of-type(8n+1){clear:both}.medium-block-grid-9>li{width:11.1111111111%;list-style:none}.medium-block-grid-9>li:nth-of-type(1n){clear:none}.medium-block-grid-9>li:nth-of-type(9n+1){clear:both}.medium-block-grid-10>li{width:10%;list-style:none}.medium-block-grid-10>li:nth-of-type(1n){clear:none}.medium-block-grid-10>li:nth-of-type(10n+1){clear:both}.medium-block-grid-11>li{width:9.0909090909%;list-style:none}.medium-block-grid-11>li:nth-of-type(1n){clear:none}.medium-block-grid-11>li:nth-of-type(11n+1){clear:both}.medium-block-grid-12>li{width:8.3333333333%;list-style:none}.medium-block-grid-12>li:nth-of-type(1n){clear:none}.medium-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width:64.063em){.large-block-grid-1>li{width:100%;list-style:none}.large-block-grid-1>li:nth-of-type(1n){clear:none}.large-block-grid-1>li:nth-of-type(1n+1){clear:both}.large-block-grid-2>li{width:50%;list-style:none}.large-block-grid-2>li:nth-of-type(1n){clear:none}.large-block-grid-2>li:nth-of-type(2n+1){clear:both}.large-block-grid-3>li{width:33.3333333333%;list-style:none}.large-block-grid-3>li:nth-of-type(1n){clear:none}.large-block-grid-3>li:nth-of-type(3n+1){clear:both}.large-block-grid-4>li{width:25%;list-style:none}.large-block-grid-4>li:nth-of-type(1n){clear:none}.large-block-grid-4>li:nth-of-type(4n+1){clear:both}.large-block-grid-5>li{width:20%;list-style:none}.large-block-grid-5>li:nth-of-type(1n){clear:none}.large-block-grid-5>li:nth-of-type(5n+1){clear:both}.large-block-grid-6>li{width:16.6666666667%;list-style:none}.large-block-grid-6>li:nth-of-type(1n){clear:none}.large-block-grid-6>li:nth-of-type(6n+1){clear:both}.large-block-grid-7>li{width:14.2857142857%;list-style:none}.large-block-grid-7>li:nth-of-type(1n){clear:none}.large-block-grid-7>li:nth-of-type(7n+1){clear:both}.large-block-grid-8>li{width:12.5%;list-style:none}.large-block-grid-8>li:nth-of-type(1n){clear:none}.large-block-grid-8>li:nth-of-type(8n+1){clear:both}.large-block-grid-9>li{width:11.1111111111%;list-style:none}.large-block-grid-9>li:nth-of-type(1n){clear:none}.large-block-grid-9>li:nth-of-type(9n+1){clear:both}.large-block-grid-10>li{width:10%;list-style:none}.large-block-grid-10>li:nth-of-type(1n){clear:none}.large-block-grid-10>li:nth-of-type(10n+1){clear:both}.large-block-grid-11>li{width:9.0909090909%;list-style:none}.large-block-grid-11>li:nth-of-type(1n){clear:none}.large-block-grid-11>li:nth-of-type(11n+1){clear:both}.large-block-grid-12>li{width:8.3333333333%;list-style:none}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.breadcrumbs{display:block;padding:0.5625rem 0.875rem 0.5625rem;overflow:hidden;margin-left:0;list-style:none;border-style:solid;border-width:1px;background-color:white;border-color:#e6e6e6;border-radius:3px}.breadcrumbs>*{margin:0;float:left;font-size:0.6875rem;line-height:0.6875rem;text-transform:uppercase;color:#222}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#222}.breadcrumbs>*.current{cursor:default;color:#333333}.breadcrumbs>*.current a{cursor:default;color:#333333}.breadcrumbs>*.current:hover,.breadcrumbs>*.current:hover a,.breadcrumbs>*.current:focus,.breadcrumbs>*.current:focus a{text-decoration:none}.breadcrumbs>*.unavailable{color:#999999}.breadcrumbs>*.unavailable a{color:#999999}.breadcrumbs>*.unavailable:hover,.breadcrumbs>*.unavailable:hover a,.breadcrumbs>*.unavailable:focus,.breadcrumbs>*.unavailable a:focus{text-decoration:none;color:#999999;cursor:not-allowed}.breadcrumbs>*:before{content:"/";color:#AAAAAA;margin:0 0.75rem;position:relative;top:1px}.breadcrumbs>*:first-child:before{content:" ";margin:0}[aria-label="breadcrumbs"] [aria-hidden="true"]:after{content:"/"}button,.button{border-style:solid;border-width:0;cursor:pointer;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-decoration:none;text-align:center;-webkit-appearance:none;-moz-appearance:none;border-radius:0;display:inline-block;padding-top:0.875rem;padding-right:1.75rem;padding-bottom:0.9375rem;padding-left:1.75rem;font-size:1rem;background-color:#6b5792;border-color:#564675;color:#FFFFFF;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#564675}button:hover,button:focus,.button:hover,.button:focus{color:#FFFFFF}button.secondary,.button.secondary{background-color:#222;border-color:#1b1b1b;color:#FFFFFF}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#1b1b1b}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#FFFFFF}button.success,.button.success{background-color:#43AC6A;border-color:#368a55;color:#FFFFFF}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{background-color:#368a55}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{color:#FFFFFF}button.alert,.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#FFFFFF}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{background-color:#cf2a0e}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{color:#FFFFFF}button.warning,.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#FFFFFF}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{background-color:#cf6e0e}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{color:#FFFFFF}button.info,.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333333}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{background-color:#61b6d9}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{color:#FFFFFF}button.large,.button.large{padding-top:1rem;padding-right:2rem;padding-bottom:1.0625rem;padding-left:2rem;font-size:1.25rem}button.small,.button.small{padding-top:0.625rem;padding-right:1.25rem;padding-bottom:0.6875rem;padding-left:1.25rem;font-size:0.8125rem}button.tiny,.button.tiny{padding-top:0.375rem;padding-right:0.75rem;padding-bottom:0.4375rem;padding-left:0.75rem;font-size:0.6875rem}button.expand,.button.expand{padding-right:0;padding-left:0;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:0.75rem}button.right-align,.button.right-align{text-align:right;padding-right:0.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#6b5792;border-color:#564675;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#564675}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{color:#FFFFFF}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#6b5792}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#222;border-color:#1b1b1b;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#1b1b1b}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{color:#FFFFFF}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#222}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#43AC6A;border-color:#368a55;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#368a55}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{color:#FFFFFF}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#43AC6A}button.disabled.alert,button[disabled].alert,.button.disabled.alert,.button[disabled].alert{background-color:#f04124;border-color:#cf2a0e;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cf2a0e}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{color:#FFFFFF}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#f04124}button.disabled.warning,button[disabled].warning,.button.disabled.warning,.button[disabled].warning{background-color:#f08a24;border-color:#cf6e0e;color:#FFFFFF;cursor:default;opacity:0.7;box-shadow:none}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#cf6e0e}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{color:#FFFFFF}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#f08a24}button.disabled.info,button[disabled].info,.button.disabled.info,.button[disabled].info{background-color:#a0d3e8;border-color:#61b6d9;color:#333333;cursor:default;opacity:0.7;box-shadow:none}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#61b6d9}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{color:#FFFFFF}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#a0d3e8}button::-moz-focus-inner{border:0;padding:0}@media only screen and (min-width:40.063em){button,.button{display:inline-block}}.button-group{list-style:none;margin:0;left:0}.button-group:before,.button-group:after{content:" ";display:table}.button-group:after{clear:both}.button-group.even-2 li{margin:0 -2px;display:inline-block;width:50%}.button-group.even-2 li>button,.button-group.even-2 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-2 li:first-child button,.button-group.even-2 li:first-child .button{border-left:0}.button-group.even-2 li button,.button-group.even-2 li .button{width:100%}.button-group.even-3 li{margin:0 -2px;display:inline-block;width:33.3333333333%}.button-group.even-3 li>button,.button-group.even-3 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-3 li:first-child button,.button-group.even-3 li:first-child .button{border-left:0}.button-group.even-3 li button,.button-group.even-3 li .button{width:100%}.button-group.even-4 li{margin:0 -2px;display:inline-block;width:25%}.button-group.even-4 li>button,.button-group.even-4 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-4 li:first-child button,.button-group.even-4 li:first-child .button{border-left:0}.button-group.even-4 li button,.button-group.even-4 li .button{width:100%}.button-group.even-5 li{margin:0 -2px;display:inline-block;width:20%}.button-group.even-5 li>button,.button-group.even-5 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-5 li:first-child button,.button-group.even-5 li:first-child .button{border-left:0}.button-group.even-5 li button,.button-group.even-5 li .button{width:100%}.button-group.even-6 li{margin:0 -2px;display:inline-block;width:16.6666666667%}.button-group.even-6 li>button,.button-group.even-6 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-6 li:first-child button,.button-group.even-6 li:first-child .button{border-left:0}.button-group.even-6 li button,.button-group.even-6 li .button{width:100%}.button-group.even-7 li{margin:0 -2px;display:inline-block;width:14.2857142857%}.button-group.even-7 li>button,.button-group.even-7 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-7 li:first-child button,.button-group.even-7 li:first-child .button{border-left:0}.button-group.even-7 li button,.button-group.even-7 li .button{width:100%}.button-group.even-8 li{margin:0 -2px;display:inline-block;width:12.5%}.button-group.even-8 li>button,.button-group.even-8 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-8 li:first-child button,.button-group.even-8 li:first-child .button{border-left:0}.button-group.even-8 li button,.button-group.even-8 li .button{width:100%}.button-group>li{margin:0 -2px;display:inline-block}.button-group>li>button,.button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group>li:first-child button,.button-group>li:first-child .button{border-left:0}.button-group.stack>li{margin:0 -2px;display:inline-block;display:block;margin:0;float:none}.button-group.stack>li>button,.button-group.stack>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-left:0}.button-group.stack>li>button,.button-group.stack>li .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.stack>li>button{width:100%}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{margin:0 -2px;display:inline-block}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}@media only screen and (max-width: 40em){.button-group.stack-for-small>li{margin:0 -2px;display:inline-block;display:block;margin:0;}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.stack-for-small>li>button{width:100%}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{margin:0 -2px;display:inline-block}.button-group.radius>*>button,.button-group.radius>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius>*:first-child button,.button-group.radius>*:first-child .button{border-left:0}.button-group.radius>*,.button-group.radius>*>a,.button-group.radius>*>button,.button-group.radius>*>.button{border-radius:0}.button-group.radius>*:first-child,.button-group.radius>*:first-child>a,.button-group.radius>*:first-child>button,.button-group.radius>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius>*:last-child,.button-group.radius>*:last-child>a,.button-group.radius>*:last-child>button,.button-group.radius>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*{margin:0 -2px;display:inline-block;display:block;margin:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-left:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.radius.stack>*>button{width:100%}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-top:0}.button-group.radius.stack>*,.button-group.radius.stack>*>a,.button-group.radius.stack>*>button,.button-group.radius.stack>*>.button{border-radius:0}.button-group.radius.stack>*:first-child,.button-group.radius.stack>*:first-child>a,.button-group.radius.stack>*:first-child>button,.button-group.radius.stack>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*:last-child,.button-group.radius.stack>*:last-child>a,.button-group.radius.stack>*:last-child>button,.button-group.radius.stack>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}@media only screen and (min-width:40.063em){.button-group.radius.stack-for-small>*{margin:0 -2px;display:inline-block;}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}}@media only screen and (max-width: 40em){.button-group.radius.stack-for-small>*{margin:0 -2px;display:inline-block;display:block;margin:0;}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.radius.stack-for-small>*>button{width:100%}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-top:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}}.button-group.round>*{margin:0 -2px;display:inline-block}.button-group.round>*>button,.button-group.round>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round>*:first-child button,.button-group.round>*:first-child .button{border-left:0}.button-group.round>*,.button-group.round>*>a,.button-group.round>*>button,.button-group.round>*>.button{border-radius:0}.button-group.round>*:first-child,.button-group.round>*:first-child>a,.button-group.round>*:first-child>button,.button-group.round>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round>*:last-child,.button-group.round>*:last-child>a,.button-group.round>*:last-child>button,.button-group.round>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.button-group.round.stack>*{margin:0 -2px;display:inline-block;display:block;margin:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-left:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.round.stack>*>button{width:100%}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-top:0}.button-group.round.stack>*,.button-group.round.stack>*>a,.button-group.round.stack>*>button,.button-group.round.stack>*>.button{border-radius:0}.button-group.round.stack>*:first-child,.button-group.round.stack>*:first-child>a,.button-group.round.stack>*:first-child>button,.button-group.round.stack>*:first-child>.button{-webkit-top-left-radius:0.875rem;-webkit-top-right-radius:0.875rem;border-top-left-radius:0.875rem;border-top-right-radius:0.875rem}.button-group.round.stack>*:last-child,.button-group.round.stack>*:last-child>a,.button-group.round.stack>*:last-child>button,.button-group.round.stack>*:last-child>.button{-webkit-bottom-left-radius:0.875rem;-webkit-bottom-right-radius:0.875rem;border-bottom-left-radius:0.875rem;border-bottom-right-radius:0.875rem}@media only screen and (min-width:40.063em){.button-group.round.stack-for-small>*{margin:0 -2px;display:inline-block;}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}}@media only screen and (max-width: 40em){.button-group.round.stack-for-small>*{margin:0 -2px;display:inline-block;display:block;margin:0;}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-top:1px solid;border-color:rgba(255,255,255,0.5);border-left-width:0;margin:0;display:block}.button-group.round.stack-for-small>*>button{width:100%}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-top:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-top-left-radius:0.875rem;-webkit-top-right-radius:0.875rem;border-top-left-radius:0.875rem;border-top-right-radius:0.875rem}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:0.875rem;-webkit-bottom-right-radius:0.875rem;border-bottom-left-radius:0.875rem;border-bottom-right-radius:0.875rem}}.button-bar:before,.button-bar:after{content:" ";display:table}.button-bar:after{clear:both}.button-bar .button-group{float:left;margin-right:0.625rem}.button-bar .button-group div{overflow:hidden}.clearing-thumbs,[data-clearing]{margin-bottom:0;margin-left:0;list-style:none}.clearing-thumbs:before,.clearing-thumbs:after,[data-clearing]:before,[data-clearing]:after{content:" ";display:table}.clearing-thumbs:after,[data-clearing]:after{clear:both}.clearing-thumbs li,[data-clearing] li{float:left;margin-right:10px}.clearing-thumbs[class*="block-grid-"] li,[data-clearing][class*="block-grid-"] li{margin-right:0}.clearing-blackout{background:#333333;position:fixed;width:100%;height:100%;top:0;left:0;z-index:998}.clearing-blackout .clearing-close{display:block}.clearing-container{position:relative;z-index:998;height:100%;overflow:hidden;margin:0}.clearing-touch-label{position:absolute;top:50%;left:50%;color:#AAAAAA;font-size:0.6em}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;transform:translateY(-50%) translateX(-50%);-webkit-transform:translateY(-50%) translateX(-50%);-ms-transform:translateY(-50%) translateX(-50%);max-height:100%;max-width:100%}.clearing-caption{color:#CCCCCC;font-size:0.875em;line-height:1.3;margin-bottom:0;text-align:center;bottom:0;background:#333333;width:100%;padding:10px 30px 20px;position:absolute;left:0}.clearing-close{z-index:999;padding-left:20px;padding-top:10px;font-size:30px;line-height:1;color:#CCCCCC;display:none}.clearing-close:hover,.clearing-close:focus{color:#CCCCCC}.clearing-assembled .clearing-container{height:100%}.clearing-assembled .clearing-container .carousel>ul{display:none}.clearing-feature li{display:none}.clearing-feature li.clearing-featured-img{display:block}@media only screen and (min-width:40.063em){.clearing-main-prev,.clearing-main-next{position:absolute;height:100%;width:40px;top:0}.clearing-main-prev>span,.clearing-main-next>span{position:absolute;top:50%;display:block;width:0;height:0;border:solid 12px}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:0.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#CCCCCC}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#CCCCCC}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:0.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{display:block;width:120px;min-height:inherit;float:left;overflow:hidden;margin-right:0;padding:0;position:relative;cursor:pointer;opacity:0.4;clear:none}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:0.8}.clearing-assembled .clearing-container .visible-img{background:#333333;overflow:hidden;height:85%}.clearing-close{position:absolute;top:10px;right:20px;padding-left:0;padding-top:0}}.f-dropdown{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:2px;max-width:200px}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent #FFFFFF transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent transparent #cccccc transparent;border-bottom-style:solid;position:absolute;top:-14px;left:9px;z-index:88}.f-dropdown.right:before{left:auto;right:10px}.f-dropdown.right:after{left:auto;right:9px}.f-dropdown.drop-right{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent #FFFFFF transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent #cccccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:transparent transparent transparent #FFFFFF;border-left-style:solid;position:absolute;top:10px;right:-12px;left:auto;z-index:89}.f-dropdown.drop-left:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:transparent transparent transparent #cccccc;border-left-style:solid;position:absolute;top:9px;right:-14px;left:auto;z-index:88}.f-dropdown.drop-top{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;width:100%;max-height:none;height:auto;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;margin-top:-2px;margin-left:0;max-width:200px}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{content:"";display:block;width:0;height:0;border:inset 6px;border-color:#FFFFFF transparent transparent transparent;border-top-style:solid;position:absolute;top:auto;bottom:-12px;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{content:"";display:block;width:0;height:0;border:inset 7px;border-color:#cccccc transparent transparent transparent;border-top-style:solid;position:absolute;top:auto;bottom:-14px;left:9px;right:auto;z-index:88}.f-dropdown li{font-size:0.875rem;cursor:pointer;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#EEEEEE}.f-dropdown li.radius{border-radius:3px}.f-dropdown li a{display:block;padding:0.5rem;color:#555555}.f-dropdown.content{position:absolute;left:-9999px;list-style:none;margin-left:0;outline:none;padding:1.25rem;width:100%;height:auto;max-height:none;background:#FFFFFF;border:solid 1px #cccccc;font-size:0.875rem;z-index:89;max-width:200px}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}.dropdown.button,button.dropdown{position:relative;outline:none;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{position:absolute;content:"";width:0;height:0;display:block;border-style:solid;border-color:#FFFFFF transparent transparent transparent;top:50%}.dropdown.button::after,button.dropdown::after{border-width:0.375rem;right:1.40625rem;margin-top:-0.15625rem}.dropdown.button::after,button.dropdown::after{border-color:#FFFFFF transparent transparent transparent}.dropdown.button.tiny,button.dropdown.tiny{padding-right:2.625rem}.dropdown.button.tiny:after,button.dropdown.tiny:after{border-width:0.375rem;right:1.125rem;margin-top:-0.125rem}.dropdown.button.tiny::after,button.dropdown.tiny::after{border-color:#FFFFFF transparent transparent transparent}.dropdown.button.small,button.dropdown.small{padding-right:3.0625rem}.dropdown.button.small::after,button.dropdown.small::after{border-width:0.4375rem;right:1.3125rem;margin-top:-0.15625rem}.dropdown.button.small::after,button.dropdown.small::after{border-color:#FFFFFF transparent transparent transparent}.dropdown.button.large,button.dropdown.large{padding-right:3.625rem}.dropdown.button.large::after,button.dropdown.large::after{border-width:0.3125rem;right:1.71875rem;margin-top:-0.15625rem}.dropdown.button.large::after,button.dropdown.large::after{border-color:#FFFFFF transparent transparent transparent}.dropdown.button.secondary:after,button.dropdown.secondary:after{border-color:#333333 transparent transparent transparent}.flex-video{position:relative;padding-top:1.5625rem;padding-bottom:67.5%;height:0;margin-bottom:1rem;overflow:hidden}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}form{margin:0 0 1rem}form .row .row{margin:0 -0.5rem}form .row .row .column,form .row .row .columns{padding:0 0.5rem}form .row .row.collapse{margin:0}form .row .row.collapse .column,form .row .row.collapse .columns{padding:0}form .row .row.collapse input{-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}form .row input.column,form .row input.columns,form .row textarea.column,form .row textarea.columns{padding-left:0.5rem}label{font-size:0.875rem;color:#4d4d4d;cursor:pointer;display:block;font-weight:normal;line-height:1.5;margin-bottom:0}label.right{float:none !important;text-align:right}label.inline{margin:0 0 1rem 0;padding:0.5625rem 0}label small{text-transform:capitalize;color:#676767}.prefix,.postfix{display:block;position:relative;z-index:2;text-align:center;width:100%;padding-top:0;padding-bottom:0;border-style:solid;border-width:1px;overflow:visible;font-size:0.875rem;height:2.3125rem;line-height:2.3125rem}.postfix.button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;border:none}.prefix.button{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;text-align:center;border:none}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#f2f2f2;border-right:none;color:#333333;border-color:#cccccc}span.postfix,label.postfix{background:#f2f2f2;border-left:none;color:#333333;border-color:#cccccc}input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],textarea{-webkit-appearance:none;border-radius:0;background-color:#FFFFFF;font-family:inherit;border-style:solid;border-width:1px;border-color:#cccccc;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);color:rgba(0,0,0,0.75);display:block;font-size:0.875rem;margin:0 0 1rem 0;padding:0.5rem;height:2.3125rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;transition:all 0.15s linear}input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999999;outline:none}input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#DDDDDD;cursor:default}input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#DDDDDD;cursor:default}input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select,form .row .prefix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select,form .row .postfix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select,form .row .prefix-round.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select,form .row .postfix-round.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}select{-webkit-appearance:none !important;border-radius:0;background-color:#FAFAFA;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);background-position:100% center;background-repeat:no-repeat;border-style:solid;border-width:1px;border-color:#cccccc;padding:0.5rem;font-size:0.875rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;color:rgba(0,0,0,0.75);line-height:normal;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:hover{background-color:#f3f3f3;border-color:#999999}select:disabled{background-color:#DDDDDD;cursor:default}select[multiple]{height:auto}input[type="file"],input[type="checkbox"],input[type="radio"],select{margin:0 0 1rem 0}input[type="checkbox"]+label,input[type="radio"]+label{display:inline-block;margin-left:0.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type="file"]{width:100%}fieldset{border:1px solid #DDDDDD;padding:1.25rem;margin:1.125rem 0}fieldset legend{font-weight:bold;background:#FFFFFF;padding:0 0.1875rem;margin:0;margin-left:-0.1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#FFFFFF}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#FFFFFF}.error input,.error textarea,.error select{margin-bottom:0}.error input[type="checkbox"],.error input[type="radio"]{margin-bottom:1rem}.error label,.error label.error{color:#f04124}.error small.error{display:block;padding:0.375rem 0.5625rem 0.5625rem;margin-top:-1px;margin-bottom:1rem;font-size:0.75rem;font-weight:normal;font-style:italic;background:#f04124;color:#FFFFFF}.error>label>small{color:#676767;background:transparent;padding:0;text-transform:capitalize;font-style:normal;font-size:60%;margin:0;display:inline}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#f04124}.icon-bar{width:100%;font-size:0;display:inline-block;background:#333333}.icon-bar>*{text-align:center;font-size:1rem;width:25%;margin:0 auto;display:block;padding:1.25rem;float:left}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:0.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{margin:0 0.0625rem 0 0;display:inline-block}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{width:auto;margin:auto;float:none}@media only screen and (min-width:40.063em){.icon-bar.medium-vertical{height:100%;width:auto;}.icon-bar.medium-vertical .item{width:auto;margin:auto;float:none}}@media only screen and (min-width:64.063em){.icon-bar.large-vertical{height:100%;width:auto;}.icon-bar.large-vertical .item{width:auto;margin:auto;float:none}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:0.0625rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{width:1.875rem;height:1.875rem}.icon-bar>* label{color:#FFFFFF}.icon-bar>* i{color:#FFFFFF}.icon-bar>a:hover{background:#222}.icon-bar>a:hover label{color:#FFFFFF}.icon-bar>a:hover i{color:#FFFFFF}.icon-bar>a.active{background:#222}.icon-bar>a.active label{color:#FFFFFF}.icon-bar>a.active i{color:#FFFFFF}.icon-bar .item.disabled{opacity:0.7;cursor:not-allowed;pointer-events:none}.icon-bar .item.disabled>*{opacity:0.7;cursor:not-allowed}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.two-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.two-up.large-vertical .item{width:auto;}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.three-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.three-up.large-vertical .item{width:auto;}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.four-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.four-up.large-vertical .item{width:auto;}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.five-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.five-up.large-vertical .item{width:auto;}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.six-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.six-up.large-vertical .item{width:auto;}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.seven-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.seven-up.large-vertical .item{width:auto;}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width:40.063em){.icon-bar.eight-up.medium-vertical .item{width:auto;}}@media only screen and (min-width:64.063em){.icon-bar.eight-up.large-vertical .item{width:auto;}}.inline-list{margin:0 auto 1.0625rem auto;margin-left:-1.375rem;margin-right:0;padding:0;list-style:none;overflow:hidden}.inline-list>li{list-style:none;float:left;margin-left:1.375rem;display:block}.inline-list>li>*{display:block}.joyride-list{display:none}.joyride-tip-guide{display:none;position:absolute;background:#333333;color:#FFFFFF;z-index:101;top:0;left:2.5%;font-family:inherit;font-weight:normal;width:95%}.lt-ie9 .joyride-tip-guide{max-width:800px;left:50%;margin-left:-400px}.joyride-content-wrapper{width:100%;padding:1.125rem 1.25rem 1.5rem}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{display:block;position:absolute;left:22px;width:0;height:0;border:10px solid #333333}.joyride-tip-guide .joyride-nub.top{border-top-style:solid;border-color:#333333;border-top-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-bottom-style:solid;border-color:#333333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{right:-20px}.joyride-tip-guide .joyride-nub.left{left:-20px}.joyride-tip-guide h1,.joyride-tip-guide h2,.joyride-tip-guide h3,.joyride-tip-guide h4,.joyride-tip-guide h5,.joyride-tip-guide h6{line-height:1.25;margin:0;font-weight:bold;color:#FFFFFF}.joyride-tip-guide p{margin:0 0 1.125rem 0;font-size:0.875rem;line-height:1.3}.joyride-timer-indicator-wrap{width:50px;height:3px;border:solid 1px #555555;position:absolute;right:1.0625rem;bottom:1rem}.joyride-timer-indicator{display:block;width:0;height:inherit;background:#666666}.joyride-close-tip{position:absolute;right:12px;top:10px;color:#777777 !important;text-decoration:none;font-size:24px;font-weight:normal;line-height:0.5 !important}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#EEEEEE !important}.joyride-modal-bg{position:fixed;height:100%;width:100%;background:transparent;background:rgba(0,0,0,0.5);z-index:100;display:none;top:0;left:0;cursor:pointer}.joyride-expose-wrapper{background-color:#FFFFFF;position:absolute;border-radius:3px;z-index:102;box-shadow:0 0 15px #FFFFFF}.joyride-expose-cover{background:transparent;border-radius:3px;position:absolute;z-index:9999;top:0;left:0}@media only screen and (min-width:40.063em){.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333333 !important;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:auto;right:-20px}.joyride-tip-guide .joyride-nub.left{border-color:#333333 !important;border-top-color:transparent !important;border-left-color:transparent !important;border-bottom-color:transparent !important;top:22px;left:-20px;right:auto}}.keystroke,kbd{background-color:#ededed;border-color:#dddddd;color:#222222;border-style:solid;border-width:1px;margin:0;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;padding:0.125rem 0.25rem 0;border-radius:3px}.label{font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;text-align:center;text-decoration:none;line-height:1;white-space:nowrap;display:inline-block;position:relative;margin-bottom:auto;padding:0.25rem 0.5rem 0.25rem;font-size:0.6875rem;background-color:#222;color:#FFFFFF}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#f04124;color:#FFFFFF}.label.warning{background-color:#f08a24;color:#FFFFFF}.label.success{background-color:#43AC6A;color:#FFFFFF}.label.secondary{background-color:#222;color:#FFFFFF}.label.info{background-color:#a0d3e8;color:#333333}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#FFFFFF;z-index:50;min-width:100%;padding:10px}[data-magellan-expedition] .sub-nav,[data-magellan-expedition-clone] .sub-nav{margin-bottom:0}[data-magellan-expedition] .sub-nav dd,[data-magellan-expedition-clone] .sub-nav dd{margin-bottom:0}[data-magellan-expedition] .sub-nav a,[data-magellan-expedition-clone] .sub-nav a{line-height:1.8em}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes rotate{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}@-o-keyframes rotate{from{-o-transform:rotate(0deg)}to{-o-transform:rotate(360deg)}}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slideshow-wrapper{position:relative}.slideshow-wrapper ul{list-style-type:none;margin:0}.slideshow-wrapper ul li,.slideshow-wrapper ul li .orbit-caption{display:none}.slideshow-wrapper ul li:first-child{display:block}.slideshow-wrapper .orbit-container{background-color:transparent}.slideshow-wrapper .orbit-container li{display:block}.slideshow-wrapper .orbit-container li .orbit-caption{display:block}.slideshow-wrapper .orbit-container .orbit-bullets li{display:inline-block}.slideshow-wrapper .preloader{display:block;width:40px;height:40px;position:absolute;top:50%;left:50%;margin-top:-20px;margin-left:-20px;border:solid 3px;border-color:#555555 #FFFFFF;border-radius:1000px;animation-name:rotate;animation-duration:1.5s;animation-iteration-count:infinite;animation-timing-function:linear}.orbit-container{overflow:hidden;width:100%;position:relative;background:none}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;-webkit-transform:translateZ(0)}.orbit-container .orbit-slides-container img{display:block;max-width:100%}.orbit-container .orbit-slides-container>*{position:absolute;top:0;width:100%;margin-left:100%}.orbit-container .orbit-slides-container>*:first-child{margin-left:0}.orbit-container .orbit-slides-container>* .orbit-caption{position:absolute;bottom:0;background-color:rgba(51,51,51,0.8);color:#FFFFFF;width:100%;padding:0.625rem 0.875rem;font-size:0.875rem}.orbit-container .orbit-slide-number{position:absolute;top:10px;left:10px;font-size:12px;color:#FFFFFF;background:rgba(0,0,0,0);z-index:10}.orbit-container .orbit-slide-number span{font-weight:700;padding:0.3125rem}.orbit-container .orbit-timer{position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10}.orbit-container .orbit-timer .orbit-progress{height:3px;background-color:rgba(255,255,255,0.3);display:block;width:0;position:relative;right:20px;top:5px}.orbit-container .orbit-timer>span{display:none;position:absolute;top:0;right:0;width:11px;height:14px;border:solid 4px #FFFFFF;border-top:none;border-bottom:none}.orbit-container .orbit-timer.paused>span{right:-4px;top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#FFFFFF}.orbit-container .orbit-timer.paused>span.dark{border-left-color:#333333}.orbit-container:hover .orbit-timer>span{display:block}.orbit-container .orbit-prev,.orbit-container .orbit-next{position:absolute;top:45%;margin-top:-25px;width:36px;height:60px;line-height:50px;color:white;background-color:transparent;text-indent:-9999px !important;z-index:10}.orbit-container .orbit-prev:hover,.orbit-container .orbit-next:hover{background-color:transparent}.orbit-container .orbit-prev>span,.orbit-container .orbit-next>span{position:absolute;top:50%;margin-top:-10px;display:block;width:0;height:0;border:inset 10px}.orbit-container .orbit-prev{left:0}.orbit-container .orbit-prev>span{border-right-style:solid;border-color:transparent;border-right-color:#6b5792}.orbit-container .orbit-prev:hover>span{border-right-color:#6b5792}.orbit-container .orbit-next{right:0}.orbit-container .orbit-next>span{border-color:transparent;border-left-style:solid;border-left-color:#6b5792;left:50%;margin-left:-4px}.orbit-container .orbit-next:hover>span{border-left-color:#6b5792}.orbit-bullets-container{text-align:center}.orbit-bullets{margin:0 auto 30px auto;overflow:hidden;position:relative;top:10px;float:none;text-align:center;display:block}.orbit-bullets li{cursor:pointer;display:inline-block;width:0.5625rem;height:0.5625rem;background:#CCCCCC;float:none;margin-right:6px;border-radius:1000px}.orbit-bullets li.active{background:#999999}.orbit-bullets li:last-child{margin-right:0}.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:none}.touch .orbit-bullets{display:none}@media only screen and (min-width:40.063em){.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:inherit}.touch .orbit-bullets{display:block}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container{height:auto !important}.orbit-stack-on-small .orbit-slides-container>*{position:relative;margin:0 !important;opacity:1 !important}.orbit-stack-on-small .orbit-slide-number{display:none}.orbit-timer{display:none}.orbit-next,.orbit-prev{display:none}.orbit-bullets{display:none}}ul.pagination{display:block;min-height:1.5rem;margin-left:-0.3125rem}ul.pagination li{height:1.5rem;color:#222222;font-size:0.875rem;margin-left:0.3125rem}ul.pagination li a,ul.pagination li button{display:block;padding:0.0625rem 0.625rem 0.0625rem;color:#999999;background:none;border-radius:3px;font-weight:normal;font-size:1em;line-height:inherit;transition:background-color 300ms ease-out}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999999}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#222;color:#FFFFFF;font-weight:bold;cursor:default}ul.pagination li.current a:hover,ul.pagination li.current a:focus,ul.pagination li.current button:hover,ul.pagination li.current button:focus{background:#222}ul.pagination li{float:left;display:block}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{float:none;display:inline-block}.panel{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#333333}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6,.panel p,.panel li,.panel dl{color:#333333}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6{line-height:1;margin-bottom:0.625rem}.panel h1.subheader,.panel h2.subheader,.panel h3.subheader,.panel h4.subheader,.panel h5.subheader,.panel h6.subheader{line-height:1.4}.panel.callout{border-style:solid;border-width:1px;border-color:#d7d7d7;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#333333}.panel.callout>:first-child{margin-top:0}.panel.callout>:last-child{margin-bottom:0}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6,.panel.callout p,.panel.callout li,.panel.callout dl{color:#333333}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6{line-height:1;margin-bottom:0.625rem}.panel.callout h1.subheader,.panel.callout h2.subheader,.panel.callout h3.subheader,.panel.callout h4.subheader,.panel.callout h5.subheader,.panel.callout h6.subheader{line-height:1.4}.panel.callout a:not(.button){color:#222}.panel.callout a:not(.button):hover,.panel.callout a:not(.button):focus{color:#1d1d1d}.panel.radius{border-radius:3px}.pricing-table{border:solid 1px #DDDDDD;margin-left:0;margin-bottom:1.25rem}.pricing-table *{list-style:none;line-height:1}.pricing-table .title{background-color:#333333;padding:0.9375rem 1.25rem;text-align:center;color:#EEEEEE;font-weight:normal;font-size:1rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pricing-table .price{background-color:#F6F6F6;padding:0.9375rem 1.25rem;text-align:center;color:#333333;font-weight:normal;font-size:2rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.pricing-table .description{background-color:#FFFFFF;padding:0.9375rem;text-align:center;color:#777777;font-size:0.75rem;font-weight:normal;line-height:1.4;border-bottom:dotted 1px #DDDDDD}.pricing-table .bullet-item{background-color:#FFFFFF;padding:0.9375rem;text-align:center;color:#333333;font-size:0.875rem;font-weight:normal;border-bottom:dotted 1px #DDDDDD}.pricing-table .cta-button{background-color:#FFFFFF;text-align:center;padding:1.25rem 1.25rem 0}.progress{background-color:#F6F6F6;height:1.5625rem;border:1px solid white;padding:0.125rem;margin-bottom:0.625rem}.progress .meter{background:#222;height:100%;display:block}.progress.secondary .meter{background:#222;height:100%;display:block}.progress.success .meter{background:#43AC6A;height:100%;display:block}.progress.alert .meter{background:#f04124;height:100%;display:block}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.range-slider{position:relative;border:1px solid #DDDDDD;margin:1.25rem 0;-ms-touch-action:none;touch-action:none;display:block;width:100%;height:1rem;background:#FAFAFA}.range-slider.vertical-range{position:relative;border:1px solid #DDDDDD;margin:1.25rem 0;-ms-touch-action:none;touch-action:none;display:inline-block;width:1rem;height:12.5rem}.range-slider.vertical-range .range-slider-handle{margin-top:0;margin-left:-0.5rem;position:absolute;bottom:-10.5rem}.range-slider.vertical-range .range-slider-active-segment{width:0.875rem;height:auto;bottom:0}.range-slider.radius{background:#FAFAFA;border-radius:3px}.range-slider.radius .range-slider-handle{background:#222;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#1e1e1e}.range-slider.round{background:#FAFAFA;border-radius:1000px}.range-slider.round .range-slider-handle{background:#222;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#1e1e1e}.range-slider.disabled,.range-slider[disabled]{background:#FAFAFA;cursor:not-allowed;opacity:0.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#222;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#1e1e1e}.range-slider-active-segment{display:inline-block;position:absolute;height:0.875rem;background:#222222}.range-slider-handle{display:inline-block;position:absolute;z-index:1;top:-0.3125rem;width:2rem;height:1.375rem;border:1px solid none;cursor:pointer;-ms-touch-action:manipulation;touch-action:manipulation;background:#222}.range-slider-handle:hover{background:#1e1e1e}.reveal-modal-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000000;background:rgba(0,0,0,0.45);z-index:1004;display:none;left:0}.reveal-modal{visibility:hidden;display:none;position:absolute;z-index:1005;width:100%;top:0;border-radius:3px;left:0;background-color:#FFFFFF;padding:1.875rem;border:solid 1px #666666;box-shadow:0 0 10px rgba(0,0,0,0.4)}@media only screen and (max-width: 40em){.reveal-modal{min-height:100vh;}}.reveal-modal .column,.reveal-modal .columns{min-width:0}.reveal-modal>:first-child{margin-top:0}.reveal-modal>:last-child{margin-bottom:0}@media only screen and (min-width:40.063em){.reveal-modal{width:80%;max-width:960px;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal{top:6.25rem;}}.reveal-modal.radius{border-radius:3px}.reveal-modal.round{border-radius:1000px}.reveal-modal.collapse{padding:0}@media only screen and (min-width:40.063em){.reveal-modal.tiny{width:30%;max-width:960px;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.small{width:40%;max-width:960px;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.medium{width:60%;max-width:960px;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.large{width:70%;max-width:960px;left:0;right:0;margin:0 auto;}}@media only screen and (min-width:40.063em){.reveal-modal.xlarge{width:95%;max-width:960px;left:0;right:0;margin:0 auto;}}.reveal-modal.full{top:0;left:0;height:100%;height:100vh;min-height:100vh;max-width:none !important;margin-left:0 !important}@media only screen and (min-width:40.063em){.reveal-modal.full{width:100%;max-width:960px;left:0;right:0;margin:0 auto;}}.reveal-modal.toback{z-index:1003}.reveal-modal .close-reveal-modal{font-size:2.5rem;line-height:1;position:absolute;top:0.625rem;right:1.375rem;color:#AAAAAA;font-weight:bold;cursor:pointer}.side-nav{display:block;margin:0;padding:0.875rem 0;list-style-type:none;list-style-position:outside;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.side-nav li{margin:0 0 0.4375rem 0;font-size:0.875rem;font-weight:normal}.side-nav li a:not(.button){display:block;color:#222;margin:0;padding:0.4375rem 0.875rem}.side-nav li a:not(.button):hover,.side-nav li a:not(.button):focus{background:rgba(0,0,0,0.025);color:#646464}.side-nav li.active>a:first-child:not(.button){color:#646464;font-weight:normal;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif}.side-nav li.divider{border-top:1px solid;height:0;padding:0;list-style:none;border-top-color:white}.side-nav li.heading{color:#222;font-size:0.875rem;font-weight:bold;text-transform:uppercase}.split.button{position:relative;padding-right:5.0625rem}.split.button span{display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px}.split.button span:after{position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%}.split.button span:active{background-color:rgba(0,0,0,0.1)}.split.button span{border-left-color:rgba(255,255,255,0.5)}.split.button span{width:3.09375rem}.split.button span:after{border-top-style:solid;border-width:0.375rem;top:48%;margin-left:-0.375rem}.split.button span:after{border-color:#FFFFFF transparent transparent transparent}.split.button.secondary span{border-left-color:rgba(255,255,255,0.5)}.split.button.secondary span:after{border-color:#FFFFFF transparent transparent transparent}.split.button.alert span{border-left-color:rgba(255,255,255,0.5)}.split.button.success span{border-left-color:rgba(255,255,255,0.5)}.split.button.tiny{padding-right:3.75rem}.split.button.tiny span{width:2.25rem}.split.button.tiny span:after{border-top-style:solid;border-width:0.375rem;top:48%;margin-left:-0.375rem}.split.button.small{padding-right:4.375rem}.split.button.small span{width:2.625rem}.split.button.small span:after{border-top-style:solid;border-width:0.4375rem;top:48%;margin-left:-0.375rem}.split.button.large{padding-right:5.5rem}.split.button.large span{width:3.4375rem}.split.button.large span:after{border-top-style:solid;border-width:0.3125rem;top:48%;margin-left:-0.375rem}.split.button.expand{padding-left:2rem}.split.button.secondary span:after{border-color:#333333 transparent transparent transparent}.split.button.radius span{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.split.button.round span{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.split.button.no-pip span:before{border-style:none}.split.button.no-pip span:after{border-style:none}.split.button.no-pip span>i{top:50%;display:block;position:absolute;left:50%;margin-left:-0.28889em;margin-top:-0.48889em}.sub-nav{display:block;width:auto;overflow:hidden;margin-bottom:-0.25rem 0 1.125rem;padding-top:0.25rem}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{float:left;margin-left:1rem;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-size:0.875rem;color:#999999}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{text-decoration:none;color:#999999;padding:0.1875rem 1rem}.sub-nav dt a:hover,.sub-nav dd a:hover,.sub-nav li a:hover{color:#737373}.sub-nav dt.active a,.sub-nav dd.active a,.sub-nav li.active a{border-radius:3px;font-weight:normal;background:#222;padding:0.1875rem 1rem;cursor:default;color:#FFFFFF}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#1d1d1d}.switch{padding:0;border:none;position:relative;outline:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch label{display:block;margin-bottom:1rem;position:relative;color:transparent;background:#DDDDDD;text-indent:100%;width:4rem;height:2rem;cursor:pointer;transition:left 0.15s ease-out}.switch input{opacity:0;position:absolute;top:9px;left:10px;padding:0}.switch input+label{margin-left:0;margin-right:0}.switch label:after{content:"";display:block;background:#FFFFFF;position:absolute;top:0.25rem;left:0.25rem;width:1.5rem;height:1.5rem;-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;-o-transition:translate3d(0, 0, 0);transition:left 0.15s ease-out;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#222}.switch input:checked+label:after{left:2.25rem}.switch label{width:4rem;height:2rem}.switch label:after{width:1.5rem;height:1.5rem}.switch input:checked+label:after{left:2.25rem}.switch label{color:transparent;background:#DDDDDD}.switch label:after{background:#FFFFFF}.switch input:checked+label{background:#222}.switch.large label{width:5rem;height:2.5rem}.switch.large label:after{width:2rem;height:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{width:3.5rem;height:1.75rem}.switch.small label:after{width:1.25rem;height:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{width:3rem;height:1.5rem}.switch.tiny label:after{width:1rem;height:1rem}.switch.tiny input:checked+label:after{left:1.75rem}.switch.radius label{border-radius:4px}.switch.radius label:after{border-radius:3px}.switch.round{border-radius:1000px}.switch.round label{border-radius:2rem}.switch.round label:after{border-radius:2rem}table{background:#FFFFFF;margin-bottom:1.25rem;border:solid 1px #DDDDDD;table-layout:auto}table caption{background:transparent;color:#222222;font-size:1rem;font-weight:bold}table thead{background:#F5F5F5}table thead tr th,table thead tr td{padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222222}table tfoot{background:#F5F5F5}table tfoot tr th,table tfoot tr td{padding:0.5rem 0.625rem 0.625rem;font-size:0.875rem;font-weight:bold;color:#222222}table tr th,table tr td{padding:0.5625rem 0.625rem;font-size:0.875rem;color:#222222;text-align:left}table tr.even,table tr.alt,table tr:nth-of-type(even){background:#F9F9F9}table thead tr th,table tfoot tr th,table tfoot tr td,table tbody tr th,table tbody tr td,table tr td{display:table-cell;line-height:1.125rem}.tabs{margin-bottom:0 !important;margin-left:0}.tabs:before,.tabs:after{content:" ";display:table}.tabs:after{clear:both}.tabs dd,.tabs .tab-title{position:relative;margin-bottom:0 !important;list-style:none;float:left}.tabs dd>a,.tabs .tab-title>a{display:block;background-color:#EFEFEF;color:#222222;padding:1rem 2rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem}.tabs dd>a:hover,.tabs .tab-title>a:hover{background-color:#e1e1e1}.tabs dd>a:focus,.tabs .tab-title>a:focus{outline:none}.tabs dd.active a,.tabs .tab-title.active a{background-color:#FFFFFF;color:#222222}.tabs.radius dd:first-child a,.tabs.radius .tab:first-child a{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.tabs.radius dd:last-child a,.tabs.radius .tab:last-child a{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.tabs.vertical dd,.tabs.vertical .tab-title{position:inherit;float:none;display:block;top:auto}.tabs-content{margin-bottom:1.5rem;width:100%}.tabs-content:before,.tabs-content:after{content:" ";display:table}.tabs-content:after{clear:both}.tabs-content>.content{display:none;float:left;padding:0.3125rem 0;width:100%}.tabs-content>.content.active{display:block;float:none}.tabs-content>.content.contained{padding:0.3125rem}.tabs-content.vertical{display:block}.tabs-content.vertical>.content{padding:0 0.3125rem}@media only screen and (min-width:40.063em){.tabs.vertical{width:20%;max-width:20%;float:left;margin:0 0 1.25rem}.tabs-content.vertical{width:80%;max-width:80%;float:left;margin-left:-1px;padding-left:1rem}}.no-js .tabs-content>.content{display:block;float:none}.th{line-height:0;display:inline-block;border:solid 4px #FFFFFF;max-width:100%;box-shadow:0 0 0 1px rgba(0,0,0,0.2);transition:all 200ms ease-out}.th:hover,.th:focus{box-shadow:0 0 6px 1px rgba(34,34,34,0.5)}.th.radius{border-radius:3px}.has-tip{border-bottom:dotted 1px #CCCCCC;cursor:help;font-weight:bold;color:#333333}.has-tip:hover,.has-tip:focus{border-bottom:dotted 1px #0f0f0f;color:#222}.has-tip.tip-left,.has-tip.tip-right{float:none !important}.tooltip{display:none;position:absolute;z-index:1006;font-weight:normal;font-size:0.875rem;line-height:1.3;padding:0.75rem;max-width:300px;left:50%;width:100%;color:#FFFFFF;background:#333333}.tooltip>.nub{display:block;left:5px;position:absolute;width:0;height:0;border:solid 5px;border-color:transparent transparent #333333 transparent;top:-10px;pointer-events:none}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{color:#222 !important;border-bottom:dotted 1px #0f0f0f !important}.tap-to-close{display:block;font-size:0.625rem;color:#777777;font-weight:normal}@media only screen and (min-width:40.063em){.tooltip>.nub{border-color:transparent transparent #333333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333333 transparent transparent transparent;top:auto;bottom:-10px}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333333;right:-10px;left:auto;top:50%;margin-top:-5px}.tooltip.tip-right>.nub{border-color:transparent #333333 transparent transparent;right:auto;left:-10px;top:50%;margin-top:-5px}}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.063em)/";width:40.063em}.contain-to-grid{width:100%;background:#fff}.contain-to-grid .top-bar{margin-bottom:0}.fixed{width:100%;left:0;position:fixed;top:0;z-index:99}.fixed.expanded:not(.top-bar){overflow-y:auto;height:auto;width:100%;max-height:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{z-index:98;margin-top:2.3125rem}.top-bar{overflow:hidden;height:2.3125rem;line-height:2.3125rem;position:relative;background:#fff;margin-bottom:0}.top-bar ul{margin-bottom:0;list-style:none}.top-bar .row{max-width:none}.top-bar form,.top-bar input{margin-bottom:0}.top-bar input{height:1.75rem;padding-top:0.35rem;padding-bottom:0.35rem;font-size:0.75rem}.top-bar .button,.top-bar button{padding-top:0.4125rem;padding-bottom:0.4125rem;margin-bottom:0;font-size:0.75rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px;}}.top-bar .title-area{position:relative;margin:0}.top-bar .name{height:2.3125rem;margin:0;font-size:16px}.top-bar .name h1,.top-bar .name h2,.top-bar .name h3,.top-bar .name h4,.top-bar .name p,.top-bar .name span{line-height:2.3125rem;font-size:1.0625rem;margin:0}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name p a,.top-bar .name span a{font-weight:normal;color:#222;width:75%;display:block;padding:0 0.7708333333rem}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#222;text-transform:uppercase;font-size:0.8125rem;font-weight:bold;position:relative;display:block;padding:0 0.7708333333rem;height:2.3125rem;line-height:2.3125rem}.top-bar .toggle-topbar.menu-icon{top:50%;margin-top:-16px}.top-bar .toggle-topbar.menu-icon a{height:34px;line-height:33px;padding:0 2.3333333333rem 0 0.7708333333rem;color:#222;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";position:absolute;display:block;height:0;top:50%;margin-top:-8px;right:0.7708333333rem;box-shadow:0 0 0 1px #222,0 7px 0 1px #222,0 14px 0 1px #222;width:16px}.top-bar .toggle-topbar.menu-icon a span:hover:after{box-shadow:0 0 0 1px "",0 7px 0 1px "",0 14px 0 1px ""}.top-bar.expanded{height:auto;background:transparent}.top-bar.expanded .title-area{background:#fff}.top-bar.expanded .toggle-topbar a{color:#888888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888888,0 7px 0 1px #888888,0 14px 0 1px #888888}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{padding:0;width:100%;height:auto;display:block;font-size:16px;margin:0}.top-bar-section .divider,.top-bar-section [role="separator"]{border-top:solid 1px gray;clear:both;height:1px;width:100%}.top-bar-section ul li{background:#fff}.top-bar-section ul li>a{display:block;width:100%;color:#222;padding:12px 0 12px 0;padding-left:0.7708333333rem;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.9375rem;font-weight:normal;text-transform:uppercase}.top-bar-section ul li>a.button{font-size:0.9375rem;padding-right:0.7708333333rem;padding-left:0.7708333333rem;background-color:#222;border-color:#1b1b1b;color:#FFFFFF}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#1b1b1b}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{color:#FFFFFF}.top-bar-section ul li>a.button.secondary{background-color:#222;border-color:#1b1b1b;color:#FFFFFF}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#1b1b1b}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#FFFFFF}.top-bar-section ul li>a.button.success{background-color:#43AC6A;border-color:#368a55;color:#FFFFFF}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{background-color:#368a55}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{color:#FFFFFF}.top-bar-section ul li>a.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#FFFFFF}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{color:#FFFFFF}.top-bar-section ul li>a.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#FFFFFF}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{color:#FFFFFF}.top-bar-section ul li>button{font-size:0.9375rem;padding-right:0.7708333333rem;padding-left:0.7708333333rem;background-color:#222;border-color:#1b1b1b;color:#FFFFFF}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{background-color:#1b1b1b}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{color:#FFFFFF}.top-bar-section ul li>button.secondary{background-color:#222;border-color:#1b1b1b;color:#FFFFFF}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{background-color:#1b1b1b}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{color:#FFFFFF}.top-bar-section ul li>button.success{background-color:#43AC6A;border-color:#368a55;color:#FFFFFF}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{background-color:#368a55}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{color:#FFFFFF}.top-bar-section ul li>button.alert{background-color:#f04124;border-color:#cf2a0e;color:#FFFFFF}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{color:#FFFFFF}.top-bar-section ul li>button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#FFFFFF}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{color:#FFFFFF}.top-bar-section ul li:hover:not(.has-form)>a{background-color:#555555;background:#6b5792;color:#fff}.top-bar-section ul li.active>a{background:#6b5792;color:#fff}.top-bar-section ul li.active>a:hover{background:#6b5792;color:#fff}.top-bar-section .has-form{padding:0.7708333333rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{content:"";display:block;width:0;height:0;border:inset 5px;border-color:transparent transparent transparent rgba(255,255,255,0.4);border-left-style:solid;margin-right:0.7708333333rem;margin-top:-4.5px;position:absolute;top:50%;right:0}.top-bar-section .has-dropdown.moved{position:static}.top-bar-section .has-dropdown.moved>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{padding:0;position:absolute;left:100%;top:0;z-index:99;display:block;position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}.top-bar-section .dropdown li{width:100%;height:auto}.top-bar-section .dropdown li a{font-weight:normal;padding:8px 0.7708333333rem}.top-bar-section .dropdown li a.parent-link{font-weight:normal}.top-bar-section .dropdown li.title h5,.top-bar-section .dropdown li.parent-link{margin-bottom:0;margin-top:0;font-size:1.125rem}.top-bar-section .dropdown li.title h5 a,.top-bar-section .dropdown li.parent-link a{color:#222;display:block}.top-bar-section .dropdown li.title h5 a:hover,.top-bar-section .dropdown li.parent-link a:hover{background:none}.top-bar-section .dropdown li.has-form{padding:8px 0.7708333333rem}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{padding:8px 0.7708333333rem 2px;margin-bottom:0;text-transform:uppercase;color:#777777;font-weight:bold;font-size:0.625rem}.js-generated{display:block}@media only screen and (min-width:40.063em){.top-bar{background:#fff;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name h5 a,.top-bar .name h6 a{width:auto}.top-bar input,.top-bar .button,.top-bar button{font-size:0.875rem;position:relative;height:1.75rem;top:0.28125rem}.top-bar.expanded{background:#fff}.contain-to-grid .top-bar{max-width:960px;margin:0 auto;margin-bottom:0}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{width:auto;height:auto !important;display:inline}.top-bar-section ul li{float:left}.top-bar-section ul li .js-generated{display:none}.top-bar-section li.hover>a:not(.button){background-color:#555555;background:#6b5792;color:#fff}.top-bar-section li:not(.has-form) a:not(.button){padding:0 0.7708333333rem;line-height:2.3125rem;background:#fff}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555555;background:#6b5792}.top-bar-section li.active:not(.has-form) a:not(.button){padding:0 0.7708333333rem;line-height:2.3125rem;color:#fff;background:#6b5792}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#6b5792;color:#fff}.top-bar-section .has-dropdown>a{padding-right:2.0208333333rem !important}.top-bar-section .has-dropdown>a:after{content:"";display:block;width:0;height:0;border:inset 5px;border-color:rgba(255,255,255,0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:1.15625rem}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{display:block;position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.top-bar-section .has-dropdown .dropdown li.has-dropdown>a:after{border:none;content:"\00bb";top:1rem;margin-top:-1px;right:5px;line-height:1.2}.top-bar-section .dropdown{left:0;top:auto;background:transparent;min-width:100%}.top-bar-section .dropdown li a{color:#fff;line-height:2.3125rem;white-space:nowrap;padding:12px 0.7708333333rem;background:#6b5792}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){color:#fff;background:#6b5792}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){color:#fff;background-color:#555555;background:#6b5792}.top-bar-section .dropdown li label{white-space:nowrap;background:#333333}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-bottom:none;border-top:none;border-right:solid 1px white;clear:none;height:2.3125rem;width:0}.top-bar-section .has-form{background:#fff;padding:0 0.7708333333rem;height:2.3125rem}.top-bar-section .right li .dropdown{left:auto;right:0}.top-bar-section .right li .dropdown li .dropdown{right:100%}.top-bar-section .left li .dropdown{right:auto;left:0}.top-bar-section .left li .dropdown li .dropdown{left:100%}.no-js .top-bar-section ul li:hover>a{background-color:#555555;background:#6b5792;color:#fff}.no-js .top-bar-section ul li:active>a{background:#6b5792;color:#fff}.no-js .top-bar-section .has-dropdown:hover>.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{display:block;position:static !important;height:auto;width:auto;overflow:visible;clip:auto;position:absolute !important}}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width:40.063em) and (max-width:64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width:40.063em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width:64.063em) and (max-width:90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width:64.063em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width:90.063em) and (max-width:120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width:90.063em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width:120.063em) and (max-width:99999999em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width:120.063em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#222;text-decoration:none;line-height:inherit}a:hover,a:focus{color:#1d1d1d}a img{border:none}p{font-family:inherit;font-weight:normal;font-size:1rem;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.21875rem;line-height:1.6}p aside{font-size:0.875rem;line-height:1.35;font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;font-style:normal;color:#222222;text-rendering:optimizeLegibility;margin-top:0.2rem;margin-bottom:0.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:60%;color:#6f6f6f;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:0.2rem;margin-bottom:0.5rem}hr{border:solid #DDDDDD;border-width:1px 0 0;clear:both;margin:1.25rem 0 1.1875rem;height:0}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;color:#333333;background-color:#bdbdbd;border-width:1px;border-style:solid;border-color:#aaaaaa;padding:0.125rem 0.3125rem 0.0625rem}ul,ol,dl{font-size:1rem;line-height:1.6;margin-bottom:1.25rem;list-style-position:outside;font-family:inherit}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #DDDDDD}blockquote{margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #DDDDDD}blockquote cite{display:block;font-size:0.8125rem;color:#555555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #DDDDDD;padding:0.625rem 0.75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:0.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem}@media only screen and (min-width:40.063em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#333333;color:#FFFFFF;height:2.8125rem;line-height:2.8125rem;position:relative}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4,.tab-bar h5,.tab-bar h6{color:#FFFFFF;font-weight:bold;line-height:2.8125rem;margin:0}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4{font-size:1.125rem}.left-small{width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-right:solid 1px #1a1a1a;left:0}.right-small{width:2.8125rem;height:2.8125rem;position:absolute;top:0;border-left:solid 1px #1a1a1a;right:0}.tab-bar-section{padding:0 0.625rem;position:absolute;text-align:center;height:2.8125rem;top:0}@media only screen and (min-width:40.063em){.tab-bar-section.left{text-align:left}.tab-bar-section.right{text-align:right}}.tab-bar-section.left{left:0;right:2.8125rem}.tab-bar-section.right{left:2.8125rem;right:0}.tab-bar-section.middle{left:2.8125rem;right:2.8125rem}.tab-bar .menu-icon{text-indent:2.1875rem;width:2.8125rem;height:2.8125rem;display:block;padding:0;color:#FFFFFF;position:relative;transform:translate3d(0, 0, 0)}.tab-bar .menu-icon span::after{content:"";position:absolute;display:block;height:0;top:50%;margin-top:-0.5rem;left:0.90625rem;box-shadow:0 0 0 1px #FFFFFF,0 7px 0 1px #FFFFFF,0 14px 0 1px #FFFFFF;width:1rem}.tab-bar .menu-icon span:hover:after{box-shadow:0 0 0 1px #b3b3b3,0 7px 0 1px #b3b3b3,0 14px 0 1px #b3b3b3}.left-off-canvas-menu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1001;box-sizing:content-box;transition:transform 500ms ease 0s;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-transform:translate(-100%, 0);-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1001;box-sizing:content-box;transition:transform 500ms ease 0s;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;-ms-transform:translate(100%, 0);-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;padding:0;margin:0}ul.off-canvas-list li label{display:block;padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-size:0.75rem;font-weight:bold;background:#444444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}ul.off-canvas-list li a{display:block;padding:0.6666666667rem;color:rgba(255,255,255,0.7);border-bottom:1px solid #262626;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#242424}.move-right>.inner-wrap{-ms-transform:translate(15.625rem, 0);-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate3d(15.625rem, 0, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.move-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-left>.inner-wrap{-ms-transform:translate(-15.625rem, 0);-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate3d(-15.625rem, 0, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.offcanvas-overlap .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-left .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-left .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.offcanvas-overlap-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-right .left-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-right .exit-off-canvas{-webkit-backface-visibility:hidden;transition:background 300ms ease;cursor:pointer;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);display:block;position:absolute;background:rgba(255,255,255,0.2);top:0;bottom:0;left:0;right:0;z-index:1002;-webkit-tap-highlight-color:rgba(0,0,0,0)}@media only screen and (min-width:40.063em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.left-submenu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;margin:0;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1002;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-transform:translate(-100%, 0);-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}.left-submenu .back>a:hover{background:#303030;border-top:1px solid #5e5e5e;border-bottom:none}.left-submenu .back>a:before{content:"\AB";margin-right:0.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{-ms-transform:translate(0%, 0);-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.right-submenu{-webkit-backface-visibility:hidden;width:15.625rem;top:0;bottom:0;position:absolute;margin:0;overflow-x:hidden;overflow-y:auto;background:#333333;z-index:1002;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-transform:translate(100%, 0);-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{padding:0.3rem 0.9375rem;color:#999999;text-transform:uppercase;font-weight:bold;background:#444;border-top:1px solid #5e5e5e;border-bottom:none;margin:0}.right-submenu .back>a:hover{background:#303030;border-top:1px solid #5e5e5e;border-bottom:none}.right-submenu .back>a:after{content:"\BB";margin-left:0.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{-ms-transform:translate(0%, 0);-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:0.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:0.5rem;display:inline}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:40.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:64.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:90.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xlarge,td.show-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width:120.063em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.hidden-for-xxlarge-down{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xlarge,table.hide-for-xlarge-down,table.show-for-xxlarge-only,table.show-for-xxlarge-up,table.show-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xlarge,thead.hide-for-xlarge-down,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up,thead.show-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xlarge,tbody.hide-for-xlarge-down,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up,tbody.show-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xlarge,tr.hide-for-xlarge-down,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up,tr.show-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.hide-for-xlarge-down,td.hide-for-xlarge-down,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up,th.show-for-xxlarge,td.show-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}.print-only{display:none !important}@media print{*{background:transparent !important;color:#000000 !important;box-shadow:none !important;text-shadow:none !important}.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm;}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.hide-on-print{display:none !important}.print-only{display:block !important}.hide-for-print{display:none !important}.show-for-print{display:inherit !important}}@media print{.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}
|
skin/frontend/foungento/default/css/normalize.css
ADDED
@@ -0,0 +1,427 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
|
2 |
+
|
3 |
+
/**
|
4 |
+
* 1. Set default font family to sans-serif.
|
5 |
+
* 2. Prevent iOS text size adjust after orientation change, without disabling
|
6 |
+
* user zoom.
|
7 |
+
*/
|
8 |
+
|
9 |
+
html {
|
10 |
+
font-family: sans-serif; /* 1 */
|
11 |
+
-ms-text-size-adjust: 100%; /* 2 */
|
12 |
+
-webkit-text-size-adjust: 100%; /* 2 */
|
13 |
+
}
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Remove default margin.
|
17 |
+
*/
|
18 |
+
|
19 |
+
body {
|
20 |
+
margin: 0;
|
21 |
+
}
|
22 |
+
|
23 |
+
/* HTML5 display definitions
|
24 |
+
========================================================================== */
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Correct `block` display not defined for any HTML5 element in IE 8/9.
|
28 |
+
* Correct `block` display not defined for `details` or `summary` in IE 10/11
|
29 |
+
* and Firefox.
|
30 |
+
* Correct `block` display not defined for `main` in IE 11.
|
31 |
+
*/
|
32 |
+
|
33 |
+
article,
|
34 |
+
aside,
|
35 |
+
details,
|
36 |
+
figcaption,
|
37 |
+
figure,
|
38 |
+
footer,
|
39 |
+
header,
|
40 |
+
hgroup,
|
41 |
+
main,
|
42 |
+
menu,
|
43 |
+
nav,
|
44 |
+
section,
|
45 |
+
summary {
|
46 |
+
display: block;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* 1. Correct `inline-block` display not defined in IE 8/9.
|
51 |
+
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
|
52 |
+
*/
|
53 |
+
|
54 |
+
audio,
|
55 |
+
canvas,
|
56 |
+
progress,
|
57 |
+
video {
|
58 |
+
display: inline-block; /* 1 */
|
59 |
+
vertical-align: baseline; /* 2 */
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Prevent modern browsers from displaying `audio` without controls.
|
64 |
+
* Remove excess height in iOS 5 devices.
|
65 |
+
*/
|
66 |
+
|
67 |
+
audio:not([controls]) {
|
68 |
+
display: none;
|
69 |
+
height: 0;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Address `[hidden]` styling not present in IE 8/9/10.
|
74 |
+
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
|
75 |
+
*/
|
76 |
+
|
77 |
+
[hidden],
|
78 |
+
template {
|
79 |
+
display: none;
|
80 |
+
}
|
81 |
+
|
82 |
+
/* Links
|
83 |
+
========================================================================== */
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Remove the gray background color from active links in IE 10.
|
87 |
+
*/
|
88 |
+
|
89 |
+
a {
|
90 |
+
background-color: transparent;
|
91 |
+
}
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Improve readability when focused and also mouse hovered in all browsers.
|
95 |
+
*/
|
96 |
+
|
97 |
+
a:active,
|
98 |
+
a:hover {
|
99 |
+
outline: 0;
|
100 |
+
}
|
101 |
+
|
102 |
+
/* Text-level semantics
|
103 |
+
========================================================================== */
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
|
107 |
+
*/
|
108 |
+
|
109 |
+
abbr[title] {
|
110 |
+
border-bottom: 1px dotted;
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
|
115 |
+
*/
|
116 |
+
|
117 |
+
b,
|
118 |
+
strong {
|
119 |
+
font-weight: bold;
|
120 |
+
}
|
121 |
+
|
122 |
+
/**
|
123 |
+
* Address styling not present in Safari and Chrome.
|
124 |
+
*/
|
125 |
+
|
126 |
+
dfn {
|
127 |
+
font-style: italic;
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Address variable `h1` font-size and margin within `section` and `article`
|
132 |
+
* contexts in Firefox 4+, Safari, and Chrome.
|
133 |
+
*/
|
134 |
+
|
135 |
+
h1 {
|
136 |
+
font-size: 2em;
|
137 |
+
margin: 0.67em 0;
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Address styling not present in IE 8/9.
|
142 |
+
*/
|
143 |
+
|
144 |
+
mark {
|
145 |
+
background: #ff0;
|
146 |
+
color: #000;
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Address inconsistent and variable font size in all browsers.
|
151 |
+
*/
|
152 |
+
|
153 |
+
small {
|
154 |
+
font-size: 80%;
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
159 |
+
*/
|
160 |
+
|
161 |
+
sub,
|
162 |
+
sup {
|
163 |
+
font-size: 75%;
|
164 |
+
line-height: 0;
|
165 |
+
position: relative;
|
166 |
+
vertical-align: baseline;
|
167 |
+
}
|
168 |
+
|
169 |
+
sup {
|
170 |
+
top: -0.5em;
|
171 |
+
}
|
172 |
+
|
173 |
+
sub {
|
174 |
+
bottom: -0.25em;
|
175 |
+
}
|
176 |
+
|
177 |
+
/* Embedded content
|
178 |
+
========================================================================== */
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Remove border when inside `a` element in IE 8/9/10.
|
182 |
+
*/
|
183 |
+
|
184 |
+
img {
|
185 |
+
border: 0;
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Correct overflow not hidden in IE 9/10/11.
|
190 |
+
*/
|
191 |
+
|
192 |
+
svg:not(:root) {
|
193 |
+
overflow: hidden;
|
194 |
+
}
|
195 |
+
|
196 |
+
/* Grouping content
|
197 |
+
========================================================================== */
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Address margin not present in IE 8/9 and Safari.
|
201 |
+
*/
|
202 |
+
|
203 |
+
figure {
|
204 |
+
margin: 1em 40px;
|
205 |
+
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* Address differences between Firefox and other browsers.
|
209 |
+
*/
|
210 |
+
|
211 |
+
hr {
|
212 |
+
-moz-box-sizing: content-box;
|
213 |
+
box-sizing: content-box;
|
214 |
+
height: 0;
|
215 |
+
}
|
216 |
+
|
217 |
+
/**
|
218 |
+
* Contain overflow in all browsers.
|
219 |
+
*/
|
220 |
+
|
221 |
+
pre {
|
222 |
+
overflow: auto;
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Address odd `em`-unit font size rendering in all browsers.
|
227 |
+
*/
|
228 |
+
|
229 |
+
code,
|
230 |
+
kbd,
|
231 |
+
pre,
|
232 |
+
samp {
|
233 |
+
font-family: monospace, monospace;
|
234 |
+
font-size: 1em;
|
235 |
+
}
|
236 |
+
|
237 |
+
/* Forms
|
238 |
+
========================================================================== */
|
239 |
+
|
240 |
+
/**
|
241 |
+
* Known limitation: by default, Chrome and Safari on OS X allow very limited
|
242 |
+
* styling of `select`, unless a `border` property is set.
|
243 |
+
*/
|
244 |
+
|
245 |
+
/**
|
246 |
+
* 1. Correct color not being inherited.
|
247 |
+
* Known issue: affects color of disabled elements.
|
248 |
+
* 2. Correct font properties not being inherited.
|
249 |
+
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
|
250 |
+
*/
|
251 |
+
|
252 |
+
button,
|
253 |
+
input,
|
254 |
+
optgroup,
|
255 |
+
select,
|
256 |
+
textarea {
|
257 |
+
color: inherit; /* 1 */
|
258 |
+
font: inherit; /* 2 */
|
259 |
+
margin: 0; /* 3 */
|
260 |
+
}
|
261 |
+
|
262 |
+
/**
|
263 |
+
* Address `overflow` set to `hidden` in IE 8/9/10/11.
|
264 |
+
*/
|
265 |
+
|
266 |
+
button {
|
267 |
+
overflow: visible;
|
268 |
+
}
|
269 |
+
|
270 |
+
/**
|
271 |
+
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
272 |
+
* All other form control elements do not inherit `text-transform` values.
|
273 |
+
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
|
274 |
+
* Correct `select` style inheritance in Firefox.
|
275 |
+
*/
|
276 |
+
|
277 |
+
button,
|
278 |
+
select {
|
279 |
+
text-transform: none;
|
280 |
+
}
|
281 |
+
|
282 |
+
/**
|
283 |
+
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
284 |
+
* and `video` controls.
|
285 |
+
* 2. Correct inability to style clickable `input` types in iOS.
|
286 |
+
* 3. Improve usability and consistency of cursor style between image-type
|
287 |
+
* `input` and others.
|
288 |
+
*/
|
289 |
+
|
290 |
+
button,
|
291 |
+
html input[type="button"], /* 1 */
|
292 |
+
input[type="reset"],
|
293 |
+
input[type="submit"] {
|
294 |
+
-webkit-appearance: button; /* 2 */
|
295 |
+
cursor: pointer; /* 3 */
|
296 |
+
}
|
297 |
+
|
298 |
+
/**
|
299 |
+
* Re-set default cursor for disabled elements.
|
300 |
+
*/
|
301 |
+
|
302 |
+
button[disabled],
|
303 |
+
html input[disabled] {
|
304 |
+
cursor: default;
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* Remove inner padding and border in Firefox 4+.
|
309 |
+
*/
|
310 |
+
|
311 |
+
button::-moz-focus-inner,
|
312 |
+
input::-moz-focus-inner {
|
313 |
+
border: 0;
|
314 |
+
padding: 0;
|
315 |
+
}
|
316 |
+
|
317 |
+
/**
|
318 |
+
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
319 |
+
* the UA stylesheet.
|
320 |
+
*/
|
321 |
+
|
322 |
+
input {
|
323 |
+
line-height: normal;
|
324 |
+
}
|
325 |
+
|
326 |
+
/**
|
327 |
+
* It's recommended that you don't attempt to style these elements.
|
328 |
+
* Firefox's implementation doesn't respect box-sizing, padding, or width.
|
329 |
+
*
|
330 |
+
* 1. Address box sizing set to `content-box` in IE 8/9/10.
|
331 |
+
* 2. Remove excess padding in IE 8/9/10.
|
332 |
+
*/
|
333 |
+
|
334 |
+
input[type="checkbox"],
|
335 |
+
input[type="radio"] {
|
336 |
+
box-sizing: border-box; /* 1 */
|
337 |
+
padding: 0; /* 2 */
|
338 |
+
}
|
339 |
+
|
340 |
+
/**
|
341 |
+
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
342 |
+
* `font-size` values of the `input`, it causes the cursor style of the
|
343 |
+
* decrement button to change from `default` to `text`.
|
344 |
+
*/
|
345 |
+
|
346 |
+
input[type="number"]::-webkit-inner-spin-button,
|
347 |
+
input[type="number"]::-webkit-outer-spin-button {
|
348 |
+
height: auto;
|
349 |
+
}
|
350 |
+
|
351 |
+
/**
|
352 |
+
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
|
353 |
+
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
|
354 |
+
* (include `-moz` to future-proof).
|
355 |
+
*/
|
356 |
+
|
357 |
+
input[type="search"] {
|
358 |
+
-webkit-appearance: textfield; /* 1 */
|
359 |
+
-moz-box-sizing: content-box;
|
360 |
+
-webkit-box-sizing: content-box; /* 2 */
|
361 |
+
box-sizing: content-box;
|
362 |
+
}
|
363 |
+
|
364 |
+
/**
|
365 |
+
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
|
366 |
+
* Safari (but not Chrome) clips the cancel button when the search input has
|
367 |
+
* padding (and `textfield` appearance).
|
368 |
+
*/
|
369 |
+
|
370 |
+
input[type="search"]::-webkit-search-cancel-button,
|
371 |
+
input[type="search"]::-webkit-search-decoration {
|
372 |
+
-webkit-appearance: none;
|
373 |
+
}
|
374 |
+
|
375 |
+
/**
|
376 |
+
* Define consistent border, margin, and padding.
|
377 |
+
*/
|
378 |
+
|
379 |
+
fieldset {
|
380 |
+
border: 1px solid #c0c0c0;
|
381 |
+
margin: 0 2px;
|
382 |
+
padding: 0.35em 0.625em 0.75em;
|
383 |
+
}
|
384 |
+
|
385 |
+
/**
|
386 |
+
* 1. Correct `color` not being inherited in IE 8/9/10/11.
|
387 |
+
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
388 |
+
*/
|
389 |
+
|
390 |
+
legend {
|
391 |
+
border: 0; /* 1 */
|
392 |
+
padding: 0; /* 2 */
|
393 |
+
}
|
394 |
+
|
395 |
+
/**
|
396 |
+
* Remove default vertical scrollbar in IE 8/9/10/11.
|
397 |
+
*/
|
398 |
+
|
399 |
+
textarea {
|
400 |
+
overflow: auto;
|
401 |
+
}
|
402 |
+
|
403 |
+
/**
|
404 |
+
* Don't inherit the `font-weight` (applied by a rule above).
|
405 |
+
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
|
406 |
+
*/
|
407 |
+
|
408 |
+
optgroup {
|
409 |
+
font-weight: bold;
|
410 |
+
}
|
411 |
+
|
412 |
+
/* Tables
|
413 |
+
========================================================================== */
|
414 |
+
|
415 |
+
/**
|
416 |
+
* Remove most spacing between table cells.
|
417 |
+
*/
|
418 |
+
|
419 |
+
table {
|
420 |
+
border-collapse: collapse;
|
421 |
+
border-spacing: 0;
|
422 |
+
}
|
423 |
+
|
424 |
+
td,
|
425 |
+
th {
|
426 |
+
padding: 0;
|
427 |
+
}
|
skin/frontend/foungento/default/css/print.css
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Magento
|
3 |
+
*
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
7 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/afl-3.0.php
|
10 |
+
* If you did not receive a copy of the license and are unable to
|
11 |
+
* obtain it through the world-wide-web, please send an email
|
12 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* DISCLAIMER
|
15 |
+
*
|
16 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
17 |
+
* versions in the future. If you wish to customize Magento for your
|
18 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
19 |
+
*
|
20 |
+
* @category design
|
21 |
+
* @package default_default
|
22 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
23 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
24 |
+
*/
|
25 |
+
* { background:none !important; text-align:left !important; }
|
26 |
+
html { margin:0 !important; padding:0 !important; }
|
27 |
+
body { background:#fff !important; font-size:9pt !important; padding:0 !important; margin:10px !important; }
|
28 |
+
a { color:#2976c9 !important; }
|
29 |
+
th,td { color:#2f2f2f !important; border-color:#ccc !important; }
|
30 |
+
|
31 |
+
.header-container,
|
32 |
+
.nav-container,
|
33 |
+
.footer-container,
|
34 |
+
.pager,
|
35 |
+
.toolbar,
|
36 |
+
.actions,
|
37 |
+
.buttons-set { display:none !important; }
|
38 |
+
|
39 |
+
.page-print .data-table .cart-tax-total { background-position:100% -54px; }
|
40 |
+
.page-print .data-table .cart-tax-info { display:block !important; }
|
skin/frontend/foungento/default/css/reset.css
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* http://meyerweb.com/eric/tools/css/reset/
|
2 |
+
v2.0 | 20110126
|
3 |
+
License: none (public domain)
|
4 |
+
*/
|
5 |
+
|
6 |
+
html, body, div, span, applet, object, iframe,
|
7 |
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
8 |
+
a, abbr, acronym, address, big, cite, code,
|
9 |
+
del, dfn, em, img, ins, kbd, q, s, samp,
|
10 |
+
small, strike, strong, sub, sup, tt, var,
|
11 |
+
b, u, i, center,
|
12 |
+
dl, dt, dd, ol, ul, li,
|
13 |
+
fieldset, form, label, legend,
|
14 |
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
15 |
+
article, aside, canvas, details, embed,
|
16 |
+
figure, figcaption, footer, header, hgroup,
|
17 |
+
menu, nav, output, ruby, section, summary,
|
18 |
+
time, mark, audio, video {
|
19 |
+
margin: 0;
|
20 |
+
padding: 0;
|
21 |
+
border: 0;
|
22 |
+
font-size: 100%;
|
23 |
+
font: inherit;
|
24 |
+
vertical-align: baseline;
|
25 |
+
}
|
26 |
+
/* HTML5 display-role reset for older browsers */
|
27 |
+
article, aside, details, figcaption, figure,
|
28 |
+
footer, header, hgroup, menu, nav, section {
|
29 |
+
display: block;
|
30 |
+
}
|
31 |
+
body {
|
32 |
+
line-height: 1;
|
33 |
+
}
|
34 |
+
ol, ul {
|
35 |
+
list-style: none;
|
36 |
+
}
|
37 |
+
blockquote, q {
|
38 |
+
quotes: none;
|
39 |
+
}
|
40 |
+
blockquote:before, blockquote:after,
|
41 |
+
q:before, q:after {
|
42 |
+
content: '';
|
43 |
+
content: none;
|
44 |
+
}
|
45 |
+
table {
|
46 |
+
border-collapse: collapse;
|
47 |
+
border-spacing: 0;
|
48 |
+
}
|
skin/frontend/foungento/default/css/responsive-tables.css
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* Foundation v2.1.4 http://foundation.zurb.com */
|
2 |
+
/* Artfully masterminded by ZURB */
|
3 |
+
|
4 |
+
/* --------------------------------------------------
|
5 |
+
Table of Contents
|
6 |
+
-----------------------------------------------------
|
7 |
+
:: Shared Styles
|
8 |
+
:: Page Name 1
|
9 |
+
:: Page Name 2
|
10 |
+
*/
|
11 |
+
|
12 |
+
|
13 |
+
/* -----------------------------------------
|
14 |
+
Shared Styles
|
15 |
+
----------------------------------------- */
|
16 |
+
|
17 |
+
table th { font-weight: bold; }
|
18 |
+
table td, table th { padding: 9px 10px; text-align: left; }
|
19 |
+
|
20 |
+
/* Mobile */
|
21 |
+
@media only screen and (max-width: 767px) {
|
22 |
+
|
23 |
+
table.responsive { margin-bottom: 0; }
|
24 |
+
|
25 |
+
.pinned { position: absolute; left: 0; top: 0; background: #fff; width: 35%; overflow: hidden; overflow-x: scroll; border-right: 1px solid #ccc; border-left: 1px solid #ccc; }
|
26 |
+
.pinned table { border-right: none; border-left: none; width: 100%; }
|
27 |
+
.pinned table th, .pinned table td { white-space: nowrap; }
|
28 |
+
.pinned td:last-child { border-bottom: 0; }
|
29 |
+
|
30 |
+
div.table-wrapper { position: relative; margin-bottom: 20px; overflow: hidden; border-right: 1px solid #ccc; }
|
31 |
+
div.table-wrapper div.scrollable { margin-left: 35%; }
|
32 |
+
div.table-wrapper div.scrollable { overflow: scroll; overflow-y: hidden; }
|
33 |
+
|
34 |
+
table.responsive td, table.responsive th { position: relative; white-space: nowrap; overflow: hidden; }
|
35 |
+
table.responsive th:first-child, table.responsive td:first-child, table.responsive td:first-child, table.responsive.pinned td { display: none; }
|
36 |
+
|
37 |
+
|
38 |
+
}
|
skin/frontend/foungento/default/css/styles.css
ADDED
@@ -0,0 +1,309 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* set global fonts */
|
2 |
+
html, body, div, span, applet, object, iframe,
|
3 |
+
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
4 |
+
a, abbr, acronym, address, big, cite, code,
|
5 |
+
del, dfn, em, img, ins, kbd, q, s, samp,
|
6 |
+
small, strike, strong, sub, sup, tt, var,
|
7 |
+
b, u, i, center,
|
8 |
+
dl, dt, dd, ol, ul, li,
|
9 |
+
fieldset, form, label, legend,
|
10 |
+
table, caption, tbody, tfoot, thead, tr, th, td,
|
11 |
+
article, aside, canvas, details, embed,
|
12 |
+
figure, figcaption, footer, header, hgroup,
|
13 |
+
menu, nav, output, ruby, section, summary,
|
14 |
+
time, mark, audio, video {
|
15 |
+
font-family: 'Roboto', sans-serif;
|
16 |
+
}
|
17 |
+
|
18 |
+
.foungento-header {
|
19 |
+
background: #6b5792 !important;
|
20 |
+
color: #fff;
|
21 |
+
height: 45px;
|
22 |
+
}
|
23 |
+
|
24 |
+
.foungento-header .top-bar { background: none;}
|
25 |
+
|
26 |
+
.foungento-header .top-bar ul li a { color: #fff; line-height: 45px; }
|
27 |
+
|
28 |
+
|
29 |
+
.reset, p.block-subtitle { padding: 0px; margin: 0px;}
|
30 |
+
.margin-top-40 { margin-top: 40px; }
|
31 |
+
|
32 |
+
p.block-subtitle, .block-title {
|
33 |
+
font-weight: bold;
|
34 |
+
text-transform: uppercase;
|
35 |
+
}
|
36 |
+
|
37 |
+
|
38 |
+
button, .button { margin-bottom: 0px; }
|
39 |
+
|
40 |
+
.header-container { padding: 30px 0px; }
|
41 |
+
.skip-cart { line-height: 32px; }
|
42 |
+
.skip-cart .icon {
|
43 |
+
height: 24px;
|
44 |
+
width: 20px;
|
45 |
+
display: inline-block;
|
46 |
+
}
|
47 |
+
|
48 |
+
.form-search { height: 37px; }
|
49 |
+
.top-bar .form-search input {
|
50 |
+
font-size: 0.9375rem;
|
51 |
+
height: 2.35rem;
|
52 |
+
text-transform: uppercase;
|
53 |
+
padding: 12px 0 12px 0.770833rem;
|
54 |
+
}
|
55 |
+
.top-bar .form-search .button, .form-search .top-bar button {
|
56 |
+
top: 0px;
|
57 |
+
/*padding-top: 0px;*/
|
58 |
+
}
|
59 |
+
|
60 |
+
.orbit-container .orbit-prev:hover, .orbit-container .orbit-next:hover { background: transparent; }
|
61 |
+
|
62 |
+
.top-search-container input {
|
63 |
+
margin-bottom: 0px;
|
64 |
+
}
|
65 |
+
|
66 |
+
.cart-table tbody td { vertical-align: top; }
|
67 |
+
|
68 |
+
form { margin-bottom: 0px !important; }
|
69 |
+
|
70 |
+
.quick-access ul li a { font-size: 12px; text-transform: uppercase; }
|
71 |
+
|
72 |
+
.new-users, .registered-users { }
|
73 |
+
|
74 |
+
|
75 |
+
table {background: none; border: 0px;}
|
76 |
+
|
77 |
+
.products-grid li.item h2.product-name { font-size: 1.6875rem; }
|
78 |
+
.products-grid li.item .price-box { }
|
79 |
+
.products-grid li.item .ratings { }
|
80 |
+
|
81 |
+
.toolbar { background: #fff; }
|
82 |
+
|
83 |
+
fieldset {padding: 0px; padding: 0px; margin: 0px; border: 0px; }
|
84 |
+
|
85 |
+
.accordion .accordion-navigation > a, .accordion dd > a,
|
86 |
+
.price-box .old-price,
|
87 |
+
.price-box .special-price { padding: 0px; margin: 0px; }
|
88 |
+
|
89 |
+
.price-box .old-price .price-label, .price-box .special-price .price-label { display: none; }
|
90 |
+
.price-box .old-price .price { text-decoration: line-through; }
|
91 |
+
|
92 |
+
.regular-price { display: block; }
|
93 |
+
.price { font-size: 0.92857rem; font-weight: bold; line-height: 27px; }
|
94 |
+
|
95 |
+
.footer-container .links { margin: 0px;}
|
96 |
+
.footer-container .links li {}
|
97 |
+
|
98 |
+
.promos li { text-align: center; }
|
99 |
+
|
100 |
+
.products-grid li a img { border: 1px solid #E1E3E4; }
|
101 |
+
.products-grid h3.product-name { font-size: 18px; margin-top: 30px; }
|
102 |
+
|
103 |
+
.subtitle { font-size: 18px; }
|
104 |
+
.products-grid-content { height: auto; }
|
105 |
+
|
106 |
+
.footer-container { background: url("../images/footer_bg_darker.png") repeat scroll 0 0 transparent; padding-bottom: 30px; margin-top: 30px; position: relative; z-index: 10; }
|
107 |
+
.footer-container h4 { font-size: 16px; color: #888888; border-bottom: 1px solid #888888; padding: 20px 0px 10px 0px; text-transform: uppercase; cursor: pointer;}
|
108 |
+
.footer-container ul li img { margin-right: 10px; }
|
109 |
+
.footer-container ul li span.address-icon { margin-top: 0px; }
|
110 |
+
.footer-container ul li span.address-text { width: 200px; }
|
111 |
+
.footer-container ul li { line-height: 30px; }
|
112 |
+
.footer-container ul li, .footer-container ul li a { color: #888888; font-size: 13px; }
|
113 |
+
.footer-container .accordion .accordion-navigation > .content.active, .footer-container .accordion dd > .content.active {
|
114 |
+
background: none;
|
115 |
+
padding: 0px;
|
116 |
+
}
|
117 |
+
|
118 |
+
.copy-right-container {
|
119 |
+
background: url("../images/footer_bg.png") repeat scroll 0 0 transparent;
|
120 |
+
padding: 30px 0px;
|
121 |
+
position: relative; z-index: 10;
|
122 |
+
}
|
123 |
+
.copy-right {
|
124 |
+
color: #8e8e8e;
|
125 |
+
font-size: 14px;
|
126 |
+
line-height: 14px;
|
127 |
+
padding-top: 20px;
|
128 |
+
}
|
129 |
+
|
130 |
+
.social-link { height: 52px; line-height: 42px; }
|
131 |
+
|
132 |
+
.play_icon { margin-right: 10px; }
|
133 |
+
|
134 |
+
.actions img { width: auto; height: auto; border: 0px !important;}
|
135 |
+
.subtitle .title { font-size: 18px; margin-left: 10px; }
|
136 |
+
.button span span {font-size: 16px;}
|
137 |
+
a.button { font-size: 16px !important; }
|
138 |
+
|
139 |
+
.slanted_horizontal_line {
|
140 |
+
background: url("../images/slanted_horizontal_line.png") repeat-x scroll 0 0 transparent ;
|
141 |
+
height: 14px;
|
142 |
+
}
|
143 |
+
|
144 |
+
|
145 |
+
/*
|
146 |
+
.orbit-container .orbit-prev, .orbit-container .orbit-next {
|
147 |
+
border: 1px solid #6b5792;
|
148 |
+
-webkit-border-radius: 100px;
|
149 |
+
-moz-border-radius: 100px;
|
150 |
+
border-radius: 100px;
|
151 |
+
width: 65px !important;
|
152 |
+
height: 65px !important;
|
153 |
+
}
|
154 |
+
|
155 |
+
.orbit-container .orbit-prev > span, .orbit-container .orbit-next > span {
|
156 |
+
border-color: none;
|
157 |
+
border: 0px;
|
158 |
+
background: url("../images/left_arrow.png") no-repeat scroll 50% 50% transparent ;
|
159 |
+
width: 100%;
|
160 |
+
display: block;
|
161 |
+
height: 13px;
|
162 |
+
margin-top: -7px;
|
163 |
+
}
|
164 |
+
|
165 |
+
.orbit-container .orbit-next > span {
|
166 |
+
border-color: none;
|
167 |
+
border: 0px;
|
168 |
+
background: url("../images/right_arrow.png") no-repeat scroll 50% 50% transparent ;
|
169 |
+
left: 6%;
|
170 |
+
}
|
171 |
+
*/
|
172 |
+
|
173 |
+
|
174 |
+
|
175 |
+
.cms-index-index .std .slideshow-container {
|
176 |
+
}
|
177 |
+
|
178 |
+
p { padding: 0px; }
|
179 |
+
table { width: 100%; }
|
180 |
+
.a-right { text-align: right !important; }
|
181 |
+
|
182 |
+
.product-shop .price { font-size: 48px; }
|
183 |
+
.validation-advice { color: red; }
|
184 |
+
|
185 |
+
.calendar button, .calendar .button {
|
186 |
+
background: #848078 !important;
|
187 |
+
display: table-cell !important;
|
188 |
+
}
|
189 |
+
|
190 |
+
.calendar table {
|
191 |
+
border: 0px;
|
192 |
+
margin: 0px;
|
193 |
+
border-collapse: unset;
|
194 |
+
}
|
195 |
+
|
196 |
+
.col-left {
|
197 |
+
}
|
198 |
+
|
199 |
+
.messages,
|
200 |
+
.messages ul { list-style:none !important; margin:0 !important; padding:0 !important; }
|
201 |
+
.messages { width:100%; overflow:hidden; }
|
202 |
+
.messages li { margin:0 0 10px !important; }
|
203 |
+
.messages li li { margin:0 0 3px !important; }
|
204 |
+
.error-msg,
|
205 |
+
.success-msg,
|
206 |
+
.note-msg,
|
207 |
+
.notice-msg { border-style:solid !important; border-width:1px !important; background-position:10px 9px !important; background-repeat:no-repeat !important; min-height:24px !important; padding:8px 8px 8px 32px !important; font-size:11px !important; font-weight:bold !important; }
|
208 |
+
.error-msg { border-color:#f16048; background-color:#faebe7; background-image:url(../images/i_msg-error.gif); color:#df280a; }
|
209 |
+
.success-msg { border-color:#446423; background-color:#eff5ea; background-image:url(../images/i_msg-success.gif); color:#3d6611; }
|
210 |
+
.note-msg,
|
211 |
+
.notice-msg { border-color:#fcd344; background-color:#fafaec; background-image:url(../images/i_msg-note.gif); color:#3d6611; }
|
212 |
+
|
213 |
+
.step-title {
|
214 |
+
border-bottom: 1px dashed #6b5792;
|
215 |
+
cursor: pointer;
|
216 |
+
}
|
217 |
+
|
218 |
+
.mini-products-list {
|
219 |
+
text-align: left;
|
220 |
+
}
|
221 |
+
|
222 |
+
span.label.edit, span.label.remove, span.label.edit { background: none repeat scroll 0 0 #6b5792 !important}
|
223 |
+
|
224 |
+
.minicart-wrapper .cart-subtotal .subtotal,
|
225 |
+
.minicart-wrapper .cart-subtotal .subtotal span.price { font-size: 32px; }
|
226 |
+
|
227 |
+
.resize-activation { margin-left: 0px;}
|
228 |
+
|
229 |
+
|
230 |
+
|
231 |
+
.accordion .accordion-navigation > a, .accordion dd > a { padding: 0px !important; }
|
232 |
+
|
233 |
+
.block-content > ul { padding: 0px; margin: 0px; }
|
234 |
+
|
235 |
+
.prefix, .postfix {
|
236 |
+
line-height: 0px !important;
|
237 |
+
}
|
238 |
+
|
239 |
+
.orbit-bullets-container { height: auto; }
|
240 |
+
|
241 |
+
form ul, form ol, ul, ol {
|
242 |
+
/*padding: 0px !important;
|
243 |
+
margin: 0px !important;*/
|
244 |
+
}
|
245 |
+
|
246 |
+
ul.item-options, .product-details > ul {
|
247 |
+
padding: 0px;
|
248 |
+
margin: 0px;
|
249 |
+
}
|
250 |
+
|
251 |
+
.orbit-bullets { top: 0px !important; }
|
252 |
+
|
253 |
+
/* media quiers http://foundation.zurb.com/docs/media-queries.html */
|
254 |
+
/* addidiotnal attributes for SMALL */
|
255 |
+
@media only screen {
|
256 |
+
.orbit-bullets {display: block; }
|
257 |
+
.small-left { float: left; }
|
258 |
+
.small-right { float: right; }
|
259 |
+
.small-centered {
|
260 |
+
margin: 0 auto 0 auto;
|
261 |
+
float: none;
|
262 |
+
}
|
263 |
+
|
264 |
+
|
265 |
+
.list-items ul { margin: 0px; }
|
266 |
+
/*.list-items ul li { padding: 0px; }*/
|
267 |
+
.navigation .links {
|
268 |
+
display: block;
|
269 |
+
}
|
270 |
+
|
271 |
+
.trusted-payment-gateway { margin-top: 20px; }
|
272 |
+
}
|
273 |
+
|
274 |
+
/* addidiotnal attributes for MEDIUM */
|
275 |
+
@media only screen and (min-width: 40.063em) {
|
276 |
+
.medium-left { float: left; }
|
277 |
+
.medium-right { float: right; }
|
278 |
+
.medium-centered {
|
279 |
+
margin: 0 auto 0 auto;
|
280 |
+
float: none;
|
281 |
+
}
|
282 |
+
|
283 |
+
.navigation .links {
|
284 |
+
display: none;
|
285 |
+
}
|
286 |
+
|
287 |
+
.accordion-navigation a, .accordion-navigation a h4 {
|
288 |
+
cursor: default;
|
289 |
+
}
|
290 |
+
}
|
291 |
+
|
292 |
+
|
293 |
+
/* addidiotnal attributes for LARGE */
|
294 |
+
@media only screen and (min-width: 64.063em) {
|
295 |
+
.large-left { float: left; }
|
296 |
+
.large-right { float: right; }
|
297 |
+
.large-centered {
|
298 |
+
margin: 0 auto 0 auto;
|
299 |
+
float: none;
|
300 |
+
}
|
301 |
+
|
302 |
+
.navigation .links {
|
303 |
+
display: none;
|
304 |
+
}
|
305 |
+
|
306 |
+
.accordion-navigation a, .accordion-navigation a h4 {
|
307 |
+
cursor: default;
|
308 |
+
}
|
309 |
+
}
|
skin/frontend/foungento/default/images/100x50.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/130x50.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/20x20.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/50x50.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/address_icon.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/addtocart_icon.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/basket_icon.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/btn_trash.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/email_icon.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/facebook.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/footer_bg.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/footer_bg_darker.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/i_arrow-top.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/i_asc_arrow.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/i_msg-error.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/i_msg-note.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/i_msg-success.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/left_arrow.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/logo_footer.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/master.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/media/350x150.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/media/fashion_style_logo.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/media/logo.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/media/logo_small.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/opc-ajax-loader.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/pager_arrow_left.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/pager_arrow_right.gif
ADDED
Binary file
|
skin/frontend/foungento/default/images/paypal.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/phone_icon.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/play_icon.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/right_arrow.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/slanted_horizontal_line.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/twitter.png
ADDED
Binary file
|
skin/frontend/foungento/default/images/visa.png
ADDED
Binary file
|
skin/frontend/foungento/default/js/custom.js
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
/* BOF MINI CART MODAL */
|
3 |
+
jQuery('#nav li.parent').addClass('has-dropdown not-click');
|
4 |
+
jQuery('#nav li.parent > ul').addClass('dropdown');
|
5 |
+
jQuery("li.has-dropdown").removeClass('active');
|
6 |
+
|
7 |
+
var _top_links = jQuery(".top-bar-section .links").clone();
|
8 |
+
jQuery(".top-bar-section.navigation").append(_top_links);
|
9 |
+
|
10 |
+
var _minicart = jQuery(".minicart-head-container").clone();
|
11 |
+
jQuery(".minicart-small-container").append(_minicart);
|
12 |
+
/* EOF MINI CART MODAL */
|
13 |
+
|
14 |
+
/* BOF SEARCH DROPDOWN */
|
15 |
+
var _search_form = jQuery(".top-search-container").html();
|
16 |
+
jQuery(".top-bar-section.navigation").append("<ul class='show-for-small-only'><li>"+_search_form+"</li></ul>");
|
17 |
+
/* EOF SEARCH DROPDOWN */
|
18 |
+
|
19 |
+
/* BOF FOOTER ACCORDION */
|
20 |
+
jQuery(window).on('resize', function(e){
|
21 |
+
if(Foundation.utils.is_small_up()) {
|
22 |
+
jQuery(".footer-container .links .resize-activation").addClass("accordion");
|
23 |
+
}
|
24 |
+
if(Foundation.utils.is_large_up()) {
|
25 |
+
jQuery(".footer-container .links .resize-activation").removeClass("accordion");
|
26 |
+
}
|
27 |
+
|
28 |
+
if(Foundation.utils.is_medium_up()) {
|
29 |
+
jQuery(".footer-container .links .resize-activation").removeClass("accordion");
|
30 |
+
}
|
31 |
+
});
|
32 |
+
/* EOF FOOTER ACCORDION */
|
33 |
+
|
34 |
+
jQuery("table").each(function() {
|
35 |
+
jQuery(this).addClass("responsive");
|
36 |
+
});
|
37 |
+
|
38 |
+
|
39 |
+
|
40 |
+
});
|
skin/frontend/foungento/default/js/foundation.interchange.js
ADDED
@@ -0,0 +1,356 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
;(function ($, window, document, undefined) {
|
2 |
+
'use strict';
|
3 |
+
|
4 |
+
Foundation.libs.interchange = {
|
5 |
+
name : 'interchange',
|
6 |
+
|
7 |
+
version : '5.5.1',
|
8 |
+
|
9 |
+
cache : {},
|
10 |
+
|
11 |
+
images_loaded : false,
|
12 |
+
nodes_loaded : false,
|
13 |
+
|
14 |
+
settings : {
|
15 |
+
load_attr : 'interchange',
|
16 |
+
|
17 |
+
named_queries : {
|
18 |
+
'default' : 'only screen',
|
19 |
+
'small' : Foundation.media_queries['small'],
|
20 |
+
'small-only' : Foundation.media_queries['small-only'],
|
21 |
+
'medium' : Foundation.media_queries['medium'],
|
22 |
+
'medium-only' : Foundation.media_queries['medium-only'],
|
23 |
+
'large' : Foundation.media_queries['large'],
|
24 |
+
'large-only' : Foundation.media_queries['large-only'],
|
25 |
+
'xlarge' : Foundation.media_queries['xlarge'],
|
26 |
+
'xlarge-only' : Foundation.media_queries['xlarge-only'],
|
27 |
+
'xxlarge' : Foundation.media_queries['xxlarge'],
|
28 |
+
'landscape' : 'only screen and (orientation: landscape)',
|
29 |
+
'portrait' : 'only screen and (orientation: portrait)',
|
30 |
+
'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
|
31 |
+
'only screen and (min--moz-device-pixel-ratio: 2),' +
|
32 |
+
'only screen and (-o-min-device-pixel-ratio: 2/1),' +
|
33 |
+
'only screen and (min-device-pixel-ratio: 2),' +
|
34 |
+
'only screen and (min-resolution: 192dpi),' +
|
35 |
+
'only screen and (min-resolution: 2dppx)'
|
36 |
+
},
|
37 |
+
|
38 |
+
directives : {
|
39 |
+
replace : function (el, path, trigger) {
|
40 |
+
// The trigger argument, if called within the directive, fires
|
41 |
+
// an event named after the directive on the element, passing
|
42 |
+
// any parameters along to the event that you pass to trigger.
|
43 |
+
//
|
44 |
+
// ex. trigger(), trigger([a, b, c]), or trigger(a, b, c)
|
45 |
+
//
|
46 |
+
// This allows you to bind a callback like so:
|
47 |
+
// $('#interchangeContainer').on('replace', function (e, a, b, c) {
|
48 |
+
// console.log($(this).html(), a, b, c);
|
49 |
+
// });
|
50 |
+
|
51 |
+
if (/IMG/.test(el[0].nodeName)) {
|
52 |
+
var orig_path = el[0].src;
|
53 |
+
|
54 |
+
if (new RegExp(path, 'i').test(orig_path)) {
|
55 |
+
return;
|
56 |
+
}
|
57 |
+
|
58 |
+
el[0].src = path;
|
59 |
+
|
60 |
+
//return trigger(el[0].src);
|
61 |
+
return;
|
62 |
+
}
|
63 |
+
var last_path = el.data(this.data_attr + '-last-path'),
|
64 |
+
self = this;
|
65 |
+
|
66 |
+
if (last_path == path) {
|
67 |
+
return;
|
68 |
+
}
|
69 |
+
|
70 |
+
if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) {
|
71 |
+
$(el).css('background-image', 'url(' + path + ')');
|
72 |
+
el.data('interchange-last-path', path);
|
73 |
+
//return trigger(path);
|
74 |
+
return;
|
75 |
+
}
|
76 |
+
|
77 |
+
return $.get(path, function (response) {
|
78 |
+
el.html(response);
|
79 |
+
el.data(self.data_attr + '-last-path', path);
|
80 |
+
//trigger();
|
81 |
+
});
|
82 |
+
|
83 |
+
}
|
84 |
+
}
|
85 |
+
},
|
86 |
+
|
87 |
+
init : function (scope, method, options) {
|
88 |
+
Foundation.inherit(this, 'throttle random_str');
|
89 |
+
|
90 |
+
this.data_attr = this.set_data_attr();
|
91 |
+
$.extend(true, this.settings, method, options);
|
92 |
+
this.bindings(method, options);
|
93 |
+
this.load('images');
|
94 |
+
this.load('nodes');
|
95 |
+
},
|
96 |
+
|
97 |
+
get_media_hash : function () {
|
98 |
+
var mediaHash = '';
|
99 |
+
for (var queryName in this.settings.named_queries ) {
|
100 |
+
mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString();
|
101 |
+
}
|
102 |
+
return mediaHash;
|
103 |
+
},
|
104 |
+
|
105 |
+
events : function () {
|
106 |
+
var self = this, prevMediaHash;
|
107 |
+
|
108 |
+
$(window)
|
109 |
+
.off('.interchange')
|
110 |
+
.on('resize.fndtn.interchange', self.throttle(function () {
|
111 |
+
var currMediaHash = self.get_media_hash();
|
112 |
+
if (currMediaHash !== prevMediaHash) {
|
113 |
+
self.resize();
|
114 |
+
}
|
115 |
+
prevMediaHash = currMediaHash;
|
116 |
+
}, 50));
|
117 |
+
|
118 |
+
return this;
|
119 |
+
},
|
120 |
+
|
121 |
+
resize : function () {
|
122 |
+
var cache = this.cache;
|
123 |
+
|
124 |
+
if (!this.images_loaded || !this.nodes_loaded) {
|
125 |
+
setTimeout($.proxy(this.resize, this), 50);
|
126 |
+
return;
|
127 |
+
}
|
128 |
+
|
129 |
+
for (var uuid in cache) {
|
130 |
+
if (cache.hasOwnProperty(uuid)) {
|
131 |
+
var passed = this.results(uuid, cache[uuid]);
|
132 |
+
|
133 |
+
if (passed) {
|
134 |
+
this.settings.directives[passed
|
135 |
+
.scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) {
|
136 |
+
if (arguments[0] instanceof Array) {
|
137 |
+
var args = arguments[0];
|
138 |
+
} else {
|
139 |
+
var args = Array.prototype.slice.call(arguments, 0);
|
140 |
+
}
|
141 |
+
|
142 |
+
return function() {
|
143 |
+
passed.el.trigger(passed.scenario[1], args);
|
144 |
+
}
|
145 |
+
}(passed)));
|
146 |
+
}
|
147 |
+
}
|
148 |
+
}
|
149 |
+
|
150 |
+
},
|
151 |
+
|
152 |
+
results : function (uuid, scenarios) {
|
153 |
+
var count = scenarios.length;
|
154 |
+
|
155 |
+
if (count > 0) {
|
156 |
+
var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]');
|
157 |
+
|
158 |
+
while (count--) {
|
159 |
+
var mq, rule = scenarios[count][2];
|
160 |
+
if (this.settings.named_queries.hasOwnProperty(rule)) {
|
161 |
+
mq = matchMedia(this.settings.named_queries[rule]);
|
162 |
+
} else {
|
163 |
+
mq = matchMedia(rule);
|
164 |
+
}
|
165 |
+
if (mq.matches) {
|
166 |
+
return {el : el, scenario : scenarios[count]};
|
167 |
+
}
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
return false;
|
172 |
+
},
|
173 |
+
|
174 |
+
load : function (type, force_update) {
|
175 |
+
if (typeof this['cached_' + type] === 'undefined' || force_update) {
|
176 |
+
this['update_' + type]();
|
177 |
+
}
|
178 |
+
|
179 |
+
return this['cached_' + type];
|
180 |
+
},
|
181 |
+
|
182 |
+
update_images : function () {
|
183 |
+
var images = this.S('img[' + this.data_attr + ']'),
|
184 |
+
count = images.length,
|
185 |
+
i = count,
|
186 |
+
loaded_count = 0,
|
187 |
+
data_attr = this.data_attr;
|
188 |
+
|
189 |
+
this.cache = {};
|
190 |
+
this.cached_images = [];
|
191 |
+
this.images_loaded = (count === 0);
|
192 |
+
|
193 |
+
while (i--) {
|
194 |
+
loaded_count++;
|
195 |
+
if (images[i]) {
|
196 |
+
var str = images[i].getAttribute(data_attr) || '';
|
197 |
+
|
198 |
+
if (str.length > 0) {
|
199 |
+
this.cached_images.push(images[i]);
|
200 |
+
}
|
201 |
+
}
|
202 |
+
|
203 |
+
if (loaded_count === count) {
|
204 |
+
this.images_loaded = true;
|
205 |
+
this.enhance('images');
|
206 |
+
}
|
207 |
+
}
|
208 |
+
|
209 |
+
return this;
|
210 |
+
},
|
211 |
+
|
212 |
+
update_nodes : function () {
|
213 |
+
var nodes = this.S('[' + this.data_attr + ']').not('img'),
|
214 |
+
count = nodes.length,
|
215 |
+
i = count,
|
216 |
+
loaded_count = 0,
|
217 |
+
data_attr = this.data_attr;
|
218 |
+
|
219 |
+
this.cached_nodes = [];
|
220 |
+
this.nodes_loaded = (count === 0);
|
221 |
+
|
222 |
+
while (i--) {
|
223 |
+
loaded_count++;
|
224 |
+
var str = nodes[i].getAttribute(data_attr) || '';
|
225 |
+
|
226 |
+
if (str.length > 0) {
|
227 |
+
this.cached_nodes.push(nodes[i]);
|
228 |
+
}
|
229 |
+
|
230 |
+
if (loaded_count === count) {
|
231 |
+
this.nodes_loaded = true;
|
232 |
+
this.enhance('nodes');
|
233 |
+
}
|
234 |
+
}
|
235 |
+
|
236 |
+
return this;
|
237 |
+
},
|
238 |
+
|
239 |
+
enhance : function (type) {
|
240 |
+
var i = this['cached_' + type].length;
|
241 |
+
|
242 |
+
while (i--) {
|
243 |
+
this.object($(this['cached_' + type][i]));
|
244 |
+
}
|
245 |
+
|
246 |
+
return $(window).trigger('resize').trigger('resize.fndtn.interchange');
|
247 |
+
},
|
248 |
+
|
249 |
+
convert_directive : function (directive) {
|
250 |
+
|
251 |
+
var trimmed = this.trim(directive);
|
252 |
+
|
253 |
+
if (trimmed.length > 0) {
|
254 |
+
return trimmed;
|
255 |
+
}
|
256 |
+
|
257 |
+
return 'replace';
|
258 |
+
},
|
259 |
+
|
260 |
+
parse_scenario : function (scenario) {
|
261 |
+
// This logic had to be made more complex since some users were using commas in the url path
|
262 |
+
// So we cannot simply just split on a comma
|
263 |
+
var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/),
|
264 |
+
media_query = scenario[1];
|
265 |
+
|
266 |
+
if (directive_match) {
|
267 |
+
var path = directive_match[1],
|
268 |
+
directive = directive_match[2];
|
269 |
+
} else {
|
270 |
+
var cached_split = scenario[0].split(/,\s*$/),
|
271 |
+
path = cached_split[0],
|
272 |
+
directive = '';
|
273 |
+
}
|
274 |
+
|
275 |
+
return [this.trim(path), this.convert_directive(directive), this.trim(media_query)];
|
276 |
+
},
|
277 |
+
|
278 |
+
object : function (el) {
|
279 |
+
var raw_arr = this.parse_data_attr(el),
|
280 |
+
scenarios = [],
|
281 |
+
i = raw_arr.length;
|
282 |
+
|
283 |
+
if (i > 0) {
|
284 |
+
while (i--) {
|
285 |
+
var split = raw_arr[i].split(/\(([^\)]*?)(\))$/);
|
286 |
+
|
287 |
+
if (split.length > 1) {
|
288 |
+
var params = this.parse_scenario(split);
|
289 |
+
scenarios.push(params);
|
290 |
+
}
|
291 |
+
}
|
292 |
+
}
|
293 |
+
|
294 |
+
return this.store(el, scenarios);
|
295 |
+
},
|
296 |
+
|
297 |
+
store : function (el, scenarios) {
|
298 |
+
var uuid = this.random_str(),
|
299 |
+
current_uuid = el.data(this.add_namespace('uuid', true));
|
300 |
+
|
301 |
+
if (this.cache[current_uuid]) {
|
302 |
+
return this.cache[current_uuid];
|
303 |
+
}
|
304 |
+
|
305 |
+
el.attr(this.add_namespace('data-uuid'), uuid);
|
306 |
+
|
307 |
+
return this.cache[uuid] = scenarios;
|
308 |
+
},
|
309 |
+
|
310 |
+
trim : function (str) {
|
311 |
+
|
312 |
+
if (typeof str === 'string') {
|
313 |
+
return $.trim(str);
|
314 |
+
}
|
315 |
+
|
316 |
+
return str;
|
317 |
+
},
|
318 |
+
|
319 |
+
set_data_attr : function (init) {
|
320 |
+
if (init) {
|
321 |
+
if (this.namespace.length > 0) {
|
322 |
+
return this.namespace + '-' + this.settings.load_attr;
|
323 |
+
}
|
324 |
+
|
325 |
+
return this.settings.load_attr;
|
326 |
+
}
|
327 |
+
|
328 |
+
if (this.namespace.length > 0) {
|
329 |
+
return 'data-' + this.namespace + '-' + this.settings.load_attr;
|
330 |
+
}
|
331 |
+
|
332 |
+
return 'data-' + this.settings.load_attr;
|
333 |
+
},
|
334 |
+
|
335 |
+
parse_data_attr : function (el) {
|
336 |
+
var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/),
|
337 |
+
i = raw.length,
|
338 |
+
output = [];
|
339 |
+
|
340 |
+
while (i--) {
|
341 |
+
if (raw[i].replace(/[\W\d]+/, '').length > 4) {
|
342 |
+
output.push(raw[i]);
|
343 |
+
}
|
344 |
+
}
|
345 |
+
|
346 |
+
return output;
|
347 |
+
},
|
348 |
+
|
349 |
+
reflow : function () {
|
350 |
+
this.load('images', true);
|
351 |
+
this.load('nodes', true);
|
352 |
+
}
|
353 |
+
|
354 |
+
};
|
355 |
+
|
356 |
+
}(jQuery, window, window.document));
|
skin/frontend/foungento/default/js/foundation.min.js
ADDED
@@ -0,0 +1,6081 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* Foundation Responsive Library
|
3 |
+
* http://foundation.zurb.com
|
4 |
+
* Copyright 2014, ZURB
|
5 |
+
* Free to use under the MIT license.
|
6 |
+
* http://www.opensource.org/licenses/mit-license.php
|
7 |
+
*/
|
8 |
+
|
9 |
+
(function ($, window, document, undefined) {
|
10 |
+
'use strict';
|
11 |
+
|
12 |
+
var header_helpers = function (class_array) {
|
13 |
+
var i = class_array.length;
|
14 |
+
var head = $('head');
|
15 |
+
|
16 |
+
while (i--) {
|
17 |
+
if (head.has('.' + class_array[i]).length === 0) {
|
18 |
+
head.append('<meta class="' + class_array[i] + '" />');
|
19 |
+
}
|
20 |
+
}
|
21 |
+
};
|
22 |
+
|
23 |
+
header_helpers([
|
24 |
+
'foundation-mq-small',
|
25 |
+
'foundation-mq-small-only',
|
26 |
+
'foundation-mq-medium',
|
27 |
+
'foundation-mq-medium-only',
|
28 |
+
'foundation-mq-large',
|
29 |
+
'foundation-mq-large-only',
|
30 |
+
'foundation-mq-xlarge',
|
31 |
+
'foundation-mq-xlarge-only',
|
32 |
+
'foundation-mq-xxlarge',
|
33 |
+
'foundation-data-attribute-namespace']);
|
34 |
+
|
35 |
+
// Enable FastClick if present
|
36 |
+
|
37 |
+
$(function () {
|
38 |
+
if (typeof FastClick !== 'undefined') {
|
39 |
+
// Don't attach to body if undefined
|
40 |
+
if (typeof document.body !== 'undefined') {
|
41 |
+
FastClick.attach(document.body);
|
42 |
+
}
|
43 |
+
}
|
44 |
+
});
|
45 |
+
|
46 |
+
// private Fast Selector wrapper,
|
47 |
+
// returns jQuery object. Only use where
|
48 |
+
// getElementById is not available.
|
49 |
+
var S = function (selector, context) {
|
50 |
+
if (typeof selector === 'string') {
|
51 |
+
if (context) {
|
52 |
+
var cont;
|
53 |
+
if (context.jquery) {
|
54 |
+
cont = context[0];
|
55 |
+
if (!cont) {
|
56 |
+
return context;
|
57 |
+
}
|
58 |
+
} else {
|
59 |
+
cont = context;
|
60 |
+
}
|
61 |
+
return $(cont.querySelectorAll(selector));
|
62 |
+
}
|
63 |
+
|
64 |
+
return $(document.querySelectorAll(selector));
|
65 |
+
}
|
66 |
+
|
67 |
+
return $(selector, context);
|
68 |
+
};
|
69 |
+
|
70 |
+
// Namespace functions.
|
71 |
+
|
72 |
+
var attr_name = function (init) {
|
73 |
+
var arr = [];
|
74 |
+
if (!init) {
|
75 |
+
arr.push('data');
|
76 |
+
}
|
77 |
+
if (this.namespace.length > 0) {
|
78 |
+
arr.push(this.namespace);
|
79 |
+
}
|
80 |
+
arr.push(this.name);
|
81 |
+
|
82 |
+
return arr.join('-');
|
83 |
+
};
|
84 |
+
|
85 |
+
var add_namespace = function (str) {
|
86 |
+
var parts = str.split('-'),
|
87 |
+
i = parts.length,
|
88 |
+
arr = [];
|
89 |
+
|
90 |
+
while (i--) {
|
91 |
+
if (i !== 0) {
|
92 |
+
arr.push(parts[i]);
|
93 |
+
} else {
|
94 |
+
if (this.namespace.length > 0) {
|
95 |
+
arr.push(this.namespace, parts[i]);
|
96 |
+
} else {
|
97 |
+
arr.push(parts[i]);
|
98 |
+
}
|
99 |
+
}
|
100 |
+
}
|
101 |
+
|
102 |
+
return arr.reverse().join('-');
|
103 |
+
};
|
104 |
+
|
105 |
+
// Event binding and data-options updating.
|
106 |
+
|
107 |
+
var bindings = function (method, options) {
|
108 |
+
var self = this,
|
109 |
+
bind = function(){
|
110 |
+
var $this = S(this),
|
111 |
+
should_bind_events = !$this.data(self.attr_name(true) + '-init');
|
112 |
+
$this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this)));
|
113 |
+
|
114 |
+
if (should_bind_events) {
|
115 |
+
self.events(this);
|
116 |
+
}
|
117 |
+
};
|
118 |
+
|
119 |
+
if (S(this.scope).is('[' + this.attr_name() +']')) {
|
120 |
+
bind.call(this.scope);
|
121 |
+
} else {
|
122 |
+
S('[' + this.attr_name() +']', this.scope).each(bind);
|
123 |
+
}
|
124 |
+
// # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating.
|
125 |
+
if (typeof method === 'string') {
|
126 |
+
return this[method].call(this, options);
|
127 |
+
}
|
128 |
+
|
129 |
+
};
|
130 |
+
|
131 |
+
var single_image_loaded = function (image, callback) {
|
132 |
+
function loaded () {
|
133 |
+
callback(image[0]);
|
134 |
+
}
|
135 |
+
|
136 |
+
function bindLoad () {
|
137 |
+
this.one('load', loaded);
|
138 |
+
|
139 |
+
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
|
140 |
+
var src = this.attr( 'src' ),
|
141 |
+
param = src.match( /\?/ ) ? '&' : '?';
|
142 |
+
|
143 |
+
param += 'random=' + (new Date()).getTime();
|
144 |
+
this.attr('src', src + param);
|
145 |
+
}
|
146 |
+
}
|
147 |
+
|
148 |
+
if (!image.attr('src')) {
|
149 |
+
loaded();
|
150 |
+
return;
|
151 |
+
}
|
152 |
+
|
153 |
+
if (image[0].complete || image[0].readyState === 4) {
|
154 |
+
loaded();
|
155 |
+
} else {
|
156 |
+
bindLoad.call(image);
|
157 |
+
}
|
158 |
+
};
|
159 |
+
|
160 |
+
/*
|
161 |
+
https://github.com/paulirish/matchMedia.js
|
162 |
+
*/
|
163 |
+
|
164 |
+
window.matchMedia = window.matchMedia || (function ( doc ) {
|
165 |
+
|
166 |
+
'use strict';
|
167 |
+
|
168 |
+
var bool,
|
169 |
+
docElem = doc.documentElement,
|
170 |
+
refNode = docElem.firstElementChild || docElem.firstChild,
|
171 |
+
// fakeBody required for <FF4 when executed in <head>
|
172 |
+
fakeBody = doc.createElement( 'body' ),
|
173 |
+
div = doc.createElement( 'div' );
|
174 |
+
|
175 |
+
div.id = 'mq-test-1';
|
176 |
+
div.style.cssText = 'position:absolute;top:-100em';
|
177 |
+
fakeBody.style.background = 'none';
|
178 |
+
fakeBody.appendChild(div);
|
179 |
+
|
180 |
+
return function (q) {
|
181 |
+
|
182 |
+
div.innerHTML = '­<style media="' + q + '"> #mq-test-1 { width: 42px; }</style>';
|
183 |
+
|
184 |
+
docElem.insertBefore( fakeBody, refNode );
|
185 |
+
bool = div.offsetWidth === 42;
|
186 |
+
docElem.removeChild( fakeBody );
|
187 |
+
|
188 |
+
return {
|
189 |
+
matches : bool,
|
190 |
+
media : q
|
191 |
+
};
|
192 |
+
|
193 |
+
};
|
194 |
+
|
195 |
+
}( document ));
|
196 |
+
|
197 |
+
/*
|
198 |
+
* jquery.requestAnimationFrame
|
199 |
+
* https://github.com/gnarf37/jquery-requestAnimationFrame
|
200 |
+
* Requires jQuery 1.8+
|
201 |
+
*
|
202 |
+
* Copyright (c) 2012 Corey Frang
|
203 |
+
* Licensed under the MIT license.
|
204 |
+
*/
|
205 |
+
|
206 |
+
(function(jQuery) {
|
207 |
+
|
208 |
+
|
209 |
+
// requestAnimationFrame polyfill adapted from Erik Möller
|
210 |
+
// fixes from Paul Irish and Tino Zijdel
|
211 |
+
// http://paulirish.com/2011/requestanimationframe-for-smart-animating/
|
212 |
+
// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
|
213 |
+
|
214 |
+
var animating,
|
215 |
+
lastTime = 0,
|
216 |
+
vendors = ['webkit', 'moz'],
|
217 |
+
requestAnimationFrame = window.requestAnimationFrame,
|
218 |
+
cancelAnimationFrame = window.cancelAnimationFrame,
|
219 |
+
jqueryFxAvailable = 'undefined' !== typeof jQuery.fx;
|
220 |
+
|
221 |
+
for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) {
|
222 |
+
requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ];
|
223 |
+
cancelAnimationFrame = cancelAnimationFrame ||
|
224 |
+
window[ vendors[lastTime] + 'CancelAnimationFrame' ] ||
|
225 |
+
window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ];
|
226 |
+
}
|
227 |
+
|
228 |
+
function raf() {
|
229 |
+
if (animating) {
|
230 |
+
requestAnimationFrame(raf);
|
231 |
+
|
232 |
+
if (jqueryFxAvailable) {
|
233 |
+
jQuery.fx.tick();
|
234 |
+
}
|
235 |
+
}
|
236 |
+
}
|
237 |
+
|
238 |
+
if (requestAnimationFrame) {
|
239 |
+
// use rAF
|
240 |
+
window.requestAnimationFrame = requestAnimationFrame;
|
241 |
+
window.cancelAnimationFrame = cancelAnimationFrame;
|
242 |
+
|
243 |
+
if (jqueryFxAvailable) {
|
244 |
+
jQuery.fx.timer = function (timer) {
|
245 |
+
if (timer() && jQuery.timers.push(timer) && !animating) {
|
246 |
+
animating = true;
|
247 |
+
raf();
|
248 |
+
}
|
249 |
+
};
|
250 |
+
|
251 |
+
jQuery.fx.stop = function () {
|
252 |
+
animating = false;
|
253 |
+
};
|
254 |
+
}
|
255 |
+
} else {
|
256 |
+
// polyfill
|
257 |
+
window.requestAnimationFrame = function (callback) {
|
258 |
+
var currTime = new Date().getTime(),
|
259 |
+
timeToCall = Math.max(0, 16 - (currTime - lastTime)),
|
260 |
+
id = window.setTimeout(function () {
|
261 |
+
callback(currTime + timeToCall);
|
262 |
+
}, timeToCall);
|
263 |
+
lastTime = currTime + timeToCall;
|
264 |
+
return id;
|
265 |
+
};
|
266 |
+
|
267 |
+
window.cancelAnimationFrame = function (id) {
|
268 |
+
clearTimeout(id);
|
269 |
+
};
|
270 |
+
|
271 |
+
}
|
272 |
+
|
273 |
+
}( $ ));
|
274 |
+
|
275 |
+
function removeQuotes (string) {
|
276 |
+
if (typeof string === 'string' || string instanceof String) {
|
277 |
+
string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, '');
|
278 |
+
}
|
279 |
+
|
280 |
+
return string;
|
281 |
+
}
|
282 |
+
|
283 |
+
window.Foundation = {
|
284 |
+
name : 'Foundation',
|
285 |
+
|
286 |
+
version : '5.5.1',
|
287 |
+
|
288 |
+
media_queries : {
|
289 |
+
'small' : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
|
290 |
+
'small-only' : S('.foundation-mq-small-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
|
291 |
+
'medium' : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
|
292 |
+
'medium-only' : S('.foundation-mq-medium-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
|
293 |
+
'large' : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
|
294 |
+
'large-only' : S('.foundation-mq-large-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
|
295 |
+
'xlarge' : S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
|
296 |
+
'xlarge-only' : S('.foundation-mq-xlarge-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
|
297 |
+
'xxlarge' : S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')
|
298 |
+
},
|
299 |
+
|
300 |
+
stylesheet : $('<style></style>').appendTo('head')[0].sheet,
|
301 |
+
|
302 |
+
global : {
|
303 |
+
namespace : undefined
|
304 |
+
},
|
305 |
+
|
306 |
+
init : function (scope, libraries, method, options, response) {
|
307 |
+
var args = [scope, method, options, response],
|
308 |
+
responses = [];
|
309 |
+
|
310 |
+
// check RTL
|
311 |
+
this.rtl = /rtl/i.test(S('html').attr('dir'));
|
312 |
+
|
313 |
+
// set foundation global scope
|
314 |
+
this.scope = scope || this.scope;
|
315 |
+
|
316 |
+
this.set_namespace();
|
317 |
+
|
318 |
+
if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
|
319 |
+
if (this.libs.hasOwnProperty(libraries)) {
|
320 |
+
responses.push(this.init_lib(libraries, args));
|
321 |
+
}
|
322 |
+
} else {
|
323 |
+
for (var lib in this.libs) {
|
324 |
+
responses.push(this.init_lib(lib, libraries));
|
325 |
+
}
|
326 |
+
}
|
327 |
+
|
328 |
+
S(window).load(function () {
|
329 |
+
S(window)
|
330 |
+
.trigger('resize.fndtn.clearing')
|
331 |
+
.trigger('resize.fndtn.dropdown')
|
332 |
+
.trigger('resize.fndtn.equalizer')
|
333 |
+
.trigger('resize.fndtn.interchange')
|
334 |
+
.trigger('resize.fndtn.joyride')
|
335 |
+
.trigger('resize.fndtn.magellan')
|
336 |
+
.trigger('resize.fndtn.topbar')
|
337 |
+
.trigger('resize.fndtn.slider');
|
338 |
+
});
|
339 |
+
|
340 |
+
return scope;
|
341 |
+
},
|
342 |
+
|
343 |
+
init_lib : function (lib, args) {
|
344 |
+
if (this.libs.hasOwnProperty(lib)) {
|
345 |
+
this.patch(this.libs[lib]);
|
346 |
+
|
347 |
+
if (args && args.hasOwnProperty(lib)) {
|
348 |
+
if (typeof this.libs[lib].settings !== 'undefined') {
|
349 |
+
$.extend(true, this.libs[lib].settings, args[lib]);
|
350 |
+
} else if (typeof this.libs[lib].defaults !== 'undefined') {
|
351 |
+
$.extend(true, this.libs[lib].defaults, args[lib]);
|
352 |
+
}
|
353 |
+
return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]);
|
354 |
+
}
|
355 |
+
|
356 |
+
args = args instanceof Array ? args : new Array(args);
|
357 |
+
return this.libs[lib].init.apply(this.libs[lib], args);
|
358 |
+
}
|
359 |
+
|
360 |
+
return function () {};
|
361 |
+
},
|
362 |
+
|
363 |
+
patch : function (lib) {
|
364 |
+
lib.scope = this.scope;
|
365 |
+
lib.namespace = this.global.namespace;
|
366 |
+
lib.rtl = this.rtl;
|
367 |
+
lib['data_options'] = this.utils.data_options;
|
368 |
+
lib['attr_name'] = attr_name;
|
369 |
+
lib['add_namespace'] = add_namespace;
|
370 |
+
lib['bindings'] = bindings;
|
371 |
+
lib['S'] = this.utils.S;
|
372 |
+
},
|
373 |
+
|
374 |
+
inherit : function (scope, methods) {
|
375 |
+
var methods_arr = methods.split(' '),
|
376 |
+
i = methods_arr.length;
|
377 |
+
|
378 |
+
while (i--) {
|
379 |
+
if (this.utils.hasOwnProperty(methods_arr[i])) {
|
380 |
+
scope[methods_arr[i]] = this.utils[methods_arr[i]];
|
381 |
+
}
|
382 |
+
}
|
383 |
+
},
|
384 |
+
|
385 |
+
set_namespace : function () {
|
386 |
+
|
387 |
+
// Description:
|
388 |
+
// Don't bother reading the namespace out of the meta tag
|
389 |
+
// if the namespace has been set globally in javascript
|
390 |
+
//
|
391 |
+
// Example:
|
392 |
+
// Foundation.global.namespace = 'my-namespace';
|
393 |
+
// or make it an empty string:
|
394 |
+
// Foundation.global.namespace = '';
|
395 |
+
//
|
396 |
+
//
|
397 |
+
|
398 |
+
// If the namespace has not been set (is undefined), try to read it out of the meta element.
|
399 |
+
// Otherwise use the globally defined namespace, even if it's empty ('')
|
400 |
+
var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace;
|
401 |
+
|
402 |
+
// Finally, if the namsepace is either undefined or false, set it to an empty string.
|
403 |
+
// Otherwise use the namespace value.
|
404 |
+
this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace;
|
405 |
+
},
|
406 |
+
|
407 |
+
libs : {},
|
408 |
+
|
409 |
+
// methods that can be inherited in libraries
|
410 |
+
utils : {
|
411 |
+
|
412 |
+
// Description:
|
413 |
+
// Fast Selector wrapper returns jQuery object. Only use where getElementById
|
414 |
+
// is not available.
|
415 |
+
//
|
416 |
+
// Arguments:
|
417 |
+
// Selector (String): CSS selector describing the element(s) to be
|
418 |
+
// returned as a jQuery object.
|
419 |
+
//
|
420 |
+
// Scope (String): CSS selector describing the area to be searched. Default
|
421 |
+
// is document.
|
422 |
+
//
|
423 |
+
// Returns:
|
424 |
+
// Element (jQuery Object): jQuery object containing elements matching the
|
425 |
+
// selector within the scope.
|
426 |
+
S : S,
|
427 |
+
|
428 |
+
// Description:
|
429 |
+
// Executes a function a max of once every n milliseconds
|
430 |
+
//
|
431 |
+
// Arguments:
|
432 |
+
// Func (Function): Function to be throttled.
|
433 |
+
//
|
434 |
+
// Delay (Integer): Function execution threshold in milliseconds.
|
435 |
+
//
|
436 |
+
// Returns:
|
437 |
+
// Lazy_function (Function): Function with throttling applied.
|
438 |
+
throttle : function (func, delay) {
|
439 |
+
var timer = null;
|
440 |
+
|
441 |
+
return function () {
|
442 |
+
var context = this, args = arguments;
|
443 |
+
|
444 |
+
if (timer == null) {
|
445 |
+
timer = setTimeout(function () {
|
446 |
+
func.apply(context, args);
|
447 |
+
timer = null;
|
448 |
+
}, delay);
|
449 |
+
}
|
450 |
+
};
|
451 |
+
},
|
452 |
+
|
453 |
+
// Description:
|
454 |
+
// Executes a function when it stops being invoked for n seconds
|
455 |
+
// Modified version of _.debounce() http://underscorejs.org
|
456 |
+
//
|
457 |
+
// Arguments:
|
458 |
+
// Func (Function): Function to be debounced.
|
459 |
+
//
|
460 |
+
// Delay (Integer): Function execution threshold in milliseconds.
|
461 |
+
//
|
462 |
+
// Immediate (Bool): Whether the function should be called at the beginning
|
463 |
+
// of the delay instead of the end. Default is false.
|
464 |
+
//
|
465 |
+
// Returns:
|
466 |
+
// Lazy_function (Function): Function with debouncing applied.
|
467 |
+
debounce : function (func, delay, immediate) {
|
468 |
+
var timeout, result;
|
469 |
+
return function () {
|
470 |
+
var context = this, args = arguments;
|
471 |
+
var later = function () {
|
472 |
+
timeout = null;
|
473 |
+
if (!immediate) {
|
474 |
+
result = func.apply(context, args);
|
475 |
+
}
|
476 |
+
};
|
477 |
+
var callNow = immediate && !timeout;
|
478 |
+
clearTimeout(timeout);
|
479 |
+
timeout = setTimeout(later, delay);
|
480 |
+
if (callNow) {
|
481 |
+
result = func.apply(context, args);
|
482 |
+
}
|
483 |
+
return result;
|
484 |
+
};
|
485 |
+
},
|
486 |
+
|
487 |
+
// Description:
|
488 |
+
// Parses data-options attribute
|
489 |
+
//
|
490 |
+
// Arguments:
|
491 |
+
// El (jQuery Object): Element to be parsed.
|
492 |
+
//
|
493 |
+
// Returns:
|
494 |
+
// Options (Javascript Object): Contents of the element's data-options
|
495 |
+
// attribute.
|
496 |
+
data_options : function (el, data_attr_name) {
|
497 |
+
data_attr_name = data_attr_name || 'options';
|
498 |
+
var opts = {}, ii, p, opts_arr,
|
499 |
+
data_options = function (el) {
|
500 |
+
var namespace = Foundation.global.namespace;
|
501 |
+
|
502 |
+
if (namespace.length > 0) {
|
503 |
+
return el.data(namespace + '-' + data_attr_name);
|
504 |
+
}
|
505 |
+
|
506 |
+
return el.data(data_attr_name);
|
507 |
+
};
|
508 |
+
|
509 |
+
var cached_options = data_options(el);
|
510 |
+
|
511 |
+
if (typeof cached_options === 'object') {
|
512 |
+
return cached_options;
|
513 |
+
}
|
514 |
+
|
515 |
+
opts_arr = (cached_options || ':').split(';');
|
516 |
+
ii = opts_arr.length;
|
517 |
+
|
518 |
+
function isNumber (o) {
|
519 |
+
return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true;
|
520 |
+
}
|
521 |
+
|
522 |
+
function trim (str) {
|
523 |
+
if (typeof str === 'string') {
|
524 |
+
return $.trim(str);
|
525 |
+
}
|
526 |
+
return str;
|
527 |
+
}
|
528 |
+
|
529 |
+
while (ii--) {
|
530 |
+
p = opts_arr[ii].split(':');
|
531 |
+
p = [p[0], p.slice(1).join(':')];
|
532 |
+
|
533 |
+
if (/true/i.test(p[1])) {
|
534 |
+
p[1] = true;
|
535 |
+
}
|
536 |
+
if (/false/i.test(p[1])) {
|
537 |
+
p[1] = false;
|
538 |
+
}
|
539 |
+
if (isNumber(p[1])) {
|
540 |
+
if (p[1].indexOf('.') === -1) {
|
541 |
+
p[1] = parseInt(p[1], 10);
|
542 |
+
} else {
|
543 |
+
p[1] = parseFloat(p[1]);
|
544 |
+
}
|
545 |
+
}
|
546 |
+
|
547 |
+
if (p.length === 2 && p[0].length > 0) {
|
548 |
+
opts[trim(p[0])] = trim(p[1]);
|
549 |
+
}
|
550 |
+
}
|
551 |
+
|
552 |
+
return opts;
|
553 |
+
},
|
554 |
+
|
555 |
+
// Description:
|
556 |
+
// Adds JS-recognizable media queries
|
557 |
+
//
|
558 |
+
// Arguments:
|
559 |
+
// Media (String): Key string for the media query to be stored as in
|
560 |
+
// Foundation.media_queries
|
561 |
+
//
|
562 |
+
// Class (String): Class name for the generated <meta> tag
|
563 |
+
register_media : function (media, media_class) {
|
564 |
+
if (Foundation.media_queries[media] === undefined) {
|
565 |
+
$('head').append('<meta class="' + media_class + '"/>');
|
566 |
+
Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family'));
|
567 |
+
}
|
568 |
+
},
|
569 |
+
|
570 |
+
// Description:
|
571 |
+
// Add custom CSS within a JS-defined media query
|
572 |
+
//
|
573 |
+
// Arguments:
|
574 |
+
// Rule (String): CSS rule to be appended to the document.
|
575 |
+
//
|
576 |
+
// Media (String): Optional media query string for the CSS rule to be
|
577 |
+
// nested under.
|
578 |
+
add_custom_rule : function (rule, media) {
|
579 |
+
if (media === undefined && Foundation.stylesheet) {
|
580 |
+
Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length);
|
581 |
+
} else {
|
582 |
+
var query = Foundation.media_queries[media];
|
583 |
+
|
584 |
+
if (query !== undefined) {
|
585 |
+
Foundation.stylesheet.insertRule('@media ' +
|
586 |
+
Foundation.media_queries[media] + '{ ' + rule + ' }');
|
587 |
+
}
|
588 |
+
}
|
589 |
+
},
|
590 |
+
|
591 |
+
// Description:
|
592 |
+
// Performs a callback function when an image is fully loaded
|
593 |
+
//
|
594 |
+
// Arguments:
|
595 |
+
// Image (jQuery Object): Image(s) to check if loaded.
|
596 |
+
//
|
597 |
+
// Callback (Function): Function to execute when image is fully loaded.
|
598 |
+
image_loaded : function (images, callback) {
|
599 |
+
var self = this,
|
600 |
+
unloaded = images.length;
|
601 |
+
|
602 |
+
if (unloaded === 0) {
|
603 |
+
callback(images);
|
604 |
+
}
|
605 |
+
|
606 |
+
images.each(function () {
|
607 |
+
single_image_loaded(self.S(this), function () {
|
608 |
+
unloaded -= 1;
|
609 |
+
if (unloaded === 0) {
|
610 |
+
callback(images);
|
611 |
+
}
|
612 |
+
});
|
613 |
+
});
|
614 |
+
},
|
615 |
+
|
616 |
+
// Description:
|
617 |
+
// Returns a random, alphanumeric string
|
618 |
+
//
|
619 |
+
// Arguments:
|
620 |
+
// Length (Integer): Length of string to be generated. Defaults to random
|
621 |
+
// integer.
|
622 |
+
//
|
623 |
+
// Returns:
|
624 |
+
// Rand (String): Pseudo-random, alphanumeric string.
|
625 |
+
random_str : function () {
|
626 |
+
if (!this.fidx) {
|
627 |
+
this.fidx = 0;
|
628 |
+
}
|
629 |
+
this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-');
|
630 |
+
|
631 |
+
return this.prefix + (this.fidx++).toString(36);
|
632 |
+
},
|
633 |
+
|
634 |
+
// Description:
|
635 |
+
// Helper for window.matchMedia
|
636 |
+
//
|
637 |
+
// Arguments:
|
638 |
+
// mq (String): Media query
|
639 |
+
//
|
640 |
+
// Returns:
|
641 |
+
// (Boolean): Whether the media query passes or not
|
642 |
+
match : function (mq) {
|
643 |
+
return window.matchMedia(mq).matches;
|
644 |
+
},
|
645 |
+
|
646 |
+
// Description:
|
647 |
+
// Helpers for checking Foundation default media queries with JS
|
648 |
+
//
|
649 |
+
// Returns:
|
650 |
+
// (Boolean): Whether the media query passes or not
|
651 |
+
|
652 |
+
is_small_up : function () {
|
653 |
+
return this.match(Foundation.media_queries.small);
|
654 |
+
},
|
655 |
+
|
656 |
+
is_medium_up : function () {
|
657 |
+
return this.match(Foundation.media_queries.medium);
|
658 |
+
},
|
659 |
+
|
660 |
+
is_large_up : function () {
|
661 |
+
return this.match(Foundation.media_queries.large);
|
662 |
+
},
|
663 |
+
|
664 |
+
is_xlarge_up : function () {
|
665 |
+
return this.match(Foundation.media_queries.xlarge);
|
666 |
+
},
|
667 |
+
|
668 |
+
is_xxlarge_up : function () {
|
669 |
+
return this.match(Foundation.media_queries.xxlarge);
|
670 |
+
},
|
671 |
+
|
672 |
+
is_small_only : function () {
|
673 |
+
return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
|
674 |
+
},
|
675 |
+
|
676 |
+
is_medium_only : function () {
|
677 |
+
return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
|
678 |
+
},
|
679 |
+
|
680 |
+
is_large_only : function () {
|
681 |
+
return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
|
682 |
+
},
|
683 |
+
|
684 |
+
is_xlarge_only : function () {
|
685 |
+
return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up();
|
686 |
+
},
|
687 |
+
|
688 |
+
is_xxlarge_only : function () {
|
689 |
+
return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up();
|
690 |
+
}
|
691 |
+
}
|
692 |
+
};
|
693 |
+
|
694 |
+
$.fn.foundation = function () {
|
695 |
+
var args = Array.prototype.slice.call(arguments, 0);
|
696 |
+
|
697 |
+
return this.each(function () {
|
698 |
+
Foundation.init.apply(Foundation, [this].concat(args));
|
699 |
+
return this;
|
700 |
+
});
|
701 |
+
};
|
702 |
+
|
703 |
+
}(jQuery, window, window.document));
|
704 |
+
;(function ($, window, document, undefined) {
|
705 |
+
'use strict';
|
706 |
+
|
707 |
+
Foundation.libs.slider = {
|
708 |
+
name : 'slider',
|
709 |
+
|
710 |
+
version : '5.5.1',
|
711 |
+
|
712 |
+
settings : {
|
713 |
+
start : 0,
|
714 |
+
end : 100,
|
715 |
+
step : 1,
|
716 |
+
precision : null,
|
717 |
+
initial : null,
|
718 |
+
display_selector : '',
|
719 |
+
vertical : false,
|
720 |
+
trigger_input_change : false,
|
721 |
+
on_change : function () {}
|
722 |
+
},
|
723 |
+
|
724 |
+
cache : {},
|
725 |
+
|
726 |
+
init : function (scope, method, options) {
|
727 |
+
Foundation.inherit(this, 'throttle');
|
728 |
+
this.bindings(method, options);
|
729 |
+
this.reflow();
|
730 |
+
},
|
731 |
+
|
732 |
+
events : function () {
|
733 |
+
var self = this;
|
734 |
+
|
735 |
+
$(this.scope)
|
736 |
+
.off('.slider')
|
737 |
+
.on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider',
|
738 |
+
'[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) {
|
739 |
+
if (!self.cache.active) {
|
740 |
+
e.preventDefault();
|
741 |
+
self.set_active_slider($(e.target));
|
742 |
+
}
|
743 |
+
})
|
744 |
+
.on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) {
|
745 |
+
if (!!self.cache.active) {
|
746 |
+
e.preventDefault();
|
747 |
+
if ($.data(self.cache.active[0], 'settings').vertical) {
|
748 |
+
var scroll_offset = 0;
|
749 |
+
if (!e.pageY) {
|
750 |
+
scroll_offset = window.scrollY;
|
751 |
+
}
|
752 |
+
self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset);
|
753 |
+
} else {
|
754 |
+
self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x'));
|
755 |
+
}
|
756 |
+
}
|
757 |
+
})
|
758 |
+
.on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) {
|
759 |
+
self.remove_active_slider();
|
760 |
+
})
|
761 |
+
.on('change.fndtn.slider', function (e) {
|
762 |
+
self.settings.on_change();
|
763 |
+
});
|
764 |
+
|
765 |
+
self.S(window)
|
766 |
+
.on('resize.fndtn.slider', self.throttle(function (e) {
|
767 |
+
self.reflow();
|
768 |
+
}, 300));
|
769 |
+
},
|
770 |
+
|
771 |
+
get_cursor_position : function (e, xy) {
|
772 |
+
var pageXY = 'page' + xy.toUpperCase(),
|
773 |
+
clientXY = 'client' + xy.toUpperCase(),
|
774 |
+
position;
|
775 |
+
|
776 |
+
if (typeof e[pageXY] !== 'undefined') {
|
777 |
+
position = e[pageXY];
|
778 |
+
} else if (typeof e.originalEvent[clientXY] !== 'undefined') {
|
779 |
+
position = e.originalEvent[clientXY];
|
780 |
+
} else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') {
|
781 |
+
position = e.originalEvent.touches[0][clientXY];
|
782 |
+
} else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') {
|
783 |
+
position = e.currentPoint[xy];
|
784 |
+
}
|
785 |
+
|
786 |
+
return position;
|
787 |
+
},
|
788 |
+
|
789 |
+
set_active_slider : function ($handle) {
|
790 |
+
this.cache.active = $handle;
|
791 |
+
},
|
792 |
+
|
793 |
+
remove_active_slider : function () {
|
794 |
+
this.cache.active = null;
|
795 |
+
},
|
796 |
+
|
797 |
+
calculate_position : function ($handle, cursor_x) {
|
798 |
+
var self = this,
|
799 |
+
settings = $.data($handle[0], 'settings'),
|
800 |
+
handle_l = $.data($handle[0], 'handle_l'),
|
801 |
+
handle_o = $.data($handle[0], 'handle_o'),
|
802 |
+
bar_l = $.data($handle[0], 'bar_l'),
|
803 |
+
bar_o = $.data($handle[0], 'bar_o');
|
804 |
+
|
805 |
+
requestAnimationFrame(function () {
|
806 |
+
var pct;
|
807 |
+
|
808 |
+
if (Foundation.rtl && !settings.vertical) {
|
809 |
+
pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1);
|
810 |
+
} else {
|
811 |
+
pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1);
|
812 |
+
}
|
813 |
+
|
814 |
+
pct = settings.vertical ? 1 - pct : pct;
|
815 |
+
|
816 |
+
var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision);
|
817 |
+
|
818 |
+
self.set_ui($handle, norm);
|
819 |
+
});
|
820 |
+
},
|
821 |
+
|
822 |
+
set_ui : function ($handle, value) {
|
823 |
+
var settings = $.data($handle[0], 'settings'),
|
824 |
+
handle_l = $.data($handle[0], 'handle_l'),
|
825 |
+
bar_l = $.data($handle[0], 'bar_l'),
|
826 |
+
norm_pct = this.normalized_percentage(value, settings.start, settings.end),
|
827 |
+
handle_offset = norm_pct * (bar_l - handle_l) - 1,
|
828 |
+
progress_bar_length = norm_pct * 100,
|
829 |
+
$handle_parent = $handle.parent(),
|
830 |
+
$hidden_inputs = $handle.parent().children('input[type=hidden]');
|
831 |
+
|
832 |
+
if (Foundation.rtl && !settings.vertical) {
|
833 |
+
handle_offset = -handle_offset;
|
834 |
+
}
|
835 |
+
|
836 |
+
handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset;
|
837 |
+
this.set_translate($handle, handle_offset, settings.vertical);
|
838 |
+
|
839 |
+
if (settings.vertical) {
|
840 |
+
$handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%');
|
841 |
+
} else {
|
842 |
+
$handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%');
|
843 |
+
}
|
844 |
+
|
845 |
+
$handle_parent.attr(this.attr_name(), value).trigger('change').trigger('change.fndtn.slider');
|
846 |
+
|
847 |
+
$hidden_inputs.val(value);
|
848 |
+
if (settings.trigger_input_change) {
|
849 |
+
$hidden_inputs.trigger('change');
|
850 |
+
}
|
851 |
+
|
852 |
+
if (!$handle[0].hasAttribute('aria-valuemin')) {
|
853 |
+
$handle.attr({
|
854 |
+
'aria-valuemin' : settings.start,
|
855 |
+
'aria-valuemax' : settings.end
|
856 |
+
});
|
857 |
+
}
|
858 |
+
$handle.attr('aria-valuenow', value);
|
859 |
+
|
860 |
+
if (settings.display_selector != '') {
|
861 |
+
$(settings.display_selector).each(function () {
|
862 |
+
if (this.hasOwnProperty('value')) {
|
863 |
+
$(this).val(value);
|
864 |
+
} else {
|
865 |
+
$(this).text(value);
|
866 |
+
}
|
867 |
+
});
|
868 |
+
}
|
869 |
+
|
870 |
+
},
|
871 |
+
|
872 |
+
normalized_percentage : function (val, start, end) {
|
873 |
+
return Math.min(1, (val - start) / (end - start));
|
874 |
+
},
|
875 |
+
|
876 |
+
normalized_value : function (val, start, end, step, precision) {
|
877 |
+
var range = end - start,
|
878 |
+
point = val * range,
|
879 |
+
mod = (point - (point % step)) / step,
|
880 |
+
rem = point % step,
|
881 |
+
round = ( rem >= step * 0.5 ? step : 0);
|
882 |
+
return ((mod * step + round) + start).toFixed(precision);
|
883 |
+
},
|
884 |
+
|
885 |
+
set_translate : function (ele, offset, vertical) {
|
886 |
+
if (vertical) {
|
887 |
+
$(ele)
|
888 |
+
.css('-webkit-transform', 'translateY(' + offset + 'px)')
|
889 |
+
.css('-moz-transform', 'translateY(' + offset + 'px)')
|
890 |
+
.css('-ms-transform', 'translateY(' + offset + 'px)')
|
891 |
+
.css('-o-transform', 'translateY(' + offset + 'px)')
|
892 |
+
.css('transform', 'translateY(' + offset + 'px)');
|
893 |
+
} else {
|
894 |
+
$(ele)
|
895 |
+
.css('-webkit-transform', 'translateX(' + offset + 'px)')
|
896 |
+
.css('-moz-transform', 'translateX(' + offset + 'px)')
|
897 |
+
.css('-ms-transform', 'translateX(' + offset + 'px)')
|
898 |
+
.css('-o-transform', 'translateX(' + offset + 'px)')
|
899 |
+
.css('transform', 'translateX(' + offset + 'px)');
|
900 |
+
}
|
901 |
+
},
|
902 |
+
|
903 |
+
limit_to : function (val, min, max) {
|
904 |
+
return Math.min(Math.max(val, min), max);
|
905 |
+
},
|
906 |
+
|
907 |
+
initialize_settings : function (handle) {
|
908 |
+
var settings = $.extend({}, this.settings, this.data_options($(handle).parent())),
|
909 |
+
decimal_places_match_result;
|
910 |
+
|
911 |
+
if (settings.precision === null) {
|
912 |
+
decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/);
|
913 |
+
settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0;
|
914 |
+
}
|
915 |
+
|
916 |
+
if (settings.vertical) {
|
917 |
+
$.data(handle, 'bar_o', $(handle).parent().offset().top);
|
918 |
+
$.data(handle, 'bar_l', $(handle).parent().outerHeight());
|
919 |
+
$.data(handle, 'handle_o', $(handle).offset().top);
|
920 |
+
$.data(handle, 'handle_l', $(handle).outerHeight());
|
921 |
+
} else {
|
922 |
+
$.data(handle, 'bar_o', $(handle).parent().offset().left);
|
923 |
+
$.data(handle, 'bar_l', $(handle).parent().outerWidth());
|
924 |
+
$.data(handle, 'handle_o', $(handle).offset().left);
|
925 |
+
$.data(handle, 'handle_l', $(handle).outerWidth());
|
926 |
+
}
|
927 |
+
|
928 |
+
$.data(handle, 'bar', $(handle).parent());
|
929 |
+
$.data(handle, 'settings', settings);
|
930 |
+
},
|
931 |
+
|
932 |
+
set_initial_position : function ($ele) {
|
933 |
+
var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'),
|
934 |
+
initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start),
|
935 |
+
$handle = $ele.children('.range-slider-handle');
|
936 |
+
this.set_ui($handle, initial);
|
937 |
+
},
|
938 |
+
|
939 |
+
set_value : function (value) {
|
940 |
+
var self = this;
|
941 |
+
$('[' + self.attr_name() + ']', this.scope).each(function () {
|
942 |
+
$(this).attr(self.attr_name(), value);
|
943 |
+
});
|
944 |
+
if (!!$(this.scope).attr(self.attr_name())) {
|
945 |
+
$(this.scope).attr(self.attr_name(), value);
|
946 |
+
}
|
947 |
+
self.reflow();
|
948 |
+
},
|
949 |
+
|
950 |
+
reflow : function () {
|
951 |
+
var self = this;
|
952 |
+
self.S('[' + this.attr_name() + ']').each(function () {
|
953 |
+
var handle = $(this).children('.range-slider-handle')[0],
|
954 |
+
val = $(this).attr(self.attr_name());
|
955 |
+
self.initialize_settings(handle);
|
956 |
+
|
957 |
+
if (val) {
|
958 |
+
self.set_ui($(handle), parseFloat(val));
|
959 |
+
} else {
|
960 |
+
self.set_initial_position($(this));
|
961 |
+
}
|
962 |
+
});
|
963 |
+
}
|
964 |
+
};
|
965 |
+
|
966 |
+
}(jQuery, window, window.document));
|
967 |
+
;(function ($, window, document, undefined) {
|
968 |
+
'use strict';
|
969 |
+
|
970 |
+
var Modernizr = Modernizr || false;
|
971 |
+
|
972 |
+
Foundation.libs.joyride = {
|
973 |
+
name : 'joyride',
|
974 |
+
|
975 |
+
version : '5.5.1',
|
976 |
+
|
977 |
+
defaults : {
|
978 |
+
expose : false, // turn on or off the expose feature
|
979 |
+
modal : true, // Whether to cover page with modal during the tour
|
980 |
+
keyboard : true, // enable left, right and esc keystrokes
|
981 |
+
tip_location : 'bottom', // 'top' or 'bottom' in relation to parent
|
982 |
+
nub_position : 'auto', // override on a per tooltip bases
|
983 |
+
scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation
|
984 |
+
scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI.
|
985 |
+
timer : 0, // 0 = no timer , all other numbers = timer in milliseconds
|
986 |
+
start_timer_on_click : true, // true or false - true requires clicking the first button start the timer
|
987 |
+
start_offset : 0, // the index of the tooltip you want to start on (index of the li)
|
988 |
+
next_button : true, // true or false to control whether a next button is used
|
989 |
+
prev_button : true, // true or false to control whether a prev button is used
|
990 |
+
tip_animation : 'fade', // 'pop' or 'fade' in each tip
|
991 |
+
pause_after : [], // array of indexes where to pause the tour after
|
992 |
+
exposed : [], // array of expose elements
|
993 |
+
tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition
|
994 |
+
cookie_monster : false, // true or false to control whether cookies are used
|
995 |
+
cookie_name : 'joyride', // Name the cookie you'll use
|
996 |
+
cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com'
|
997 |
+
cookie_expires : 365, // set when you would like the cookie to expire.
|
998 |
+
tip_container : 'body', // Where will the tip be attached
|
999 |
+
abort_on_close : true, // When true, the close event will not fire any callback
|
1000 |
+
tip_location_patterns : {
|
1001 |
+
top : ['bottom'],
|
1002 |
+
bottom : [], // bottom should not need to be repositioned
|
1003 |
+
left : ['right', 'top', 'bottom'],
|
1004 |
+
right : ['left', 'top', 'bottom']
|
1005 |
+
},
|
1006 |
+
post_ride_callback : function () {}, // A method to call once the tour closes (canceled or complete)
|
1007 |
+
post_step_callback : function () {}, // A method to call after each step
|
1008 |
+
pre_step_callback : function () {}, // A method to call before each step
|
1009 |
+
pre_ride_callback : function () {}, // A method to call before the tour starts (passed index, tip, and cloned exposed element)
|
1010 |
+
post_expose_callback : function () {}, // A method to call after an element has been exposed
|
1011 |
+
template : { // HTML segments for tip layout
|
1012 |
+
link : '<a href="#close" class="joyride-close-tip">×</a>',
|
1013 |
+
timer : '<div class="joyride-timer-indicator-wrap"><span class="joyride-timer-indicator"></span></div>',
|
1014 |
+
tip : '<div class="joyride-tip-guide"><span class="joyride-nub"></span></div>',
|
1015 |
+
wrapper : '<div class="joyride-content-wrapper"></div>',
|
1016 |
+
button : '<a href="#" class="small button joyride-next-tip"></a>',
|
1017 |
+
prev_button : '<a href="#" class="small button joyride-prev-tip"></a>',
|
1018 |
+
modal : '<div class="joyride-modal-bg"></div>',
|
1019 |
+
expose : '<div class="joyride-expose-wrapper"></div>',
|
1020 |
+
expose_cover : '<div class="joyride-expose-cover"></div>'
|
1021 |
+
},
|
1022 |
+
expose_add_class : '' // One or more space-separated class names to be added to exposed element
|
1023 |
+
},
|
1024 |
+
|
1025 |
+
init : function (scope, method, options) {
|
1026 |
+
Foundation.inherit(this, 'throttle random_str');
|
1027 |
+
|
1028 |
+
this.settings = this.settings || $.extend({}, this.defaults, (options || method));
|
1029 |
+
|
1030 |
+
this.bindings(method, options)
|
1031 |
+
},
|
1032 |
+
|
1033 |
+
go_next : function () {
|
1034 |
+
if (this.settings.$li.next().length < 1) {
|
1035 |
+
this.end();
|
1036 |
+
} else if (this.settings.timer > 0) {
|
1037 |
+
clearTimeout(this.settings.automate);
|
1038 |
+
this.hide();
|
1039 |
+
this.show();
|
1040 |
+
this.startTimer();
|
1041 |
+
} else {
|
1042 |
+
this.hide();
|
1043 |
+
this.show();
|
1044 |
+
}
|
1045 |
+
},
|
1046 |
+
|
1047 |
+
go_prev : function () {
|
1048 |
+
if (this.settings.$li.prev().length < 1) {
|
1049 |
+
// Do nothing if there are no prev element
|
1050 |
+
} else if (this.settings.timer > 0) {
|
1051 |
+
clearTimeout(this.settings.automate);
|
1052 |
+
this.hide();
|
1053 |
+
this.show(null, true);
|
1054 |
+
this.startTimer();
|
1055 |
+
} else {
|
1056 |
+
this.hide();
|
1057 |
+
this.show(null, true);
|
1058 |
+
}
|
1059 |
+
},
|
1060 |
+
|
1061 |
+
events : function () {
|
1062 |
+
var self = this;
|
1063 |
+
|
1064 |
+
$(this.scope)
|
1065 |
+
.off('.joyride')
|
1066 |
+
.on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) {
|
1067 |
+
e.preventDefault();
|
1068 |
+
this.go_next()
|
1069 |
+
}.bind(this))
|
1070 |
+
.on('click.fndtn.joyride', '.joyride-prev-tip', function (e) {
|
1071 |
+
e.preventDefault();
|
1072 |
+
this.go_prev();
|
1073 |
+
}.bind(this))
|
1074 |
+
|
1075 |
+
.on('click.fndtn.joyride', '.joyride-close-tip', function (e) {
|
1076 |
+
e.preventDefault();
|
1077 |
+
this.end(this.settings.abort_on_close);
|
1078 |
+
}.bind(this))
|
1079 |
+
|
1080 |
+
.on('keyup.fndtn.joyride', function (e) {
|
1081 |
+
// Don't do anything if keystrokes are disabled
|
1082 |
+
// or if the joyride is not being shown
|
1083 |
+
if (!this.settings.keyboard || !this.settings.riding) {
|
1084 |
+
return;
|
1085 |
+
}
|
1086 |
+
|
1087 |
+
switch (e.which) {
|
1088 |
+
case 39: // right arrow
|
1089 |
+
e.preventDefault();
|
1090 |
+
this.go_next();
|
1091 |
+
break;
|
1092 |
+
case 37: // left arrow
|
1093 |
+
e.preventDefault();
|
1094 |
+
this.go_prev();
|
1095 |
+
break;
|
1096 |
+
case 27: // escape
|
1097 |
+
e.preventDefault();
|
1098 |
+
this.end(this.settings.abort_on_close);
|
1099 |
+
}
|
1100 |
+
}.bind(this));
|
1101 |
+
|
1102 |
+
$(window)
|
1103 |
+
.off('.joyride')
|
1104 |
+
.on('resize.fndtn.joyride', self.throttle(function () {
|
1105 |
+
if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) {
|
1106 |
+
if (self.settings.exposed.length > 0) {
|
1107 |
+
var $els = $(self.settings.exposed);
|
1108 |
+
|
1109 |
+
$els.each(function () {
|
1110 |
+
var $this = $(this);
|
1111 |
+
self.un_expose($this);
|
1112 |
+
self.expose($this);
|
1113 |
+
});
|
1114 |
+
}
|
1115 |
+
|
1116 |
+
if (self.is_phone()) {
|
1117 |
+
self.pos_phone();
|
1118 |
+
} else {
|
1119 |
+
self.pos_default(false);
|
1120 |
+
}
|
1121 |
+
}
|
1122 |
+
}, 100));
|
1123 |
+
},
|
1124 |
+
|
1125 |
+
start : function () {
|
1126 |
+
var self = this,
|
1127 |
+
$this = $('[' + this.attr_name() + ']', this.scope),
|
1128 |
+
integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'],
|
1129 |
+
int_settings_count = integer_settings.length;
|
1130 |
+
|
1131 |
+
if (!$this.length > 0) {
|
1132 |
+
return;
|
1133 |
+
}
|
1134 |
+
|
1135 |
+
if (!this.settings.init) {
|
1136 |
+
this.events();
|
1137 |
+
}
|
1138 |
+
|
1139 |
+
this.settings = $this.data(this.attr_name(true) + '-init');
|
1140 |
+
|
1141 |
+
// non configureable settings
|
1142 |
+
this.settings.$content_el = $this;
|
1143 |
+
this.settings.$body = $(this.settings.tip_container);
|
1144 |
+
this.settings.body_offset = $(this.settings.tip_container).position();
|
1145 |
+
this.settings.$tip_content = this.settings.$content_el.find('> li');
|
1146 |
+
this.settings.paused = false;
|
1147 |
+
this.settings.attempts = 0;
|
1148 |
+
this.settings.riding = true;
|
1149 |
+
|
1150 |
+
// can we create cookies?
|
1151 |
+
if (typeof $.cookie !== 'function') {
|
1152 |
+
this.settings.cookie_monster = false;
|
1153 |
+
}
|
1154 |
+
|
1155 |
+
// generate the tips and insert into dom.
|
1156 |
+
if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) {
|
1157 |
+
this.settings.$tip_content.each(function (index) {
|
1158 |
+
var $this = $(this);
|
1159 |
+
this.settings = $.extend({}, self.defaults, self.data_options($this));
|
1160 |
+
|
1161 |
+
// Make sure that settings parsed from data_options are integers where necessary
|
1162 |
+
var i = int_settings_count;
|
1163 |
+
while (i--) {
|
1164 |
+
self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10);
|
1165 |
+
}
|
1166 |
+
self.create({$li : $this, index : index});
|
1167 |
+
});
|
1168 |
+
|
1169 |
+
// show first tip
|
1170 |
+
if (!this.settings.start_timer_on_click && this.settings.timer > 0) {
|
1171 |
+
this.show('init');
|
1172 |
+
this.startTimer();
|
1173 |
+
} else {
|
1174 |
+
this.show('init');
|
1175 |
+
}
|
1176 |
+
|
1177 |
+
}
|
1178 |
+
},
|
1179 |
+
|
1180 |
+
resume : function () {
|
1181 |
+
this.set_li();
|
1182 |
+
this.show();
|
1183 |
+
},
|
1184 |
+
|
1185 |
+
tip_template : function (opts) {
|
1186 |
+
var $blank, content;
|
1187 |
+
|
1188 |
+
opts.tip_class = opts.tip_class || '';
|
1189 |
+
|
1190 |
+
$blank = $(this.settings.template.tip).addClass(opts.tip_class);
|
1191 |
+
content = $.trim($(opts.li).html()) +
|
1192 |
+
this.prev_button_text(opts.prev_button_text, opts.index) +
|
1193 |
+
this.button_text(opts.button_text) +
|
1194 |
+
this.settings.template.link +
|
1195 |
+
this.timer_instance(opts.index);
|
1196 |
+
|
1197 |
+
$blank.append($(this.settings.template.wrapper));
|
1198 |
+
$blank.first().attr(this.add_namespace('data-index'), opts.index);
|
1199 |
+
$('.joyride-content-wrapper', $blank).append(content);
|
1200 |
+
|
1201 |
+
return $blank[0];
|
1202 |
+
},
|
1203 |
+
|
1204 |
+
timer_instance : function (index) {
|
1205 |
+
var txt;
|
1206 |
+
|
1207 |
+
if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) {
|
1208 |
+
txt = '';
|
1209 |
+
} else {
|
1210 |
+
txt = $(this.settings.template.timer)[0].outerHTML;
|
1211 |
+
}
|
1212 |
+
return txt;
|
1213 |
+
},
|
1214 |
+
|
1215 |
+
button_text : function (txt) {
|
1216 |
+
if (this.settings.tip_settings.next_button) {
|
1217 |
+
txt = $.trim(txt) || 'Next';
|
1218 |
+
txt = $(this.settings.template.button).append(txt)[0].outerHTML;
|
1219 |
+
} else {
|
1220 |
+
txt = '';
|
1221 |
+
}
|
1222 |
+
return txt;
|
1223 |
+
},
|
1224 |
+
|
1225 |
+
prev_button_text : function (txt, idx) {
|
1226 |
+
if (this.settings.tip_settings.prev_button) {
|
1227 |
+
txt = $.trim(txt) || 'Previous';
|
1228 |
+
|
1229 |
+
// Add the disabled class to the button if it's the first element
|
1230 |
+
if (idx == 0) {
|
1231 |
+
txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML;
|
1232 |
+
} else {
|
1233 |
+
txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML;
|
1234 |
+
}
|
1235 |
+
} else {
|
1236 |
+
txt = '';
|
1237 |
+
}
|
1238 |
+
return txt;
|
1239 |
+
},
|
1240 |
+
|
1241 |
+
create : function (opts) {
|
1242 |
+
this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li));
|
1243 |
+
var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')),
|
1244 |
+
prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')),
|
1245 |
+
tipClass = opts.$li.attr('class'),
|
1246 |
+
$tip_content = $(this.tip_template({
|
1247 |
+
tip_class : tipClass,
|
1248 |
+
index : opts.index,
|
1249 |
+
button_text : buttonText,
|
1250 |
+
prev_button_text : prevButtonText,
|
1251 |
+
li : opts.$li
|
1252 |
+
}));
|
1253 |
+
|
1254 |
+
$(this.settings.tip_container).append($tip_content);
|
1255 |
+
},
|
1256 |
+
|
1257 |
+
show : function (init, is_prev) {
|
1258 |
+
var $timer = null;
|
1259 |
+
|
1260 |
+
// are we paused?
|
1261 |
+
if (this.settings.$li === undefined || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) {
|
1262 |
+
|
1263 |
+
// don't go to the next li if the tour was paused
|
1264 |
+
if (this.settings.paused) {
|
1265 |
+
this.settings.paused = false;
|
1266 |
+
} else {
|
1267 |
+
this.set_li(init, is_prev);
|
1268 |
+
}
|
1269 |
+
|
1270 |
+
this.settings.attempts = 0;
|
1271 |
+
|
1272 |
+
if (this.settings.$li.length && this.settings.$target.length > 0) {
|
1273 |
+
if (init) { //run when we first start
|
1274 |
+
this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip);
|
1275 |
+
if (this.settings.modal) {
|
1276 |
+
this.show_modal();
|
1277 |
+
}
|
1278 |
+
}
|
1279 |
+
|
1280 |
+
this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip);
|
1281 |
+
|
1282 |
+
if (this.settings.modal && this.settings.expose) {
|
1283 |
+
this.expose();
|
1284 |
+
}
|
1285 |
+
|
1286 |
+
this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li));
|
1287 |
+
|
1288 |
+
this.settings.timer = parseInt(this.settings.timer, 10);
|
1289 |
+
|
1290 |
+
this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location];
|
1291 |
+
|
1292 |
+
// scroll and hide bg if not modal
|
1293 |
+
if (!/body/i.test(this.settings.$target.selector)) {
|
1294 |
+
var joyridemodalbg = $('.joyride-modal-bg');
|
1295 |
+
if (/pop/i.test(this.settings.tipAnimation)) {
|
1296 |
+
joyridemodalbg.hide();
|
1297 |
+
} else {
|
1298 |
+
joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed);
|
1299 |
+
}
|
1300 |
+
this.scroll_to();
|
1301 |
+
}
|
1302 |
+
|
1303 |
+
if (this.is_phone()) {
|
1304 |
+
this.pos_phone(true);
|
1305 |
+
} else {
|
1306 |
+
this.pos_default(true);
|
1307 |
+
}
|
1308 |
+
|
1309 |
+
$timer = this.settings.$next_tip.find('.joyride-timer-indicator');
|
1310 |
+
|
1311 |
+
if (/pop/i.test(this.settings.tip_animation)) {
|
1312 |
+
|
1313 |
+
$timer.width(0);
|
1314 |
+
|
1315 |
+
if (this.settings.timer > 0) {
|
1316 |
+
|
1317 |
+
this.settings.$next_tip.show();
|
1318 |
+
|
1319 |
+
setTimeout(function () {
|
1320 |
+
$timer.animate({
|
1321 |
+
width : $timer.parent().width()
|
1322 |
+
}, this.settings.timer, 'linear');
|
1323 |
+
}.bind(this), this.settings.tip_animation_fade_speed);
|
1324 |
+
|
1325 |
+
} else {
|
1326 |
+
this.settings.$next_tip.show();
|
1327 |
+
|
1328 |
+
}
|
1329 |
+
|
1330 |
+
} else if (/fade/i.test(this.settings.tip_animation)) {
|
1331 |
+
|
1332 |
+
$timer.width(0);
|
1333 |
+
|
1334 |
+
if (this.settings.timer > 0) {
|
1335 |
+
|
1336 |
+
this.settings.$next_tip
|
1337 |
+
.fadeIn(this.settings.tip_animation_fade_speed)
|
1338 |
+
.show();
|
1339 |
+
|
1340 |
+
setTimeout(function () {
|
1341 |
+
$timer.animate({
|
1342 |
+
width : $timer.parent().width()
|
1343 |
+
}, this.settings.timer, 'linear');
|
1344 |
+
}.bind(this), this.settings.tip_animation_fade_speed);
|
1345 |
+
|
1346 |
+
} else {
|
1347 |
+
this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed);
|
1348 |
+
}
|
1349 |
+
}
|
1350 |
+
|
1351 |
+
this.settings.$current_tip = this.settings.$next_tip;
|
1352 |
+
|
1353 |
+
// skip non-existant targets
|
1354 |
+
} else if (this.settings.$li && this.settings.$target.length < 1) {
|
1355 |
+
|
1356 |
+
this.show(init, is_prev);
|
1357 |
+
|
1358 |
+
} else {
|
1359 |
+
|
1360 |
+
this.end();
|
1361 |
+
|
1362 |
+
}
|
1363 |
+
} else {
|
1364 |
+
|
1365 |
+
this.settings.paused = true;
|
1366 |
+
|
1367 |
+
}
|
1368 |
+
|
1369 |
+
},
|
1370 |
+
|
1371 |
+
is_phone : function () {
|
1372 |
+
return matchMedia(Foundation.media_queries.small).matches &&
|
1373 |
+
!matchMedia(Foundation.media_queries.medium).matches;
|
1374 |
+
},
|
1375 |
+
|
1376 |
+
hide : function () {
|
1377 |
+
if (this.settings.modal && this.settings.expose) {
|
1378 |
+
this.un_expose();
|
1379 |
+
}
|
1380 |
+
|
1381 |
+
if (!this.settings.modal) {
|
1382 |
+
$('.joyride-modal-bg').hide();
|
1383 |
+
}
|
1384 |
+
|
1385 |
+
// Prevent scroll bouncing...wait to remove from layout
|
1386 |
+
this.settings.$current_tip.css('visibility', 'hidden');
|
1387 |
+
setTimeout($.proxy(function () {
|
1388 |
+
this.hide();
|
1389 |
+
this.css('visibility', 'visible');
|
1390 |
+
}, this.settings.$current_tip), 0);
|
1391 |
+
this.settings.post_step_callback(this.settings.$li.index(),
|
1392 |
+
this.settings.$current_tip);
|
1393 |
+
},
|
1394 |
+
|
1395 |
+
set_li : function (init, is_prev) {
|
1396 |
+
if (init) {
|
1397 |
+
this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset);
|
1398 |
+
this.set_next_tip();
|
1399 |
+
this.settings.$current_tip = this.settings.$next_tip;
|
1400 |
+
} else {
|
1401 |
+
if (is_prev) {
|
1402 |
+
this.settings.$li = this.settings.$li.prev();
|
1403 |
+
} else {
|
1404 |
+
this.settings.$li = this.settings.$li.next();
|
1405 |
+
}
|
1406 |
+
this.set_next_tip();
|
1407 |
+
}
|
1408 |
+
|
1409 |
+
this.set_target();
|
1410 |
+
},
|
1411 |
+
|
1412 |
+
set_next_tip : function () {
|
1413 |
+
this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index());
|
1414 |
+
this.settings.$next_tip.data('closed', '');
|
1415 |
+
},
|
1416 |
+
|
1417 |
+
set_target : function () {
|
1418 |
+
var cl = this.settings.$li.attr(this.add_namespace('data-class')),
|
1419 |
+
id = this.settings.$li.attr(this.add_namespace('data-id')),
|
1420 |
+
$sel = function () {
|
1421 |
+
if (id) {
|
1422 |
+
return $(document.getElementById(id));
|
1423 |
+
} else if (cl) {
|
1424 |
+
return $('.' + cl).first();
|
1425 |
+
} else {
|
1426 |
+
return $('body');
|
1427 |
+
}
|
1428 |
+
};
|
1429 |
+
|
1430 |
+
this.settings.$target = $sel();
|
1431 |
+
},
|
1432 |
+
|
1433 |
+
scroll_to : function () {
|
1434 |
+
var window_half, tipOffset;
|
1435 |
+
|
1436 |
+
window_half = $(window).height() / 2;
|
1437 |
+
tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight());
|
1438 |
+
|
1439 |
+
if (tipOffset != 0) {
|
1440 |
+
$('html, body').stop().animate({
|
1441 |
+
scrollTop : tipOffset
|
1442 |
+
}, this.settings.scroll_speed, 'swing');
|
1443 |
+
}
|
1444 |
+
},
|
1445 |
+
|
1446 |
+
paused : function () {
|
1447 |
+
return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1);
|
1448 |
+
},
|
1449 |
+
|
1450 |
+
restart : function () {
|
1451 |
+
this.hide();
|
1452 |
+
this.settings.$li = undefined;
|
1453 |
+
this.show('init');
|
1454 |
+
},
|
1455 |
+
|
1456 |
+
pos_default : function (init) {
|
1457 |
+
var $nub = this.settings.$next_tip.find('.joyride-nub'),
|
1458 |
+
nub_width = Math.ceil($nub.outerWidth() / 2),
|
1459 |
+
nub_height = Math.ceil($nub.outerHeight() / 2),
|
1460 |
+
toggle = init || false;
|
1461 |
+
|
1462 |
+
// tip must not be "display: none" to calculate position
|
1463 |
+
if (toggle) {
|
1464 |
+
this.settings.$next_tip.css('visibility', 'hidden');
|
1465 |
+
this.settings.$next_tip.show();
|
1466 |
+
}
|
1467 |
+
|
1468 |
+
if (!/body/i.test(this.settings.$target.selector)) {
|
1469 |
+
var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0,
|
1470 |
+
leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0;
|
1471 |
+
|
1472 |
+
if (this.bottom()) {
|
1473 |
+
if (this.rtl) {
|
1474 |
+
this.settings.$next_tip.css({
|
1475 |
+
top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment),
|
1476 |
+
left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment});
|
1477 |
+
} else {
|
1478 |
+
this.settings.$next_tip.css({
|
1479 |
+
top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment),
|
1480 |
+
left : this.settings.$target.offset().left + leftAdjustment});
|
1481 |
+
}
|
1482 |
+
|
1483 |
+
this.nub_position($nub, this.settings.tip_settings.nub_position, 'top');
|
1484 |
+
|
1485 |
+
} else if (this.top()) {
|
1486 |
+
if (this.rtl) {
|
1487 |
+
this.settings.$next_tip.css({
|
1488 |
+
top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment),
|
1489 |
+
left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()});
|
1490 |
+
} else {
|
1491 |
+
this.settings.$next_tip.css({
|
1492 |
+
top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment),
|
1493 |
+
left : this.settings.$target.offset().left + leftAdjustment});
|
1494 |
+
}
|
1495 |
+
|
1496 |
+
this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom');
|
1497 |
+
|
1498 |
+
} else if (this.right()) {
|
1499 |
+
|
1500 |
+
this.settings.$next_tip.css({
|
1501 |
+
top : this.settings.$target.offset().top + topAdjustment,
|
1502 |
+
left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)});
|
1503 |
+
|
1504 |
+
this.nub_position($nub, this.settings.tip_settings.nub_position, 'left');
|
1505 |
+
|
1506 |
+
} else if (this.left()) {
|
1507 |
+
|
1508 |
+
this.settings.$next_tip.css({
|
1509 |
+
top : this.settings.$target.offset().top + topAdjustment,
|
1510 |
+
left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)});
|
1511 |
+
|
1512 |
+
this.nub_position($nub, this.settings.tip_settings.nub_position, 'right');
|
1513 |
+
|
1514 |
+
}
|
1515 |
+
|
1516 |
+
if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) {
|
1517 |
+
|
1518 |
+
$nub.removeClass('bottom')
|
1519 |
+
.removeClass('top')
|
1520 |
+
.removeClass('right')
|
1521 |
+
.removeClass('left');
|
1522 |
+
|
1523 |
+
this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts];
|
1524 |
+
|
1525 |
+
this.settings.attempts++;
|
1526 |
+
|
1527 |
+
this.pos_default();
|
1528 |
+
|
1529 |
+
}
|
1530 |
+
|
1531 |
+
} else if (this.settings.$li.length) {
|
1532 |
+
|
1533 |
+
this.pos_modal($nub);
|
1534 |
+
|
1535 |
+
}
|
1536 |
+
|
1537 |
+
if (toggle) {
|
1538 |
+
this.settings.$next_tip.hide();
|
1539 |
+
this.settings.$next_tip.css('visibility', 'visible');
|
1540 |
+
}
|
1541 |
+
|
1542 |
+
},
|
1543 |
+
|
1544 |
+
pos_phone : function (init) {
|
1545 |
+
var tip_height = this.settings.$next_tip.outerHeight(),
|
1546 |
+
tip_offset = this.settings.$next_tip.offset(),
|
1547 |
+
target_height = this.settings.$target.outerHeight(),
|
1548 |
+
$nub = $('.joyride-nub', this.settings.$next_tip),
|
1549 |
+
nub_height = Math.ceil($nub.outerHeight() / 2),
|
1550 |
+
toggle = init || false;
|
1551 |
+
|
1552 |
+
$nub.removeClass('bottom')
|
1553 |
+
.removeClass('top')
|
1554 |
+
.removeClass('right')
|
1555 |
+
.removeClass('left');
|
1556 |
+
|
1557 |
+
if (toggle) {
|
1558 |
+
this.settings.$next_tip.css('visibility', 'hidden');
|
1559 |
+
this.settings.$next_tip.show();
|
1560 |
+
}
|
1561 |
+
|
1562 |
+
if (!/body/i.test(this.settings.$target.selector)) {
|
1563 |
+
|
1564 |
+
if (this.top()) {
|
1565 |
+
|
1566 |
+
this.settings.$next_tip.offset({top : this.settings.$target.offset().top - tip_height - nub_height});
|
1567 |
+
$nub.addClass('bottom');
|
1568 |
+
|
1569 |
+
} else {
|
1570 |
+
|
1571 |
+
this.settings.$next_tip.offset({top : this.settings.$target.offset().top + target_height + nub_height});
|
1572 |
+
$nub.addClass('top');
|
1573 |
+
|
1574 |
+
}
|
1575 |
+
|
1576 |
+
} else if (this.settings.$li.length) {
|
1577 |
+
this.pos_modal($nub);
|
1578 |
+
}
|
1579 |
+
|
1580 |
+
if (toggle) {
|
1581 |
+
this.settings.$next_tip.hide();
|
1582 |
+
this.settings.$next_tip.css('visibility', 'visible');
|
1583 |
+
}
|
1584 |
+
},
|
1585 |
+
|
1586 |
+
pos_modal : function ($nub) {
|
1587 |
+
this.center();
|
1588 |
+
$nub.hide();
|
1589 |
+
|
1590 |
+
this.show_modal();
|
1591 |
+
},
|
1592 |
+
|
1593 |
+
show_modal : function () {
|
1594 |
+
if (!this.settings.$next_tip.data('closed')) {
|
1595 |
+
var joyridemodalbg = $('.joyride-modal-bg');
|
1596 |
+
if (joyridemodalbg.length < 1) {
|
1597 |
+
var joyridemodalbg = $(this.settings.template.modal);
|
1598 |
+
joyridemodalbg.appendTo('body');
|
1599 |
+
}
|
1600 |
+
|
1601 |
+
if (/pop/i.test(this.settings.tip_animation)) {
|
1602 |
+
joyridemodalbg.show();
|
1603 |
+
} else {
|
1604 |
+
joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed);
|
1605 |
+
}
|
1606 |
+
}
|
1607 |
+
},
|
1608 |
+
|
1609 |
+
expose : function () {
|
1610 |
+
var expose,
|
1611 |
+
exposeCover,
|
1612 |
+
el,
|
1613 |
+
origCSS,
|
1614 |
+
origClasses,
|
1615 |
+
randId = 'expose-' + this.random_str(6);
|
1616 |
+
|
1617 |
+
if (arguments.length > 0 && arguments[0] instanceof $) {
|
1618 |
+
el = arguments[0];
|
1619 |
+
} else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) {
|
1620 |
+
el = this.settings.$target;
|
1621 |
+
} else {
|
1622 |
+
return false;
|
1623 |
+
}
|
1624 |
+
|
1625 |
+
if (el.length < 1) {
|
1626 |
+
if (window.console) {
|
1627 |
+
console.error('element not valid', el);
|
1628 |
+
}
|
1629 |
+
return false;
|
1630 |
+
}
|
1631 |
+
|
1632 |
+
expose = $(this.settings.template.expose);
|
1633 |
+
this.settings.$body.append(expose);
|
1634 |
+
expose.css({
|
1635 |
+
top : el.offset().top,
|
1636 |
+
left : el.offset().left,
|
1637 |
+
width : el.outerWidth(true),
|
1638 |
+
height : el.outerHeight(true)
|
1639 |
+
});
|
1640 |
+
|
1641 |
+
exposeCover = $(this.settings.template.expose_cover);
|
1642 |
+
|
1643 |
+
origCSS = {
|
1644 |
+
zIndex : el.css('z-index'),
|
1645 |
+
position : el.css('position')
|
1646 |
+
};
|
1647 |
+
|
1648 |
+
origClasses = el.attr('class') == null ? '' : el.attr('class');
|
1649 |
+
|
1650 |
+
el.css('z-index', parseInt(expose.css('z-index')) + 1);
|
1651 |
+
|
1652 |
+
if (origCSS.position == 'static') {
|
1653 |
+
el.css('position', 'relative');
|
1654 |
+
}
|
1655 |
+
|
1656 |
+
el.data('expose-css', origCSS);
|
1657 |
+
el.data('orig-class', origClasses);
|
1658 |
+
el.attr('class', origClasses + ' ' + this.settings.expose_add_class);
|
1659 |
+
|
1660 |
+
exposeCover.css({
|
1661 |
+
top : el.offset().top,
|
1662 |
+
left : el.offset().left,
|
1663 |
+
width : el.outerWidth(true),
|
1664 |
+
height : el.outerHeight(true)
|
1665 |
+
});
|
1666 |
+
|
1667 |
+
if (this.settings.modal) {
|
1668 |
+
this.show_modal();
|
1669 |
+
}
|
1670 |
+
|
1671 |
+
this.settings.$body.append(exposeCover);
|
1672 |
+
expose.addClass(randId);
|
1673 |
+
exposeCover.addClass(randId);
|
1674 |
+
el.data('expose', randId);
|
1675 |
+
this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el);
|
1676 |
+
this.add_exposed(el);
|
1677 |
+
},
|
1678 |
+
|
1679 |
+
un_expose : function () {
|
1680 |
+
var exposeId,
|
1681 |
+
el,
|
1682 |
+
expose,
|
1683 |
+
origCSS,
|
1684 |
+
origClasses,
|
1685 |
+
clearAll = false;
|
1686 |
+
|
1687 |
+
if (arguments.length > 0 && arguments[0] instanceof $) {
|
1688 |
+
el = arguments[0];
|
1689 |
+
} else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) {
|
1690 |
+
el = this.settings.$target;
|
1691 |
+
} else {
|
1692 |
+
return false;
|
1693 |
+
}
|
1694 |
+
|
1695 |
+
if (el.length < 1) {
|
1696 |
+
if (window.console) {
|
1697 |
+
console.error('element not valid', el);
|
1698 |
+
}
|
1699 |
+
return false;
|
1700 |
+
}
|
1701 |
+
|
1702 |
+
exposeId = el.data('expose');
|
1703 |
+
expose = $('.' + exposeId);
|
1704 |
+
|
1705 |
+
if (arguments.length > 1) {
|
1706 |
+
clearAll = arguments[1];
|
1707 |
+
}
|
1708 |
+
|
1709 |
+
if (clearAll === true) {
|
1710 |
+
$('.joyride-expose-wrapper,.joyride-expose-cover').remove();
|
1711 |
+
} else {
|
1712 |
+
expose.remove();
|
1713 |
+
}
|
1714 |
+
|
1715 |
+
origCSS = el.data('expose-css');
|
1716 |
+
|
1717 |
+
if (origCSS.zIndex == 'auto') {
|
1718 |
+
el.css('z-index', '');
|
1719 |
+
} else {
|
1720 |
+
el.css('z-index', origCSS.zIndex);
|
1721 |
+
}
|
1722 |
+
|
1723 |
+
if (origCSS.position != el.css('position')) {
|
1724 |
+
if (origCSS.position == 'static') {// this is default, no need to set it.
|
1725 |
+
el.css('position', '');
|
1726 |
+
} else {
|
1727 |
+
el.css('position', origCSS.position);
|
1728 |
+
}
|
1729 |
+
}
|
1730 |
+
|
1731 |
+
origClasses = el.data('orig-class');
|
1732 |
+
el.attr('class', origClasses);
|
1733 |
+
el.removeData('orig-classes');
|
1734 |
+
|
1735 |
+
el.removeData('expose');
|
1736 |
+
el.removeData('expose-z-index');
|
1737 |
+
this.remove_exposed(el);
|
1738 |
+
},
|
1739 |
+
|
1740 |
+
add_exposed : function (el) {
|
1741 |
+
this.settings.exposed = this.settings.exposed || [];
|
1742 |
+
if (el instanceof $ || typeof el === 'object') {
|
1743 |
+
this.settings.exposed.push(el[0]);
|
1744 |
+
} else if (typeof el == 'string') {
|
1745 |
+
this.settings.exposed.push(el);
|
1746 |
+
}
|
1747 |
+
},
|
1748 |
+
|
1749 |
+
remove_exposed : function (el) {
|
1750 |
+
var search, i;
|
1751 |
+
if (el instanceof $) {
|
1752 |
+
search = el[0]
|
1753 |
+
} else if (typeof el == 'string') {
|
1754 |
+
search = el;
|
1755 |
+
}
|
1756 |
+
|
1757 |
+
this.settings.exposed = this.settings.exposed || [];
|
1758 |
+
i = this.settings.exposed.length;
|
1759 |
+
|
1760 |
+
while (i--) {
|
1761 |
+
if (this.settings.exposed[i] == search) {
|
1762 |
+
this.settings.exposed.splice(i, 1);
|
1763 |
+
return;
|
1764 |
+
}
|
1765 |
+
}
|
1766 |
+
},
|
1767 |
+
|
1768 |
+
center : function () {
|
1769 |
+
var $w = $(window);
|
1770 |
+
|
1771 |
+
this.settings.$next_tip.css({
|
1772 |
+
top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()),
|
1773 |
+
left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft())
|
1774 |
+
});
|
1775 |
+
|
1776 |
+
return true;
|
1777 |
+
},
|
1778 |
+
|
1779 |
+
bottom : function () {
|
1780 |
+
return /bottom/i.test(this.settings.tip_settings.tip_location);
|
1781 |
+
},
|
1782 |
+
|
1783 |
+
top : function () {
|
1784 |
+
return /top/i.test(this.settings.tip_settings.tip_location);
|
1785 |
+
},
|
1786 |
+
|
1787 |
+
right : function () {
|
1788 |
+
return /right/i.test(this.settings.tip_settings.tip_location);
|
1789 |
+
},
|
1790 |
+
|
1791 |
+
left : function () {
|
1792 |
+
return /left/i.test(this.settings.tip_settings.tip_location);
|
1793 |
+
},
|
1794 |
+
|
1795 |
+
corners : function (el) {
|
1796 |
+
var w = $(window),
|
1797 |
+
window_half = w.height() / 2,
|
1798 |
+
//using this to calculate since scroll may not have finished yet.
|
1799 |
+
tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()),
|
1800 |
+
right = w.width() + w.scrollLeft(),
|
1801 |
+
offsetBottom = w.height() + tipOffset,
|
1802 |
+
bottom = w.height() + w.scrollTop(),
|
1803 |
+
top = w.scrollTop();
|
1804 |
+
|
1805 |
+
if (tipOffset < top) {
|
1806 |
+
if (tipOffset < 0) {
|
1807 |
+
top = 0;
|
1808 |
+
} else {
|
1809 |
+
top = tipOffset;
|
1810 |
+
}
|
1811 |
+
}
|
1812 |
+
|
1813 |
+
if (offsetBottom > bottom) {
|
1814 |
+
bottom = offsetBottom;
|
1815 |
+
}
|
1816 |
+
|
1817 |
+
return [
|
1818 |
+
el.offset().top < top,
|
1819 |
+
right < el.offset().left + el.outerWidth(),
|
1820 |
+
bottom < el.offset().top + el.outerHeight(),
|
1821 |
+
w.scrollLeft() > el.offset().left
|
1822 |
+
];
|
1823 |
+
},
|
1824 |
+
|
1825 |
+
visible : function (hidden_corners) {
|
1826 |
+
var i = hidden_corners.length;
|
1827 |
+
|
1828 |
+
while (i--) {
|
1829 |
+
if (hidden_corners[i]) {
|
1830 |
+
return false;
|
1831 |
+
}
|
1832 |
+
}
|
1833 |
+
|
1834 |
+
return true;
|
1835 |
+
},
|
1836 |
+
|
1837 |
+
nub_position : function (nub, pos, def) {
|
1838 |
+
if (pos === 'auto') {
|
1839 |
+
nub.addClass(def);
|
1840 |
+
} else {
|
1841 |
+
nub.addClass(pos);
|
1842 |
+
}
|
1843 |
+
},
|
1844 |
+
|
1845 |
+
startTimer : function () {
|
1846 |
+
if (this.settings.$li.length) {
|
1847 |
+
this.settings.automate = setTimeout(function () {
|
1848 |
+
this.hide();
|
1849 |
+
this.show();
|
1850 |
+
this.startTimer();
|
1851 |
+
}.bind(this), this.settings.timer);
|
1852 |
+
} else {
|
1853 |
+
clearTimeout(this.settings.automate);
|
1854 |
+
}
|
1855 |
+
},
|
1856 |
+
|
1857 |
+
end : function (abort) {
|
1858 |
+
if (this.settings.cookie_monster) {
|
1859 |
+
$.cookie(this.settings.cookie_name, 'ridden', {expires : this.settings.cookie_expires, domain : this.settings.cookie_domain});
|
1860 |
+
}
|
1861 |
+
|
1862 |
+
if (this.settings.timer > 0) {
|
1863 |
+
clearTimeout(this.settings.automate);
|
1864 |
+
}
|
1865 |
+
|
1866 |
+
if (this.settings.modal && this.settings.expose) {
|
1867 |
+
this.un_expose();
|
1868 |
+
}
|
1869 |
+
|
1870 |
+
// Unplug keystrokes listener
|
1871 |
+
$(this.scope).off('keyup.joyride')
|
1872 |
+
|
1873 |
+
this.settings.$next_tip.data('closed', true);
|
1874 |
+
this.settings.riding = false;
|
1875 |
+
|
1876 |
+
$('.joyride-modal-bg').hide();
|
1877 |
+
this.settings.$current_tip.hide();
|
1878 |
+
|
1879 |
+
if (typeof abort === 'undefined' || abort === false) {
|
1880 |
+
this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip);
|
1881 |
+
this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip);
|
1882 |
+
}
|
1883 |
+
|
1884 |
+
$('.joyride-tip-guide').remove();
|
1885 |
+
},
|
1886 |
+
|
1887 |
+
off : function () {
|
1888 |
+
$(this.scope).off('.joyride');
|
1889 |
+
$(window).off('.joyride');
|
1890 |
+
$('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride');
|
1891 |
+
$('.joyride-tip-guide, .joyride-modal-bg').remove();
|
1892 |
+
clearTimeout(this.settings.automate);
|
1893 |
+
this.settings = {};
|
1894 |
+
},
|
1895 |
+
|
1896 |
+
reflow : function () {}
|
1897 |
+
};
|
1898 |
+
}(jQuery, window, window.document));
|
1899 |
+
;(function ($, window, document, undefined) {
|
1900 |
+
'use strict';
|
1901 |
+
|
1902 |
+
Foundation.libs.equalizer = {
|
1903 |
+
name : 'equalizer',
|
1904 |
+
|
1905 |
+
version : '5.5.1',
|
1906 |
+
|
1907 |
+
settings : {
|
1908 |
+
use_tallest : true,
|
1909 |
+
before_height_change : $.noop,
|
1910 |
+
after_height_change : $.noop,
|
1911 |
+
equalize_on_stack : false
|
1912 |
+
},
|
1913 |
+
|
1914 |
+
init : function (scope, method, options) {
|
1915 |
+
Foundation.inherit(this, 'image_loaded');
|
1916 |
+
this.bindings(method, options);
|
1917 |
+
this.reflow();
|
1918 |
+
},
|
1919 |
+
|
1920 |
+
events : function () {
|
1921 |
+
this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) {
|
1922 |
+
this.reflow();
|
1923 |
+
}.bind(this));
|
1924 |
+
},
|
1925 |
+
|
1926 |
+
equalize : function (equalizer) {
|
1927 |
+
var isStacked = false,
|
1928 |
+
vals = equalizer.find('[' + this.attr_name() + '-watch]:visible'),
|
1929 |
+
settings = equalizer.data(this.attr_name(true) + '-init');
|
1930 |
+
|
1931 |
+
if (vals.length === 0) {
|
1932 |
+
return;
|
1933 |
+
}
|
1934 |
+
var firstTopOffset = vals.first().offset().top;
|
1935 |
+
settings.before_height_change();
|
1936 |
+
equalizer.trigger('before-height-change').trigger('before-height-change.fndth.equalizer');
|
1937 |
+
vals.height('inherit');
|
1938 |
+
vals.each(function () {
|
1939 |
+
var el = $(this);
|
1940 |
+
if (el.offset().top !== firstTopOffset) {
|
1941 |
+
isStacked = true;
|
1942 |
+
}
|
1943 |
+
});
|
1944 |
+
|
1945 |
+
if (settings.equalize_on_stack === false) {
|
1946 |
+
if (isStacked) {
|
1947 |
+
return;
|
1948 |
+
}
|
1949 |
+
};
|
1950 |
+
|
1951 |
+
var heights = vals.map(function () { return $(this).outerHeight(false) }).get();
|
1952 |
+
|
1953 |
+
if (settings.use_tallest) {
|
1954 |
+
var max = Math.max.apply(null, heights);
|
1955 |
+
vals.css('height', max);
|
1956 |
+
} else {
|
1957 |
+
var min = Math.min.apply(null, heights);
|
1958 |
+
vals.css('height', min);
|
1959 |
+
}
|
1960 |
+
settings.after_height_change();
|
1961 |
+
equalizer.trigger('after-height-change').trigger('after-height-change.fndtn.equalizer');
|
1962 |
+
},
|
1963 |
+
|
1964 |
+
reflow : function () {
|
1965 |
+
var self = this;
|
1966 |
+
|
1967 |
+
this.S('[' + this.attr_name() + ']', this.scope).each(function () {
|
1968 |
+
var $eq_target = $(this);
|
1969 |
+
self.image_loaded(self.S('img', this), function () {
|
1970 |
+
self.equalize($eq_target)
|
1971 |
+
});
|
1972 |
+
});
|
1973 |
+
}
|
1974 |
+
};
|
1975 |
+
})(jQuery, window, window.document);
|
1976 |
+
;(function ($, window, document, undefined) {
|
1977 |
+
'use strict';
|
1978 |
+
|
1979 |
+
Foundation.libs.dropdown = {
|
1980 |
+
name : 'dropdown',
|
1981 |
+
|
1982 |
+
version : '5.5.1',
|
1983 |
+
|
1984 |
+
settings : {
|
1985 |
+
active_class : 'open',
|
1986 |
+
disabled_class : 'disabled',
|
1987 |
+
mega_class : 'mega',
|
1988 |
+
align : 'bottom',
|
1989 |
+
is_hover : false,
|
1990 |
+
hover_timeout : 150,
|
1991 |
+
opened : function () {},
|
1992 |
+
closed : function () {}
|
1993 |
+
},
|
1994 |
+
|
1995 |
+
init : function (scope, method, options) {
|
1996 |
+
Foundation.inherit(this, 'throttle');
|
1997 |
+
|
1998 |
+
$.extend(true, this.settings, method, options);
|
1999 |
+
this.bindings(method, options);
|
2000 |
+
},
|
2001 |
+
|
2002 |
+
events : function (scope) {
|
2003 |
+
var self = this,
|
2004 |
+
S = self.S;
|
2005 |
+
|
2006 |
+
S(this.scope)
|
2007 |
+
.off('.dropdown')
|
2008 |
+
.on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) {
|
2009 |
+
var settings = S(this).data(self.attr_name(true) + '-init') || self.settings;
|
2010 |
+
if (!settings.is_hover || Modernizr.touch) {
|
2011 |
+
e.preventDefault();
|
2012 |
+
if (S(this).parent('[data-reveal-id]')) {
|
2013 |
+
e.stopPropagation();
|
2014 |
+
}
|
2015 |
+
self.toggle($(this));
|
2016 |
+
}
|
2017 |
+
})
|
2018 |
+
.on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) {
|
2019 |
+
var $this = S(this),
|
2020 |
+
dropdown,
|
2021 |
+
target;
|
2022 |
+
|
2023 |
+
clearTimeout(self.timeout);
|
2024 |
+
|
2025 |
+
if ($this.data(self.data_attr())) {
|
2026 |
+
dropdown = S('#' + $this.data(self.data_attr()));
|
2027 |
+
target = $this;
|
2028 |
+
} else {
|
2029 |
+
dropdown = $this;
|
2030 |
+
target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]');
|
2031 |
+
}
|
2032 |
+
|
2033 |
+
var settings = target.data(self.attr_name(true) + '-init') || self.settings;
|
2034 |
+
|
2035 |
+
if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) {
|
2036 |
+
self.closeall.call(self);
|
2037 |
+
}
|
2038 |
+
|
2039 |
+
if (settings.is_hover) {
|
2040 |
+
self.open.apply(self, [dropdown, target]);
|
2041 |
+
}
|
2042 |
+
})
|
2043 |
+
.on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) {
|
2044 |
+
var $this = S(this);
|
2045 |
+
var settings;
|
2046 |
+
|
2047 |
+
if ($this.data(self.data_attr())) {
|
2048 |
+
settings = $this.data(self.data_attr(true) + '-init') || self.settings;
|
2049 |
+
} else {
|
2050 |
+
var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'),
|
2051 |
+
settings = target.data(self.attr_name(true) + '-init') || self.settings;
|
2052 |
+
}
|
2053 |
+
|
2054 |
+
self.timeout = setTimeout(function () {
|
2055 |
+
if ($this.data(self.data_attr())) {
|
2056 |
+
if (settings.is_hover) {
|
2057 |
+
self.close.call(self, S('#' + $this.data(self.data_attr())));
|
2058 |
+
}
|
2059 |
+
} else {
|
2060 |
+
if (settings.is_hover) {
|
2061 |
+
self.close.call(self, $this);
|
2062 |
+
}
|
2063 |
+
}
|
2064 |
+
}.bind(this), settings.hover_timeout);
|
2065 |
+
})
|
2066 |
+
.on('click.fndtn.dropdown', function (e) {
|
2067 |
+
var parent = S(e.target).closest('[' + self.attr_name() + '-content]');
|
2068 |
+
var links = parent.find('a');
|
2069 |
+
|
2070 |
+
if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') {
|
2071 |
+
self.close.call(self, S('[' + self.attr_name() + '-content]'));
|
2072 |
+
}
|
2073 |
+
|
2074 |
+
if (e.target !== document && !$.contains(document.documentElement, e.target)) {
|
2075 |
+
return;
|
2076 |
+
}
|
2077 |
+
|
2078 |
+
if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) {
|
2079 |
+
return;
|
2080 |
+
}
|
2081 |
+
|
2082 |
+
if (!(S(e.target).data('revealId')) &&
|
2083 |
+
(parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') ||
|
2084 |
+
$.contains(parent.first()[0], e.target)))) {
|
2085 |
+
e.stopPropagation();
|
2086 |
+
return;
|
2087 |
+
}
|
2088 |
+
|
2089 |
+
self.close.call(self, S('[' + self.attr_name() + '-content]'));
|
2090 |
+
})
|
2091 |
+
.on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () {
|
2092 |
+
self.settings.opened.call(this);
|
2093 |
+
})
|
2094 |
+
.on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () {
|
2095 |
+
self.settings.closed.call(this);
|
2096 |
+
});
|
2097 |
+
|
2098 |
+
S(window)
|
2099 |
+
.off('.dropdown')
|
2100 |
+
.on('resize.fndtn.dropdown', self.throttle(function () {
|
2101 |
+
self.resize.call(self);
|
2102 |
+
}, 50));
|
2103 |
+
|
2104 |
+
this.resize();
|
2105 |
+
},
|
2106 |
+
|
2107 |
+
close : function (dropdown) {
|
2108 |
+
var self = this;
|
2109 |
+
dropdown.each(function () {
|
2110 |
+
var original_target = $('[' + self.attr_name() + '=' + dropdown[0].id + ']') || $('aria-controls=' + dropdown[0].id + ']');
|
2111 |
+
original_target.attr('aria-expanded', 'false');
|
2112 |
+
if (self.S(this).hasClass(self.settings.active_class)) {
|
2113 |
+
self.S(this)
|
2114 |
+
.css(Foundation.rtl ? 'right' : 'left', '-99999px')
|
2115 |
+
.attr('aria-hidden', 'true')
|
2116 |
+
.removeClass(self.settings.active_class)
|
2117 |
+
.prev('[' + self.attr_name() + ']')
|
2118 |
+
.removeClass(self.settings.active_class)
|
2119 |
+
.removeData('target');
|
2120 |
+
|
2121 |
+
self.S(this).trigger('closed').trigger('closed.fndtn.dropdown', [dropdown]);
|
2122 |
+
}
|
2123 |
+
});
|
2124 |
+
dropdown.removeClass('f-open-' + this.attr_name(true));
|
2125 |
+
},
|
2126 |
+
|
2127 |
+
closeall : function () {
|
2128 |
+
var self = this;
|
2129 |
+
$.each(self.S('.f-open-' + this.attr_name(true)), function () {
|
2130 |
+
self.close.call(self, self.S(this));
|
2131 |
+
});
|
2132 |
+
},
|
2133 |
+
|
2134 |
+
open : function (dropdown, target) {
|
2135 |
+
this
|
2136 |
+
.css(dropdown
|
2137 |
+
.addClass(this.settings.active_class), target);
|
2138 |
+
dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class);
|
2139 |
+
dropdown.data('target', target.get(0)).trigger('opened').trigger('opened.fndtn.dropdown', [dropdown, target]);
|
2140 |
+
dropdown.attr('aria-hidden', 'false');
|
2141 |
+
target.attr('aria-expanded', 'true');
|
2142 |
+
dropdown.focus();
|
2143 |
+
dropdown.addClass('f-open-' + this.attr_name(true));
|
2144 |
+
},
|
2145 |
+
|
2146 |
+
data_attr : function () {
|
2147 |
+
if (this.namespace.length > 0) {
|
2148 |
+
return this.namespace + '-' + this.name;
|
2149 |
+
}
|
2150 |
+
|
2151 |
+
return this.name;
|
2152 |
+
},
|
2153 |
+
|
2154 |
+
toggle : function (target) {
|
2155 |
+
if (target.hasClass(this.settings.disabled_class)) {
|
2156 |
+
return;
|
2157 |
+
}
|
2158 |
+
var dropdown = this.S('#' + target.data(this.data_attr()));
|
2159 |
+
if (dropdown.length === 0) {
|
2160 |
+
// No dropdown found, not continuing
|
2161 |
+
return;
|
2162 |
+
}
|
2163 |
+
|
2164 |
+
this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown));
|
2165 |
+
|
2166 |
+
if (dropdown.hasClass(this.settings.active_class)) {
|
2167 |
+
this.close.call(this, dropdown);
|
2168 |
+
if (dropdown.data('target') !== target.get(0)) {
|
2169 |
+
this.open.call(this, dropdown, target);
|
2170 |
+
}
|
2171 |
+
} else {
|
2172 |
+
this.open.call(this, dropdown, target);
|
2173 |
+
}
|
2174 |
+
},
|
2175 |
+
|
2176 |
+
resize : function () {
|
2177 |
+
var dropdown = this.S('[' + this.attr_name() + '-content].open');
|
2178 |
+
var target = $(dropdown.data("target"));
|
2179 |
+
|
2180 |
+
if (dropdown.length && target.length) {
|
2181 |
+
this.css(dropdown, target);
|
2182 |
+
}
|
2183 |
+
},
|
2184 |
+
|
2185 |
+
css : function (dropdown, target) {
|
2186 |
+
var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8),
|
2187 |
+
settings = target.data(this.attr_name(true) + '-init') || this.settings;
|
2188 |
+
|
2189 |
+
this.clear_idx();
|
2190 |
+
|
2191 |
+
if (this.small()) {
|
2192 |
+
var p = this.dirs.bottom.call(dropdown, target, settings);
|
2193 |
+
|
2194 |
+
dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({
|
2195 |
+
position : 'absolute',
|
2196 |
+
width : '95%',
|
2197 |
+
'max-width' : 'none',
|
2198 |
+
top : p.top
|
2199 |
+
});
|
2200 |
+
|
2201 |
+
dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset);
|
2202 |
+
} else {
|
2203 |
+
|
2204 |
+
this.style(dropdown, target, settings);
|
2205 |
+
}
|
2206 |
+
|
2207 |
+
return dropdown;
|
2208 |
+
},
|
2209 |
+
|
2210 |
+
style : function (dropdown, target, settings) {
|
2211 |
+
var css = $.extend({position : 'absolute'},
|
2212 |
+
this.dirs[settings.align].call(dropdown, target, settings));
|
2213 |
+
|
2214 |
+
dropdown.attr('style', '').css(css);
|
2215 |
+
},
|
2216 |
+
|
2217 |
+
// return CSS property object
|
2218 |
+
// `this` is the dropdown
|
2219 |
+
dirs : {
|
2220 |
+
// Calculate target offset
|
2221 |
+
_base : function (t) {
|
2222 |
+
var o_p = this.offsetParent(),
|
2223 |
+
o = o_p.offset(),
|
2224 |
+
p = t.offset();
|
2225 |
+
|
2226 |
+
p.top -= o.top;
|
2227 |
+
p.left -= o.left;
|
2228 |
+
|
2229 |
+
//set some flags on the p object to pass along
|
2230 |
+
p.missRight = false;
|
2231 |
+
p.missTop = false;
|
2232 |
+
p.missLeft = false;
|
2233 |
+
p.leftRightFlag = false;
|
2234 |
+
|
2235 |
+
//lets see if the panel will be off the screen
|
2236 |
+
//get the actual width of the page and store it
|
2237 |
+
var actualBodyWidth;
|
2238 |
+
if (document.getElementsByClassName('row')[0]) {
|
2239 |
+
actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth;
|
2240 |
+
} else {
|
2241 |
+
actualBodyWidth = window.outerWidth;
|
2242 |
+
}
|
2243 |
+
|
2244 |
+
var actualMarginWidth = (window.outerWidth - actualBodyWidth) / 2;
|
2245 |
+
var actualBoundary = actualBodyWidth;
|
2246 |
+
|
2247 |
+
if (!this.hasClass('mega')) {
|
2248 |
+
//miss top
|
2249 |
+
if (t.offset().top <= this.outerHeight()) {
|
2250 |
+
p.missTop = true;
|
2251 |
+
actualBoundary = window.outerWidth - actualMarginWidth;
|
2252 |
+
p.leftRightFlag = true;
|
2253 |
+
}
|
2254 |
+
|
2255 |
+
//miss right
|
2256 |
+
if (t.offset().left + this.outerWidth() > t.offset().left + actualMarginWidth && t.offset().left - actualMarginWidth > this.outerWidth()) {
|
2257 |
+
p.missRight = true;
|
2258 |
+
p.missLeft = false;
|
2259 |
+
}
|
2260 |
+
|
2261 |
+
//miss left
|
2262 |
+
if (t.offset().left - this.outerWidth() <= 0) {
|
2263 |
+
p.missLeft = true;
|
2264 |
+
p.missRight = false;
|
2265 |
+
}
|
2266 |
+
}
|
2267 |
+
|
2268 |
+
return p;
|
2269 |
+
},
|
2270 |
+
|
2271 |
+
top : function (t, s) {
|
2272 |
+
var self = Foundation.libs.dropdown,
|
2273 |
+
p = self.dirs._base.call(this, t);
|
2274 |
+
|
2275 |
+
this.addClass('drop-top');
|
2276 |
+
|
2277 |
+
if (p.missTop == true) {
|
2278 |
+
p.top = p.top + t.outerHeight() + this.outerHeight();
|
2279 |
+
this.removeClass('drop-top');
|
2280 |
+
}
|
2281 |
+
|
2282 |
+
if (p.missRight == true) {
|
2283 |
+
p.left = p.left - this.outerWidth() + t.outerWidth();
|
2284 |
+
}
|
2285 |
+
|
2286 |
+
if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
|
2287 |
+
self.adjust_pip(this, t, s, p);
|
2288 |
+
}
|
2289 |
+
|
2290 |
+
if (Foundation.rtl) {
|
2291 |
+
return {left : p.left - this.outerWidth() + t.outerWidth(),
|
2292 |
+
top : p.top - this.outerHeight()};
|
2293 |
+
}
|
2294 |
+
|
2295 |
+
return {left : p.left, top : p.top - this.outerHeight()};
|
2296 |
+
},
|
2297 |
+
|
2298 |
+
bottom : function (t, s) {
|
2299 |
+
var self = Foundation.libs.dropdown,
|
2300 |
+
p = self.dirs._base.call(this, t);
|
2301 |
+
|
2302 |
+
if (p.missRight == true) {
|
2303 |
+
p.left = p.left - this.outerWidth() + t.outerWidth();
|
2304 |
+
}
|
2305 |
+
|
2306 |
+
if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
|
2307 |
+
self.adjust_pip(this, t, s, p);
|
2308 |
+
}
|
2309 |
+
|
2310 |
+
if (self.rtl) {
|
2311 |
+
return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()};
|
2312 |
+
}
|
2313 |
+
|
2314 |
+
return {left : p.left, top : p.top + t.outerHeight()};
|
2315 |
+
},
|
2316 |
+
|
2317 |
+
left : function (t, s) {
|
2318 |
+
var p = Foundation.libs.dropdown.dirs._base.call(this, t);
|
2319 |
+
|
2320 |
+
this.addClass('drop-left');
|
2321 |
+
|
2322 |
+
if (p.missLeft == true) {
|
2323 |
+
p.left = p.left + this.outerWidth();
|
2324 |
+
p.top = p.top + t.outerHeight();
|
2325 |
+
this.removeClass('drop-left');
|
2326 |
+
}
|
2327 |
+
|
2328 |
+
return {left : p.left - this.outerWidth(), top : p.top};
|
2329 |
+
},
|
2330 |
+
|
2331 |
+
right : function (t, s) {
|
2332 |
+
var p = Foundation.libs.dropdown.dirs._base.call(this, t);
|
2333 |
+
|
2334 |
+
this.addClass('drop-right');
|
2335 |
+
|
2336 |
+
if (p.missRight == true) {
|
2337 |
+
p.left = p.left - this.outerWidth();
|
2338 |
+
p.top = p.top + t.outerHeight();
|
2339 |
+
this.removeClass('drop-right');
|
2340 |
+
} else {
|
2341 |
+
p.triggeredRight = true;
|
2342 |
+
}
|
2343 |
+
|
2344 |
+
var self = Foundation.libs.dropdown;
|
2345 |
+
|
2346 |
+
if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
|
2347 |
+
self.adjust_pip(this, t, s, p);
|
2348 |
+
}
|
2349 |
+
|
2350 |
+
return {left : p.left + t.outerWidth(), top : p.top};
|
2351 |
+
}
|
2352 |
+
},
|
2353 |
+
|
2354 |
+
// Insert rule to style psuedo elements
|
2355 |
+
adjust_pip : function (dropdown, target, settings, position) {
|
2356 |
+
var sheet = Foundation.stylesheet,
|
2357 |
+
pip_offset_base = 8;
|
2358 |
+
|
2359 |
+
if (dropdown.hasClass(settings.mega_class)) {
|
2360 |
+
pip_offset_base = position.left + (target.outerWidth() / 2) - 8;
|
2361 |
+
} else if (this.small()) {
|
2362 |
+
pip_offset_base += position.left - 8;
|
2363 |
+
}
|
2364 |
+
|
2365 |
+
this.rule_idx = sheet.cssRules.length;
|
2366 |
+
|
2367 |
+
//default
|
2368 |
+
var sel_before = '.f-dropdown.open:before',
|
2369 |
+
sel_after = '.f-dropdown.open:after',
|
2370 |
+
css_before = 'left: ' + pip_offset_base + 'px;',
|
2371 |
+
css_after = 'left: ' + (pip_offset_base - 1) + 'px;';
|
2372 |
+
|
2373 |
+
if (position.missRight == true) {
|
2374 |
+
pip_offset_base = dropdown.outerWidth() - 23;
|
2375 |
+
sel_before = '.f-dropdown.open:before',
|
2376 |
+
sel_after = '.f-dropdown.open:after',
|
2377 |
+
css_before = 'left: ' + pip_offset_base + 'px;',
|
2378 |
+
css_after = 'left: ' + (pip_offset_base - 1) + 'px;';
|
2379 |
+
}
|
2380 |
+
|
2381 |
+
//just a case where right is fired, but its not missing right
|
2382 |
+
if (position.triggeredRight == true) {
|
2383 |
+
sel_before = '.f-dropdown.open:before',
|
2384 |
+
sel_after = '.f-dropdown.open:after',
|
2385 |
+
css_before = 'left:-12px;',
|
2386 |
+
css_after = 'left:-14px;';
|
2387 |
+
}
|
2388 |
+
|
2389 |
+
if (sheet.insertRule) {
|
2390 |
+
sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx);
|
2391 |
+
sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1);
|
2392 |
+
} else {
|
2393 |
+
sheet.addRule(sel_before, css_before, this.rule_idx);
|
2394 |
+
sheet.addRule(sel_after, css_after, this.rule_idx + 1);
|
2395 |
+
}
|
2396 |
+
},
|
2397 |
+
|
2398 |
+
// Remove old dropdown rule index
|
2399 |
+
clear_idx : function () {
|
2400 |
+
var sheet = Foundation.stylesheet;
|
2401 |
+
|
2402 |
+
if (typeof this.rule_idx !== 'undefined') {
|
2403 |
+
sheet.deleteRule(this.rule_idx);
|
2404 |
+
sheet.deleteRule(this.rule_idx);
|
2405 |
+
delete this.rule_idx;
|
2406 |
+
}
|
2407 |
+
},
|
2408 |
+
|
2409 |
+
small : function () {
|
2410 |
+
return matchMedia(Foundation.media_queries.small).matches &&
|
2411 |
+
!matchMedia(Foundation.media_queries.medium).matches;
|
2412 |
+
},
|
2413 |
+
|
2414 |
+
off : function () {
|
2415 |
+
this.S(this.scope).off('.fndtn.dropdown');
|
2416 |
+
this.S('html, body').off('.fndtn.dropdown');
|
2417 |
+
this.S(window).off('.fndtn.dropdown');
|
2418 |
+
this.S('[data-dropdown-content]').off('.fndtn.dropdown');
|
2419 |
+
},
|
2420 |
+
|
2421 |
+
reflow : function () {}
|
2422 |
+
};
|
2423 |
+
}(jQuery, window, window.document));
|
2424 |
+
;(function ($, window, document, undefined) {
|
2425 |
+
'use strict';
|
2426 |
+
|
2427 |
+
Foundation.libs.clearing = {
|
2428 |
+
name : 'clearing',
|
2429 |
+
|
2430 |
+
version : '5.5.1',
|
2431 |
+
|
2432 |
+
settings : {
|
2433 |
+
templates : {
|
2434 |
+
viewing : '<a href="#" class="clearing-close">×</a>' +
|
2435 |
+
'<div class="visible-img" style="display: none"><div class="clearing-touch-label"></div><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" />' +
|
2436 |
+
'<p class="clearing-caption"></p><a href="#" class="clearing-main-prev"><span></span></a>' +
|
2437 |
+
'<a href="#" class="clearing-main-next"><span></span></a></div>'
|
2438 |
+
},
|
2439 |
+
|
2440 |
+
// comma delimited list of selectors that, on click, will close clearing,
|
2441 |
+
// add 'div.clearing-blackout, div.visible-img' to close on background click
|
2442 |
+
close_selectors : '.clearing-close, div.clearing-blackout',
|
2443 |
+
|
2444 |
+
// Default to the entire li element.
|
2445 |
+
open_selectors : '',
|
2446 |
+
|
2447 |
+
// Image will be skipped in carousel.
|
2448 |
+
skip_selector : '',
|
2449 |
+
|
2450 |
+
touch_label : '',
|
2451 |
+
|
2452 |
+
// event initializers and locks
|
2453 |
+
init : false,
|
2454 |
+
locked : false
|
2455 |
+
},
|
2456 |
+
|
2457 |
+
init : function (scope, method, options) {
|
2458 |
+
var self = this;
|
2459 |
+
Foundation.inherit(this, 'throttle image_loaded');
|
2460 |
+
|
2461 |
+
this.bindings(method, options);
|
2462 |
+
|
2463 |
+
if (self.S(this.scope).is('[' + this.attr_name() + ']')) {
|
2464 |
+
this.assemble(self.S('li', this.scope));
|
2465 |
+
} else {
|
2466 |
+
self.S('[' + this.attr_name() + ']', this.scope).each(function () {
|
2467 |
+
self.assemble(self.S('li', this));
|
2468 |
+
});
|
2469 |
+
}
|
2470 |
+
},
|
2471 |
+
|
2472 |
+
events : function (scope) {
|
2473 |
+
var self = this,
|
2474 |
+
S = self.S,
|
2475 |
+
$scroll_container = $('.scroll-container');
|
2476 |
+
|
2477 |
+
if ($scroll_container.length > 0) {
|
2478 |
+
this.scope = $scroll_container;
|
2479 |
+
}
|
2480 |
+
|
2481 |
+
S(this.scope)
|
2482 |
+
.off('.clearing')
|
2483 |
+
.on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors,
|
2484 |
+
function (e, current, target) {
|
2485 |
+
var current = current || S(this),
|
2486 |
+
target = target || current,
|
2487 |
+
next = current.next('li'),
|
2488 |
+
settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'),
|
2489 |
+
image = S(e.target);
|
2490 |
+
|
2491 |
+
e.preventDefault();
|
2492 |
+
|
2493 |
+
if (!settings) {
|
2494 |
+
self.init();
|
2495 |
+
settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init');
|
2496 |
+
}
|
2497 |
+
|
2498 |
+
// if clearing is open and the current image is
|
2499 |
+
// clicked, go to the next image in sequence
|
2500 |
+
if (target.hasClass('visible') &&
|
2501 |
+
current[0] === target[0] &&
|
2502 |
+
next.length > 0 && self.is_open(current)) {
|
2503 |
+
target = next;
|
2504 |
+
image = S('img', target);
|
2505 |
+
}
|
2506 |
+
|
2507 |
+
// set current and target to the clicked li if not otherwise defined.
|
2508 |
+
self.open(image, current, target);
|
2509 |
+
self.update_paddles(target);
|
2510 |
+
})
|
2511 |
+
|
2512 |
+
.on('click.fndtn.clearing', '.clearing-main-next',
|
2513 |
+
function (e) { self.nav(e, 'next') })
|
2514 |
+
.on('click.fndtn.clearing', '.clearing-main-prev',
|
2515 |
+
function (e) { self.nav(e, 'prev') })
|
2516 |
+
.on('click.fndtn.clearing', this.settings.close_selectors,
|
2517 |
+
function (e) { Foundation.libs.clearing.close(e, this) });
|
2518 |
+
|
2519 |
+
$(document).on('keydown.fndtn.clearing',
|
2520 |
+
function (e) { self.keydown(e) });
|
2521 |
+
|
2522 |
+
S(window).off('.clearing').on('resize.fndtn.clearing',
|
2523 |
+
function () { self.resize() });
|
2524 |
+
|
2525 |
+
this.swipe_events(scope);
|
2526 |
+
},
|
2527 |
+
|
2528 |
+
swipe_events : function (scope) {
|
2529 |
+
var self = this,
|
2530 |
+
S = self.S;
|
2531 |
+
|
2532 |
+
S(this.scope)
|
2533 |
+
.on('touchstart.fndtn.clearing', '.visible-img', function (e) {
|
2534 |
+
if (!e.touches) { e = e.originalEvent; }
|
2535 |
+
var data = {
|
2536 |
+
start_page_x : e.touches[0].pageX,
|
2537 |
+
start_page_y : e.touches[0].pageY,
|
2538 |
+
start_time : (new Date()).getTime(),
|
2539 |
+
delta_x : 0,
|
2540 |
+
is_scrolling : undefined
|
2541 |
+
};
|
2542 |
+
|
2543 |
+
S(this).data('swipe-transition', data);
|
2544 |
+
e.stopPropagation();
|
2545 |
+
})
|
2546 |
+
.on('touchmove.fndtn.clearing', '.visible-img', function (e) {
|
2547 |
+
if (!e.touches) {
|
2548 |
+
e = e.originalEvent;
|
2549 |
+
}
|
2550 |
+
// Ignore pinch/zoom events
|
2551 |
+
if (e.touches.length > 1 || e.scale && e.scale !== 1) {
|
2552 |
+
return;
|
2553 |
+
}
|
2554 |
+
|
2555 |
+
var data = S(this).data('swipe-transition');
|
2556 |
+
|
2557 |
+
if (typeof data === 'undefined') {
|
2558 |
+
data = {};
|
2559 |
+
}
|
2560 |
+
|
2561 |
+
data.delta_x = e.touches[0].pageX - data.start_page_x;
|
2562 |
+
|
2563 |
+
if (Foundation.rtl) {
|
2564 |
+
data.delta_x = -data.delta_x;
|
2565 |
+
}
|
2566 |
+
|
2567 |
+
if (typeof data.is_scrolling === 'undefined') {
|
2568 |
+
data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
|
2569 |
+
}
|
2570 |
+
|
2571 |
+
if (!data.is_scrolling && !data.active) {
|
2572 |
+
e.preventDefault();
|
2573 |
+
var direction = (data.delta_x < 0) ? 'next' : 'prev';
|
2574 |
+
data.active = true;
|
2575 |
+
self.nav(e, direction);
|
2576 |
+
}
|
2577 |
+
})
|
2578 |
+
.on('touchend.fndtn.clearing', '.visible-img', function (e) {
|
2579 |
+
S(this).data('swipe-transition', {});
|
2580 |
+
e.stopPropagation();
|
2581 |
+
});
|
2582 |
+
},
|
2583 |
+
|
2584 |
+
assemble : function ($li) {
|
2585 |
+
var $el = $li.parent();
|
2586 |
+
|
2587 |
+
if ($el.parent().hasClass('carousel')) {
|
2588 |
+
return;
|
2589 |
+
}
|
2590 |
+
|
2591 |
+
$el.after('<div id="foundationClearingHolder"></div>');
|
2592 |
+
|
2593 |
+
var grid = $el.detach(),
|
2594 |
+
grid_outerHTML = '';
|
2595 |
+
|
2596 |
+
if (grid[0] == null) {
|
2597 |
+
return;
|
2598 |
+
} else {
|
2599 |
+
grid_outerHTML = grid[0].outerHTML;
|
2600 |
+
}
|
2601 |
+
|
2602 |
+
var holder = this.S('#foundationClearingHolder'),
|
2603 |
+
settings = $el.data(this.attr_name(true) + '-init'),
|
2604 |
+
data = {
|
2605 |
+
grid : '<div class="carousel">' + grid_outerHTML + '</div>',
|
2606 |
+
viewing : settings.templates.viewing
|
2607 |
+
},
|
2608 |
+
wrapper = '<div class="clearing-assembled"><div>' + data.viewing +
|
2609 |
+
data.grid + '</div></div>',
|
2610 |
+
touch_label = this.settings.touch_label;
|
2611 |
+
|
2612 |
+
if (Modernizr.touch) {
|
2613 |
+
wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end();
|
2614 |
+
}
|
2615 |
+
|
2616 |
+
holder.after(wrapper).remove();
|
2617 |
+
},
|
2618 |
+
|
2619 |
+
open : function ($image, current, target) {
|
2620 |
+
var self = this,
|
2621 |
+
body = $(document.body),
|
2622 |
+
root = target.closest('.clearing-assembled'),
|
2623 |
+
container = self.S('div', root).first(),
|
2624 |
+
visible_image = self.S('.visible-img', container),
|
2625 |
+
image = self.S('img', visible_image).not($image),
|
2626 |
+
label = self.S('.clearing-touch-label', container),
|
2627 |
+
error = false;
|
2628 |
+
|
2629 |
+
// Event to disable scrolling on touch devices when Clearing is activated
|
2630 |
+
$('body').on('touchmove', function (e) {
|
2631 |
+
e.preventDefault();
|
2632 |
+
});
|
2633 |
+
|
2634 |
+
image.error(function () {
|
2635 |
+
error = true;
|
2636 |
+
});
|
2637 |
+
|
2638 |
+
function startLoad() {
|
2639 |
+
setTimeout(function () {
|
2640 |
+
this.image_loaded(image, function () {
|
2641 |
+
if (image.outerWidth() === 1 && !error) {
|
2642 |
+
startLoad.call(this);
|
2643 |
+
} else {
|
2644 |
+
cb.call(this, image);
|
2645 |
+
}
|
2646 |
+
}.bind(this));
|
2647 |
+
}.bind(this), 100);
|
2648 |
+
}
|
2649 |
+
|
2650 |
+
function cb (image) {
|
2651 |
+
var $image = $(image);
|
2652 |
+
$image.css('visibility', 'visible');
|
2653 |
+
// toggle the gallery
|
2654 |
+
body.css('overflow', 'hidden');
|
2655 |
+
root.addClass('clearing-blackout');
|
2656 |
+
container.addClass('clearing-container');
|
2657 |
+
visible_image.show();
|
2658 |
+
this.fix_height(target)
|
2659 |
+
.caption(self.S('.clearing-caption', visible_image), self.S('img', target))
|
2660 |
+
.center_and_label(image, label)
|
2661 |
+
.shift(current, target, function () {
|
2662 |
+
target.closest('li').siblings().removeClass('visible');
|
2663 |
+
target.closest('li').addClass('visible');
|
2664 |
+
});
|
2665 |
+
visible_image.trigger('opened.fndtn.clearing')
|
2666 |
+
}
|
2667 |
+
|
2668 |
+
if (!this.locked()) {
|
2669 |
+
visible_image.trigger('open.fndtn.clearing');
|
2670 |
+
// set the image to the selected thumbnail
|
2671 |
+
image
|
2672 |
+
.attr('src', this.load($image))
|
2673 |
+
.css('visibility', 'hidden');
|
2674 |
+
|
2675 |
+
startLoad.call(this);
|
2676 |
+
}
|
2677 |
+
},
|
2678 |
+
|
2679 |
+
close : function (e, el) {
|
2680 |
+
e.preventDefault();
|
2681 |
+
|
2682 |
+
var root = (function (target) {
|
2683 |
+
if (/blackout/.test(target.selector)) {
|
2684 |
+
return target;
|
2685 |
+
} else {
|
2686 |
+
return target.closest('.clearing-blackout');
|
2687 |
+
}
|
2688 |
+
}($(el))),
|
2689 |
+
body = $(document.body), container, visible_image;
|
2690 |
+
|
2691 |
+
if (el === e.target && root) {
|
2692 |
+
body.css('overflow', '');
|
2693 |
+
container = $('div', root).first();
|
2694 |
+
visible_image = $('.visible-img', container);
|
2695 |
+
visible_image.trigger('close.fndtn.clearing');
|
2696 |
+
this.settings.prev_index = 0;
|
2697 |
+
$('ul[' + this.attr_name() + ']', root)
|
2698 |
+
.attr('style', '').closest('.clearing-blackout')
|
2699 |
+
.removeClass('clearing-blackout');
|
2700 |
+
container.removeClass('clearing-container');
|
2701 |
+
visible_image.hide();
|
2702 |
+
visible_image.trigger('closed.fndtn.clearing');
|
2703 |
+
}
|
2704 |
+
|
2705 |
+
// Event to re-enable scrolling on touch devices
|
2706 |
+
$('body').off('touchmove');
|
2707 |
+
|
2708 |
+
return false;
|
2709 |
+
},
|
2710 |
+
|
2711 |
+
is_open : function (current) {
|
2712 |
+
return current.parent().prop('style').length > 0;
|
2713 |
+
},
|
2714 |
+
|
2715 |
+
keydown : function (e) {
|
2716 |
+
var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'),
|
2717 |
+
NEXT_KEY = this.rtl ? 37 : 39,
|
2718 |
+
PREV_KEY = this.rtl ? 39 : 37,
|
2719 |
+
ESC_KEY = 27;
|
2720 |
+
|
2721 |
+
if (e.which === NEXT_KEY) {
|
2722 |
+
this.go(clearing, 'next');
|
2723 |
+
}
|
2724 |
+
if (e.which === PREV_KEY) {
|
2725 |
+
this.go(clearing, 'prev');
|
2726 |
+
}
|
2727 |
+
if (e.which === ESC_KEY) {
|
2728 |
+
this.S('a.clearing-close').trigger('click').trigger('click.fndtn.clearing');
|
2729 |
+
}
|
2730 |
+
},
|
2731 |
+
|
2732 |
+
nav : function (e, direction) {
|
2733 |
+
var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout');
|
2734 |
+
|
2735 |
+
e.preventDefault();
|
2736 |
+
this.go(clearing, direction);
|
2737 |
+
},
|
2738 |
+
|
2739 |
+
resize : function () {
|
2740 |
+
var image = $('img', '.clearing-blackout .visible-img'),
|
2741 |
+
label = $('.clearing-touch-label', '.clearing-blackout');
|
2742 |
+
|
2743 |
+
if (image.length) {
|
2744 |
+
this.center_and_label(image, label);
|
2745 |
+
image.trigger('resized.fndtn.clearing')
|
2746 |
+
}
|
2747 |
+
},
|
2748 |
+
|
2749 |
+
// visual adjustments
|
2750 |
+
fix_height : function (target) {
|
2751 |
+
var lis = target.parent().children(),
|
2752 |
+
self = this;
|
2753 |
+
|
2754 |
+
lis.each(function () {
|
2755 |
+
var li = self.S(this),
|
2756 |
+
image = li.find('img');
|
2757 |
+
|
2758 |
+
if (li.height() > image.outerHeight()) {
|
2759 |
+
li.addClass('fix-height');
|
2760 |
+
}
|
2761 |
+
})
|
2762 |
+
.closest('ul')
|
2763 |
+
.width(lis.length * 100 + '%');
|
2764 |
+
|
2765 |
+
return this;
|
2766 |
+
},
|
2767 |
+
|
2768 |
+
update_paddles : function (target) {
|
2769 |
+
target = target.closest('li');
|
2770 |
+
var visible_image = target
|
2771 |
+
.closest('.carousel')
|
2772 |
+
.siblings('.visible-img');
|
2773 |
+
|
2774 |
+
if (target.next().length > 0) {
|
2775 |
+
this.S('.clearing-main-next', visible_image).removeClass('disabled');
|
2776 |
+
} else {
|
2777 |
+
this.S('.clearing-main-next', visible_image).addClass('disabled');
|
2778 |
+
}
|
2779 |
+
|
2780 |
+
if (target.prev().length > 0) {
|
2781 |
+
this.S('.clearing-main-prev', visible_image).removeClass('disabled');
|
2782 |
+
} else {
|
2783 |
+
this.S('.clearing-main-prev', visible_image).addClass('disabled');
|
2784 |
+
}
|
2785 |
+
},
|
2786 |
+
|
2787 |
+
center_and_label : function (target, label) {
|
2788 |
+
if (!this.rtl && label.length > 0) {
|
2789 |
+
label.css({
|
2790 |
+
marginLeft : -(label.outerWidth() / 2),
|
2791 |
+
marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10
|
2792 |
+
});
|
2793 |
+
} else {
|
2794 |
+
label.css({
|
2795 |
+
marginRight : -(label.outerWidth() / 2),
|
2796 |
+
marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10,
|
2797 |
+
left: 'auto',
|
2798 |
+
right: '50%'
|
2799 |
+
});
|
2800 |
+
}
|
2801 |
+
return this;
|
2802 |
+
},
|
2803 |
+
|
2804 |
+
// image loading and preloading
|
2805 |
+
|
2806 |
+
load : function ($image) {
|
2807 |
+
var href;
|
2808 |
+
|
2809 |
+
if ($image[0].nodeName === 'A') {
|
2810 |
+
href = $image.attr('href');
|
2811 |
+
} else {
|
2812 |
+
href = $image.closest('a').attr('href');
|
2813 |
+
}
|
2814 |
+
|
2815 |
+
this.preload($image);
|
2816 |
+
|
2817 |
+
if (href) {
|
2818 |
+
return href;
|
2819 |
+
}
|
2820 |
+
return $image.attr('src');
|
2821 |
+
},
|
2822 |
+
|
2823 |
+
preload : function ($image) {
|
2824 |
+
this
|
2825 |
+
.img($image.closest('li').next())
|
2826 |
+
.img($image.closest('li').prev());
|
2827 |
+
},
|
2828 |
+
|
2829 |
+
img : function (img) {
|
2830 |
+
if (img.length) {
|
2831 |
+
var new_img = new Image(),
|
2832 |
+
new_a = this.S('a', img);
|
2833 |
+
|
2834 |
+
if (new_a.length) {
|
2835 |
+
new_img.src = new_a.attr('href');
|
2836 |
+
} else {
|
2837 |
+
new_img.src = this.S('img', img).attr('src');
|
2838 |
+
}
|
2839 |
+
}
|
2840 |
+
return this;
|
2841 |
+
},
|
2842 |
+
|
2843 |
+
// image caption
|
2844 |
+
|
2845 |
+
caption : function (container, $image) {
|
2846 |
+
var caption = $image.attr('data-caption');
|
2847 |
+
|
2848 |
+
if (caption) {
|
2849 |
+
container
|
2850 |
+
.html(caption)
|
2851 |
+
.show();
|
2852 |
+
} else {
|
2853 |
+
container
|
2854 |
+
.text('')
|
2855 |
+
.hide();
|
2856 |
+
}
|
2857 |
+
return this;
|
2858 |
+
},
|
2859 |
+
|
2860 |
+
// directional methods
|
2861 |
+
|
2862 |
+
go : function ($ul, direction) {
|
2863 |
+
var current = this.S('.visible', $ul),
|
2864 |
+
target = current[direction]();
|
2865 |
+
|
2866 |
+
// Check for skip selector.
|
2867 |
+
if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) {
|
2868 |
+
target = target[direction]();
|
2869 |
+
}
|
2870 |
+
|
2871 |
+
if (target.length) {
|
2872 |
+
this.S('img', target)
|
2873 |
+
.trigger('click', [current, target]).trigger('click.fndtn.clearing', [current, target])
|
2874 |
+
.trigger('change.fndtn.clearing');
|
2875 |
+
}
|
2876 |
+
},
|
2877 |
+
|
2878 |
+
shift : function (current, target, callback) {
|
2879 |
+
var clearing = target.parent(),
|
2880 |
+
old_index = this.settings.prev_index || target.index(),
|
2881 |
+
direction = this.direction(clearing, current, target),
|
2882 |
+
dir = this.rtl ? 'right' : 'left',
|
2883 |
+
left = parseInt(clearing.css('left'), 10),
|
2884 |
+
width = target.outerWidth(),
|
2885 |
+
skip_shift;
|
2886 |
+
|
2887 |
+
var dir_obj = {};
|
2888 |
+
|
2889 |
+
// we use jQuery animate instead of CSS transitions because we
|
2890 |
+
// need a callback to unlock the next animation
|
2891 |
+
// needs support for RTL **
|
2892 |
+
if (target.index() !== old_index && !/skip/.test(direction)) {
|
2893 |
+
if (/left/.test(direction)) {
|
2894 |
+
this.lock();
|
2895 |
+
dir_obj[dir] = left + width;
|
2896 |
+
clearing.animate(dir_obj, 300, this.unlock());
|
2897 |
+
} else if (/right/.test(direction)) {
|
2898 |
+
this.lock();
|
2899 |
+
dir_obj[dir] = left - width;
|
2900 |
+
clearing.animate(dir_obj, 300, this.unlock());
|
2901 |
+
}
|
2902 |
+
} else if (/skip/.test(direction)) {
|
2903 |
+
// the target image is not adjacent to the current image, so
|
2904 |
+
// do we scroll right or not
|
2905 |
+
skip_shift = target.index() - this.settings.up_count;
|
2906 |
+
this.lock();
|
2907 |
+
|
2908 |
+
if (skip_shift > 0) {
|
2909 |
+
dir_obj[dir] = -(skip_shift * width);
|
2910 |
+
clearing.animate(dir_obj, 300, this.unlock());
|
2911 |
+
} else {
|
2912 |
+
dir_obj[dir] = 0;
|
2913 |
+
clearing.animate(dir_obj, 300, this.unlock());
|
2914 |
+
}
|
2915 |
+
}
|
2916 |
+
|
2917 |
+
callback();
|
2918 |
+
},
|
2919 |
+
|
2920 |
+
direction : function ($el, current, target) {
|
2921 |
+
var lis = this.S('li', $el),
|
2922 |
+
li_width = lis.outerWidth() + (lis.outerWidth() / 4),
|
2923 |
+
up_count = Math.floor(this.S('.clearing-container').outerWidth() / li_width) - 1,
|
2924 |
+
target_index = lis.index(target),
|
2925 |
+
response;
|
2926 |
+
|
2927 |
+
this.settings.up_count = up_count;
|
2928 |
+
|
2929 |
+
if (this.adjacent(this.settings.prev_index, target_index)) {
|
2930 |
+
if ((target_index > up_count) && target_index > this.settings.prev_index) {
|
2931 |
+
response = 'right';
|
2932 |
+
} else if ((target_index > up_count - 1) && target_index <= this.settings.prev_index) {
|
2933 |
+
response = 'left';
|
2934 |
+
} else {
|
2935 |
+
response = false;
|
2936 |
+
}
|
2937 |
+
} else {
|
2938 |
+
response = 'skip';
|
2939 |
+
}
|
2940 |
+
|
2941 |
+
this.settings.prev_index = target_index;
|
2942 |
+
|
2943 |
+
return response;
|
2944 |
+
},
|
2945 |
+
|
2946 |
+
adjacent : function (current_index, target_index) {
|
2947 |
+
for (var i = target_index + 1; i >= target_index - 1; i--) {
|
2948 |
+
if (i === current_index) {
|
2949 |
+
return true;
|
2950 |
+
}
|
2951 |
+
}
|
2952 |
+
return false;
|
2953 |
+
},
|
2954 |
+
|
2955 |
+
// lock management
|
2956 |
+
|
2957 |
+
lock : function () {
|
2958 |
+
this.settings.locked = true;
|
2959 |
+
},
|
2960 |
+
|
2961 |
+
unlock : function () {
|
2962 |
+
this.settings.locked = false;
|
2963 |
+
},
|
2964 |
+
|
2965 |
+
locked : function () {
|
2966 |
+
return this.settings.locked;
|
2967 |
+
},
|
2968 |
+
|
2969 |
+
off : function () {
|
2970 |
+
this.S(this.scope).off('.fndtn.clearing');
|
2971 |
+
this.S(window).off('.fndtn.clearing');
|
2972 |
+
},
|
2973 |
+
|
2974 |
+
reflow : function () {
|
2975 |
+
this.init();
|
2976 |
+
}
|
2977 |
+
};
|
2978 |
+
|
2979 |
+
}(jQuery, window, window.document));
|
2980 |
+
;(function ($, window, document, undefined) {
|
2981 |
+
'use strict';
|
2982 |
+
|
2983 |
+
var noop = function () {};
|
2984 |
+
|
2985 |
+
var Orbit = function (el, settings) {
|
2986 |
+
// Don't reinitialize plugin
|
2987 |
+
if (el.hasClass(settings.slides_container_class)) {
|
2988 |
+
return this;
|
2989 |
+
}
|
2990 |
+
|
2991 |
+
var self = this,
|
2992 |
+
container,
|
2993 |
+
slides_container = el,
|
2994 |
+
number_container,
|
2995 |
+
bullets_container,
|
2996 |
+
timer_container,
|
2997 |
+
idx = 0,
|
2998 |
+
animate,
|
2999 |
+
timer,
|
3000 |
+
locked = false,
|
3001 |
+
adjust_height_after = false;
|
3002 |
+
|
3003 |
+
self.slides = function () {
|
3004 |
+
return slides_container.children(settings.slide_selector);
|
3005 |
+
};
|
3006 |
+
|
3007 |
+
self.slides().first().addClass(settings.active_slide_class);
|
3008 |
+
|
3009 |
+
self.update_slide_number = function (index) {
|
3010 |
+
if (settings.slide_number) {
|
3011 |
+
number_container.find('span:first').text(parseInt(index) + 1);
|
3012 |
+
number_container.find('span:last').text(self.slides().length);
|
3013 |
+
}
|
3014 |
+
if (settings.bullets) {
|
3015 |
+
bullets_container.children().removeClass(settings.bullets_active_class);
|
3016 |
+
$(bullets_container.children().get(index)).addClass(settings.bullets_active_class);
|
3017 |
+
}
|
3018 |
+
};
|
3019 |
+
|
3020 |
+
self.update_active_link = function (index) {
|
3021 |
+
var link = $('[data-orbit-link="' + self.slides().eq(index).attr('data-orbit-slide') + '"]');
|
3022 |
+
link.siblings().removeClass(settings.bullets_active_class);
|
3023 |
+
link.addClass(settings.bullets_active_class);
|
3024 |
+
};
|
3025 |
+
|
3026 |
+
self.build_markup = function () {
|
3027 |
+
slides_container.wrap('<div class="' + settings.container_class + '"></div>');
|
3028 |
+
container = slides_container.parent();
|
3029 |
+
slides_container.addClass(settings.slides_container_class);
|
3030 |
+
|
3031 |
+
if (settings.stack_on_small) {
|
3032 |
+
container.addClass(settings.stack_on_small_class);
|
3033 |
+
}
|
3034 |
+
|
3035 |
+
if (settings.navigation_arrows) {
|
3036 |
+
container.append($('<a href="#"><span></span></a>').addClass(settings.prev_class));
|
3037 |
+
container.append($('<a href="#"><span></span></a>').addClass(settings.next_class));
|
3038 |
+
}
|
3039 |
+
|
3040 |
+
if (settings.timer) {
|
3041 |
+
timer_container = $('<div>').addClass(settings.timer_container_class);
|
3042 |
+
timer_container.append('<span>');
|
3043 |
+
timer_container.append($('<div>').addClass(settings.timer_progress_class));
|
3044 |
+
timer_container.addClass(settings.timer_paused_class);
|
3045 |
+
container.append(timer_container);
|
3046 |
+
}
|
3047 |
+
|
3048 |
+
if (settings.slide_number) {
|
3049 |
+
number_container = $('<div>').addClass(settings.slide_number_class);
|
3050 |
+
number_container.append('<span></span> ' + settings.slide_number_text + ' <span></span>');
|
3051 |
+
container.append(number_container);
|
3052 |
+
}
|
3053 |
+
|
3054 |
+
if (settings.bullets) {
|
3055 |
+
bullets_container = $('<ol>').addClass(settings.bullets_container_class);
|
3056 |
+
container.append(bullets_container);
|
3057 |
+
bullets_container.wrap('<div class="orbit-bullets-container"></div>');
|
3058 |
+
self.slides().each(function (idx, el) {
|
3059 |
+
var bullet = $('<li>').attr('data-orbit-slide', idx).on('click', self.link_bullet);;
|
3060 |
+
bullets_container.append(bullet);
|
3061 |
+
});
|
3062 |
+
}
|
3063 |
+
|
3064 |
+
};
|
3065 |
+
|
3066 |
+
self._goto = function (next_idx, start_timer) {
|
3067 |
+
// if (locked) {return false;}
|
3068 |
+
if (next_idx === idx) {return false;}
|
3069 |
+
if (typeof timer === 'object') {timer.restart();}
|
3070 |
+
var slides = self.slides();
|
3071 |
+
|
3072 |
+
var dir = 'next';
|
3073 |
+
locked = true;
|
3074 |
+
if (next_idx < idx) {dir = 'prev';}
|
3075 |
+
if (next_idx >= slides.length) {
|
3076 |
+
if (!settings.circular) {
|
3077 |
+
return false;
|
3078 |
+
}
|
3079 |
+
next_idx = 0;
|
3080 |
+
} else if (next_idx < 0) {
|
3081 |
+
if (!settings.circular) {
|
3082 |
+
return false;
|
3083 |
+
}
|
3084 |
+
next_idx = slides.length - 1;
|
3085 |
+
}
|
3086 |
+
|
3087 |
+
var current = $(slides.get(idx));
|
3088 |
+
var next = $(slides.get(next_idx));
|
3089 |
+
|
3090 |
+
current.css('zIndex', 2);
|
3091 |
+
current.removeClass(settings.active_slide_class);
|
3092 |
+
next.css('zIndex', 4).addClass(settings.active_slide_class);
|
3093 |
+
|
3094 |
+
slides_container.trigger('before-slide-change.fndtn.orbit');
|
3095 |
+
settings.before_slide_change();
|
3096 |
+
self.update_active_link(next_idx);
|
3097 |
+
|
3098 |
+
var callback = function () {
|
3099 |
+
var unlock = function () {
|
3100 |
+
idx = next_idx;
|
3101 |
+
locked = false;
|
3102 |
+
if (start_timer === true) {timer = self.create_timer(); timer.start();}
|
3103 |
+
self.update_slide_number(idx);
|
3104 |
+
slides_container.trigger('after-slide-change.fndtn.orbit', [{slide_number : idx, total_slides : slides.length}]);
|
3105 |
+
settings.after_slide_change(idx, slides.length);
|
3106 |
+
};
|
3107 |
+
if (slides_container.outerHeight() != next.outerHeight() && settings.variable_height) {
|
3108 |
+
slides_container.animate({'height': next.outerHeight()}, 250, 'linear', unlock);
|
3109 |
+
} else {
|
3110 |
+
unlock();
|
3111 |
+
}
|
3112 |
+
};
|
3113 |
+
|
3114 |
+
if (slides.length === 1) {callback(); return false;}
|
3115 |
+
|
3116 |
+
var start_animation = function () {
|
3117 |
+
if (dir === 'next') {animate.next(current, next, callback);}
|
3118 |
+
if (dir === 'prev') {animate.prev(current, next, callback);}
|
3119 |
+
};
|
3120 |
+
|
3121 |
+
if (next.outerHeight() > slides_container.outerHeight() && settings.variable_height) {
|
3122 |
+
slides_container.animate({'height': next.outerHeight()}, 250, 'linear', start_animation);
|
3123 |
+
} else {
|
3124 |
+
start_animation();
|
3125 |
+
}
|
3126 |
+
};
|
3127 |
+
|
3128 |
+
self.next = function (e) {
|
3129 |
+
e.stopImmediatePropagation();
|
3130 |
+
e.preventDefault();
|
3131 |
+
self._goto(idx + 1);
|
3132 |
+
};
|
3133 |
+
|
3134 |
+
self.prev = function (e) {
|
3135 |
+
e.stopImmediatePropagation();
|
3136 |
+
e.preventDefault();
|
3137 |
+
self._goto(idx - 1);
|
3138 |
+
};
|
3139 |
+
|
3140 |
+
self.link_custom = function (e) {
|
3141 |
+
e.preventDefault();
|
3142 |
+
var link = $(this).attr('data-orbit-link');
|
3143 |
+
if ((typeof link === 'string') && (link = $.trim(link)) != '') {
|
3144 |
+
var slide = container.find('[data-orbit-slide=' + link + ']');
|
3145 |
+
if (slide.index() != -1) {self._goto(slide.index());}
|
3146 |
+
}
|
3147 |
+
};
|
3148 |
+
|
3149 |
+
self.link_bullet = function (e) {
|
3150 |
+
var index = $(this).attr('data-orbit-slide');
|
3151 |
+
if ((typeof index === 'string') && (index = $.trim(index)) != '') {
|
3152 |
+
if (isNaN(parseInt(index))) {
|
3153 |
+
var slide = container.find('[data-orbit-slide=' + index + ']');
|
3154 |
+
if (slide.index() != -1) {self._goto(slide.index() + 1);}
|
3155 |
+
} else {
|
3156 |
+
self._goto(parseInt(index));
|
3157 |
+
}
|
3158 |
+
}
|
3159 |
+
|
3160 |
+
}
|
3161 |
+
|
3162 |
+
self.timer_callback = function () {
|
3163 |
+
self._goto(idx + 1, true);
|
3164 |
+
}
|
3165 |
+
|
3166 |
+
self.compute_dimensions = function () {
|
3167 |
+
var current = $(self.slides().get(idx));
|
3168 |
+
var h = current.outerHeight();
|
3169 |
+
if (!settings.variable_height) {
|
3170 |
+
self.slides().each(function(){
|
3171 |
+
if ($(this).outerHeight() > h) { h = $(this).outerHeight(); }
|
3172 |
+
});
|
3173 |
+
}
|
3174 |
+
slides_container.height(h);
|
3175 |
+
};
|
3176 |
+
|
3177 |
+
self.create_timer = function () {
|
3178 |
+
var t = new Timer(
|
3179 |
+
container.find('.' + settings.timer_container_class),
|
3180 |
+
settings,
|
3181 |
+
self.timer_callback
|
3182 |
+
);
|
3183 |
+
return t;
|
3184 |
+
};
|
3185 |
+
|
3186 |
+
self.stop_timer = function () {
|
3187 |
+
if (typeof timer === 'object') {
|
3188 |
+
timer.stop();
|
3189 |
+
}
|
3190 |
+
};
|
3191 |
+
|
3192 |
+
self.toggle_timer = function () {
|
3193 |
+
var t = container.find('.' + settings.timer_container_class);
|
3194 |
+
if (t.hasClass(settings.timer_paused_class)) {
|
3195 |
+
if (typeof timer === 'undefined') {timer = self.create_timer();}
|
3196 |
+
timer.start();
|
3197 |
+
} else {
|
3198 |
+
if (typeof timer === 'object') {timer.stop();}
|
3199 |
+
}
|
3200 |
+
};
|
3201 |
+
|
3202 |
+
self.init = function () {
|
3203 |
+
self.build_markup();
|
3204 |
+
if (settings.timer) {
|
3205 |
+
timer = self.create_timer();
|
3206 |
+
Foundation.utils.image_loaded(this.slides().children('img'), timer.start);
|
3207 |
+
}
|
3208 |
+
animate = new FadeAnimation(settings, slides_container);
|
3209 |
+
if (settings.animation === 'slide') {
|
3210 |
+
animate = new SlideAnimation(settings, slides_container);
|
3211 |
+
}
|
3212 |
+
|
3213 |
+
container.on('click', '.' + settings.next_class, self.next);
|
3214 |
+
container.on('click', '.' + settings.prev_class, self.prev);
|
3215 |
+
|
3216 |
+
if (settings.next_on_click) {
|
3217 |
+
container.on('click', '.' + settings.slides_container_class + ' [data-orbit-slide]', self.link_bullet);
|
3218 |
+
}
|
3219 |
+
|
3220 |
+
container.on('click', self.toggle_timer);
|
3221 |
+
if (settings.swipe) {
|
3222 |
+
container.on('touchstart.fndtn.orbit', function (e) {
|
3223 |
+
if (!e.touches) {e = e.originalEvent;}
|
3224 |
+
var data = {
|
3225 |
+
start_page_x : e.touches[0].pageX,
|
3226 |
+
start_page_y : e.touches[0].pageY,
|
3227 |
+
start_time : (new Date()).getTime(),
|
3228 |
+
delta_x : 0,
|
3229 |
+
is_scrolling : undefined
|
3230 |
+
};
|
3231 |
+
container.data('swipe-transition', data);
|
3232 |
+
e.stopPropagation();
|
3233 |
+
})
|
3234 |
+
.on('touchmove.fndtn.orbit', function (e) {
|
3235 |
+
if (!e.touches) {
|
3236 |
+
e = e.originalEvent;
|
3237 |
+
}
|
3238 |
+
// Ignore pinch/zoom events
|
3239 |
+
if (e.touches.length > 1 || e.scale && e.scale !== 1) {
|
3240 |
+
return;
|
3241 |
+
}
|
3242 |
+
|
3243 |
+
var data = container.data('swipe-transition');
|
3244 |
+
if (typeof data === 'undefined') {data = {};}
|
3245 |
+
|
3246 |
+
data.delta_x = e.touches[0].pageX - data.start_page_x;
|
3247 |
+
|
3248 |
+
if ( typeof data.is_scrolling === 'undefined') {
|
3249 |
+
data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
|
3250 |
+
}
|
3251 |
+
|
3252 |
+
if (!data.is_scrolling && !data.active) {
|
3253 |
+
e.preventDefault();
|
3254 |
+
var direction = (data.delta_x < 0) ? (idx + 1) : (idx - 1);
|
3255 |
+
data.active = true;
|
3256 |
+
self._goto(direction);
|
3257 |
+
}
|
3258 |
+
})
|
3259 |
+
.on('touchend.fndtn.orbit', function (e) {
|
3260 |
+
container.data('swipe-transition', {});
|
3261 |
+
e.stopPropagation();
|
3262 |
+
})
|
3263 |
+
}
|
3264 |
+
container.on('mouseenter.fndtn.orbit', function (e) {
|
3265 |
+
if (settings.timer && settings.pause_on_hover) {
|
3266 |
+
self.stop_timer();
|
3267 |
+
}
|
3268 |
+
})
|
3269 |
+
.on('mouseleave.fndtn.orbit', function (e) {
|
3270 |
+
if (settings.timer && settings.resume_on_mouseout) {
|
3271 |
+
timer.start();
|
3272 |
+
}
|
3273 |
+
});
|
3274 |
+
|
3275 |
+
$(document).on('click', '[data-orbit-link]', self.link_custom);
|
3276 |
+
$(window).on('load resize', self.compute_dimensions);
|
3277 |
+
Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions);
|
3278 |
+
Foundation.utils.image_loaded(this.slides().children('img'), function () {
|
3279 |
+
container.prev('.' + settings.preloader_class).css('display', 'none');
|
3280 |
+
self.update_slide_number(0);
|
3281 |
+
self.update_active_link(0);
|
3282 |
+
slides_container.trigger('ready.fndtn.orbit');
|
3283 |
+
});
|
3284 |
+
};
|
3285 |
+
|
3286 |
+
self.init();
|
3287 |
+
};
|
3288 |
+
|
3289 |
+
var Timer = function (el, settings, callback) {
|
3290 |
+
var self = this,
|
3291 |
+
duration = settings.timer_speed,
|
3292 |
+
progress = el.find('.' + settings.timer_progress_class),
|
3293 |
+
start,
|
3294 |
+
timeout,
|
3295 |
+
left = -1;
|
3296 |
+
|
3297 |
+
this.update_progress = function (w) {
|
3298 |
+
var new_progress = progress.clone();
|
3299 |
+
new_progress.attr('style', '');
|
3300 |
+
new_progress.css('width', w + '%');
|
3301 |
+
progress.replaceWith(new_progress);
|
3302 |
+
progress = new_progress;
|
3303 |
+
};
|
3304 |
+
|
3305 |
+
this.restart = function () {
|
3306 |
+
clearTimeout(timeout);
|
3307 |
+
el.addClass(settings.timer_paused_class);
|
3308 |
+
left = -1;
|
3309 |
+
self.update_progress(0);
|
3310 |
+
};
|
3311 |
+
|
3312 |
+
this.start = function () {
|
3313 |
+
if (!el.hasClass(settings.timer_paused_class)) {return true;}
|
3314 |
+
left = (left === -1) ? duration : left;
|
3315 |
+
el.removeClass(settings.timer_paused_class);
|
3316 |
+
start = new Date().getTime();
|
3317 |
+
progress.animate({'width' : '100%'}, left, 'linear');
|
3318 |
+
timeout = setTimeout(function () {
|
3319 |
+
self.restart();
|
3320 |
+
callback();
|
3321 |
+
}, left);
|
3322 |
+
el.trigger('timer-started.fndtn.orbit')
|
3323 |
+
};
|
3324 |
+
|
3325 |
+
this.stop = function () {
|
3326 |
+
if (el.hasClass(settings.timer_paused_class)) {return true;}
|
3327 |
+
clearTimeout(timeout);
|
3328 |
+
el.addClass(settings.timer_paused_class);
|
3329 |
+
var end = new Date().getTime();
|
3330 |
+
left = left - (end - start);
|
3331 |
+
var w = 100 - ((left / duration) * 100);
|
3332 |
+
self.update_progress(w);
|
3333 |
+
el.trigger('timer-stopped.fndtn.orbit');
|
3334 |
+
};
|
3335 |
+
};
|
3336 |
+
|
3337 |
+
var SlideAnimation = function (settings, container) {
|
3338 |
+
var duration = settings.animation_speed;
|
3339 |
+
var is_rtl = ($('html[dir=rtl]').length === 1);
|
3340 |
+
var margin = is_rtl ? 'marginRight' : 'marginLeft';
|
3341 |
+
var animMargin = {};
|
3342 |
+
animMargin[margin] = '0%';
|
3343 |
+
|
3344 |
+
this.next = function (current, next, callback) {
|
3345 |
+
current.animate({marginLeft : '-100%'}, duration);
|
3346 |
+
next.animate(animMargin, duration, function () {
|
3347 |
+
current.css(margin, '100%');
|
3348 |
+
callback();
|
3349 |
+
});
|
3350 |
+
};
|
3351 |
+
|
3352 |
+
this.prev = function (current, prev, callback) {
|
3353 |
+
current.animate({marginLeft : '100%'}, duration);
|
3354 |
+
prev.css(margin, '-100%');
|
3355 |
+
prev.animate(animMargin, duration, function () {
|
3356 |
+
current.css(margin, '100%');
|
3357 |
+
callback();
|
3358 |
+
});
|
3359 |
+
};
|
3360 |
+
};
|
3361 |
+
|
3362 |
+
var FadeAnimation = function (settings, container) {
|
3363 |
+
var duration = settings.animation_speed;
|
3364 |
+
var is_rtl = ($('html[dir=rtl]').length === 1);
|
3365 |
+
var margin = is_rtl ? 'marginRight' : 'marginLeft';
|
3366 |
+
|
3367 |
+
this.next = function (current, next, callback) {
|
3368 |
+
next.css({'margin' : '0%', 'opacity' : '0.01'});
|
3369 |
+
next.animate({'opacity' :'1'}, duration, 'linear', function () {
|
3370 |
+
current.css('margin', '100%');
|
3371 |
+
callback();
|
3372 |
+
});
|
3373 |
+
};
|
3374 |
+
|
3375 |
+
this.prev = function (current, prev, callback) {
|
3376 |
+
prev.css({'margin' : '0%', 'opacity' : '0.01'});
|
3377 |
+
prev.animate({'opacity' : '1'}, duration, 'linear', function () {
|
3378 |
+
current.css('margin', '100%');
|
3379 |
+
callback();
|
3380 |
+
});
|
3381 |
+
};
|
3382 |
+
};
|
3383 |
+
|
3384 |
+
Foundation.libs = Foundation.libs || {};
|
3385 |
+
|
3386 |
+
Foundation.libs.orbit = {
|
3387 |
+
name : 'orbit',
|
3388 |
+
|
3389 |
+
version : '5.5.1',
|
3390 |
+
|
3391 |
+
settings : {
|
3392 |
+
animation : 'slide',
|
3393 |
+
timer_speed : 10000,
|
3394 |
+
pause_on_hover : true,
|
3395 |
+
resume_on_mouseout : false,
|
3396 |
+
next_on_click : true,
|
3397 |
+
animation_speed : 500,
|
3398 |
+
stack_on_small : false,
|
3399 |
+
navigation_arrows : true,
|
3400 |
+
slide_number : true,
|
3401 |
+
slide_number_text : 'of',
|
3402 |
+
container_class : 'orbit-container',
|
3403 |
+
stack_on_small_class : 'orbit-stack-on-small',
|
3404 |
+
next_class : 'orbit-next',
|
3405 |
+
prev_class : 'orbit-prev',
|
3406 |
+
timer_container_class : 'orbit-timer',
|
3407 |
+
timer_paused_class : 'paused',
|
3408 |
+
timer_progress_class : 'orbit-progress',
|
3409 |
+
slides_container_class : 'orbit-slides-container',
|
3410 |
+
preloader_class : 'preloader',
|
3411 |
+
slide_selector : '*',
|
3412 |
+
bullets_container_class : 'orbit-bullets',
|
3413 |
+
bullets_active_class : 'active',
|
3414 |
+
slide_number_class : 'orbit-slide-number',
|
3415 |
+
caption_class : 'orbit-caption',
|
3416 |
+
active_slide_class : 'active',
|
3417 |
+
orbit_transition_class : 'orbit-transitioning',
|
3418 |
+
bullets : true,
|
3419 |
+
circular : true,
|
3420 |
+
timer : true,
|
3421 |
+
variable_height : false,
|
3422 |
+
swipe : true,
|
3423 |
+
before_slide_change : noop,
|
3424 |
+
after_slide_change : noop
|
3425 |
+
},
|
3426 |
+
|
3427 |
+
init : function (scope, method, options) {
|
3428 |
+
var self = this;
|
3429 |
+
this.bindings(method, options);
|
3430 |
+
},
|
3431 |
+
|
3432 |
+
events : function (instance) {
|
3433 |
+
var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init'));
|
3434 |
+
this.S(instance).data(this.name + '-instance', orbit_instance);
|
3435 |
+
},
|
3436 |
+
|
3437 |
+
reflow : function () {
|
3438 |
+
var self = this;
|
3439 |
+
|
3440 |
+
if (self.S(self.scope).is('[data-orbit]')) {
|
3441 |
+
var $el = self.S(self.scope);
|
3442 |
+
var instance = $el.data(self.name + '-instance');
|
3443 |
+
instance.compute_dimensions();
|
3444 |
+
} else {
|
3445 |
+
self.S('[data-orbit]', self.scope).each(function (idx, el) {
|
3446 |
+
var $el = self.S(el);
|
3447 |
+
var opts = self.data_options($el);
|
3448 |
+
var instance = $el.data(self.name + '-instance');
|
3449 |
+
instance.compute_dimensions();
|
3450 |
+
});
|
3451 |
+
}
|
3452 |
+
}
|
3453 |
+
};
|
3454 |
+
|
3455 |
+
}(jQuery, window, window.document));
|
3456 |
+
;(function ($, window, document, undefined) {
|
3457 |
+
'use strict';
|
3458 |
+
|
3459 |
+
Foundation.libs.offcanvas = {
|
3460 |
+
name : 'offcanvas',
|
3461 |
+
|
3462 |
+
version : '5.5.1',
|
3463 |
+
|
3464 |
+
settings : {
|
3465 |
+
open_method : 'move',
|
3466 |
+
close_on_click : false
|
3467 |
+
},
|
3468 |
+
|
3469 |
+
init : function (scope, method, options) {
|
3470 |
+
this.bindings(method, options);
|
3471 |
+
},
|
3472 |
+
|
3473 |
+
events : function () {
|
3474 |
+
var self = this,
|
3475 |
+
S = self.S,
|
3476 |
+
move_class = '',
|
3477 |
+
right_postfix = '',
|
3478 |
+
left_postfix = '';
|
3479 |
+
|
3480 |
+
if (this.settings.open_method === 'move') {
|
3481 |
+
move_class = 'move-';
|
3482 |
+
right_postfix = 'right';
|
3483 |
+
left_postfix = 'left';
|
3484 |
+
} else if (this.settings.open_method === 'overlap_single') {
|
3485 |
+
move_class = 'offcanvas-overlap-';
|
3486 |
+
right_postfix = 'right';
|
3487 |
+
left_postfix = 'left';
|
3488 |
+
} else if (this.settings.open_method === 'overlap') {
|
3489 |
+
move_class = 'offcanvas-overlap';
|
3490 |
+
}
|
3491 |
+
|
3492 |
+
S(this.scope).off('.offcanvas')
|
3493 |
+
.on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) {
|
3494 |
+
self.click_toggle_class(e, move_class + right_postfix);
|
3495 |
+
if (self.settings.open_method !== 'overlap') {
|
3496 |
+
S('.left-submenu').removeClass(move_class + right_postfix);
|
3497 |
+
}
|
3498 |
+
$('.left-off-canvas-toggle').attr('aria-expanded', 'true');
|
3499 |
+
})
|
3500 |
+
.on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) {
|
3501 |
+
var settings = self.get_settings(e);
|
3502 |
+
var parent = S(this).parent();
|
3503 |
+
|
3504 |
+
if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) {
|
3505 |
+
self.hide.call(self, move_class + right_postfix, self.get_wrapper(e));
|
3506 |
+
parent.parent().removeClass(move_class + right_postfix);
|
3507 |
+
} else if (S(this).parent().hasClass('has-submenu')) {
|
3508 |
+
e.preventDefault();
|
3509 |
+
S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix);
|
3510 |
+
} else if (parent.hasClass('back')) {
|
3511 |
+
e.preventDefault();
|
3512 |
+
parent.parent().removeClass(move_class + right_postfix);
|
3513 |
+
}
|
3514 |
+
$('.left-off-canvas-toggle').attr('aria-expanded', 'true');
|
3515 |
+
})
|
3516 |
+
.on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) {
|
3517 |
+
self.click_toggle_class(e, move_class + left_postfix);
|
3518 |
+
if (self.settings.open_method !== 'overlap') {
|
3519 |
+
S('.right-submenu').removeClass(move_class + left_postfix);
|
3520 |
+
}
|
3521 |
+
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
|
3522 |
+
})
|
3523 |
+
.on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) {
|
3524 |
+
var settings = self.get_settings(e);
|
3525 |
+
var parent = S(this).parent();
|
3526 |
+
|
3527 |
+
if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) {
|
3528 |
+
self.hide.call(self, move_class + left_postfix, self.get_wrapper(e));
|
3529 |
+
parent.parent().removeClass(move_class + left_postfix);
|
3530 |
+
} else if (S(this).parent().hasClass('has-submenu')) {
|
3531 |
+
e.preventDefault();
|
3532 |
+
S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix);
|
3533 |
+
} else if (parent.hasClass('back')) {
|
3534 |
+
e.preventDefault();
|
3535 |
+
parent.parent().removeClass(move_class + left_postfix);
|
3536 |
+
}
|
3537 |
+
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
|
3538 |
+
})
|
3539 |
+
.on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
|
3540 |
+
self.click_remove_class(e, move_class + left_postfix);
|
3541 |
+
S('.right-submenu').removeClass(move_class + left_postfix);
|
3542 |
+
if (right_postfix) {
|
3543 |
+
self.click_remove_class(e, move_class + right_postfix);
|
3544 |
+
S('.left-submenu').removeClass(move_class + left_postfix);
|
3545 |
+
}
|
3546 |
+
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
|
3547 |
+
})
|
3548 |
+
.on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
|
3549 |
+
self.click_remove_class(e, move_class + left_postfix);
|
3550 |
+
$('.left-off-canvas-toggle').attr('aria-expanded', 'false');
|
3551 |
+
if (right_postfix) {
|
3552 |
+
self.click_remove_class(e, move_class + right_postfix);
|
3553 |
+
$('.right-off-canvas-toggle').attr('aria-expanded', 'false');
|
3554 |
+
}
|
3555 |
+
});
|
3556 |
+
},
|
3557 |
+
|
3558 |
+
toggle : function (class_name, $off_canvas) {
|
3559 |
+
$off_canvas = $off_canvas || this.get_wrapper();
|
3560 |
+
if ($off_canvas.is('.' + class_name)) {
|
3561 |
+
this.hide(class_name, $off_canvas);
|
3562 |
+
} else {
|
3563 |
+
this.show(class_name, $off_canvas);
|
3564 |
+
}
|
3565 |
+
},
|
3566 |
+
|
3567 |
+
show : function (class_name, $off_canvas) {
|
3568 |
+
$off_canvas = $off_canvas || this.get_wrapper();
|
3569 |
+
$off_canvas.trigger('open').trigger('open.fndtn.offcanvas');
|
3570 |
+
$off_canvas.addClass(class_name);
|
3571 |
+
},
|
3572 |
+
|
3573 |
+
hide : function (class_name, $off_canvas) {
|
3574 |
+
$off_canvas = $off_canvas || this.get_wrapper();
|
3575 |
+
$off_canvas.trigger('close').trigger('close.fndtn.offcanvas');
|
3576 |
+
$off_canvas.removeClass(class_name);
|
3577 |
+
},
|
3578 |
+
|
3579 |
+
click_toggle_class : function (e, class_name) {
|
3580 |
+
e.preventDefault();
|
3581 |
+
var $off_canvas = this.get_wrapper(e);
|
3582 |
+
this.toggle(class_name, $off_canvas);
|
3583 |
+
},
|
3584 |
+
|
3585 |
+
click_remove_class : function (e, class_name) {
|
3586 |
+
e.preventDefault();
|
3587 |
+
var $off_canvas = this.get_wrapper(e);
|
3588 |
+
this.hide(class_name, $off_canvas);
|
3589 |
+
},
|
3590 |
+
|
3591 |
+
get_settings : function (e) {
|
3592 |
+
var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']');
|
3593 |
+
return offcanvas.data(this.attr_name(true) + '-init') || this.settings;
|
3594 |
+
},
|
3595 |
+
|
3596 |
+
get_wrapper : function (e) {
|
3597 |
+
var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap');
|
3598 |
+
|
3599 |
+
if ($off_canvas.length === 0) {
|
3600 |
+
$off_canvas = this.S('.off-canvas-wrap');
|
3601 |
+
}
|
3602 |
+
return $off_canvas;
|
3603 |
+
},
|
3604 |
+
|
3605 |
+
reflow : function () {}
|
3606 |
+
};
|
3607 |
+
}(jQuery, window, window.document));
|
3608 |
+
;(function ($, window, document, undefined) {
|
3609 |
+
'use strict';
|
3610 |
+
|
3611 |
+
Foundation.libs.alert = {
|
3612 |
+
name : 'alert',
|
3613 |
+
|
3614 |
+
version : '5.5.1',
|
3615 |
+
|
3616 |
+
settings : {
|
3617 |
+
callback : function () {}
|
3618 |
+
},
|
3619 |
+
|
3620 |
+
init : function (scope, method, options) {
|
3621 |
+
this.bindings(method, options);
|
3622 |
+
},
|
3623 |
+
|
3624 |
+
events : function () {
|
3625 |
+
var self = this,
|
3626 |
+
S = this.S;
|
3627 |
+
|
3628 |
+
$(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) {
|
3629 |
+
var alertBox = S(this).closest('[' + self.attr_name() + ']'),
|
3630 |
+
settings = alertBox.data(self.attr_name(true) + '-init') || self.settings;
|
3631 |
+
|
3632 |
+
e.preventDefault();
|
3633 |
+
if (Modernizr.csstransitions) {
|
3634 |
+
alertBox.addClass('alert-close');
|
3635 |
+
alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) {
|
3636 |
+
S(this).trigger('close').trigger('close.fndtn.alert').remove();
|
3637 |
+
settings.callback();
|
3638 |
+
});
|
3639 |
+
} else {
|
3640 |
+
alertBox.fadeOut(300, function () {
|
3641 |
+
S(this).trigger('close').trigger('close.fndtn.alert').remove();
|
3642 |
+
settings.callback();
|
3643 |
+
});
|
3644 |
+
}
|
3645 |
+
});
|
3646 |
+
},
|
3647 |
+
|
3648 |
+
reflow : function () {}
|
3649 |
+
};
|
3650 |
+
}(jQuery, window, window.document));
|
3651 |
+
;(function ($, window, document, undefined) {
|
3652 |
+
'use strict';
|
3653 |
+
|
3654 |
+
Foundation.libs.reveal = {
|
3655 |
+
name : 'reveal',
|
3656 |
+
|
3657 |
+
version : '5.5.1',
|
3658 |
+
|
3659 |
+
locked : false,
|
3660 |
+
|
3661 |
+
settings : {
|
3662 |
+
animation : 'fadeAndPop',
|
3663 |
+
animation_speed : 250,
|
3664 |
+
close_on_background_click : true,
|
3665 |
+
close_on_esc : true,
|
3666 |
+
dismiss_modal_class : 'close-reveal-modal',
|
3667 |
+
multiple_opened : false,
|
3668 |
+
bg_class : 'reveal-modal-bg',
|
3669 |
+
root_element : 'body',
|
3670 |
+
open : function(){},
|
3671 |
+
opened : function(){},
|
3672 |
+
close : function(){},
|
3673 |
+
closed : function(){},
|
3674 |
+
bg : $('.reveal-modal-bg'),
|
3675 |
+
css : {
|
3676 |
+
open : {
|
3677 |
+
'opacity' : 0,
|
3678 |
+
'visibility' : 'visible',
|
3679 |
+
'display' : 'block'
|
3680 |
+
},
|
3681 |
+
close : {
|
3682 |
+
'opacity' : 1,
|
3683 |
+
'visibility' : 'hidden',
|
3684 |
+
'display' : 'none'
|
3685 |
+
}
|
3686 |
+
}
|
3687 |
+
},
|
3688 |
+
|
3689 |
+
init : function (scope, method, options) {
|
3690 |
+
$.extend(true, this.settings, method, options);
|
3691 |
+
this.bindings(method, options);
|
3692 |
+
},
|
3693 |
+
|
3694 |
+
events : function (scope) {
|
3695 |
+
var self = this,
|
3696 |
+
S = self.S;
|
3697 |
+
|
3698 |
+
S(this.scope)
|
3699 |
+
.off('.reveal')
|
3700 |
+
.on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) {
|
3701 |
+
e.preventDefault();
|
3702 |
+
|
3703 |
+
if (!self.locked) {
|
3704 |
+
var element = S(this),
|
3705 |
+
ajax = element.data(self.data_attr('reveal-ajax'));
|
3706 |
+
|
3707 |
+
self.locked = true;
|
3708 |
+
|
3709 |
+
if (typeof ajax === 'undefined') {
|
3710 |
+
self.open.call(self, element);
|
3711 |
+
} else {
|
3712 |
+
var url = ajax === true ? element.attr('href') : ajax;
|
3713 |
+
|
3714 |
+
self.open.call(self, element, {url : url});
|
3715 |
+
}
|
3716 |
+
}
|
3717 |
+
});
|
3718 |
+
|
3719 |
+
S(document)
|
3720 |
+
.on('click.fndtn.reveal', this.close_targets(), function (e) {
|
3721 |
+
e.preventDefault();
|
3722 |
+
if (!self.locked) {
|
3723 |
+
var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings,
|
3724 |
+
bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0];
|
3725 |
+
|
3726 |
+
if (bg_clicked) {
|
3727 |
+
if (settings.close_on_background_click) {
|
3728 |
+
e.stopPropagation();
|
3729 |
+
} else {
|
3730 |
+
return;
|
3731 |
+
}
|
3732 |
+
}
|
3733 |
+
|
3734 |
+
self.locked = true;
|
3735 |
+
self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open') : S(this).closest('[' + self.attr_name() + ']'));
|
3736 |
+
}
|
3737 |
+
});
|
3738 |
+
|
3739 |
+
if (S('[' + self.attr_name() + ']', this.scope).length > 0) {
|
3740 |
+
S(this.scope)
|
3741 |
+
// .off('.reveal')
|
3742 |
+
.on('open.fndtn.reveal', this.settings.open)
|
3743 |
+
.on('opened.fndtn.reveal', this.settings.opened)
|
3744 |
+
.on('opened.fndtn.reveal', this.open_video)
|
3745 |
+
.on('close.fndtn.reveal', this.settings.close)
|
3746 |
+
.on('closed.fndtn.reveal', this.settings.closed)
|
3747 |
+
.on('closed.fndtn.reveal', this.close_video);
|
3748 |
+
} else {
|
3749 |
+
S(this.scope)
|
3750 |
+
// .off('.reveal')
|
3751 |
+
.on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open)
|
3752 |
+
.on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened)
|
3753 |
+
.on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video)
|
3754 |
+
.on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close)
|
3755 |
+
.on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed)
|
3756 |
+
.on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video);
|
3757 |
+
}
|
3758 |
+
|
3759 |
+
return true;
|
3760 |
+
},
|
3761 |
+
|
3762 |
+
// PATCH #3: turning on key up capture only when a reveal window is open
|
3763 |
+
key_up_on : function (scope) {
|
3764 |
+
var self = this;
|
3765 |
+
|
3766 |
+
// PATCH #1: fixing multiple keyup event trigger from single key press
|
3767 |
+
self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) {
|
3768 |
+
var open_modal = self.S('[' + self.attr_name() + '].open'),
|
3769 |
+
settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ;
|
3770 |
+
// PATCH #2: making sure that the close event can be called only while unlocked,
|
3771 |
+
// so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window.
|
3772 |
+
if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key
|
3773 |
+
self.close.call(self, open_modal);
|
3774 |
+
}
|
3775 |
+
});
|
3776 |
+
|
3777 |
+
return true;
|
3778 |
+
},
|
3779 |
+
|
3780 |
+
// PATCH #3: turning on key up capture only when a reveal window is open
|
3781 |
+
key_up_off : function (scope) {
|
3782 |
+
this.S('body').off('keyup.fndtn.reveal');
|
3783 |
+
return true;
|
3784 |
+
},
|
3785 |
+
|
3786 |
+
open : function (target, ajax_settings) {
|
3787 |
+
var self = this,
|
3788 |
+
modal;
|
3789 |
+
|
3790 |
+
if (target) {
|
3791 |
+
if (typeof target.selector !== 'undefined') {
|
3792 |
+
// Find the named node; only use the first one found, since the rest of the code assumes there's only one node
|
3793 |
+
modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first();
|
3794 |
+
} else {
|
3795 |
+
modal = self.S(this.scope);
|
3796 |
+
|
3797 |
+
ajax_settings = target;
|
3798 |
+
}
|
3799 |
+
} else {
|
3800 |
+
modal = self.S(this.scope);
|
3801 |
+
}
|
3802 |
+
|
3803 |
+
var settings = modal.data(self.attr_name(true) + '-init');
|
3804 |
+
settings = settings || this.settings;
|
3805 |
+
|
3806 |
+
if (modal.hasClass('open') && target.attr('data-reveal-id') == modal.attr('id')) {
|
3807 |
+
return self.close(modal);
|
3808 |
+
}
|
3809 |
+
|
3810 |
+
if (!modal.hasClass('open')) {
|
3811 |
+
var open_modal = self.S('[' + self.attr_name() + '].open');
|
3812 |
+
|
3813 |
+
if (typeof modal.data('css-top') === 'undefined') {
|
3814 |
+
modal.data('css-top', parseInt(modal.css('top'), 10))
|
3815 |
+
.data('offset', this.cache_offset(modal));
|
3816 |
+
}
|
3817 |
+
|
3818 |
+
this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open
|
3819 |
+
|
3820 |
+
modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal');
|
3821 |
+
|
3822 |
+
if (open_modal.length < 1) {
|
3823 |
+
this.toggle_bg(modal, true);
|
3824 |
+
}
|
3825 |
+
|
3826 |
+
if (typeof ajax_settings === 'string') {
|
3827 |
+
ajax_settings = {
|
3828 |
+
url : ajax_settings
|
3829 |
+
};
|
3830 |
+
}
|
3831 |
+
|
3832 |
+
if (typeof ajax_settings === 'undefined' || !ajax_settings.url) {
|
3833 |
+
if (open_modal.length > 0) {
|
3834 |
+
if (settings.multiple_opened) {
|
3835 |
+
this.to_back(open_modal);
|
3836 |
+
} else {
|
3837 |
+
this.hide(open_modal, settings.css.close);
|
3838 |
+
}
|
3839 |
+
}
|
3840 |
+
|
3841 |
+
this.show(modal, settings.css.open);
|
3842 |
+
} else {
|
3843 |
+
var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null;
|
3844 |
+
|
3845 |
+
$.extend(ajax_settings, {
|
3846 |
+
success : function (data, textStatus, jqXHR) {
|
3847 |
+
if ( $.isFunction(old_success) ) {
|
3848 |
+
var result = old_success(data, textStatus, jqXHR);
|
3849 |
+
if (typeof result == 'string') {
|
3850 |
+
data = result;
|
3851 |
+
}
|
3852 |
+
}
|
3853 |
+
|
3854 |
+
modal.html(data);
|
3855 |
+
self.S(modal).foundation('section', 'reflow');
|
3856 |
+
self.S(modal).children().foundation();
|
3857 |
+
|
3858 |
+
if (open_modal.length > 0) {
|
3859 |
+
if (settings.multiple_opened) {
|
3860 |
+
this.to_back(open_modal);
|
3861 |
+
} else {
|
3862 |
+
this.hide(open_modal, settings.css.close);
|
3863 |
+
}
|
3864 |
+
}
|
3865 |
+
self.show(modal, settings.css.open);
|
3866 |
+
}
|
3867 |
+
});
|
3868 |
+
|
3869 |
+
$.ajax(ajax_settings);
|
3870 |
+
}
|
3871 |
+
}
|
3872 |
+
self.S(window).trigger('resize');
|
3873 |
+
},
|
3874 |
+
|
3875 |
+
close : function (modal) {
|
3876 |
+
var modal = modal && modal.length ? modal : this.S(this.scope),
|
3877 |
+
open_modals = this.S('[' + this.attr_name() + '].open'),
|
3878 |
+
settings = modal.data(this.attr_name(true) + '-init') || this.settings;
|
3879 |
+
|
3880 |
+
if (open_modals.length > 0) {
|
3881 |
+
this.locked = true;
|
3882 |
+
this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open
|
3883 |
+
modal.trigger('close').trigger('close.fndtn.reveal');
|
3884 |
+
|
3885 |
+
if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) {
|
3886 |
+
this.toggle_bg(modal, false);
|
3887 |
+
this.to_front(modal);
|
3888 |
+
}
|
3889 |
+
|
3890 |
+
if (settings.multiple_opened) {
|
3891 |
+
this.hide(modal, settings.css.close, settings);
|
3892 |
+
this.to_front($($.makeArray(open_modals).reverse()[1]));
|
3893 |
+
} else {
|
3894 |
+
this.hide(open_modals, settings.css.close, settings);
|
3895 |
+
}
|
3896 |
+
}
|
3897 |
+
},
|
3898 |
+
|
3899 |
+
close_targets : function () {
|
3900 |
+
var base = '.' + this.settings.dismiss_modal_class;
|
3901 |
+
|
3902 |
+
if (this.settings.close_on_background_click) {
|
3903 |
+
return base + ', .' + this.settings.bg_class;
|
3904 |
+
}
|
3905 |
+
|
3906 |
+
return base;
|
3907 |
+
},
|
3908 |
+
|
3909 |
+
toggle_bg : function (modal, state) {
|
3910 |
+
if (this.S('.' + this.settings.bg_class).length === 0) {
|
3911 |
+
this.settings.bg = $('<div />', {'class': this.settings.bg_class})
|
3912 |
+
.appendTo('body').hide();
|
3913 |
+
}
|
3914 |
+
|
3915 |
+
var visible = this.settings.bg.filter(':visible').length > 0;
|
3916 |
+
if ( state != visible ) {
|
3917 |
+
if ( state == undefined ? visible : !state ) {
|
3918 |
+
this.hide(this.settings.bg);
|
3919 |
+
} else {
|
3920 |
+
this.show(this.settings.bg);
|
3921 |
+
}
|
3922 |
+
}
|
3923 |
+
},
|
3924 |
+
|
3925 |
+
show : function (el, css) {
|
3926 |
+
// is modal
|
3927 |
+
if (css) {
|
3928 |
+
var settings = el.data(this.attr_name(true) + '-init') || this.settings,
|
3929 |
+
root_element = settings.root_element;
|
3930 |
+
|
3931 |
+
if (el.parent(root_element).length === 0) {
|
3932 |
+
var placeholder = el.wrap('<div style="display: none;" />').parent();
|
3933 |
+
|
3934 |
+
el.on('closed.fndtn.reveal.wrapped', function () {
|
3935 |
+
el.detach().appendTo(placeholder);
|
3936 |
+
el.unwrap().unbind('closed.fndtn.reveal.wrapped');
|
3937 |
+
});
|
3938 |
+
|
3939 |
+
el.detach().appendTo(root_element);
|
3940 |
+
}
|
3941 |
+
|
3942 |
+
var animData = getAnimationData(settings.animation);
|
3943 |
+
if (!animData.animate) {
|
3944 |
+
this.locked = false;
|
3945 |
+
}
|
3946 |
+
if (animData.pop) {
|
3947 |
+
css.top = $(window).scrollTop() - el.data('offset') + 'px';
|
3948 |
+
var end_css = {
|
3949 |
+
top: $(window).scrollTop() + el.data('css-top') + 'px',
|
3950 |
+
opacity: 1
|
3951 |
+
};
|
3952 |
+
|
3953 |
+
return setTimeout(function () {
|
3954 |
+
return el
|
3955 |
+
.css(css)
|
3956 |
+
.animate(end_css, settings.animation_speed, 'linear', function () {
|
3957 |
+
this.locked = false;
|
3958 |
+
el.trigger('opened').trigger('opened.fndtn.reveal');
|
3959 |
+
}.bind(this))
|
3960 |
+
.addClass('open');
|
3961 |
+
}.bind(this), settings.animation_speed / 2);
|
3962 |
+
}
|
3963 |
+
|
3964 |
+
if (animData.fade) {
|
3965 |
+
css.top = $(window).scrollTop() + el.data('css-top') + 'px';
|
3966 |
+
var end_css = {opacity: 1};
|
3967 |
+
|
3968 |
+
return setTimeout(function () {
|
3969 |
+
return el
|
3970 |
+
.css(css)
|
3971 |
+
.animate(end_css, settings.animation_speed, 'linear', function () {
|
3972 |
+
this.locked = false;
|
3973 |
+
el.trigger('opened').trigger('opened.fndtn.reveal');
|
3974 |
+
}.bind(this))
|
3975 |
+
.addClass('open');
|
3976 |
+
}.bind(this), settings.animation_speed / 2);
|
3977 |
+
}
|
3978 |
+
|
3979 |
+
return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened').trigger('opened.fndtn.reveal');
|
3980 |
+
}
|
3981 |
+
|
3982 |
+
var settings = this.settings;
|
3983 |
+
|
3984 |
+
// should we animate the background?
|
3985 |
+
if (getAnimationData(settings.animation).fade) {
|
3986 |
+
return el.fadeIn(settings.animation_speed / 2);
|
3987 |
+
}
|
3988 |
+
|
3989 |
+
this.locked = false;
|
3990 |
+
|
3991 |
+
return el.show();
|
3992 |
+
},
|
3993 |
+
|
3994 |
+
to_back : function(el) {
|
3995 |
+
el.addClass('toback');
|
3996 |
+
},
|
3997 |
+
|
3998 |
+
to_front : function(el) {
|
3999 |
+
el.removeClass('toback');
|
4000 |
+
},
|
4001 |
+
|
4002 |
+
hide : function (el, css) {
|
4003 |
+
// is modal
|
4004 |
+
if (css) {
|
4005 |
+
var settings = el.data(this.attr_name(true) + '-init');
|
4006 |
+
settings = settings || this.settings;
|
4007 |
+
|
4008 |
+
var animData = getAnimationData(settings.animation);
|
4009 |
+
if (!animData.animate) {
|
4010 |
+
this.locked = false;
|
4011 |
+
}
|
4012 |
+
if (animData.pop) {
|
4013 |
+
var end_css = {
|
4014 |
+
top: - $(window).scrollTop() - el.data('offset') + 'px',
|
4015 |
+
opacity: 0
|
4016 |
+
};
|
4017 |
+
|
4018 |
+
return setTimeout(function () {
|
4019 |
+
return el
|
4020 |
+
.animate(end_css, settings.animation_speed, 'linear', function () {
|
4021 |
+
this.locked = false;
|
4022 |
+
el.css(css).trigger('closed').trigger('closed.fndtn.reveal');
|
4023 |
+
}.bind(this))
|
4024 |
+
.removeClass('open');
|
4025 |
+
}.bind(this), settings.animation_speed / 2);
|
4026 |
+
}
|
4027 |
+
|
4028 |
+
if (animData.fade) {
|
4029 |
+
var end_css = {opacity : 0};
|
4030 |
+
|
4031 |
+
return setTimeout(function () {
|
4032 |
+
return el
|
4033 |
+
.animate(end_css, settings.animation_speed, 'linear', function () {
|
4034 |
+
this.locked = false;
|
4035 |
+
el.css(css).trigger('closed').trigger('closed.fndtn.reveal');
|
4036 |
+
}.bind(this))
|
4037 |
+
.removeClass('open');
|
4038 |
+
}.bind(this), settings.animation_speed / 2);
|
4039 |
+
}
|
4040 |
+
|
4041 |
+
return el.hide().css(css).removeClass('open').trigger('closed').trigger('closed.fndtn.reveal');
|
4042 |
+
}
|
4043 |
+
|
4044 |
+
var settings = this.settings;
|
4045 |
+
|
4046 |
+
// should we animate the background?
|
4047 |
+
if (getAnimationData(settings.animation).fade) {
|
4048 |
+
return el.fadeOut(settings.animation_speed / 2);
|
4049 |
+
}
|
4050 |
+
|
4051 |
+
return el.hide();
|
4052 |
+
},
|
4053 |
+
|
4054 |
+
close_video : function (e) {
|
4055 |
+
var video = $('.flex-video', e.target),
|
4056 |
+
iframe = $('iframe', video);
|
4057 |
+
|
4058 |
+
if (iframe.length > 0) {
|
4059 |
+
iframe.attr('data-src', iframe[0].src);
|
4060 |
+
iframe.attr('src', iframe.attr('src'));
|
4061 |
+
video.hide();
|
4062 |
+
}
|
4063 |
+
},
|
4064 |
+
|
4065 |
+
open_video : function (e) {
|
4066 |
+
var video = $('.flex-video', e.target),
|
4067 |
+
iframe = video.find('iframe');
|
4068 |
+
|
4069 |
+
if (iframe.length > 0) {
|
4070 |
+
var data_src = iframe.attr('data-src');
|
4071 |
+
if (typeof data_src === 'string') {
|
4072 |
+
iframe[0].src = iframe.attr('data-src');
|
4073 |
+
} else {
|
4074 |
+
var src = iframe[0].src;
|
4075 |
+
iframe[0].src = undefined;
|
4076 |
+
iframe[0].src = src;
|
4077 |
+
}
|
4078 |
+
video.show();
|
4079 |
+
}
|
4080 |
+
},
|
4081 |
+
|
4082 |
+
data_attr : function (str) {
|
4083 |
+
if (this.namespace.length > 0) {
|
4084 |
+
return this.namespace + '-' + str;
|
4085 |
+
}
|
4086 |
+
|
4087 |
+
return str;
|
4088 |
+
},
|
4089 |
+
|
4090 |
+
cache_offset : function (modal) {
|
4091 |
+
var offset = modal.show().height() + parseInt(modal.css('top'), 10);
|
4092 |
+
|
4093 |
+
modal.hide();
|
4094 |
+
|
4095 |
+
return offset;
|
4096 |
+
},
|
4097 |
+
|
4098 |
+
off : function () {
|
4099 |
+
$(this.scope).off('.fndtn.reveal');
|
4100 |
+
},
|
4101 |
+
|
4102 |
+
reflow : function () {}
|
4103 |
+
};
|
4104 |
+
|
4105 |
+
/*
|
4106 |
+
* getAnimationData('popAndFade') // {animate: true, pop: true, fade: true}
|
4107 |
+
* getAnimationData('fade') // {animate: true, pop: false, fade: true}
|
4108 |
+
* getAnimationData('pop') // {animate: true, pop: true, fade: false}
|
4109 |
+
* getAnimationData('foo') // {animate: false, pop: false, fade: false}
|
4110 |
+
* getAnimationData(null) // {animate: false, pop: false, fade: false}
|
4111 |
+
*/
|
4112 |
+
function getAnimationData(str) {
|
4113 |
+
var fade = /fade/i.test(str);
|
4114 |
+
var pop = /pop/i.test(str);
|
4115 |
+
return {
|
4116 |
+
animate : fade || pop,
|
4117 |
+
pop : pop,
|
4118 |
+
fade : fade
|
4119 |
+
};
|
4120 |
+
}
|
4121 |
+
}(jQuery, window, window.document));
|
4122 |
+
;(function ($, window, document, undefined) {
|
4123 |
+
'use strict';
|
4124 |
+
|
4125 |
+
Foundation.libs.interchange = {
|
4126 |
+
name : 'interchange',
|
4127 |
+
|
4128 |
+
version : '5.5.1',
|
4129 |
+
|
4130 |
+
cache : {},
|
4131 |
+
|
4132 |
+
images_loaded : false,
|
4133 |
+
nodes_loaded : false,
|
4134 |
+
|
4135 |
+
settings : {
|
4136 |
+
load_attr : 'interchange',
|
4137 |
+
|
4138 |
+
named_queries : {
|
4139 |
+
'default' : 'only screen',
|
4140 |
+
'small' : Foundation.media_queries['small'],
|
4141 |
+
'small-only' : Foundation.media_queries['small-only'],
|
4142 |
+
'medium' : Foundation.media_queries['medium'],
|
4143 |
+
'medium-only' : Foundation.media_queries['medium-only'],
|
4144 |
+
'large' : Foundation.media_queries['large'],
|
4145 |
+
'large-only' : Foundation.media_queries['large-only'],
|
4146 |
+
'xlarge' : Foundation.media_queries['xlarge'],
|
4147 |
+
'xlarge-only' : Foundation.media_queries['xlarge-only'],
|
4148 |
+
'xxlarge' : Foundation.media_queries['xxlarge'],
|
4149 |
+
'landscape' : 'only screen and (orientation: landscape)',
|
4150 |
+
'portrait' : 'only screen and (orientation: portrait)',
|
4151 |
+
'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
|
4152 |
+
'only screen and (min--moz-device-pixel-ratio: 2),' +
|
4153 |
+
'only screen and (-o-min-device-pixel-ratio: 2/1),' +
|
4154 |
+
'only screen and (min-device-pixel-ratio: 2),' +
|
4155 |
+
'only screen and (min-resolution: 192dpi),' +
|
4156 |
+
'only screen and (min-resolution: 2dppx)'
|
4157 |
+
},
|
4158 |
+
|
4159 |
+
directives : {
|
4160 |
+
replace : function (el, path, trigger) {
|
4161 |
+
// The trigger argument, if called within the directive, fires
|
4162 |
+
// an event named after the directive on the element, passing
|
4163 |
+
// any parameters along to the event that you pass to trigger.
|
4164 |
+
//
|
4165 |
+
// ex. trigger(), trigger([a, b, c]), or trigger(a, b, c)
|
4166 |
+
//
|
4167 |
+
// This allows you to bind a callback like so:
|
4168 |
+
// $('#interchangeContainer').on('replace', function (e, a, b, c) {
|
4169 |
+
// console.log($(this).html(), a, b, c);
|
4170 |
+
// });
|
4171 |
+
|
4172 |
+
if (/IMG/.test(el[0].nodeName)) {
|
4173 |
+
var orig_path = el[0].src;
|
4174 |
+
|
4175 |
+
if (new RegExp(path, 'i').test(orig_path)) {
|
4176 |
+
return;
|
4177 |
+
}
|
4178 |
+
|
4179 |
+
el[0].src = path;
|
4180 |
+
|
4181 |
+
return trigger(el[0].src);
|
4182 |
+
}
|
4183 |
+
var last_path = el.data(this.data_attr + '-last-path'),
|
4184 |
+
self = this;
|
4185 |
+
|
4186 |
+
if (last_path == path) {
|
4187 |
+
return;
|
4188 |
+
}
|
4189 |
+
|
4190 |
+
if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) {
|
4191 |
+
$(el).css('background-image', 'url(' + path + ')');
|
4192 |
+
el.data('interchange-last-path', path);
|
4193 |
+
return trigger(path);
|
4194 |
+
}
|
4195 |
+
|
4196 |
+
return $.get(path, function (response) {
|
4197 |
+
el.html(response);
|
4198 |
+
el.data(self.data_attr + '-last-path', path);
|
4199 |
+
trigger();
|
4200 |
+
});
|
4201 |
+
|
4202 |
+
}
|
4203 |
+
}
|
4204 |
+
},
|
4205 |
+
|
4206 |
+
init : function (scope, method, options) {
|
4207 |
+
Foundation.inherit(this, 'throttle random_str');
|
4208 |
+
|
4209 |
+
this.data_attr = this.set_data_attr();
|
4210 |
+
$.extend(true, this.settings, method, options);
|
4211 |
+
this.bindings(method, options);
|
4212 |
+
this.load('images');
|
4213 |
+
this.load('nodes');
|
4214 |
+
},
|
4215 |
+
|
4216 |
+
get_media_hash : function () {
|
4217 |
+
var mediaHash = '';
|
4218 |
+
for (var queryName in this.settings.named_queries ) {
|
4219 |
+
mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString();
|
4220 |
+
}
|
4221 |
+
return mediaHash;
|
4222 |
+
},
|
4223 |
+
|
4224 |
+
events : function () {
|
4225 |
+
var self = this, prevMediaHash;
|
4226 |
+
|
4227 |
+
$(window)
|
4228 |
+
.off('.interchange')
|
4229 |
+
.on('resize.fndtn.interchange', self.throttle(function () {
|
4230 |
+
var currMediaHash = self.get_media_hash();
|
4231 |
+
if (currMediaHash !== prevMediaHash) {
|
4232 |
+
self.resize();
|
4233 |
+
}
|
4234 |
+
prevMediaHash = currMediaHash;
|
4235 |
+
}, 50));
|
4236 |
+
|
4237 |
+
return this;
|
4238 |
+
},
|
4239 |
+
|
4240 |
+
resize : function () {
|
4241 |
+
var cache = this.cache;
|
4242 |
+
|
4243 |
+
if (!this.images_loaded || !this.nodes_loaded) {
|
4244 |
+
setTimeout($.proxy(this.resize, this), 50);
|
4245 |
+
return;
|
4246 |
+
}
|
4247 |
+
|
4248 |
+
for (var uuid in cache) {
|
4249 |
+
if (cache.hasOwnProperty(uuid)) {
|
4250 |
+
var passed = this.results(uuid, cache[uuid]);
|
4251 |
+
|
4252 |
+
if (passed) {
|
4253 |
+
this.settings.directives[passed
|
4254 |
+
.scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) {
|
4255 |
+
if (arguments[0] instanceof Array) {
|
4256 |
+
var args = arguments[0];
|
4257 |
+
} else {
|
4258 |
+
var args = Array.prototype.slice.call(arguments, 0);
|
4259 |
+
}
|
4260 |
+
|
4261 |
+
return function() {
|
4262 |
+
passed.el.trigger(passed.scenario[1], args);
|
4263 |
+
}
|
4264 |
+
}(passed)));
|
4265 |
+
}
|
4266 |
+
}
|
4267 |
+
}
|
4268 |
+
|
4269 |
+
},
|
4270 |
+
|
4271 |
+
results : function (uuid, scenarios) {
|
4272 |
+
var count = scenarios.length;
|
4273 |
+
|
4274 |
+
if (count > 0) {
|
4275 |
+
var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]');
|
4276 |
+
|
4277 |
+
while (count--) {
|
4278 |
+
var mq, rule = scenarios[count][2];
|
4279 |
+
if (this.settings.named_queries.hasOwnProperty(rule)) {
|
4280 |
+
mq = matchMedia(this.settings.named_queries[rule]);
|
4281 |
+
} else {
|
4282 |
+
mq = matchMedia(rule);
|
4283 |
+
}
|
4284 |
+
if (mq.matches) {
|
4285 |
+
return {el : el, scenario : scenarios[count]};
|
4286 |
+
}
|
4287 |
+
}
|
4288 |
+
}
|
4289 |
+
|
4290 |
+
return false;
|
4291 |
+
},
|
4292 |
+
|
4293 |
+
load : function (type, force_update) {
|
4294 |
+
if (typeof this['cached_' + type] === 'undefined' || force_update) {
|
4295 |
+
this['update_' + type]();
|
4296 |
+
}
|
4297 |
+
|
4298 |
+
return this['cached_' + type];
|
4299 |
+
},
|
4300 |
+
|
4301 |
+
update_images : function () {
|
4302 |
+
var images = this.S('img[' + this.data_attr + ']'),
|
4303 |
+
count = images.length,
|
4304 |
+
i = count,
|
4305 |
+
loaded_count = 0,
|
4306 |
+
data_attr = this.data_attr;
|
4307 |
+
|
4308 |
+
this.cache = {};
|
4309 |
+
this.cached_images = [];
|
4310 |
+
this.images_loaded = (count === 0);
|
4311 |
+
|
4312 |
+
while (i--) {
|
4313 |
+
loaded_count++;
|
4314 |
+
if (images[i]) {
|
4315 |
+
var str = images[i].getAttribute(data_attr) || '';
|
4316 |
+
|
4317 |
+
if (str.length > 0) {
|
4318 |
+
this.cached_images.push(images[i]);
|
4319 |
+
}
|
4320 |
+
}
|
4321 |
+
|
4322 |
+
if (loaded_count === count) {
|
4323 |
+
this.images_loaded = true;
|
4324 |
+
this.enhance('images');
|
4325 |
+
}
|
4326 |
+
}
|
4327 |
+
|
4328 |
+
return this;
|
4329 |
+
},
|
4330 |
+
|
4331 |
+
update_nodes : function () {
|
4332 |
+
var nodes = this.S('[' + this.data_attr + ']').not('img'),
|
4333 |
+
count = nodes.length,
|
4334 |
+
i = count,
|
4335 |
+
loaded_count = 0,
|
4336 |
+
data_attr = this.data_attr;
|
4337 |
+
|
4338 |
+
this.cached_nodes = [];
|
4339 |
+
this.nodes_loaded = (count === 0);
|
4340 |
+
|
4341 |
+
while (i--) {
|
4342 |
+
loaded_count++;
|
4343 |
+
var str = nodes[i].getAttribute(data_attr) || '';
|
4344 |
+
|
4345 |
+
if (str.length > 0) {
|
4346 |
+
this.cached_nodes.push(nodes[i]);
|
4347 |
+
}
|
4348 |
+
|
4349 |
+
if (loaded_count === count) {
|
4350 |
+
this.nodes_loaded = true;
|
4351 |
+
this.enhance('nodes');
|
4352 |
+
}
|
4353 |
+
}
|
4354 |
+
|
4355 |
+
return this;
|
4356 |
+
},
|
4357 |
+
|
4358 |
+
enhance : function (type) {
|
4359 |
+
var i = this['cached_' + type].length;
|
4360 |
+
|
4361 |
+
while (i--) {
|
4362 |
+
this.object($(this['cached_' + type][i]));
|
4363 |
+
}
|
4364 |
+
|
4365 |
+
return $(window).trigger('resize').trigger('resize.fndtn.interchange');
|
4366 |
+
},
|
4367 |
+
|
4368 |
+
convert_directive : function (directive) {
|
4369 |
+
|
4370 |
+
var trimmed = this.trim(directive);
|
4371 |
+
|
4372 |
+
if (trimmed.length > 0) {
|
4373 |
+
return trimmed;
|
4374 |
+
}
|
4375 |
+
|
4376 |
+
return 'replace';
|
4377 |
+
},
|
4378 |
+
|
4379 |
+
parse_scenario : function (scenario) {
|
4380 |
+
// This logic had to be made more complex since some users were using commas in the url path
|
4381 |
+
// So we cannot simply just split on a comma
|
4382 |
+
var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/),
|
4383 |
+
media_query = scenario[1];
|
4384 |
+
|
4385 |
+
if (directive_match) {
|
4386 |
+
var path = directive_match[1],
|
4387 |
+
directive = directive_match[2];
|
4388 |
+
} else {
|
4389 |
+
var cached_split = scenario[0].split(/,\s*$/),
|
4390 |
+
path = cached_split[0],
|
4391 |
+
directive = '';
|
4392 |
+
}
|
4393 |
+
|
4394 |
+
return [this.trim(path), this.convert_directive(directive), this.trim(media_query)];
|
4395 |
+
},
|
4396 |
+
|
4397 |
+
object : function (el) {
|
4398 |
+
var raw_arr = this.parse_data_attr(el),
|
4399 |
+
scenarios = [],
|
4400 |
+
i = raw_arr.length;
|
4401 |
+
|
4402 |
+
if (i > 0) {
|
4403 |
+
while (i--) {
|
4404 |
+
var split = raw_arr[i].split(/\(([^\)]*?)(\))$/);
|
4405 |
+
|
4406 |
+
if (split.length > 1) {
|
4407 |
+
var params = this.parse_scenario(split);
|
4408 |
+
scenarios.push(params);
|
4409 |
+
}
|
4410 |
+
}
|
4411 |
+
}
|
4412 |
+
|
4413 |
+
return this.store(el, scenarios);
|
4414 |
+
},
|
4415 |
+
|
4416 |
+
store : function (el, scenarios) {
|
4417 |
+
var uuid = this.random_str(),
|
4418 |
+
current_uuid = el.data(this.add_namespace('uuid', true));
|
4419 |
+
|
4420 |
+
if (this.cache[current_uuid]) {
|
4421 |
+
return this.cache[current_uuid];
|
4422 |
+
}
|
4423 |
+
|
4424 |
+
el.attr(this.add_namespace('data-uuid'), uuid);
|
4425 |
+
|
4426 |
+
return this.cache[uuid] = scenarios;
|
4427 |
+
},
|
4428 |
+
|
4429 |
+
trim : function (str) {
|
4430 |
+
|
4431 |
+
if (typeof str === 'string') {
|
4432 |
+
return $.trim(str);
|
4433 |
+
}
|
4434 |
+
|
4435 |
+
return str;
|
4436 |
+
},
|
4437 |
+
|
4438 |
+
set_data_attr : function (init) {
|
4439 |
+
if (init) {
|
4440 |
+
if (this.namespace.length > 0) {
|
4441 |
+
return this.namespace + '-' + this.settings.load_attr;
|
4442 |
+
}
|
4443 |
+
|
4444 |
+
return this.settings.load_attr;
|
4445 |
+
}
|
4446 |
+
|
4447 |
+
if (this.namespace.length > 0) {
|
4448 |
+
return 'data-' + this.namespace + '-' + this.settings.load_attr;
|
4449 |
+
}
|
4450 |
+
|
4451 |
+
return 'data-' + this.settings.load_attr;
|
4452 |
+
},
|
4453 |
+
|
4454 |
+
parse_data_attr : function (el) {
|
4455 |
+
var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/),
|
4456 |
+
i = raw.length,
|
4457 |
+
output = [];
|
4458 |
+
|
4459 |
+
while (i--) {
|
4460 |
+
if (raw[i].replace(/[\W\d]+/, '').length > 4) {
|
4461 |
+
output.push(raw[i]);
|
4462 |
+
}
|
4463 |
+
}
|
4464 |
+
|
4465 |
+
return output;
|
4466 |
+
},
|
4467 |
+
|
4468 |
+
reflow : function () {
|
4469 |
+
this.load('images', true);
|
4470 |
+
this.load('nodes', true);
|
4471 |
+
}
|
4472 |
+
|
4473 |
+
};
|
4474 |
+
|
4475 |
+
}(jQuery, window, window.document));
|
4476 |
+
;(function ($, window, document, undefined) {
|
4477 |
+
'use strict';
|
4478 |
+
|
4479 |
+
Foundation.libs['magellan-expedition'] = {
|
4480 |
+
name : 'magellan-expedition',
|
4481 |
+
|
4482 |
+
version : '5.5.1',
|
4483 |
+
|
4484 |
+
settings : {
|
4485 |
+
active_class : 'active',
|
4486 |
+
threshold : 0, // pixels from the top of the expedition for it to become fixes
|
4487 |
+
destination_threshold : 20, // pixels from the top of destination for it to be considered active
|
4488 |
+
throttle_delay : 30, // calculation throttling to increase framerate
|
4489 |
+
fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll
|
4490 |
+
offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side.
|
4491 |
+
duration : 700, // animation duration time
|
4492 |
+
easing : 'swing' // animation easing
|
4493 |
+
},
|
4494 |
+
|
4495 |
+
init : function (scope, method, options) {
|
4496 |
+
Foundation.inherit(this, 'throttle');
|
4497 |
+
this.bindings(method, options);
|
4498 |
+
},
|
4499 |
+
|
4500 |
+
events : function () {
|
4501 |
+
var self = this,
|
4502 |
+
S = self.S,
|
4503 |
+
settings = self.settings;
|
4504 |
+
|
4505 |
+
// initialize expedition offset
|
4506 |
+
self.set_expedition_position();
|
4507 |
+
|
4508 |
+
S(self.scope)
|
4509 |
+
.off('.magellan')
|
4510 |
+
.on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href^="#"]', function (e) {
|
4511 |
+
e.preventDefault();
|
4512 |
+
var expedition = $(this).closest('[' + self.attr_name() + ']'),
|
4513 |
+
settings = expedition.data('magellan-expedition-init'),
|
4514 |
+
hash = this.hash.split('#').join(''),
|
4515 |
+
target = $('a[name="' + hash + '"]');
|
4516 |
+
|
4517 |
+
if (target.length === 0) {
|
4518 |
+
target = $('#' + hash);
|
4519 |
+
|
4520 |
+
}
|
4521 |
+
|
4522 |
+
// Account for expedition height if fixed position
|
4523 |
+
var scroll_top = target.offset().top - settings.destination_threshold + 1;
|
4524 |
+
if (settings.offset_by_height) {
|
4525 |
+
scroll_top = scroll_top - expedition.outerHeight();
|
4526 |
+
}
|
4527 |
+
|
4528 |
+
$('html, body').stop().animate({
|
4529 |
+
'scrollTop' : scroll_top
|
4530 |
+
}, settings.duration, settings.easing, function () {
|
4531 |
+
if (history.pushState) {
|
4532 |
+
history.pushState(null, null, '#' + hash);
|
4533 |
+
} else {
|
4534 |
+
location.hash = '#' + hash;
|
4535 |
+
}
|
4536 |
+
});
|
4537 |
+
})
|
4538 |
+
.on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay));
|
4539 |
+
|
4540 |
+
$(window)
|
4541 |
+
.on('resize.fndtn.magellan', self.throttle(this.set_expedition_position.bind(this), settings.throttle_delay));
|
4542 |
+
},
|
4543 |
+
|
4544 |
+
check_for_arrivals : function () {
|
4545 |
+
var self = this;
|
4546 |
+
self.update_arrivals();
|
4547 |
+
self.update_expedition_positions();
|
4548 |
+
},
|
4549 |
+
|
4550 |
+
set_expedition_position : function () {
|
4551 |
+
var self = this;
|
4552 |
+
$('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) {
|
4553 |
+
var expedition = $(this),
|
4554 |
+
settings = expedition.data('magellan-expedition-init'),
|
4555 |
+
styles = expedition.attr('styles'), // save styles
|
4556 |
+
top_offset, fixed_top;
|
4557 |
+
|
4558 |
+
expedition.attr('style', '');
|
4559 |
+
top_offset = expedition.offset().top + settings.threshold;
|
4560 |
+
|
4561 |
+
//set fixed-top by attribute
|
4562 |
+
fixed_top = parseInt(expedition.data('magellan-fixed-top'));
|
4563 |
+
if (!isNaN(fixed_top)) {
|
4564 |
+
self.settings.fixed_top = fixed_top;
|
4565 |
+
}
|
4566 |
+
|
4567 |
+
expedition.data(self.data_attr('magellan-top-offset'), top_offset);
|
4568 |
+
expedition.attr('style', styles);
|
4569 |
+
});
|
4570 |
+
},
|
4571 |
+
|
4572 |
+
update_expedition_positions : function () {
|
4573 |
+
var self = this,
|
4574 |
+
window_top_offset = $(window).scrollTop();
|
4575 |
+
|
4576 |
+
$('[' + this.attr_name() + '=fixed]', self.scope).each(function () {
|
4577 |
+
var expedition = $(this),
|
4578 |
+
settings = expedition.data('magellan-expedition-init'),
|
4579 |
+
styles = expedition.attr('style'), // save styles
|
4580 |
+
top_offset = expedition.data('magellan-top-offset');
|
4581 |
+
|
4582 |
+
//scroll to the top distance
|
4583 |
+
if (window_top_offset + self.settings.fixed_top >= top_offset) {
|
4584 |
+
// Placeholder allows height calculations to be consistent even when
|
4585 |
+
// appearing to switch between fixed/non-fixed placement
|
4586 |
+
var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']');
|
4587 |
+
if (placeholder.length === 0) {
|
4588 |
+
placeholder = expedition.clone();
|
4589 |
+
placeholder.removeAttr(self.attr_name());
|
4590 |
+
placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), '');
|
4591 |
+
expedition.before(placeholder);
|
4592 |
+
}
|
4593 |
+
expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed');
|
4594 |
+
} else {
|
4595 |
+
expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove();
|
4596 |
+
expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed');
|
4597 |
+
}
|
4598 |
+
});
|
4599 |
+
},
|
4600 |
+
|
4601 |
+
update_arrivals : function () {
|
4602 |
+
var self = this,
|
4603 |
+
window_top_offset = $(window).scrollTop();
|
4604 |
+
|
4605 |
+
$('[' + this.attr_name() + ']', self.scope).each(function () {
|
4606 |
+
var expedition = $(this),
|
4607 |
+
settings = expedition.data(self.attr_name(true) + '-init'),
|
4608 |
+
offsets = self.offsets(expedition, window_top_offset),
|
4609 |
+
arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'),
|
4610 |
+
active_item = false;
|
4611 |
+
offsets.each(function (idx, item) {
|
4612 |
+
if (item.viewport_offset >= item.top_offset) {
|
4613 |
+
var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']');
|
4614 |
+
arrivals.not(item.arrival).removeClass(settings.active_class);
|
4615 |
+
item.arrival.addClass(settings.active_class);
|
4616 |
+
active_item = true;
|
4617 |
+
return true;
|
4618 |
+
}
|
4619 |
+
});
|
4620 |
+
|
4621 |
+
if (!active_item) {
|
4622 |
+
arrivals.removeClass(settings.active_class);
|
4623 |
+
}
|
4624 |
+
});
|
4625 |
+
},
|
4626 |
+
|
4627 |
+
offsets : function (expedition, window_offset) {
|
4628 |
+
var self = this,
|
4629 |
+
settings = expedition.data(self.attr_name(true) + '-init'),
|
4630 |
+
viewport_offset = window_offset;
|
4631 |
+
|
4632 |
+
return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) {
|
4633 |
+
var name = $(this).data(self.data_attr('magellan-arrival')),
|
4634 |
+
dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']');
|
4635 |
+
if (dest.length > 0) {
|
4636 |
+
var top_offset = dest.offset().top - settings.destination_threshold;
|
4637 |
+
if (settings.offset_by_height) {
|
4638 |
+
top_offset = top_offset - expedition.outerHeight();
|
4639 |
+
}
|
4640 |
+
top_offset = Math.floor(top_offset);
|
4641 |
+
return {
|
4642 |
+
destination : dest,
|
4643 |
+
arrival : $(this),
|
4644 |
+
top_offset : top_offset,
|
4645 |
+
viewport_offset : viewport_offset
|
4646 |
+
}
|
4647 |
+
}
|
4648 |
+
}).sort(function (a, b) {
|
4649 |
+
if (a.top_offset < b.top_offset) {
|
4650 |
+
return -1;
|
4651 |
+
}
|
4652 |
+
if (a.top_offset > b.top_offset) {
|
4653 |
+
return 1;
|
4654 |
+
}
|
4655 |
+
return 0;
|
4656 |
+
});
|
4657 |
+
},
|
4658 |
+
|
4659 |
+
data_attr : function (str) {
|
4660 |
+
if (this.namespace.length > 0) {
|
4661 |
+
return this.namespace + '-' + str;
|
4662 |
+
}
|
4663 |
+
|
4664 |
+
return str;
|
4665 |
+
},
|
4666 |
+
|
4667 |
+
off : function () {
|
4668 |
+
this.S(this.scope).off('.magellan');
|
4669 |
+
this.S(window).off('.magellan');
|
4670 |
+
},
|
4671 |
+
|
4672 |
+
reflow : function () {
|
4673 |
+
var self = this;
|
4674 |
+
// remove placeholder expeditions used for height calculation purposes
|
4675 |
+
$('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove();
|
4676 |
+
}
|
4677 |
+
};
|
4678 |
+
}(jQuery, window, window.document));
|
4679 |
+
;(function ($, window, document, undefined) {
|
4680 |
+
'use strict';
|
4681 |
+
|
4682 |
+
Foundation.libs.accordion = {
|
4683 |
+
name : 'accordion',
|
4684 |
+
|
4685 |
+
version : '5.5.1',
|
4686 |
+
|
4687 |
+
settings : {
|
4688 |
+
content_class : 'content',
|
4689 |
+
active_class : 'active',
|
4690 |
+
multi_expand : false,
|
4691 |
+
toggleable : true,
|
4692 |
+
callback : function () {}
|
4693 |
+
},
|
4694 |
+
|
4695 |
+
init : function (scope, method, options) {
|
4696 |
+
this.bindings(method, options);
|
4697 |
+
},
|
4698 |
+
|
4699 |
+
events : function () {
|
4700 |
+
var self = this;
|
4701 |
+
var S = this.S;
|
4702 |
+
S(this.scope)
|
4703 |
+
.off('.fndtn.accordion')
|
4704 |
+
.on('click.fndtn.accordion', '[' + this.attr_name() + '] > .accordion-navigation > a', function (e) {
|
4705 |
+
var accordion = S(this).closest('[' + self.attr_name() + ']'),
|
4706 |
+
groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()),
|
4707 |
+
settings = accordion.data(self.attr_name(true) + '-init') || self.settings,
|
4708 |
+
target = S('#' + this.href.split('#')[1]),
|
4709 |
+
aunts = $('> .accordion-navigation', accordion),
|
4710 |
+
siblings = aunts.children('.' + settings.content_class),
|
4711 |
+
active_content = siblings.filter('.' + settings.active_class);
|
4712 |
+
|
4713 |
+
e.preventDefault();
|
4714 |
+
|
4715 |
+
if (accordion.attr(self.attr_name())) {
|
4716 |
+
siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class);
|
4717 |
+
aunts = aunts.add('[' + groupSelector + '] .accordion-navigation');
|
4718 |
+
}
|
4719 |
+
|
4720 |
+
if (settings.toggleable && target.is(active_content)) {
|
4721 |
+
target.parent('.accordion-navigation').toggleClass(settings.active_class, false);
|
4722 |
+
target.toggleClass(settings.active_class, false);
|
4723 |
+
settings.callback(target);
|
4724 |
+
target.triggerHandler('toggled', [accordion]);
|
4725 |
+
accordion.triggerHandler('toggled', [target]);
|
4726 |
+
return;
|
4727 |
+
}
|
4728 |
+
|
4729 |
+
if (!settings.multi_expand) {
|
4730 |
+
siblings.removeClass(settings.active_class);
|
4731 |
+
aunts.removeClass(settings.active_class);
|
4732 |
+
}
|
4733 |
+
|
4734 |
+
target.addClass(settings.active_class).parent().addClass(settings.active_class);
|
4735 |
+
settings.callback(target);
|
4736 |
+
target.triggerHandler('toggled', [accordion]);
|
4737 |
+
accordion.triggerHandler('toggled', [target]);
|
4738 |
+
});
|
4739 |
+
},
|
4740 |
+
|
4741 |
+
off : function () {},
|
4742 |
+
|
4743 |
+
reflow : function () {}
|
4744 |
+
};
|
4745 |
+
}(jQuery, window, window.document));
|
4746 |
+
;(function ($, window, document, undefined) {
|
4747 |
+
'use strict';
|
4748 |
+
|
4749 |
+
Foundation.libs.topbar = {
|
4750 |
+
name : 'topbar',
|
4751 |
+
|
4752 |
+
version : '5.5.1',
|
4753 |
+
|
4754 |
+
settings : {
|
4755 |
+
index : 0,
|
4756 |
+
sticky_class : 'sticky',
|
4757 |
+
custom_back_text : true,
|
4758 |
+
back_text : 'Back',
|
4759 |
+
mobile_show_parent_link : true,
|
4760 |
+
is_hover : true,
|
4761 |
+
scrolltop : true, // jump to top when sticky nav menu toggle is clicked
|
4762 |
+
sticky_on : 'all'
|
4763 |
+
},
|
4764 |
+
|
4765 |
+
init : function (section, method, options) {
|
4766 |
+
Foundation.inherit(this, 'add_custom_rule register_media throttle');
|
4767 |
+
var self = this;
|
4768 |
+
|
4769 |
+
self.register_media('topbar', 'foundation-mq-topbar');
|
4770 |
+
|
4771 |
+
this.bindings(method, options);
|
4772 |
+
|
4773 |
+
self.S('[' + this.attr_name() + ']', this.scope).each(function () {
|
4774 |
+
var topbar = $(this),
|
4775 |
+
settings = topbar.data(self.attr_name(true) + '-init'),
|
4776 |
+
section = self.S('section, .top-bar-section', this);
|
4777 |
+
topbar.data('index', 0);
|
4778 |
+
var topbarContainer = topbar.parent();
|
4779 |
+
if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) {
|
4780 |
+
self.settings.sticky_class = settings.sticky_class;
|
4781 |
+
self.settings.sticky_topbar = topbar;
|
4782 |
+
topbar.data('height', topbarContainer.outerHeight());
|
4783 |
+
topbar.data('stickyoffset', topbarContainer.offset().top);
|
4784 |
+
} else {
|
4785 |
+
topbar.data('height', topbar.outerHeight());
|
4786 |
+
}
|
4787 |
+
|
4788 |
+
if (!settings.assembled) {
|
4789 |
+
self.assemble(topbar);
|
4790 |
+
}
|
4791 |
+
|
4792 |
+
if (settings.is_hover) {
|
4793 |
+
self.S('.has-dropdown', topbar).addClass('not-click');
|
4794 |
+
} else {
|
4795 |
+
self.S('.has-dropdown', topbar).removeClass('not-click');
|
4796 |
+
}
|
4797 |
+
|
4798 |
+
// Pad body when sticky (scrolled) or fixed.
|
4799 |
+
self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }');
|
4800 |
+
|
4801 |
+
if (topbarContainer.hasClass('fixed')) {
|
4802 |
+
self.S('body').addClass('f-topbar-fixed');
|
4803 |
+
}
|
4804 |
+
});
|
4805 |
+
|
4806 |
+
},
|
4807 |
+
|
4808 |
+
is_sticky : function (topbar, topbarContainer, settings) {
|
4809 |
+
var sticky = topbarContainer.hasClass(settings.sticky_class);
|
4810 |
+
var smallMatch = matchMedia(Foundation.media_queries.small).matches;
|
4811 |
+
var medMatch = matchMedia(Foundation.media_queries.medium).matches;
|
4812 |
+
var lrgMatch = matchMedia(Foundation.media_queries.large).matches;
|
4813 |
+
|
4814 |
+
if (sticky && settings.sticky_on === 'all') {
|
4815 |
+
return true;
|
4816 |
+
}
|
4817 |
+
if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) {
|
4818 |
+
if (smallMatch && !medMatch && !lrgMatch) { return true; }
|
4819 |
+
}
|
4820 |
+
if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) {
|
4821 |
+
if (smallMatch && medMatch && !lrgMatch) { return true; }
|
4822 |
+
}
|
4823 |
+
if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) {
|
4824 |
+
if (smallMatch && medMatch && lrgMatch) { return true; }
|
4825 |
+
}
|
4826 |
+
|
4827 |
+
// fix for iOS browsers
|
4828 |
+
if (sticky && navigator.userAgent.match(/(iPad|iPhone|iPod)/g)) {
|
4829 |
+
return true;
|
4830 |
+
}
|
4831 |
+
return false;
|
4832 |
+
},
|
4833 |
+
|
4834 |
+
toggle : function (toggleEl) {
|
4835 |
+
var self = this,
|
4836 |
+
topbar;
|
4837 |
+
|
4838 |
+
if (toggleEl) {
|
4839 |
+
topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']');
|
4840 |
+
} else {
|
4841 |
+
topbar = self.S('[' + this.attr_name() + ']');
|
4842 |
+
}
|
4843 |
+
|
4844 |
+
var settings = topbar.data(this.attr_name(true) + '-init');
|
4845 |
+
|
4846 |
+
var section = self.S('section, .top-bar-section', topbar);
|
4847 |
+
|
4848 |
+
if (self.breakpoint()) {
|
4849 |
+
if (!self.rtl) {
|
4850 |
+
section.css({left : '0%'});
|
4851 |
+
$('>.name', section).css({left : '100%'});
|
4852 |
+
} else {
|
4853 |
+
section.css({right : '0%'});
|
4854 |
+
$('>.name', section).css({right : '100%'});
|
4855 |
+
}
|
4856 |
+
|
4857 |
+
self.S('li.moved', section).removeClass('moved');
|
4858 |
+
topbar.data('index', 0);
|
4859 |
+
|
4860 |
+
topbar
|
4861 |
+
.toggleClass('expanded')
|
4862 |
+
.css('height', '');
|
4863 |
+
}
|
4864 |
+
|
4865 |
+
if (settings.scrolltop) {
|
4866 |
+
if (!topbar.hasClass('expanded')) {
|
4867 |
+
if (topbar.hasClass('fixed')) {
|
4868 |
+
topbar.parent().addClass('fixed');
|
4869 |
+
topbar.removeClass('fixed');
|
4870 |
+
self.S('body').addClass('f-topbar-fixed');
|
4871 |
+
}
|
4872 |
+
} else if (topbar.parent().hasClass('fixed')) {
|
4873 |
+
if (settings.scrolltop) {
|
4874 |
+
topbar.parent().removeClass('fixed');
|
4875 |
+
topbar.addClass('fixed');
|
4876 |
+
self.S('body').removeClass('f-topbar-fixed');
|
4877 |
+
|
4878 |
+
window.scrollTo(0, 0);
|
4879 |
+
} else {
|
4880 |
+
topbar.parent().removeClass('expanded');
|
4881 |
+
}
|
4882 |
+
}
|
4883 |
+
} else {
|
4884 |
+
if (self.is_sticky(topbar, topbar.parent(), settings)) {
|
4885 |
+
topbar.parent().addClass('fixed');
|
4886 |
+
}
|
4887 |
+
|
4888 |
+
if (topbar.parent().hasClass('fixed')) {
|
4889 |
+
if (!topbar.hasClass('expanded')) {
|
4890 |
+
topbar.removeClass('fixed');
|
4891 |
+
topbar.parent().removeClass('expanded');
|
4892 |
+
self.update_sticky_positioning();
|
4893 |
+
} else {
|
4894 |
+
topbar.addClass('fixed');
|
4895 |
+
topbar.parent().addClass('expanded');
|
4896 |
+
self.S('body').addClass('f-topbar-fixed');
|
4897 |
+
}
|
4898 |
+
}
|
4899 |
+
}
|
4900 |
+
},
|
4901 |
+
|
4902 |
+
timer : null,
|
4903 |
+
|
4904 |
+
events : function (bar) {
|
4905 |
+
var self = this,
|
4906 |
+
S = this.S;
|
4907 |
+
|
4908 |
+
S(this.scope)
|
4909 |
+
.off('.topbar')
|
4910 |
+
.on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) {
|
4911 |
+
e.preventDefault();
|
4912 |
+
self.toggle(this);
|
4913 |
+
})
|
4914 |
+
.on('click.fndtn.topbar', '.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]', function (e) {
|
4915 |
+
var li = $(this).closest('li');
|
4916 |
+
if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) {
|
4917 |
+
self.toggle();
|
4918 |
+
}
|
4919 |
+
})
|
4920 |
+
.on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) {
|
4921 |
+
var li = S(this),
|
4922 |
+
target = S(e.target),
|
4923 |
+
topbar = li.closest('[' + self.attr_name() + ']'),
|
4924 |
+
settings = topbar.data(self.attr_name(true) + '-init');
|
4925 |
+
|
4926 |
+
if (target.data('revealId')) {
|
4927 |
+
self.toggle();
|
4928 |
+
return;
|
4929 |
+
}
|
4930 |
+
|
4931 |
+
if (self.breakpoint()) {
|
4932 |
+
return;
|
4933 |
+
}
|
4934 |
+
|
4935 |
+
if (settings.is_hover && !Modernizr.touch) {
|
4936 |
+
return;
|
4937 |
+
}
|
4938 |
+
|
4939 |
+
e.stopImmediatePropagation();
|
4940 |
+
|
4941 |
+
if (li.hasClass('hover')) {
|
4942 |
+
li
|
4943 |
+
.removeClass('hover')
|
4944 |
+
.find('li')
|
4945 |
+
.removeClass('hover');
|
4946 |
+
|
4947 |
+
li.parents('li.hover')
|
4948 |
+
.removeClass('hover');
|
4949 |
+
} else {
|
4950 |
+
li.addClass('hover');
|
4951 |
+
|
4952 |
+
$(li).siblings().removeClass('hover');
|
4953 |
+
|
4954 |
+
if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) {
|
4955 |
+
e.preventDefault();
|
4956 |
+
}
|
4957 |
+
}
|
4958 |
+
})
|
4959 |
+
.on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) {
|
4960 |
+
if (self.breakpoint()) {
|
4961 |
+
|
4962 |
+
e.preventDefault();
|
4963 |
+
|
4964 |
+
var $this = S(this),
|
4965 |
+
topbar = $this.closest('[' + self.attr_name() + ']'),
|
4966 |
+
section = topbar.find('section, .top-bar-section'),
|
4967 |
+
dropdownHeight = $this.next('.dropdown').outerHeight(),
|
4968 |
+
$selectedLi = $this.closest('li');
|
4969 |
+
|
4970 |
+
topbar.data('index', topbar.data('index') + 1);
|
4971 |
+
$selectedLi.addClass('moved');
|
4972 |
+
|
4973 |
+
if (!self.rtl) {
|
4974 |
+
section.css({left : -(100 * topbar.data('index')) + '%'});
|
4975 |
+
section.find('>.name').css({left : 100 * topbar.data('index') + '%'});
|
4976 |
+
} else {
|
4977 |
+
section.css({right : -(100 * topbar.data('index')) + '%'});
|
4978 |
+
section.find('>.name').css({right : 100 * topbar.data('index') + '%'});
|
4979 |
+
}
|
4980 |
+
|
4981 |
+
topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height'));
|
4982 |
+
}
|
4983 |
+
});
|
4984 |
+
|
4985 |
+
S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () {
|
4986 |
+
self.resize.call(self);
|
4987 |
+
}, 50)).trigger('resize').trigger('resize.fndtn.topbar').load(function () {
|
4988 |
+
// Ensure that the offset is calculated after all of the pages resources have loaded
|
4989 |
+
S(this).trigger('resize.fndtn.topbar');
|
4990 |
+
});
|
4991 |
+
|
4992 |
+
S('body').off('.topbar').on('click.fndtn.topbar', function (e) {
|
4993 |
+
var parent = S(e.target).closest('li').closest('li.hover');
|
4994 |
+
|
4995 |
+
if (parent.length > 0) {
|
4996 |
+
return;
|
4997 |
+
}
|
4998 |
+
|
4999 |
+
S('[' + self.attr_name() + '] li.hover').removeClass('hover');
|
5000 |
+
});
|
5001 |
+
|
5002 |
+
// Go up a level on Click
|
5003 |
+
S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) {
|
5004 |
+
e.preventDefault();
|
5005 |
+
|
5006 |
+
var $this = S(this),
|
5007 |
+
topbar = $this.closest('[' + self.attr_name() + ']'),
|
5008 |
+
section = topbar.find('section, .top-bar-section'),
|
5009 |
+
settings = topbar.data(self.attr_name(true) + '-init'),
|
5010 |
+
$movedLi = $this.closest('li.moved'),
|
5011 |
+
$previousLevelUl = $movedLi.parent();
|
5012 |
+
|
5013 |
+
topbar.data('index', topbar.data('index') - 1);
|
5014 |
+
|
5015 |
+
if (!self.rtl) {
|
5016 |
+
section.css({left : -(100 * topbar.data('index')) + '%'});
|
5017 |
+
section.find('>.name').css({left : 100 * topbar.data('index') + '%'});
|
5018 |
+
} else {
|
5019 |
+
section.css({right : -(100 * topbar.data('index')) + '%'});
|
5020 |
+
section.find('>.name').css({right : 100 * topbar.data('index') + '%'});
|
5021 |
+
}
|
5022 |
+
|
5023 |
+
if (topbar.data('index') === 0) {
|
5024 |
+
topbar.css('height', '');
|
5025 |
+
} else {
|
5026 |
+
topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height'));
|
5027 |
+
}
|
5028 |
+
|
5029 |
+
setTimeout(function () {
|
5030 |
+
$movedLi.removeClass('moved');
|
5031 |
+
}, 300);
|
5032 |
+
});
|
5033 |
+
|
5034 |
+
// Show dropdown menus when their items are focused
|
5035 |
+
S(this.scope).find('.dropdown a')
|
5036 |
+
.focus(function () {
|
5037 |
+
$(this).parents('.has-dropdown').addClass('hover');
|
5038 |
+
})
|
5039 |
+
.blur(function () {
|
5040 |
+
$(this).parents('.has-dropdown').removeClass('hover');
|
5041 |
+
});
|
5042 |
+
},
|
5043 |
+
|
5044 |
+
resize : function () {
|
5045 |
+
var self = this;
|
5046 |
+
self.S('[' + this.attr_name() + ']').each(function () {
|
5047 |
+
var topbar = self.S(this),
|
5048 |
+
settings = topbar.data(self.attr_name(true) + '-init');
|
5049 |
+
|
5050 |
+
var stickyContainer = topbar.parent('.' + self.settings.sticky_class);
|
5051 |
+
var stickyOffset;
|
5052 |
+
|
5053 |
+
if (!self.breakpoint()) {
|
5054 |
+
var doToggle = topbar.hasClass('expanded');
|
5055 |
+
topbar
|
5056 |
+
.css('height', '')
|
5057 |
+
.removeClass('expanded')
|
5058 |
+
.find('li')
|
5059 |
+
.removeClass('hover');
|
5060 |
+
|
5061 |
+
if (doToggle) {
|
5062 |
+
self.toggle(topbar);
|
5063 |
+
}
|
5064 |
+
}
|
5065 |
+
|
5066 |
+
if (self.is_sticky(topbar, stickyContainer, settings)) {
|
5067 |
+
if (stickyContainer.hasClass('fixed')) {
|
5068 |
+
// Remove the fixed to allow for correct calculation of the offset.
|
5069 |
+
stickyContainer.removeClass('fixed');
|
5070 |
+
|
5071 |
+
stickyOffset = stickyContainer.offset().top;
|
5072 |
+
if (self.S(document.body).hasClass('f-topbar-fixed')) {
|
5073 |
+
stickyOffset -= topbar.data('height');
|
5074 |
+
}
|
5075 |
+
|
5076 |
+
topbar.data('stickyoffset', stickyOffset);
|
5077 |
+
stickyContainer.addClass('fixed');
|
5078 |
+
} else {
|
5079 |
+
stickyOffset = stickyContainer.offset().top;
|
5080 |
+
topbar.data('stickyoffset', stickyOffset);
|
5081 |
+
}
|
5082 |
+
}
|
5083 |
+
|
5084 |
+
});
|
5085 |
+
},
|
5086 |
+
|
5087 |
+
breakpoint : function () {
|
5088 |
+
return !matchMedia(Foundation.media_queries['topbar']).matches;
|
5089 |
+
},
|
5090 |
+
|
5091 |
+
small : function () {
|
5092 |
+
return matchMedia(Foundation.media_queries['small']).matches;
|
5093 |
+
},
|
5094 |
+
|
5095 |
+
medium : function () {
|
5096 |
+
return matchMedia(Foundation.media_queries['medium']).matches;
|
5097 |
+
},
|
5098 |
+
|
5099 |
+
large : function () {
|
5100 |
+
return matchMedia(Foundation.media_queries['large']).matches;
|
5101 |
+
},
|
5102 |
+
|
5103 |
+
assemble : function (topbar) {
|
5104 |
+
var self = this,
|
5105 |
+
settings = topbar.data(this.attr_name(true) + '-init'),
|
5106 |
+
section = self.S('section, .top-bar-section', topbar);
|
5107 |
+
|
5108 |
+
// Pull element out of the DOM for manipulation
|
5109 |
+
section.detach();
|
5110 |
+
|
5111 |
+
self.S('.has-dropdown>a', section).each(function () {
|
5112 |
+
var $link = self.S(this),
|
5113 |
+
$dropdown = $link.siblings('.dropdown'),
|
5114 |
+
url = $link.attr('href'),
|
5115 |
+
$titleLi;
|
5116 |
+
|
5117 |
+
if (!$dropdown.find('.title.back').length) {
|
5118 |
+
|
5119 |
+
if (settings.mobile_show_parent_link == true && url) {
|
5120 |
+
$titleLi = $('<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5></li><li class="parent-link hide-for-large-up"><a class="parent-link js-generated" href="' + url + '">' + $link.html() +'</a></li>');
|
5121 |
+
} else {
|
5122 |
+
$titleLi = $('<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5>');
|
5123 |
+
}
|
5124 |
+
|
5125 |
+
// Copy link to subnav
|
5126 |
+
if (settings.custom_back_text == true) {
|
5127 |
+
$('h5>a', $titleLi).html(settings.back_text);
|
5128 |
+
} else {
|
5129 |
+
$('h5>a', $titleLi).html('« ' + $link.html());
|
5130 |
+
}
|
5131 |
+
$dropdown.prepend($titleLi);
|
5132 |
+
}
|
5133 |
+
});
|
5134 |
+
|
5135 |
+
// Put element back in the DOM
|
5136 |
+
section.appendTo(topbar);
|
5137 |
+
|
5138 |
+
// check for sticky
|
5139 |
+
this.sticky();
|
5140 |
+
|
5141 |
+
this.assembled(topbar);
|
5142 |
+
},
|
5143 |
+
|
5144 |
+
assembled : function (topbar) {
|
5145 |
+
topbar.data(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true}));
|
5146 |
+
},
|
5147 |
+
|
5148 |
+
height : function (ul) {
|
5149 |
+
var total = 0,
|
5150 |
+
self = this;
|
5151 |
+
|
5152 |
+
$('> li', ul).each(function () {
|
5153 |
+
total += self.S(this).outerHeight(true);
|
5154 |
+
});
|
5155 |
+
|
5156 |
+
return total;
|
5157 |
+
},
|
5158 |
+
|
5159 |
+
sticky : function () {
|
5160 |
+
var self = this;
|
5161 |
+
|
5162 |
+
this.S(window).on('scroll', function () {
|
5163 |
+
self.update_sticky_positioning();
|
5164 |
+
});
|
5165 |
+
},
|
5166 |
+
|
5167 |
+
update_sticky_positioning : function () {
|
5168 |
+
var klass = '.' + this.settings.sticky_class,
|
5169 |
+
$window = this.S(window),
|
5170 |
+
self = this;
|
5171 |
+
|
5172 |
+
if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar, this.settings.sticky_topbar.parent(), this.settings)) {
|
5173 |
+
var distance = this.settings.sticky_topbar.data('stickyoffset');
|
5174 |
+
if (!self.S(klass).hasClass('expanded')) {
|
5175 |
+
if ($window.scrollTop() > (distance)) {
|
5176 |
+
if (!self.S(klass).hasClass('fixed')) {
|
5177 |
+
self.S(klass).addClass('fixed');
|
5178 |
+
self.S('body').addClass('f-topbar-fixed');
|
5179 |
+
}
|
5180 |
+
} else if ($window.scrollTop() <= distance) {
|
5181 |
+
if (self.S(klass).hasClass('fixed')) {
|
5182 |
+
self.S(klass).removeClass('fixed');
|
5183 |
+
self.S('body').removeClass('f-topbar-fixed');
|
5184 |
+
}
|
5185 |
+
}
|
5186 |
+
}
|
5187 |
+
}
|
5188 |
+
},
|
5189 |
+
|
5190 |
+
off : function () {
|
5191 |
+
this.S(this.scope).off('.fndtn.topbar');
|
5192 |
+
this.S(window).off('.fndtn.topbar');
|
5193 |
+
},
|
5194 |
+
|
5195 |
+
reflow : function () {}
|
5196 |
+
};
|
5197 |
+
}(jQuery, window, window.document));
|
5198 |
+
;(function ($, window, document, undefined) {
|
5199 |
+
'use strict';
|
5200 |
+
|
5201 |
+
Foundation.libs.tab = {
|
5202 |
+
name : 'tab',
|
5203 |
+
|
5204 |
+
version : '5.5.1',
|
5205 |
+
|
5206 |
+
settings : {
|
5207 |
+
active_class : 'active',
|
5208 |
+
callback : function () {},
|
5209 |
+
deep_linking : false,
|
5210 |
+
scroll_to_content : true,
|
5211 |
+
is_hover : false
|
5212 |
+
},
|
5213 |
+
|
5214 |
+
default_tab_hashes : [],
|
5215 |
+
|
5216 |
+
init : function (scope, method, options) {
|
5217 |
+
var self = this,
|
5218 |
+
S = this.S;
|
5219 |
+
|
5220 |
+
this.bindings(method, options);
|
5221 |
+
|
5222 |
+
// store the initial href, which is used to allow correct behaviour of the
|
5223 |
+
// browser back button when deep linking is turned on.
|
5224 |
+
self.entry_location = window.location.href;
|
5225 |
+
|
5226 |
+
this.handle_location_hash_change();
|
5227 |
+
|
5228 |
+
// Store the default active tabs which will be referenced when the
|
5229 |
+
// location hash is absent, as in the case of navigating the tabs and
|
5230 |
+
// returning to the first viewing via the browser Back button.
|
5231 |
+
S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () {
|
5232 |
+
self.default_tab_hashes.push(this.hash);
|
5233 |
+
});
|
5234 |
+
},
|
5235 |
+
|
5236 |
+
events : function () {
|
5237 |
+
var self = this,
|
5238 |
+
S = this.S;
|
5239 |
+
|
5240 |
+
var usual_tab_behavior = function (e) {
|
5241 |
+
var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init');
|
5242 |
+
if (!settings.is_hover || Modernizr.touch) {
|
5243 |
+
e.preventDefault();
|
5244 |
+
e.stopPropagation();
|
5245 |
+
self.toggle_active_tab(S(this).parent());
|
5246 |
+
}
|
5247 |
+
};
|
5248 |
+
|
5249 |
+
S(this.scope)
|
5250 |
+
.off('.tab')
|
5251 |
+
// Click event: tab title
|
5252 |
+
.on('focus.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior )
|
5253 |
+
.on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior )
|
5254 |
+
// Hover event: tab title
|
5255 |
+
.on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) {
|
5256 |
+
var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init');
|
5257 |
+
if (settings.is_hover) {
|
5258 |
+
self.toggle_active_tab(S(this).parent());
|
5259 |
+
}
|
5260 |
+
});
|
5261 |
+
|
5262 |
+
// Location hash change event
|
5263 |
+
S(window).on('hashchange.fndtn.tab', function (e) {
|
5264 |
+
e.preventDefault();
|
5265 |
+
self.handle_location_hash_change();
|
5266 |
+
});
|
5267 |
+
},
|
5268 |
+
|
5269 |
+
handle_location_hash_change : function () {
|
5270 |
+
|
5271 |
+
var self = this,
|
5272 |
+
S = this.S;
|
5273 |
+
|
5274 |
+
S('[' + this.attr_name() + ']', this.scope).each(function () {
|
5275 |
+
var settings = S(this).data(self.attr_name(true) + '-init');
|
5276 |
+
if (settings.deep_linking) {
|
5277 |
+
// Match the location hash to a label
|
5278 |
+
var hash;
|
5279 |
+
if (settings.scroll_to_content) {
|
5280 |
+
hash = self.scope.location.hash;
|
5281 |
+
} else {
|
5282 |
+
// prefix the hash to prevent anchor scrolling
|
5283 |
+
hash = self.scope.location.hash.replace('fndtn-', '');
|
5284 |
+
}
|
5285 |
+
if (hash != '') {
|
5286 |
+
// Check whether the location hash references a tab content div or
|
5287 |
+
// another element on the page (inside or outside the tab content div)
|
5288 |
+
var hash_element = S(hash);
|
5289 |
+
if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) {
|
5290 |
+
// Tab content div
|
5291 |
+
self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent());
|
5292 |
+
} else {
|
5293 |
+
// Not the tab content div. If inside the tab content, find the
|
5294 |
+
// containing tab and toggle it as active.
|
5295 |
+
var hash_tab_container_id = hash_element.closest('.content').attr('id');
|
5296 |
+
if (hash_tab_container_id != undefined) {
|
5297 |
+
self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash);
|
5298 |
+
}
|
5299 |
+
}
|
5300 |
+
} else {
|
5301 |
+
// Reference the default tab hashes which were initialized in the init function
|
5302 |
+
for (var ind = 0; ind < self.default_tab_hashes.length; ind++) {
|
5303 |
+
self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent());
|
5304 |
+
}
|
5305 |
+
}
|
5306 |
+
}
|
5307 |
+
});
|
5308 |
+
},
|
5309 |
+
|
5310 |
+
toggle_active_tab : function (tab, location_hash) {
|
5311 |
+
var self = this,
|
5312 |
+
S = self.S,
|
5313 |
+
tabs = tab.closest('[' + this.attr_name() + ']'),
|
5314 |
+
tab_link = tab.find('a'),
|
5315 |
+
anchor = tab.children('a').first(),
|
5316 |
+
target_hash = '#' + anchor.attr('href').split('#')[1],
|
5317 |
+
target = S(target_hash),
|
5318 |
+
siblings = tab.siblings(),
|
5319 |
+
settings = tabs.data(this.attr_name(true) + '-init'),
|
5320 |
+
interpret_keyup_action = function (e) {
|
5321 |
+
// Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js
|
5322 |
+
|
5323 |
+
// define current, previous and next (possible) tabs
|
5324 |
+
|
5325 |
+
var $original = $(this);
|
5326 |
+
var $prev = $(this).parents('li').prev().children('[role="tab"]');
|
5327 |
+
var $next = $(this).parents('li').next().children('[role="tab"]');
|
5328 |
+
var $target;
|
5329 |
+
|
5330 |
+
// find the direction (prev or next)
|
5331 |
+
|
5332 |
+
switch (e.keyCode) {
|
5333 |
+
case 37:
|
5334 |
+
$target = $prev;
|
5335 |
+
break;
|
5336 |
+
case 39:
|
5337 |
+
$target = $next;
|
5338 |
+
break;
|
5339 |
+
default:
|
5340 |
+
$target = false
|
5341 |
+
break;
|
5342 |
+
}
|
5343 |
+
|
5344 |
+
if ($target.length) {
|
5345 |
+
$original.attr({
|
5346 |
+
'tabindex' : '-1',
|
5347 |
+
'aria-selected' : null
|
5348 |
+
});
|
5349 |
+
$target.attr({
|
5350 |
+
'tabindex' : '0',
|
5351 |
+
'aria-selected' : true
|
5352 |
+
}).focus();
|
5353 |
+
}
|
5354 |
+
|
5355 |
+
// Hide panels
|
5356 |
+
|
5357 |
+
$('[role="tabpanel"]')
|
5358 |
+
.attr('aria-hidden', 'true');
|
5359 |
+
|
5360 |
+
// Show panel which corresponds to target
|
5361 |
+
|
5362 |
+
$('#' + $(document.activeElement).attr('href').substring(1))
|
5363 |
+
.attr('aria-hidden', null);
|
5364 |
+
|
5365 |
+
},
|
5366 |
+
go_to_hash = function(hash) {
|
5367 |
+
// This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it
|
5368 |
+
// the user would get continually redirected to the default hash.
|
5369 |
+
var is_entry_location = window.location.href === self.entry_location,
|
5370 |
+
default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : is_entry_location ? window.location.hash :'fndtn-' + self.default_tab_hashes[0].replace('#', '')
|
5371 |
+
|
5372 |
+
if (!(is_entry_location && hash === default_hash)) {
|
5373 |
+
window.location.hash = hash;
|
5374 |
+
}
|
5375 |
+
};
|
5376 |
+
|
5377 |
+
// allow usage of data-tab-content attribute instead of href
|
5378 |
+
if (S(this).data(this.data_attr('tab-content'))) {
|
5379 |
+
target_hash = '#' + S(this).data(this.data_attr('tab-content')).split('#')[1];
|
5380 |
+
target = S(target_hash);
|
5381 |
+
}
|
5382 |
+
|
5383 |
+
if (settings.deep_linking) {
|
5384 |
+
|
5385 |
+
if (settings.scroll_to_content) {
|
5386 |
+
|
5387 |
+
// retain current hash to scroll to content
|
5388 |
+
go_to_hash(location_hash || target_hash);
|
5389 |
+
|
5390 |
+
if (location_hash == undefined || location_hash == target_hash) {
|
5391 |
+
tab.parent()[0].scrollIntoView();
|
5392 |
+
} else {
|
5393 |
+
S(target_hash)[0].scrollIntoView();
|
5394 |
+
}
|
5395 |
+
} else {
|
5396 |
+
// prefix the hashes so that the browser doesn't scroll down
|
5397 |
+
if (location_hash != undefined) {
|
5398 |
+
go_to_hash('fndtn-' + location_hash.replace('#', ''));
|
5399 |
+
} else {
|
5400 |
+
go_to_hash('fndtn-' + target_hash.replace('#', ''));
|
5401 |
+
}
|
5402 |
+
}
|
5403 |
+
}
|
5404 |
+
|
5405 |
+
// WARNING: The activation and deactivation of the tab content must
|
5406 |
+
// occur after the deep linking in order to properly refresh the browser
|
5407 |
+
// window (notably in Chrome).
|
5408 |
+
// Clean up multiple attr instances to done once
|
5409 |
+
tab.addClass(settings.active_class).triggerHandler('opened');
|
5410 |
+
tab_link.attr({'aria-selected' : 'true', tabindex : 0});
|
5411 |
+
siblings.removeClass(settings.active_class)
|
5412 |
+
siblings.find('a').attr({'aria-selected' : 'false', tabindex : -1});
|
5413 |
+
target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true', tabindex : -1});
|
5414 |
+
target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex');
|
5415 |
+
settings.callback(tab);
|
5416 |
+
target.triggerHandler('toggled', [tab]);
|
5417 |
+
tabs.triggerHandler('toggled', [target]);
|
5418 |
+
|
5419 |
+
tab_link.off('keydown').on('keydown', interpret_keyup_action );
|
5420 |
+
},
|
5421 |
+
|
5422 |
+
data_attr : function (str) {
|
5423 |
+
if (this.namespace.length > 0) {
|
5424 |
+
return this.namespace + '-' + str;
|
5425 |
+
}
|
5426 |
+
|
5427 |
+
return str;
|
5428 |
+
},
|
5429 |
+
|
5430 |
+
off : function () {},
|
5431 |
+
|
5432 |
+
reflow : function () {}
|
5433 |
+
};
|
5434 |
+
}(jQuery, window, window.document));
|
5435 |
+
;(function ($, window, document, undefined) {
|
5436 |
+
'use strict';
|
5437 |
+
|
5438 |
+
Foundation.libs.abide = {
|
5439 |
+
name : 'abide',
|
5440 |
+
|
5441 |
+
version : '5.5.1',
|
5442 |
+
|
5443 |
+
settings : {
|
5444 |
+
live_validate : true,
|
5445 |
+
validate_on_blur : true,
|
5446 |
+
focus_on_invalid : true,
|
5447 |
+
error_labels : true, // labels with a for="inputId" will recieve an `error` class
|
5448 |
+
error_class : 'error',
|
5449 |
+
timeout : 1000,
|
5450 |
+
patterns : {
|
5451 |
+
alpha : /^[a-zA-Z]+$/,
|
5452 |
+
alpha_numeric : /^[a-zA-Z0-9]+$/,
|
5453 |
+
integer : /^[-+]?\d+$/,
|
5454 |
+
number : /^[-+]?\d*(?:[\.\,]\d+)?$/,
|
5455 |
+
|
5456 |
+
// amex, visa, diners
|
5457 |
+
card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
|
5458 |
+
cvv : /^([0-9]){3,4}$/,
|
5459 |
+
|
5460 |
+
// http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
|
5461 |
+
email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,
|
5462 |
+
|
5463 |
+
url : /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
|
5464 |
+
// abc.de
|
5465 |
+
domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
|
5466 |
+
|
5467 |
+
datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
|
5468 |
+
// YYYY-MM-DD
|
5469 |
+
date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
|
5470 |
+
// HH:MM:SS
|
5471 |
+
time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
|
5472 |
+
dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
|
5473 |
+
// MM/DD/YYYY
|
5474 |
+
month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
|
5475 |
+
// DD/MM/YYYY
|
5476 |
+
day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
|
5477 |
+
|
5478 |
+
// #FFF or #FFFFFF
|
5479 |
+
color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
|
5480 |
+
},
|
5481 |
+
validators : {
|
5482 |
+
equalTo : function (el, required, parent) {
|
5483 |
+
var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value,
|
5484 |
+
to = el.value,
|
5485 |
+
valid = (from === to);
|
5486 |
+
|
5487 |
+
return valid;
|
5488 |
+
}
|
5489 |
+
}
|
5490 |
+
},
|
5491 |
+
|
5492 |
+
timer : null,
|
5493 |
+
|
5494 |
+
init : function (scope, method, options) {
|
5495 |
+
this.bindings(method, options);
|
5496 |
+
},
|
5497 |
+
|
5498 |
+
events : function (scope) {
|
5499 |
+
var self = this,
|
5500 |
+
form = self.S(scope).attr('novalidate', 'novalidate'),
|
5501 |
+
settings = form.data(this.attr_name(true) + '-init') || {};
|
5502 |
+
|
5503 |
+
this.invalid_attr = this.add_namespace('data-invalid');
|
5504 |
+
|
5505 |
+
form
|
5506 |
+
.off('.abide')
|
5507 |
+
.on('submit.fndtn.abide validate.fndtn.abide', function (e) {
|
5508 |
+
var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name()));
|
5509 |
+
return self.validate(self.S(this).find('input, textarea, select').get(), e, is_ajax);
|
5510 |
+
})
|
5511 |
+
.on('reset', function () {
|
5512 |
+
return self.reset($(this));
|
5513 |
+
})
|
5514 |
+
.find('input, textarea, select')
|
5515 |
+
.off('.abide')
|
5516 |
+
.on('blur.fndtn.abide change.fndtn.abide', function (e) {
|
5517 |
+
if (settings.validate_on_blur === true) {
|
5518 |
+
self.validate([this], e);
|
5519 |
+
}
|
5520 |
+
})
|
5521 |
+
.on('keydown.fndtn.abide', function (e) {
|
5522 |
+
if (settings.live_validate === true && e.which != 9) {
|
5523 |
+
clearTimeout(self.timer);
|
5524 |
+
self.timer = setTimeout(function () {
|
5525 |
+
self.validate([this], e);
|
5526 |
+
}.bind(this), settings.timeout);
|
5527 |
+
}
|
5528 |
+
});
|
5529 |
+
},
|
5530 |
+
|
5531 |
+
reset : function (form) {
|
5532 |
+
form.removeAttr(this.invalid_attr);
|
5533 |
+
$(this.invalid_attr, form).removeAttr(this.invalid_attr);
|
5534 |
+
$('.' + this.settings.error_class, form).not('small').removeClass(this.settings.error_class);
|
5535 |
+
},
|
5536 |
+
|
5537 |
+
validate : function (els, e, is_ajax) {
|
5538 |
+
var validations = this.parse_patterns(els),
|
5539 |
+
validation_count = validations.length,
|
5540 |
+
form = this.S(els[0]).closest('form'),
|
5541 |
+
submit_event = /submit/.test(e.type);
|
5542 |
+
|
5543 |
+
// Has to count up to make sure the focus gets applied to the top error
|
5544 |
+
for (var i = 0; i < validation_count; i++) {
|
5545 |
+
if (!validations[i] && (submit_event || is_ajax)) {
|
5546 |
+
if (this.settings.focus_on_invalid) {
|
5547 |
+
els[i].focus();
|
5548 |
+
}
|
5549 |
+
form.trigger('invalid').trigger('invalid.fndtn.abide');
|
5550 |
+
this.S(els[i]).closest('form').attr(this.invalid_attr, '');
|
5551 |
+
return false;
|
5552 |
+
}
|
5553 |
+
}
|
5554 |
+
|
5555 |
+
if (submit_event || is_ajax) {
|
5556 |
+
form.trigger('valid').trigger('valid.fndtn.abide');
|
5557 |
+
}
|
5558 |
+
|
5559 |
+
form.removeAttr(this.invalid_attr);
|
5560 |
+
|
5561 |
+
if (is_ajax) {
|
5562 |
+
return false;
|
5563 |
+
}
|
5564 |
+
|
5565 |
+
return true;
|
5566 |
+
},
|
5567 |
+
|
5568 |
+
parse_patterns : function (els) {
|
5569 |
+
var i = els.length,
|
5570 |
+
el_patterns = [];
|
5571 |
+
|
5572 |
+
while (i--) {
|
5573 |
+
el_patterns.push(this.pattern(els[i]));
|
5574 |
+
}
|
5575 |
+
|
5576 |
+
return this.check_validation_and_apply_styles(el_patterns);
|
5577 |
+
},
|
5578 |
+
|
5579 |
+
pattern : function (el) {
|
5580 |
+
var type = el.getAttribute('type'),
|
5581 |
+
required = typeof el.getAttribute('required') === 'string';
|
5582 |
+
|
5583 |
+
var pattern = el.getAttribute('pattern') || '';
|
5584 |
+
|
5585 |
+
if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) {
|
5586 |
+
return [el, this.settings.patterns[pattern], required];
|
5587 |
+
} else if (pattern.length > 0) {
|
5588 |
+
return [el, new RegExp(pattern), required];
|
5589 |
+
}
|
5590 |
+
|
5591 |
+
if (this.settings.patterns.hasOwnProperty(type)) {
|
5592 |
+
return [el, this.settings.patterns[type], required];
|
5593 |
+
}
|
5594 |
+
|
5595 |
+
pattern = /.*/;
|
5596 |
+
|
5597 |
+
return [el, pattern, required];
|
5598 |
+
},
|
5599 |
+
|
5600 |
+
// TODO: Break this up into smaller methods, getting hard to read.
|
5601 |
+
check_validation_and_apply_styles : function (el_patterns) {
|
5602 |
+
var i = el_patterns.length,
|
5603 |
+
validations = [],
|
5604 |
+
form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'),
|
5605 |
+
settings = form.data(this.attr_name(true) + '-init') || {};
|
5606 |
+
while (i--) {
|
5607 |
+
var el = el_patterns[i][0],
|
5608 |
+
required = el_patterns[i][2],
|
5609 |
+
value = el.value.trim(),
|
5610 |
+
direct_parent = this.S(el).parent(),
|
5611 |
+
validator = el.getAttribute(this.add_namespace('data-abide-validator')),
|
5612 |
+
is_radio = el.type === 'radio',
|
5613 |
+
is_checkbox = el.type === 'checkbox',
|
5614 |
+
label = this.S('label[for="' + el.getAttribute('id') + '"]'),
|
5615 |
+
valid_length = (required) ? (el.value.length > 0) : true,
|
5616 |
+
el_validations = [];
|
5617 |
+
|
5618 |
+
var parent, valid;
|
5619 |
+
|
5620 |
+
// support old way to do equalTo validations
|
5621 |
+
if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' }
|
5622 |
+
|
5623 |
+
if (!direct_parent.is('label')) {
|
5624 |
+
parent = direct_parent;
|
5625 |
+
} else {
|
5626 |
+
parent = direct_parent.parent();
|
5627 |
+
}
|
5628 |
+
|
5629 |
+
if (validator) {
|
5630 |
+
valid = this.settings.validators[validator].apply(this, [el, required, parent]);
|
5631 |
+
el_validations.push(valid);
|
5632 |
+
}
|
5633 |
+
|
5634 |
+
if (is_radio && required) {
|
5635 |
+
el_validations.push(this.valid_radio(el, required));
|
5636 |
+
} else if (is_checkbox && required) {
|
5637 |
+
el_validations.push(this.valid_checkbox(el, required));
|
5638 |
+
} else {
|
5639 |
+
|
5640 |
+
if (el_patterns[i][1].test(value) && valid_length ||
|
5641 |
+
!required && el.value.length < 1 || $(el).attr('disabled')) {
|
5642 |
+
el_validations.push(true);
|
5643 |
+
} else {
|
5644 |
+
el_validations.push(false);
|
5645 |
+
}
|
5646 |
+
|
5647 |
+
el_validations = [el_validations.every(function (valid) {return valid;})];
|
5648 |
+
|
5649 |
+
if (el_validations[0]) {
|
5650 |
+
this.S(el).removeAttr(this.invalid_attr);
|
5651 |
+
el.setAttribute('aria-invalid', 'false');
|
5652 |
+
el.removeAttribute('aria-describedby');
|
5653 |
+
parent.removeClass(this.settings.error_class);
|
5654 |
+
if (label.length > 0 && this.settings.error_labels) {
|
5655 |
+
label.removeClass(this.settings.error_class).removeAttr('role');
|
5656 |
+
}
|
5657 |
+
$(el).triggerHandler('valid');
|
5658 |
+
} else {
|
5659 |
+
this.S(el).attr(this.invalid_attr, '');
|
5660 |
+
el.setAttribute('aria-invalid', 'true');
|
5661 |
+
|
5662 |
+
// Try to find the error associated with the input
|
5663 |
+
var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class);
|
5664 |
+
var errorID = errorElem.length > 0 ? errorElem[0].id : '';
|
5665 |
+
if (errorID.length > 0) {
|
5666 |
+
el.setAttribute('aria-describedby', errorID);
|
5667 |
+
}
|
5668 |
+
|
5669 |
+
// el.setAttribute('aria-describedby', $(el).find('.error')[0].id);
|
5670 |
+
parent.addClass(this.settings.error_class);
|
5671 |
+
if (label.length > 0 && this.settings.error_labels) {
|
5672 |
+
label.addClass(this.settings.error_class).attr('role', 'alert');
|
5673 |
+
}
|
5674 |
+
$(el).triggerHandler('invalid');
|
5675 |
+
}
|
5676 |
+
}
|
5677 |
+
validations.push(el_validations[0]);
|
5678 |
+
}
|
5679 |
+
validations = [validations.every(function (valid) {return valid;})];
|
5680 |
+
return validations;
|
5681 |
+
},
|
5682 |
+
|
5683 |
+
valid_checkbox : function (el, required) {
|
5684 |
+
var el = this.S(el),
|
5685 |
+
valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled'));
|
5686 |
+
|
5687 |
+
if (valid) {
|
5688 |
+
el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class);
|
5689 |
+
} else {
|
5690 |
+
el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class);
|
5691 |
+
}
|
5692 |
+
|
5693 |
+
return valid;
|
5694 |
+
},
|
5695 |
+
|
5696 |
+
valid_radio : function (el, required) {
|
5697 |
+
var name = el.getAttribute('name'),
|
5698 |
+
group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"),
|
5699 |
+
count = group.length,
|
5700 |
+
valid = false,
|
5701 |
+
disabled = false;
|
5702 |
+
|
5703 |
+
// Has to count up to make sure the focus gets applied to the top error
|
5704 |
+
for (var i=0; i < count; i++) {
|
5705 |
+
if( group[i].getAttribute('disabled') ){
|
5706 |
+
disabled=true;
|
5707 |
+
valid=true;
|
5708 |
+
} else {
|
5709 |
+
if (group[i].checked){
|
5710 |
+
valid = true;
|
5711 |
+
} else {
|
5712 |
+
if( disabled ){
|
5713 |
+
valid = false;
|
5714 |
+
}
|
5715 |
+
}
|
5716 |
+
}
|
5717 |
+
}
|
5718 |
+
|
5719 |
+
// Has to count up to make sure the focus gets applied to the top error
|
5720 |
+
for (var i = 0; i < count; i++) {
|
5721 |
+
if (valid) {
|
5722 |
+
this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class);
|
5723 |
+
} else {
|
5724 |
+
this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class);
|
5725 |
+
}
|
5726 |
+
}
|
5727 |
+
|
5728 |
+
return valid;
|
5729 |
+
},
|
5730 |
+
|
5731 |
+
valid_equal : function (el, required, parent) {
|
5732 |
+
var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value,
|
5733 |
+
to = el.value,
|
5734 |
+
valid = (from === to);
|
5735 |
+
|
5736 |
+
if (valid) {
|
5737 |
+
this.S(el).removeAttr(this.invalid_attr);
|
5738 |
+
parent.removeClass(this.settings.error_class);
|
5739 |
+
if (label.length > 0 && settings.error_labels) {
|
5740 |
+
label.removeClass(this.settings.error_class);
|
5741 |
+
}
|
5742 |
+
} else {
|
5743 |
+
this.S(el).attr(this.invalid_attr, '');
|
5744 |
+
parent.addClass(this.settings.error_class);
|
5745 |
+
if (label.length > 0 && settings.error_labels) {
|
5746 |
+
label.addClass(this.settings.error_class);
|
5747 |
+
}
|
5748 |
+
}
|
5749 |
+
|
5750 |
+
return valid;
|
5751 |
+
},
|
5752 |
+
|
5753 |
+
valid_oneof : function (el, required, parent, doNotValidateOthers) {
|
5754 |
+
var el = this.S(el),
|
5755 |
+
others = this.S('[' + this.add_namespace('data-oneof') + ']'),
|
5756 |
+
valid = others.filter(':checked').length > 0;
|
5757 |
+
|
5758 |
+
if (valid) {
|
5759 |
+
el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class);
|
5760 |
+
} else {
|
5761 |
+
el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class);
|
5762 |
+
}
|
5763 |
+
|
5764 |
+
if (!doNotValidateOthers) {
|
5765 |
+
var _this = this;
|
5766 |
+
others.each(function () {
|
5767 |
+
_this.valid_oneof.call(_this, this, null, null, true);
|
5768 |
+
});
|
5769 |
+
}
|
5770 |
+
|
5771 |
+
return valid;
|
5772 |
+
}
|
5773 |
+
};
|
5774 |
+
}(jQuery, window, window.document));
|
5775 |
+
;(function ($, window, document, undefined) {
|
5776 |
+
'use strict';
|
5777 |
+
|
5778 |
+
Foundation.libs.tooltip = {
|
5779 |
+
name : 'tooltip',
|
5780 |
+
|
5781 |
+
version : '5.5.1',
|
5782 |
+
|
5783 |
+
settings : {
|
5784 |
+
additional_inheritable_classes : [],
|
5785 |
+
tooltip_class : '.tooltip',
|
5786 |
+
append_to : 'body',
|
5787 |
+
touch_close_text : 'Tap To Close',
|
5788 |
+
disable_for_touch : false,
|
5789 |
+
hover_delay : 200,
|
5790 |
+
show_on : 'all',
|
5791 |
+
tip_template : function (selector, content) {
|
5792 |
+
return '<span data-selector="' + selector + '" id="' + selector + '" class="'
|
5793 |
+
+ Foundation.libs.tooltip.settings.tooltip_class.substring(1)
|
5794 |
+
+ '" role="tooltip">' + content + '<span class="nub"></span></span>';
|
5795 |
+
}
|
5796 |
+
},
|
5797 |
+
|
5798 |
+
cache : {},
|
5799 |
+
|
5800 |
+
init : function (scope, method, options) {
|
5801 |
+
Foundation.inherit(this, 'random_str');
|
5802 |
+
this.bindings(method, options);
|
5803 |
+
},
|
5804 |
+
|
5805 |
+
should_show : function (target, tip) {
|
5806 |
+
var settings = $.extend({}, this.settings, this.data_options(target));
|
5807 |
+
|
5808 |
+
if (settings.show_on === 'all') {
|
5809 |
+
return true;
|
5810 |
+
} else if (this.small() && settings.show_on === 'small') {
|
5811 |
+
return true;
|
5812 |
+
} else if (this.medium() && settings.show_on === 'medium') {
|
5813 |
+
return true;
|
5814 |
+
} else if (this.large() && settings.show_on === 'large') {
|
5815 |
+
return true;
|
5816 |
+
}
|
5817 |
+
return false;
|
5818 |
+
},
|
5819 |
+
|
5820 |
+
medium : function () {
|
5821 |
+
return matchMedia(Foundation.media_queries['medium']).matches;
|
5822 |
+
},
|
5823 |
+
|
5824 |
+
large : function () {
|
5825 |
+
return matchMedia(Foundation.media_queries['large']).matches;
|
5826 |
+
},
|
5827 |
+
|
5828 |
+
events : function (instance) {
|
5829 |
+
var self = this,
|
5830 |
+
S = self.S;
|
5831 |
+
|
5832 |
+
self.create(this.S(instance));
|
5833 |
+
|
5834 |
+
$(this.scope)
|
5835 |
+
.off('.tooltip')
|
5836 |
+
.on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip',
|
5837 |
+
'[' + this.attr_name() + ']', function (e) {
|
5838 |
+
var $this = S(this),
|
5839 |
+
settings = $.extend({}, self.settings, self.data_options($this)),
|
5840 |
+
is_touch = false;
|
5841 |
+
|
5842 |
+
if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) {
|
5843 |
+
return false;
|
5844 |
+
}
|
5845 |
+
|
5846 |
+
if (/mouse/i.test(e.type) && self.ie_touch(e)) {
|
5847 |
+
return false;
|
5848 |
+
}
|
5849 |
+
|
5850 |
+
if ($this.hasClass('open')) {
|
5851 |
+
if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) {
|
5852 |
+
e.preventDefault();
|
5853 |
+
}
|
5854 |
+
self.hide($this);
|
5855 |
+
} else {
|
5856 |
+
if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) {
|
5857 |
+
return;
|
5858 |
+
} else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) {
|
5859 |
+
e.preventDefault();
|
5860 |
+
S(settings.tooltip_class + '.open').hide();
|
5861 |
+
is_touch = true;
|
5862 |
+
}
|
5863 |
+
|
5864 |
+
if (/enter|over/i.test(e.type)) {
|
5865 |
+
this.timer = setTimeout(function () {
|
5866 |
+
var tip = self.showTip($this);
|
5867 |
+
}.bind(this), self.settings.hover_delay);
|
5868 |
+
} else if (e.type === 'mouseout' || e.type === 'mouseleave') {
|
5869 |
+
clearTimeout(this.timer);
|
5870 |
+
self.hide($this);
|
5871 |
+
} else {
|
5872 |
+
self.showTip($this);
|
5873 |
+
}
|
5874 |
+
}
|
5875 |
+
})
|
5876 |
+
.on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) {
|
5877 |
+
if (/mouse/i.test(e.type) && self.ie_touch(e)) {
|
5878 |
+
return false;
|
5879 |
+
}
|
5880 |
+
|
5881 |
+
if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') {
|
5882 |
+
return;
|
5883 |
+
} else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) {
|
5884 |
+
self.convert_to_touch($(this));
|
5885 |
+
} else {
|
5886 |
+
self.hide($(this));
|
5887 |
+
}
|
5888 |
+
})
|
5889 |
+
.on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) {
|
5890 |
+
self.hide(S(this));
|
5891 |
+
});
|
5892 |
+
},
|
5893 |
+
|
5894 |
+
ie_touch : function (e) {
|
5895 |
+
// How do I distinguish between IE11 and Windows Phone 8?????
|
5896 |
+
return false;
|
5897 |
+
},
|
5898 |
+
|
5899 |
+
showTip : function ($target) {
|
5900 |
+
var $tip = this.getTip($target);
|
5901 |
+
if (this.should_show($target, $tip)) {
|
5902 |
+
return this.show($target);
|
5903 |
+
}
|
5904 |
+
return;
|
5905 |
+
},
|
5906 |
+
|
5907 |
+
getTip : function ($target) {
|
5908 |
+
var selector = this.selector($target),
|
5909 |
+
settings = $.extend({}, this.settings, this.data_options($target)),
|
5910 |
+
tip = null;
|
5911 |
+
|
5912 |
+
if (selector) {
|
5913 |
+
tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class);
|
5914 |
+
}
|
5915 |
+
|
5916 |
+
return (typeof tip === 'object') ? tip : false;
|
5917 |
+
},
|
5918 |
+
|
5919 |
+
selector : function ($target) {
|
5920 |
+
var id = $target.attr('id'),
|
5921 |
+
dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector');
|
5922 |
+
|
5923 |
+
if ((id && id.length < 1 || !id) && typeof dataSelector != 'string') {
|
5924 |
+
dataSelector = this.random_str(6);
|
5925 |
+
$target
|
5926 |
+
.attr('data-selector', dataSelector)
|
5927 |
+
.attr('aria-describedby', dataSelector);
|
5928 |
+
}
|
5929 |
+
|
5930 |
+
return (id && id.length > 0) ? id : dataSelector;
|
5931 |
+
},
|
5932 |
+
|
5933 |
+
create : function ($target) {
|
5934 |
+
var self = this,
|
5935 |
+
settings = $.extend({}, this.settings, this.data_options($target)),
|
5936 |
+
tip_template = this.settings.tip_template;
|
5937 |
+
|
5938 |
+
if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) {
|
5939 |
+
tip_template = window[settings.tip_template];
|
5940 |
+
}
|
5941 |
+
|
5942 |
+
var $tip = $(tip_template(this.selector($target), $('<div></div>').html($target.attr('title')).html())),
|
5943 |
+
classes = this.inheritable_classes($target);
|
5944 |
+
|
5945 |
+
$tip.addClass(classes).appendTo(settings.append_to);
|
5946 |
+
|
5947 |
+
if (Modernizr.touch) {
|
5948 |
+
$tip.append('<span class="tap-to-close">' + settings.touch_close_text + '</span>');
|
5949 |
+
$tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) {
|
5950 |
+
self.hide($target);
|
5951 |
+
});
|
5952 |
+
}
|
5953 |
+
|
5954 |
+
$target.removeAttr('title').attr('title', '');
|
5955 |
+
},
|
5956 |
+
|
5957 |
+
reposition : function (target, tip, classes) {
|
5958 |
+
var width, nub, nubHeight, nubWidth, column, objPos;
|
5959 |
+
|
5960 |
+
tip.css('visibility', 'hidden').show();
|
5961 |
+
|
5962 |
+
width = target.data('width');
|
5963 |
+
nub = tip.children('.nub');
|
5964 |
+
nubHeight = nub.outerHeight();
|
5965 |
+
nubWidth = nub.outerHeight();
|
5966 |
+
|
5967 |
+
if (this.small()) {
|
5968 |
+
tip.css({'width' : '100%'});
|
5969 |
+
} else {
|
5970 |
+
tip.css({'width' : (width) ? width : 'auto'});
|
5971 |
+
}
|
5972 |
+
|
5973 |
+
objPos = function (obj, top, right, bottom, left, width) {
|
5974 |
+
return obj.css({
|
5975 |
+
'top' : (top) ? top : 'auto',
|
5976 |
+
'bottom' : (bottom) ? bottom : 'auto',
|
5977 |
+
'left' : (left) ? left : 'auto',
|
5978 |
+
'right' : (right) ? right : 'auto'
|
5979 |
+
}).end();
|
5980 |
+
};
|
5981 |
+
|
5982 |
+
objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', target.offset().left);
|
5983 |
+
|
5984 |
+
if (this.small()) {
|
5985 |
+
objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', 12.5, $(this.scope).width());
|
5986 |
+
tip.addClass('tip-override');
|
5987 |
+
objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left);
|
5988 |
+
} else {
|
5989 |
+
var left = target.offset().left;
|
5990 |
+
if (Foundation.rtl) {
|
5991 |
+
nub.addClass('rtl');
|
5992 |
+
left = target.offset().left + target.outerWidth() - tip.outerWidth();
|
5993 |
+
}
|
5994 |
+
objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left);
|
5995 |
+
tip.removeClass('tip-override');
|
5996 |
+
if (classes && classes.indexOf('tip-top') > -1) {
|
5997 |
+
if (Foundation.rtl) {
|
5998 |
+
nub.addClass('rtl');
|
5999 |
+
}
|
6000 |
+
objPos(tip, (target.offset().top - tip.outerHeight()), 'auto', 'auto', left)
|
6001 |
+
.removeClass('tip-override');
|
6002 |
+
} else if (classes && classes.indexOf('tip-left') > -1) {
|
6003 |
+
objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left - tip.outerWidth() - nubHeight))
|
6004 |
+
.removeClass('tip-override');
|
6005 |
+
nub.removeClass('rtl');
|
6006 |
+
} else if (classes && classes.indexOf('tip-right') > -1) {
|
6007 |
+
objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left + target.outerWidth() + nubHeight))
|
6008 |
+
.removeClass('tip-override');
|
6009 |
+
nub.removeClass('rtl');
|
6010 |
+
}
|
6011 |
+
}
|
6012 |
+
|
6013 |
+
tip.css('visibility', 'visible').hide();
|
6014 |
+
},
|
6015 |
+
|
6016 |
+
small : function () {
|
6017 |
+
return matchMedia(Foundation.media_queries.small).matches &&
|
6018 |
+
!matchMedia(Foundation.media_queries.medium).matches;
|
6019 |
+
},
|
6020 |
+
|
6021 |
+
inheritable_classes : function ($target) {
|
6022 |
+
var settings = $.extend({}, this.settings, this.data_options($target)),
|
6023 |
+
inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes),
|
6024 |
+
classes = $target.attr('class'),
|
6025 |
+
filtered = classes ? $.map(classes.split(' '), function (el, i) {
|
6026 |
+
if ($.inArray(el, inheritables) !== -1) {
|
6027 |
+
return el;
|
6028 |
+
}
|
6029 |
+
}).join(' ') : '';
|
6030 |
+
|
6031 |
+
return $.trim(filtered);
|
6032 |
+
},
|
6033 |
+
|
6034 |
+
convert_to_touch : function ($target) {
|
6035 |
+
var self = this,
|
6036 |
+
$tip = self.getTip($target),
|
6037 |
+
settings = $.extend({}, self.settings, self.data_options($target));
|
6038 |
+
|
6039 |
+
if ($tip.find('.tap-to-close').length === 0) {
|
6040 |
+
$tip.append('<span class="tap-to-close">' + settings.touch_close_text + '</span>');
|
6041 |
+
$tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) {
|
6042 |
+
self.hide($target);
|
6043 |
+
});
|
6044 |
+
}
|
6045 |
+
|
6046 |
+
$target.data('tooltip-open-event-type', 'touch');
|
6047 |
+
},
|
6048 |
+
|
6049 |
+
show : function ($target) {
|
6050 |
+
var $tip = this.getTip($target);
|
6051 |
+
|
6052 |
+
if ($target.data('tooltip-open-event-type') == 'touch') {
|
6053 |
+
this.convert_to_touch($target);
|
6054 |
+
}
|
6055 |
+
|
6056 |
+
this.reposition($target, $tip, $target.attr('class'));
|
6057 |
+
$target.addClass('open');
|
6058 |
+
$tip.fadeIn(150);
|
6059 |
+
},
|
6060 |
+
|
6061 |
+
hide : function ($target) {
|
6062 |
+
var $tip = this.getTip($target);
|
6063 |
+
|
6064 |
+
$tip.fadeOut(150, function () {
|
6065 |
+
$tip.find('.tap-to-close').remove();
|
6066 |
+
$tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose');
|
6067 |
+
$target.removeClass('open');
|
6068 |
+
});
|
6069 |
+
},
|
6070 |
+
|
6071 |
+
off : function () {
|
6072 |
+
var self = this;
|
6073 |
+
this.S(this.scope).off('.fndtn.tooltip');
|
6074 |
+
this.S(this.settings.tooltip_class).each(function (i) {
|
6075 |
+
$('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text());
|
6076 |
+
}).remove();
|
6077 |
+
},
|
6078 |
+
|
6079 |
+
reflow : function () {}
|
6080 |
+
};
|
6081 |
+
}(jQuery, window, window.document));
|
skin/frontend/foungento/default/js/jquery.1.8.3.min.js
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
/*! jQuery v1.8.3 jquery.com | jquery.org/license */
|
2 |
+
(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);
|
skin/frontend/foungento/default/js/jquery_plugins/jquery.infinitescroll.js
ADDED
@@ -0,0 +1,827 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*global jQuery: true */
|
2 |
+
|
3 |
+
/*!
|
4 |
+
--------------------------------
|
5 |
+
Infinite Scroll
|
6 |
+
--------------------------------
|
7 |
+
+ https://github.com/paulirish/infinite-scroll
|
8 |
+
+ version 2.1.0
|
9 |
+
+ Copyright 2011/12 Paul Irish & Luke Shumard
|
10 |
+
+ Licensed under the MIT license
|
11 |
+
|
12 |
+
+ Documentation: http://infinite-scroll.com/
|
13 |
+
*/
|
14 |
+
|
15 |
+
// Uses AMD or browser globals to create a jQuery plugin.
|
16 |
+
(function (factory) {
|
17 |
+
if (typeof define === 'function' && define.amd) {
|
18 |
+
// AMD. Register as an anonymous module.
|
19 |
+
define(['jquery'], factory);
|
20 |
+
} else {
|
21 |
+
// Browser globals
|
22 |
+
factory(jQuery);
|
23 |
+
}
|
24 |
+
}(function ($, undefined) {
|
25 |
+
'use strict';
|
26 |
+
|
27 |
+
$.infinitescroll = function infscr(options, callback, element) {
|
28 |
+
this.element = $(element);
|
29 |
+
|
30 |
+
// Flag the object in the event of a failed creation
|
31 |
+
if (!this._create(options, callback)) {
|
32 |
+
this.failed = true;
|
33 |
+
}
|
34 |
+
};
|
35 |
+
|
36 |
+
$.infinitescroll.defaults = {
|
37 |
+
loading: {
|
38 |
+
finished: undefined,
|
39 |
+
finishedMsg: "<em>Congratulations, you've reached the end of the internet.</em>",
|
40 |
+
img: 'data:image/gif;base64,R0lGODlh3AATAPQeAPDy+MnQ6LW/4N3h8MzT6rjC4sTM5r/I5NHX7N7j8c7U6tvg8OLl8uXo9Ojr9b3G5MfP6Ovu9tPZ7PT1+vX2+tbb7vf4+8/W69jd7rC73vn5/O/x+K243ai02////wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQECgD/ACwAAAAA3AATAAAF/6AnjmRpnmiqrmzrvnAsz3Rt33iu73zv/8CgcEj0BAScpHLJbDqf0Kh0Sq1ar9isdioItAKGw+MAKYMFhbF63CW438f0mg1R2O8EuXj/aOPtaHx7fn96goR4hmuId4qDdX95c4+RBIGCB4yAjpmQhZN0YGYGXitdZBIVGAsLoq4BBKQDswm1CQRkcG6ytrYKubq8vbfAcMK9v7q7EMO1ycrHvsW6zcTKsczNz8HZw9vG3cjTsMIYqQkCLBwHCgsMDQ4RDAYIqfYSFxDxEfz88/X38Onr16+Bp4ADCco7eC8hQYMAEe57yNCew4IVBU7EGNDiRn8Z831cGLHhSIgdFf9chIeBg7oA7gjaWUWTVQAGE3LqBDCTlc9WOHfm7PkTqNCh54rePDqB6M+lR536hCpUqs2gVZM+xbrTqtGoWqdy1emValeXKzggYBBB5y1acFNZmEvXAoN2cGfJrTv3bl69Ffj2xZt3L1+/fw3XRVw4sGDGcR0fJhxZsF3KtBTThZxZ8mLMgC3fRatCbYMNFCzwLEqLgE4NsDWs/tvqdezZf13Hvk2A9Szdu2X3pg18N+68xXn7rh1c+PLksI/Dhe6cuO3ow3NfV92bdArTqC2Ebd3A8vjf5QWfH6Bg7Nz17c2fj69+fnq+8N2Lty+fuP78/eV2X13neIcCeBRwxorbZrA1ANoCDGrgoG8RTshahQ9iSKEEzUmYIYfNWViUhheCGJyIP5E4oom7WWjgCeBFAJNv1DVV01MAdJhhjdkplWNzO/5oXI846njjVEIqR2OS2B1pE5PVscajkxhMycqLJghQSwT40PgfAl4GqNSXYdZXJn5gSkmmmmJu1aZYb14V51do+pTOCmA40AqVCIhG5IJ9PvYnhIFOxmdqhpaI6GeHCtpooisuutmg+Eg62KOMKuqoTaXgicQWoIYq6qiklmoqFV0UoeqqrLbq6quwxirrrLTWauutJ4QAACH5BAUKABwALAcABADOAAsAAAX/IPd0D2dyRCoUp/k8gpHOKtseR9yiSmGbuBykler9XLAhkbDavXTL5k2oqFqNOxzUZPU5YYZd1XsD72rZpBjbeh52mSNnMSC8lwblKZGwi+0QfIJ8CncnCoCDgoVnBHmKfByGJimPkIwtiAeBkH6ZHJaKmCeVnKKTHIihg5KNq4uoqmEtcRUtEREMBggtEr4QDrjCuRC8h7/BwxENeicSF8DKy82pyNLMOxzWygzFmdvD2L3P0dze4+Xh1Arkyepi7dfFvvTtLQkZBC0T/FX3CRgCMOBHsJ+EHYQY7OinAGECgQsB+Lu3AOK+CewcWjwxQeJBihtNGHSoQOE+iQ3//4XkwBBhRZMcUS6YSXOAwIL8PGqEaSJCiYt9SNoCmnJPAgUVLChdaoFBURN8MAzl2PQphwQLfDFd6lTowglHve6rKpbjhK7/pG5VinZP1qkiz1rl4+tr2LRwWU64cFEihwEtZgbgR1UiHaMVvxpOSwBA37kzGz9e8G+B5MIEKLutOGEsAH2ATQwYfTmuX8aETWdGPZmiZcccNSzeTCA1Sw0bdiitC7LBWgu8jQr8HRzqgpK6gX88QbrB14z/kF+ELpwB8eVQj/JkqdylAudji/+ts3039vEEfK8Vz2dlvxZKG0CmbkKDBvllRd6fCzDvBLKBDSCeffhRJEFebFk1k/Mv9jVIoIJZSeBggwUaNeB+Qk34IE0cXlihcfRxkOAJFFhwGmKlmWDiakZhUJtnLBpnWWcnKaAZcxI0piFGGLBm1mc90kajSCveeBVWKeYEoU2wqeaQi0PetoE+rr14EpVC7oAbAUHqhYExbn2XHHsVqbcVew9tx8+XJKk5AZsqqdlddGpqAKdbAYBn1pcczmSTdWvdmZ17c1b3FZ99vnTdCRFM8OEcAhLwm1NdXnWcBBSMRWmfkWZqVlsmLIiAp/o1gGV2vpS4lalGYsUOqXrddcKCmK61aZ8SjEpUpVFVoCpTj4r661Km7kBHjrDyc1RAIQAAIfkEBQoAGwAsBwAEAM4ACwAABf/gtmUCd4goQQgFKj6PYKi0yrrbc8i4ohQt12EHcal+MNSQiCP8gigdz7iCioaCIvUmZLp8QBzW0EN2vSlCuDtFKaq4RyHzQLEKZNdiQDhRDVooCwkbfm59EAmKi4SGIm+AjIsKjhsqB4mSjT2IOIOUnICeCaB/mZKFNTSRmqVpmJqklSqskq6PfYYCDwYHDC4REQwGCBLGxxIQDsHMwhAIX8bKzcENgSLGF9PU1j3Sy9zX2NrgzQziChLk1BHWxcjf7N046tvN82715czn9Pryz6Ilc4ACj4EBOCZM8KEnAYYADBRKnACAYUMFv1wotIhCEcaJCisqwJFgAUSQGyX/kCSVUUTIdKMwJlyo0oXHlhskwrTJciZHEXsgaqS4s6PJiCAr1uzYU8kBBSgnWFqpoMJMUjGtDmUwkmfVmVypakWhEKvXsS4nhLW5wNjVroJIoc05wSzTr0PtiigpYe4EC2vj4iWrFu5euWIMRBhacaVJhYQBEFjA9jHjyQ0xEABwGceGAZYjY0YBOrRLCxUp29QM+bRkx5s7ZyYgVbTqwwti2ybJ+vLtDYpycyZbYOlptxdx0kV+V7lC5iJAyyRrwYKxAdiz82ng0/jnAdMJFz0cPi104Ec1Vj9/M6F173vKL/feXv156dw11tlqeMMnv4V5Ap53GmjQQH97nFfg+IFiucfgRX5Z8KAgbUlQ4IULIlghhhdOSB6AgX0IVn8eReghen3NRIBsRgnH4l4LuEidZBjwRpt6NM5WGwoW0KSjCwX6yJSMab2GwwAPDXfaBCtWpluRTQqC5JM5oUZAjUNS+VeOLWpJEQ7VYQANW0INJSZVDFSnZphjSikfmzE5N4EEbQI1QJmnWXCmHulRp2edwDXF43txukenJwvI9xyg9Q26Z3MzGUcBYFEChZh6DVTq34AU8Iflh51Sd+CnKFYQ6mmZkhqfBKfSxZWqA9DZanWjxmhrWwi0qtCrt/43K6WqVjjpmhIqgEGvculaGKklKstAACEAACH5BAUKABwALAcABADOAAsAAAX/ICdyQmaMYyAUqPgIBiHPxNpy79kqRXH8wAPsRmDdXpAWgWdEIYm2llCHqjVHU+jjJkwqBTecwItShMXkEfNWSh8e1NGAcLgpDGlRgk7EJ/6Ae3VKfoF/fDuFhohVeDeCfXkcCQqDVQcQhn+VNDOYmpSWaoqBlUSfmowjEA+iEAEGDRGztAwGCDcXEA60tXEiCrq8vREMEBLIyRLCxMWSHMzExnbRvQ2Sy7vN0zvVtNfU2tLY3rPgLdnDvca4VQS/Cpk3ABwSLQkYAQwT/P309vcI7OvXr94jBQMJ/nskkGA/BQBRLNDncAIAiDcG6LsxAWOLiQzmeURBKWSLCQbv/1F0eDGinJUKR47YY1IEgQASKk7Yc7ACRwZm7mHweRJoz59BJUogisKCUaFMR0x4SlJBVBFTk8pZivTR0K73rN5wqlXEAq5Fy3IYgHbEzQ0nLy4QSoCjXLoom96VOJEeCosK5n4kkFfqXjl94wa+l1gvAcGICbewAOAxY8l/Ky/QhAGz4cUkGxu2HNozhwMGBnCUqUdBg9UuW9eUynqSwLHIBujePef1ZGQZXcM+OFuEBeBhi3OYgLyqcuaxbT9vLkf4SeqyWxSQpKGB2gQpm1KdWbu72rPRzR9Ne2Nu9Kzr/1Jqj0yD/fvqP4aXOt5sW/5qsXXVcv1Nsp8IBUAmgswGF3llGgeU1YVXXKTN1FlhWFXW3gIE+DVChApysACHHo7Q4A35lLichh+ROBmLKAzgYmYEYDAhCgxKGOOMn4WR4kkDaoBBOxJtdNKQxFmg5JIWIBnQc07GaORfUY4AEkdV6jHlCEISSZ5yTXpp1pbGZbkWmcuZmQCaE6iJ0FhjMaDjTMsgZaNEHFRAQVp3bqXnZED1qYcECOz5V6BhSWCoVJQIKuKQi2KFKEkEFAqoAo7uYSmO3jk61wUUMKmknJ4SGimBmAa0qVQBhAAAIfkEBQoAGwAsBwAEAM4ACwAABf/gJm5FmRlEqhJC+bywgK5pO4rHI0D3pii22+Mg6/0Ej96weCMAk7cDkXf7lZTTnrMl7eaYoy10JN0ZFdco0XAuvKI6qkgVFJXYNwjkIBcNBgR8TQoGfRsJCRuCYYQQiI+ICosiCoGOkIiKfSl8mJkHZ4U9kZMbKaI3pKGXmJKrngmug4WwkhA0lrCBWgYFCCMQFwoQDRHGxwwGCBLMzRLEx8iGzMMO0cYNeCMKzBDW19lnF9DXDIY/48Xg093f0Q3s1dcR8OLe8+Y91OTv5wrj7o7B+7VNQqABIoRVCMBggsOHE36kSoCBIcSH3EbFangxogJYFi8CkJhqQciLJEf/LDDJEeJIBT0GsOwYUYJGBS0fjpQAMidGmyVP6sx4Y6VQhzs9VUwkwqaCCh0tmKoFtSMDmBOf9phg4SrVrROuasRQAaxXpVUhdsU6IsECZlvX3kwLUWzRt0BHOLTbNlbZG3vZinArge5Dvn7wbqtQkSYAAgtKmnSsYKVKo2AfW048uaPmG386i4Q8EQMBAIAnfB7xBxBqvapJ9zX9WgRS2YMpnvYMGdPK3aMjt/3dUcNI4blpj7iwkMFWDXDvSmgAlijrt9RTR78+PS6z1uAJZIe93Q8g5zcsWCi/4Y+C8bah5zUv3vv89uft30QP23punGCx5954oBBwnwYaNCDY/wYrsYeggnM9B2Fpf8GG2CEUVWhbWAtGouEGDy7Y4IEJVrbSiXghqGKIo7z1IVcXIkKWWR361QOLWWnIhwERpLaaCCee5iMBGJQmJGyPFTnbkfHVZGRtIGrg5HALEJAZbu39BuUEUmq1JJQIPtZilY5hGeSWsSk52G9XqsmgljdIcABytq13HyIM6RcUA+r1qZ4EBF3WHWB29tBgAzRhEGhig8KmqKFv8SeCeo+mgsF7YFXa1qWSbkDpom/mqR1PmHCqJ3fwNRVXjC7S6CZhFVCQ2lWvZiirhQq42SACt25IK2hv8TprriUV1usGgeka7LFcNmCldMLi6qZMgFLgpw16Cipb7bC1knXsBiEAACH5BAUKABsALAcABADOAAsAAAX/4FZsJPkUmUGsLCEUTywXglFuSg7fW1xAvNWLF6sFFcPb42C8EZCj24EJdCp2yoegWsolS0Uu6fmamg8n8YYcLU2bXSiRaXMGvqV6/KAeJAh8VgZqCX+BexCFioWAYgqNi4qAR4ORhRuHY408jAeUhAmYYiuVlpiflqGZa5CWkzc5fKmbbhIpsAoQDRG8vQwQCBLCwxK6vb5qwhfGxxENahvCEA7NzskSy7vNzzzK09W/PNHF1NvX2dXcN8K55cfh69Luveol3vO8zwi4Yhj+AQwmCBw4IYclDAAJDlQggVOChAoLKkgFkSCAHDwWLKhIEOONARsDKryogFPIiAUb/95gJNIiw4wnI778GFPhzBKFOAq8qLJEhQpiNArjMcHCmlTCUDIouTKBhApELSxFWiGiVKY4E2CAekPgUphDu0742nRrVLJZnyrFSqKQ2ohoSYAMW6IoDpNJ4bLdILTnAj8KUF7UeENjAKuDyxIgOuGiOI0EBBMgLNew5AUrDTMGsFixwBIaNCQuAXJB57qNJ2OWm2Aj4skwCQCIyNkhhtMkdsIuodE0AN4LJDRgfLPtn5YDLdBlraAByuUbBgxQwICxMOnYpVOPej074OFdlfc0TqC62OIbcppHjV4o+LrieWhfT8JC/I/T6W8oCl29vQ0XjLdBaA3s1RcPBO7lFvpX8BVoG4O5jTXRQRDuJ6FDTzEWF1/BCZhgbyAKE9qICYLloQYOFtahVRsWYlZ4KQJHlwHS/IYaZ6sZd9tmu5HQm2xi1UaTbzxYwJk/wBF5g5EEYOBZeEfGZmNdFyFZmZIR4jikbLThlh5kUUVJGmRT7sekkziRWUIACABk3T4qCsedgO4xhgGcY7q5pHJ4klBBTQRJ0CeHcoYHHUh6wgfdn9uJdSdMiebGJ0zUPTcoS286FCkrZxnYoYYKWLkBowhQoBeaOlZAgVhLidrXqg2GiqpQpZ4apwSwRtjqrB3muoF9BboaXKmshlqWqsWiGt2wphJkQbAU5hoCACH5BAUKABsALAcABADOAAsAAAX/oGFw2WZuT5oZROsSQnGaKjRvilI893MItlNOJ5v5gDcFrHhKIWcEYu/xFEqNv6B1N62aclysF7fsZYe5aOx2yL5aAUGSaT1oTYMBwQ5VGCAJgYIJCnx1gIOBhXdwiIl7d0p2iYGQUAQBjoOFSQR/lIQHnZ+Ue6OagqYzSqSJi5eTpTxGcjcSChANEbu8DBAIEsHBChe5vL13G7fFuscRDcnKuM3H0La3EA7Oz8kKEsXazr7Cw9/Gztar5uHHvte47MjktznZ2w0G1+D3BgirAqJmJMAQgMGEgwgn5Ei0gKDBhBMALGRYEOJBb5QcWlQo4cbAihZz3GgIMqFEBSM1/4ZEOWPAgpIIJXYU+PIhRG8ja1qU6VHlzZknJNQ6UanCjQkWCIGSUGEjAwVLjc44+DTqUQtPPS5gejUrTa5TJ3g9sWCr1BNUWZI161StiQUDmLYdGfesibQ3XMq1OPYthrwuA2yU2LBs2cBHIypYQPPlYAKFD5cVvNPtW8eVGbdcQADATsiNO4cFAPkvHpedPzc8kUcPgNGgZ5RNDZG05reoE9s2vSEP79MEGiQGy1qP8LA4ZcdtsJE48ONoLTBtTV0B9LsTnPceoIDBDQvS7W7vfjVY3q3eZ4A339J4eaAmKqU/sV58HvJh2RcnIBsDUw0ABqhBA5aV5V9XUFGiHfVeAiWwoFgJJrIXRH1tEMiDFV4oHoAEGlaWhgIGSGBO2nFomYY3mKjVglidaNYJGJDkWW2xxTfbjCbVaOGNqoX2GloR8ZeTaECS9pthRGJH2g0b3Agbk6hNANtteHD2GJUucfajCQBy5OOTQ25ZgUPvaVVQmbKh9510/qQpwXx3SQdfk8tZJOd5b6JJFplT3ZnmmX3qd5l1eg5q00HrtUkUn0AKaiGjClSAgKLYZcgWXwocGRcCFGCKwSB6ceqphwmYRUFYT/1WKlOdUpipmxW0mlCqHjYkAaeoZlqrqZ4qd+upQKaapn/AmgAegZ8KUtYtFAQQAgAh+QQFCgAbACwHAAQAzgALAAAF/+C2PUcmiCiZGUTrEkKBis8jQEquKwU5HyXIbEPgyX7BYa5wTNmEMwWsSXsqFbEh8DYs9mrgGjdK6GkPY5GOeU6ryz7UFopSQEzygOGhJBjoIgMDBAcBM0V/CYqLCQqFOwobiYyKjn2TlI6GKC2YjJZknouaZAcQlJUHl6eooJwKooobqoewrJSEmyKdt59NhRKFMxLEEA4RyMkMEAjDEhfGycqAG8TQx9IRDRDE3d3R2ctD1RLg0ttKEnbY5wZD3+zJ6M7X2RHi9Oby7u/r9g38UFjTh2xZJBEBMDAboogAgwkQI07IMUORwocSJwCgWDFBAIwZOaJIsOBjRogKJP8wTODw5ESVHVtm3AhzpEeQElOuNDlTZ0ycEUWKWFASqEahGwYUPbnxoAgEdlYSqDBkgoUNClAlIHbSAoOsqCRQnQHxq1axVb06FWFxLIqyaze0Tft1JVqyE+pWXMD1pF6bYl3+HTqAWNW8cRUFzmih0ZAAB2oGKukSAAGGRHWJgLiR6AylBLpuHKKUMlMCngMpDSAa9QIUggZVVvDaJobLeC3XZpvgNgCmtPcuwP3WgmXSq4do0DC6o2/guzcseECtUoO0hmcsGKDgOt7ssBd07wqesAIGZC1YIBa7PQHvb1+SFo+++HrJSQfB33xfav3i5eX3Hnb4CTJgegEq8tH/YQEOcIJzbm2G2EoYRLgBXFpVmFYDcREV4HIcnmUhiGBRouEMJGJGzHIspqgdXxK0yCKHRNXoIX4uorCdTyjkyNtdPWrA4Up82EbAbzMRxxZRR54WXVLDIRmRcag5d2R6ugl3ZXzNhTecchpMhIGVAKAYpgJjjsSklBEd99maZoo535ZvdamjBEpusJyctg3h4X8XqodBMx0tiNeg/oGJaKGABpogS40KSqiaEgBqlQWLUtqoVQnytekEjzo0hHqhRorppOZt2p923M2AAV+oBtpAnnPNoB6HaU6mAAIU+IXmi3j2mtFXuUoHKwXpzVrsjcgGOauKEjQrwq157hitGq2NoWmjh7z6Wmxb0m5w66+2VRAuXN/yFUAIACH5BAUKABsALAcABADOAAsAAAX/4CZuRiaM45MZqBgIRbs9AqTcuFLE7VHLOh7KB5ERdjJaEaU4ClO/lgKWjKKcMiJQ8KgumcieVdQMD8cbBeuAkkC6LYLhOxoQ2PF5Ys9PKPBMen17f0CCg4VSh32JV4t8jSNqEIOEgJKPlkYBlJWRInKdiJdkmQlvKAsLBxdABA4RsbIMBggtEhcQsLKxDBC2TAS6vLENdJLDxMZAubu8vjIbzcQRtMzJz79S08oQEt/guNiyy7fcvMbh4OezdAvGrakLAQwyABsELQkY9BP+//ckyPDD4J9BfAMh1GsBoImMeQUN+lMgUJ9CiRMa5msxoB9Gh/o8GmxYMZXIgxtR/yQ46S/gQAURR0pDwYDfywoyLPip5AdnCwsMFPBU4BPFhKBDi444quCmDKZOfwZ9KEGpCKgcN1jdALSpPqIYsabS+nSqvqplvYqQYAeDPgwKwjaMtiDl0oaqUAyo+3TuWwUAMPpVCfee0cEjVBGQq2ABx7oTWmQk4FglZMGN9fGVDMCuiH2AOVOu/PmyxM630gwM0CCn6q8LjVJ8GXvpa5Uwn95OTC/nNxkda1/dLSK475IjCD6dHbK1ZOa4hXP9DXs5chJ00UpVm5xo2qRpoxptwF2E4/IbJpB/SDz9+q9b1aNfQH08+p4a8uvX8B53fLP+ycAfemjsRUBgp1H20K+BghHgVgt1GXZXZpZ5lt4ECjxYR4ScUWiShEtZqBiIInRGWnERNnjiBglw+JyGnxUmGowsyiiZg189lNtPGACjV2+S9UjbU0JWF6SPvEk3QZEqsZYTk3UAaRSUnznJI5LmESCdBVSyaOWUWLK4I5gDUYVeV1T9l+FZClCAUVA09uSmRHBCKAECFEhW51ht6rnmWBXkaR+NjuHpJ40D3DmnQXt2F+ihZxlqVKOfQRACACH5BAUKABwALAcABADOAAsAAAX/ICdyUCkUo/g8mUG8MCGkKgspeC6j6XEIEBpBUeCNfECaglBcOVfJFK7YQwZHQ6JRZBUqTrSuVEuD3nI45pYjFuWKvjjSkCoRaBUMWxkwBGgJCXspQ36Bh4EEB0oKhoiBgyNLjo8Ki4QElIiWfJqHnISNEI+Ql5J9o6SgkqKkgqYihamPkW6oNBgSfiMMDQkGCBLCwxIQDhHIyQwQCGMKxsnKVyPCF9DREQ3MxMPX0cu4wt7J2uHWx9jlKd3o39MiuefYEcvNkuLt5O8c1ePI2tyELXGQwoGDAQf+iEC2xByDCRAjTlAgIUWCBRgCPJQ4AQBFXAs0coT40WLIjRxL/47AcHLkxIomRXL0CHPERZkpa4q4iVKiyp0tR/7kwHMkTUBBJR5dOCEBAVcKKtCAyOHpowXCpk7goABqBZdcvWploACpBKkpIJI1q5OD2rIWE0R1uTZu1LFwbWL9OlKuWb4c6+o9i3dEgw0RCGDUG9KlRw56gDY2qmCByZBaASi+TACA0TucAaTteCcy0ZuOK3N2vJlx58+LRQyY3Xm0ZsgjZg+oPQLi7dUcNXi0LOJw1pgNtB7XG6CBy+U75SYfPTSQAgZTNUDnQHt67wnbZyvwLgKiMN3oCZB3C76tdewpLFgIP2C88rbi4Y+QT3+8S5USMICZXWj1pkEDeUU3lOYGB3alSoEiMIjgX4WlgNF2EibIwQIXauWXSRg2SAOHIU5IIIMoZkhhWiJaiFVbKo6AQEgQXrTAazO1JhkBrBG3Y2Y6EsUhaGn95hprSN0oWpFE7rhkeaQBchGOEWnwEmc0uKWZj0LeuNV3W4Y2lZHFlQCSRjTIl8uZ+kG5HU/3sRlnTG2ytyadytnD3HrmuRcSn+0h1dycexIK1KCjYaCnjCCVqOFFJTZ5GkUUjESWaUIKU2lgCmAKKQIUjHapXRKE+t2og1VgankNYnohqKJ2CmKplso6GKz7WYCgqxeuyoF8u9IQAgA7',
|
41 |
+
msg: null,
|
42 |
+
msgText: '<em>Loading the next set of posts...</em>',
|
43 |
+
selector: null,
|
44 |
+
speed: 'fast',
|
45 |
+
start: undefined
|
46 |
+
},
|
47 |
+
state: {
|
48 |
+
isDuringAjax: false,
|
49 |
+
isInvalidPage: false,
|
50 |
+
isDestroyed: false,
|
51 |
+
isDone: false, // For when it goes all the way through the archive.
|
52 |
+
isPaused: false,
|
53 |
+
isBeyondMaxPage: false,
|
54 |
+
currPage: 1
|
55 |
+
},
|
56 |
+
debug: false,
|
57 |
+
behavior: undefined,
|
58 |
+
binder: $(window), // used to cache the selector
|
59 |
+
nextSelector: 'div.navigation a:first',
|
60 |
+
navSelector: 'div.navigation',
|
61 |
+
contentSelector: null, // rename to pageFragment
|
62 |
+
extraScrollPx: 150,
|
63 |
+
itemSelector: 'div.post',
|
64 |
+
animate: false,
|
65 |
+
pathParse: undefined,
|
66 |
+
dataType: 'html',
|
67 |
+
appendCallback: true,
|
68 |
+
bufferPx: 40,
|
69 |
+
errorCallback: function () { },
|
70 |
+
infid: 0, //Instance ID
|
71 |
+
pixelsFromNavToBottom: undefined,
|
72 |
+
path: undefined, // Either parts of a URL as an array (e.g. ["/page/", "/"] or a function that takes in the page number and returns a URL
|
73 |
+
prefill: false, // When the document is smaller than the window, load data until the document is larger or links are exhausted
|
74 |
+
maxPage: undefined // to manually control maximum page (when maxPage is undefined, maximum page limitation is not work)
|
75 |
+
};
|
76 |
+
|
77 |
+
$.infinitescroll.prototype = {
|
78 |
+
|
79 |
+
/*
|
80 |
+
----------------------------
|
81 |
+
Private methods
|
82 |
+
----------------------------
|
83 |
+
*/
|
84 |
+
|
85 |
+
// Bind or unbind from scroll
|
86 |
+
_binding: function infscr_binding(binding) {
|
87 |
+
|
88 |
+
var instance = this,
|
89 |
+
opts = instance.options;
|
90 |
+
|
91 |
+
opts.v = '2.0b2.120520';
|
92 |
+
|
93 |
+
// if behavior is defined and this function is extended, call that instead of default
|
94 |
+
if (!!opts.behavior && this['_binding_'+opts.behavior] !== undefined) {
|
95 |
+
this['_binding_'+opts.behavior].call(this);
|
96 |
+
return;
|
97 |
+
}
|
98 |
+
|
99 |
+
if (binding !== 'bind' && binding !== 'unbind') {
|
100 |
+
this._debug('Binding value ' + binding + ' not valid');
|
101 |
+
return false;
|
102 |
+
}
|
103 |
+
|
104 |
+
if (binding === 'unbind') {
|
105 |
+
(this.options.binder).unbind('smartscroll.infscr.' + instance.options.infid);
|
106 |
+
} else {
|
107 |
+
(this.options.binder)[binding]('smartscroll.infscr.' + instance.options.infid, function () {
|
108 |
+
instance.scroll();
|
109 |
+
});
|
110 |
+
}
|
111 |
+
|
112 |
+
this._debug('Binding', binding);
|
113 |
+
},
|
114 |
+
|
115 |
+
// Fundamental aspects of the plugin are initialized
|
116 |
+
_create: function infscr_create(options, callback) {
|
117 |
+
|
118 |
+
// Add custom options to defaults
|
119 |
+
var opts = $.extend(true, {}, $.infinitescroll.defaults, options);
|
120 |
+
this.options = opts;
|
121 |
+
var $window = $(window);
|
122 |
+
var instance = this;
|
123 |
+
|
124 |
+
// Validate selectors
|
125 |
+
if (!instance._validate(options)) {
|
126 |
+
return false;
|
127 |
+
}
|
128 |
+
|
129 |
+
// Validate page fragment path
|
130 |
+
var path = $(opts.nextSelector).attr('href');
|
131 |
+
if (!path) {
|
132 |
+
this._debug('Navigation selector not found');
|
133 |
+
return false;
|
134 |
+
}
|
135 |
+
|
136 |
+
// Set the path to be a relative URL from root.
|
137 |
+
opts.path = opts.path || this._determinepath(path);
|
138 |
+
|
139 |
+
// contentSelector is 'page fragment' option for .load() / .ajax() calls
|
140 |
+
opts.contentSelector = opts.contentSelector || this.element;
|
141 |
+
|
142 |
+
// loading.selector - if we want to place the load message in a specific selector, defaulted to the contentSelector
|
143 |
+
opts.loading.selector = opts.loading.selector || opts.contentSelector;
|
144 |
+
|
145 |
+
// Define loading.msg
|
146 |
+
opts.loading.msg = opts.loading.msg || $('<div id="infscr-loading"><img alt="Loading..." src="' + opts.loading.img + '" /><div>' + opts.loading.msgText + '</div></div>');
|
147 |
+
|
148 |
+
// Preload loading.img
|
149 |
+
(new Image()).src = opts.loading.img;
|
150 |
+
|
151 |
+
// distance from nav links to bottom
|
152 |
+
// computed as: height of the document + top offset of container - top offset of nav link
|
153 |
+
if(opts.pixelsFromNavToBottom === undefined) {
|
154 |
+
opts.pixelsFromNavToBottom = $(document).height() - $(opts.navSelector).offset().top;
|
155 |
+
this._debug('pixelsFromNavToBottom: ' + opts.pixelsFromNavToBottom);
|
156 |
+
}
|
157 |
+
|
158 |
+
var self = this;
|
159 |
+
|
160 |
+
// determine loading.start actions
|
161 |
+
opts.loading.start = opts.loading.start || function() {
|
162 |
+
$(opts.navSelector).hide();
|
163 |
+
opts.loading.msg
|
164 |
+
.appendTo(opts.loading.selector)
|
165 |
+
.show(opts.loading.speed, $.proxy(function() {
|
166 |
+
this.beginAjax(opts);
|
167 |
+
}, self));
|
168 |
+
};
|
169 |
+
|
170 |
+
// determine loading.finished actions
|
171 |
+
opts.loading.finished = opts.loading.finished || function() {
|
172 |
+
if (!opts.state.isBeyondMaxPage)
|
173 |
+
opts.loading.msg.fadeOut(opts.loading.speed);
|
174 |
+
};
|
175 |
+
|
176 |
+
// callback loading
|
177 |
+
opts.callback = function(instance, data, url) {
|
178 |
+
if (!!opts.behavior && instance['_callback_'+opts.behavior] !== undefined) {
|
179 |
+
instance['_callback_'+opts.behavior].call($(opts.contentSelector)[0], data, url);
|
180 |
+
}
|
181 |
+
|
182 |
+
if (callback) {
|
183 |
+
callback.call($(opts.contentSelector)[0], data, opts, url);
|
184 |
+
}
|
185 |
+
|
186 |
+
if (opts.prefill) {
|
187 |
+
$window.bind('resize.infinite-scroll', instance._prefill);
|
188 |
+
}
|
189 |
+
};
|
190 |
+
|
191 |
+
if (options.debug) {
|
192 |
+
// Tell IE9 to use its built-in console
|
193 |
+
if (Function.prototype.bind && (typeof console === 'object' || typeof console === 'function') && typeof console.log === 'object') {
|
194 |
+
['log','info','warn','error','assert','dir','clear','profile','profileEnd']
|
195 |
+
.forEach(function (method) {
|
196 |
+
console[method] = this.call(console[method], console);
|
197 |
+
}, Function.prototype.bind);
|
198 |
+
}
|
199 |
+
}
|
200 |
+
|
201 |
+
this._setup();
|
202 |
+
|
203 |
+
// Setups the prefill method for use
|
204 |
+
if (opts.prefill) {
|
205 |
+
this._prefill();
|
206 |
+
}
|
207 |
+
|
208 |
+
// Return true to indicate successful creation
|
209 |
+
return true;
|
210 |
+
},
|
211 |
+
|
212 |
+
_prefill: function infscr_prefill() {
|
213 |
+
var instance = this;
|
214 |
+
var $window = $(window);
|
215 |
+
|
216 |
+
function needsPrefill() {
|
217 |
+
return ( $(instance.options.contentSelector).height() <= $window.height() );
|
218 |
+
}
|
219 |
+
|
220 |
+
this._prefill = function() {
|
221 |
+
if (needsPrefill()) {
|
222 |
+
instance.scroll();
|
223 |
+
}
|
224 |
+
|
225 |
+
$window.bind('resize.infinite-scroll', function() {
|
226 |
+
if (needsPrefill()) {
|
227 |
+
$window.unbind('resize.infinite-scroll');
|
228 |
+
instance.scroll();
|
229 |
+
}
|
230 |
+
});
|
231 |
+
};
|
232 |
+
|
233 |
+
// Call self after setting up the new function
|
234 |
+
this._prefill();
|
235 |
+
},
|
236 |
+
|
237 |
+
// Console log wrapper
|
238 |
+
_debug: function infscr_debug() {
|
239 |
+
if (true !== this.options.debug) {
|
240 |
+
return;
|
241 |
+
}
|
242 |
+
|
243 |
+
if (typeof console !== 'undefined' && typeof console.log === 'function') {
|
244 |
+
// Modern browsers
|
245 |
+
// Single argument, which is a string
|
246 |
+
if ((Array.prototype.slice.call(arguments)).length === 1 && typeof Array.prototype.slice.call(arguments)[0] === 'string') {
|
247 |
+
console.log( (Array.prototype.slice.call(arguments)).toString() );
|
248 |
+
} else {
|
249 |
+
console.log( Array.prototype.slice.call(arguments) );
|
250 |
+
}
|
251 |
+
} else if (!Function.prototype.bind && typeof console !== 'undefined' && typeof console.log === 'object') {
|
252 |
+
// IE8
|
253 |
+
Function.prototype.call.call(console.log, console, Array.prototype.slice.call(arguments));
|
254 |
+
}
|
255 |
+
},
|
256 |
+
|
257 |
+
// find the number to increment in the path.
|
258 |
+
_determinepath: function infscr_determinepath(path) {
|
259 |
+
|
260 |
+
var opts = this.options;
|
261 |
+
|
262 |
+
// if behavior is defined and this function is extended, call that instead of default
|
263 |
+
if (!!opts.behavior && this['_determinepath_'+opts.behavior] !== undefined) {
|
264 |
+
return this['_determinepath_'+opts.behavior].call(this,path);
|
265 |
+
}
|
266 |
+
|
267 |
+
if (!!opts.pathParse) {
|
268 |
+
|
269 |
+
this._debug('pathParse manual');
|
270 |
+
return opts.pathParse(path, this.options.state.currPage+1);
|
271 |
+
|
272 |
+
} else if (path.match(/^(.*?)\b2\b(.*?$)/)) {
|
273 |
+
path = path.match(/^(.*?)\b2\b(.*?$)/).slice(1);
|
274 |
+
|
275 |
+
// if there is any 2 in the url at all.
|
276 |
+
} else if (path.match(/^(.*?)2(.*?$)/)) {
|
277 |
+
|
278 |
+
// page= is used in django:
|
279 |
+
// http://www.infinite-scroll.com/changelog/comment-page-1/#comment-127
|
280 |
+
if (path.match(/^(.*?page=)2(\/.*|$)/)) {
|
281 |
+
path = path.match(/^(.*?page=)2(\/.*|$)/).slice(1);
|
282 |
+
return path;
|
283 |
+
}
|
284 |
+
|
285 |
+
path = path.match(/^(.*?)2(.*?$)/).slice(1);
|
286 |
+
|
287 |
+
} else {
|
288 |
+
|
289 |
+
// page= is used in drupal too but second page is page=1 not page=2:
|
290 |
+
// thx Jerod Fritz, vladikoff
|
291 |
+
if (path.match(/^(.*?page=)1(\/.*|$)/)) {
|
292 |
+
path = path.match(/^(.*?page=)1(\/.*|$)/).slice(1);
|
293 |
+
return path;
|
294 |
+
} else {
|
295 |
+
this._debug("Sorry, we couldn't parse your Next (Previous Posts) URL. Verify your the css selector points to the correct A tag. If you still get this error: yell, scream, and kindly ask for help at infinite-scroll.com.");
|
296 |
+
// Get rid of isInvalidPage to allow permalink to state
|
297 |
+
opts.state.isInvalidPage = true; //prevent it from running on this page.
|
298 |
+
}
|
299 |
+
}
|
300 |
+
this._debug('determinePath', path);
|
301 |
+
return path;
|
302 |
+
|
303 |
+
},
|
304 |
+
|
305 |
+
// Custom error
|
306 |
+
_error: function infscr_error(xhr) {
|
307 |
+
|
308 |
+
var opts = this.options;
|
309 |
+
|
310 |
+
// if behavior is defined and this function is extended, call that instead of default
|
311 |
+
if (!!opts.behavior && this['_error_'+opts.behavior] !== undefined) {
|
312 |
+
this['_error_'+opts.behavior].call(this,xhr);
|
313 |
+
return;
|
314 |
+
}
|
315 |
+
|
316 |
+
if (xhr !== 'destroy' && xhr !== 'end') {
|
317 |
+
xhr = 'unknown';
|
318 |
+
}
|
319 |
+
|
320 |
+
this._debug('Error', xhr);
|
321 |
+
|
322 |
+
if (xhr === 'end' || opts.state.isBeyondMaxPage) {
|
323 |
+
this._showdonemsg();
|
324 |
+
}
|
325 |
+
|
326 |
+
opts.state.isDone = true;
|
327 |
+
opts.state.currPage = 1; // if you need to go back to this instance
|
328 |
+
opts.state.isPaused = false;
|
329 |
+
opts.state.isBeyondMaxPage = false;
|
330 |
+
this._binding('unbind');
|
331 |
+
|
332 |
+
},
|
333 |
+
|
334 |
+
// Load Callback
|
335 |
+
_loadcallback: function infscr_loadcallback(box, data, url) {
|
336 |
+
var opts = this.options,
|
337 |
+
callback = this.options.callback, // GLOBAL OBJECT FOR CALLBACK
|
338 |
+
result = (opts.state.isDone) ? 'done' : (!opts.appendCallback) ? 'no-append' : 'append',
|
339 |
+
frag;
|
340 |
+
|
341 |
+
// if behavior is defined and this function is extended, call that instead of default
|
342 |
+
if (!!opts.behavior && this['_loadcallback_'+opts.behavior] !== undefined) {
|
343 |
+
this['_loadcallback_'+opts.behavior].call(this,box,data,url);
|
344 |
+
return;
|
345 |
+
}
|
346 |
+
|
347 |
+
switch (result) {
|
348 |
+
case 'done':
|
349 |
+
this._showdonemsg();
|
350 |
+
return false;
|
351 |
+
|
352 |
+
case 'no-append':
|
353 |
+
if (opts.dataType === 'html') {
|
354 |
+
data = '<div>' + data + '</div>';
|
355 |
+
data = $(data).find(opts.itemSelector);
|
356 |
+
}
|
357 |
+
|
358 |
+
// if it didn't return anything
|
359 |
+
if (data.length === 0) {
|
360 |
+
return this._error('end');
|
361 |
+
}
|
362 |
+
|
363 |
+
break;
|
364 |
+
|
365 |
+
case 'append':
|
366 |
+
var children = box.children();
|
367 |
+
// if it didn't return anything
|
368 |
+
if (children.length === 0) {
|
369 |
+
return this._error('end');
|
370 |
+
}
|
371 |
+
|
372 |
+
// use a documentFragment because it works when content is going into a table or UL
|
373 |
+
frag = document.createDocumentFragment();
|
374 |
+
while (box[0].firstChild) {
|
375 |
+
frag.appendChild(box[0].firstChild);
|
376 |
+
}
|
377 |
+
|
378 |
+
this._debug('contentSelector', $(opts.contentSelector)[0]);
|
379 |
+
$(opts.contentSelector)[0].appendChild(frag);
|
380 |
+
// previously, we would pass in the new DOM element as context for the callback
|
381 |
+
// however we're now using a documentfragment, which doesn't have parents or children,
|
382 |
+
// so the context is the contentContainer guy, and we pass in an array
|
383 |
+
// of the elements collected as the first argument.
|
384 |
+
|
385 |
+
data = children.get();
|
386 |
+
break;
|
387 |
+
}
|
388 |
+
|
389 |
+
// loadingEnd function
|
390 |
+
opts.loading.finished.call($(opts.contentSelector)[0],opts);
|
391 |
+
|
392 |
+
// smooth scroll to ease in the new content
|
393 |
+
if (opts.animate) {
|
394 |
+
var scrollTo = $(window).scrollTop() + $(opts.loading.msg).height() + opts.extraScrollPx + 'px';
|
395 |
+
$('html,body').animate({ scrollTop: scrollTo }, 800, function () { opts.state.isDuringAjax = false; });
|
396 |
+
}
|
397 |
+
|
398 |
+
if (!opts.animate) {
|
399 |
+
// once the call is done, we can allow it again.
|
400 |
+
opts.state.isDuringAjax = false;
|
401 |
+
}
|
402 |
+
|
403 |
+
callback(this, data, url);
|
404 |
+
|
405 |
+
if (opts.prefill) {
|
406 |
+
this._prefill();
|
407 |
+
}
|
408 |
+
},
|
409 |
+
|
410 |
+
_nearbottom: function infscr_nearbottom() {
|
411 |
+
|
412 |
+
var opts = this.options,
|
413 |
+
pixelsFromWindowBottomToBottom = 0 + $(document).height() - (opts.binder.scrollTop()) - $(window).height();
|
414 |
+
|
415 |
+
// if behavior is defined and this function is extended, call that instead of default
|
416 |
+
if (!!opts.behavior && this['_nearbottom_'+opts.behavior] !== undefined) {
|
417 |
+
return this['_nearbottom_'+opts.behavior].call(this);
|
418 |
+
}
|
419 |
+
|
420 |
+
this._debug('math:', pixelsFromWindowBottomToBottom, opts.pixelsFromNavToBottom);
|
421 |
+
|
422 |
+
// if distance remaining in the scroll (including buffer) is less than the orignal nav to bottom....
|
423 |
+
return (pixelsFromWindowBottomToBottom - opts.bufferPx < opts.pixelsFromNavToBottom);
|
424 |
+
|
425 |
+
},
|
426 |
+
|
427 |
+
// Pause / temporarily disable plugin from firing
|
428 |
+
_pausing: function infscr_pausing(pause) {
|
429 |
+
|
430 |
+
var opts = this.options;
|
431 |
+
|
432 |
+
// if behavior is defined and this function is extended, call that instead of default
|
433 |
+
if (!!opts.behavior && this['_pausing_'+opts.behavior] !== undefined) {
|
434 |
+
this['_pausing_'+opts.behavior].call(this,pause);
|
435 |
+
return;
|
436 |
+
}
|
437 |
+
|
438 |
+
// If pause is not 'pause' or 'resume', toggle it's value
|
439 |
+
if (pause !== 'pause' && pause !== 'resume' && pause !== null) {
|
440 |
+
this._debug('Invalid argument. Toggling pause value instead');
|
441 |
+
}
|
442 |
+
|
443 |
+
pause = (pause && (pause === 'pause' || pause === 'resume')) ? pause : 'toggle';
|
444 |
+
|
445 |
+
switch (pause) {
|
446 |
+
case 'pause':
|
447 |
+
opts.state.isPaused = true;
|
448 |
+
break;
|
449 |
+
|
450 |
+
case 'resume':
|
451 |
+
opts.state.isPaused = false;
|
452 |
+
break;
|
453 |
+
|
454 |
+
case 'toggle':
|
455 |
+
opts.state.isPaused = !opts.state.isPaused;
|
456 |
+
break;
|
457 |
+
}
|
458 |
+
|
459 |
+
this._debug('Paused', opts.state.isPaused);
|
460 |
+
return false;
|
461 |
+
|
462 |
+
},
|
463 |
+
|
464 |
+
// Behavior is determined
|
465 |
+
// If the behavior option is undefined, it will set to default and bind to scroll
|
466 |
+
_setup: function infscr_setup() {
|
467 |
+
|
468 |
+
var opts = this.options;
|
469 |
+
|
470 |
+
// if behavior is defined and this function is extended, call that instead of default
|
471 |
+
if (!!opts.behavior && this['_setup_'+opts.behavior] !== undefined) {
|
472 |
+
this['_setup_'+opts.behavior].call(this);
|
473 |
+
return;
|
474 |
+
}
|
475 |
+
|
476 |
+
this._binding('bind');
|
477 |
+
|
478 |
+
return false;
|
479 |
+
|
480 |
+
},
|
481 |
+
|
482 |
+
// Show done message
|
483 |
+
_showdonemsg: function infscr_showdonemsg() {
|
484 |
+
|
485 |
+
var opts = this.options;
|
486 |
+
|
487 |
+
// if behavior is defined and this function is extended, call that instead of default
|
488 |
+
if (!!opts.behavior && this['_showdonemsg_'+opts.behavior] !== undefined) {
|
489 |
+
this['_showdonemsg_'+opts.behavior].call(this);
|
490 |
+
return;
|
491 |
+
}
|
492 |
+
|
493 |
+
opts.loading.msg
|
494 |
+
.find('img')
|
495 |
+
.hide()
|
496 |
+
.parent()
|
497 |
+
.find('div').html(opts.loading.finishedMsg).animate({ opacity: 1 }, 2000, function () {
|
498 |
+
$(this).parent().fadeOut(opts.loading.speed);
|
499 |
+
});
|
500 |
+
|
501 |
+
// user provided callback when done
|
502 |
+
opts.errorCallback.call($(opts.contentSelector)[0],'done');
|
503 |
+
},
|
504 |
+
|
505 |
+
// grab each selector option and see if any fail
|
506 |
+
_validate: function infscr_validate(opts) {
|
507 |
+
for (var key in opts) {
|
508 |
+
if (key.indexOf && key.indexOf('Selector') > -1 && $(opts[key]).length === 0) {
|
509 |
+
this._debug('Your ' + key + ' found no elements.');
|
510 |
+
return false;
|
511 |
+
}
|
512 |
+
}
|
513 |
+
|
514 |
+
return true;
|
515 |
+
},
|
516 |
+
|
517 |
+
/*
|
518 |
+
----------------------------
|
519 |
+
Public methods
|
520 |
+
----------------------------
|
521 |
+
*/
|
522 |
+
|
523 |
+
// Bind to scroll
|
524 |
+
bind: function infscr_bind() {
|
525 |
+
this._binding('bind');
|
526 |
+
},
|
527 |
+
|
528 |
+
// Destroy current instance of plugin
|
529 |
+
destroy: function infscr_destroy() {
|
530 |
+
this.options.state.isDestroyed = true;
|
531 |
+
this.options.loading.finished();
|
532 |
+
return this._error('destroy');
|
533 |
+
},
|
534 |
+
|
535 |
+
// Set pause value to false
|
536 |
+
pause: function infscr_pause() {
|
537 |
+
this._pausing('pause');
|
538 |
+
},
|
539 |
+
|
540 |
+
// Set pause value to false
|
541 |
+
resume: function infscr_resume() {
|
542 |
+
this._pausing('resume');
|
543 |
+
},
|
544 |
+
|
545 |
+
beginAjax: function infscr_ajax(opts) {
|
546 |
+
var instance = this,
|
547 |
+
path = opts.path,
|
548 |
+
box, desturl, method, condition;
|
549 |
+
|
550 |
+
// increment the URL bit. e.g. /page/3/
|
551 |
+
opts.state.currPage++;
|
552 |
+
|
553 |
+
// Manually control maximum page
|
554 |
+
if ( opts.maxPage !== undefined && opts.state.currPage > opts.maxPage ){
|
555 |
+
opts.state.isBeyondMaxPage = true;
|
556 |
+
this.destroy();
|
557 |
+
return;
|
558 |
+
}
|
559 |
+
|
560 |
+
// if we're dealing with a table we can't use DIVs
|
561 |
+
box = $(opts.contentSelector).is('table, tbody') ? $('<tbody/>') : $('<div/>');
|
562 |
+
|
563 |
+
desturl = (typeof path === 'function') ? path(opts.state.currPage) : path.join(opts.state.currPage);
|
564 |
+
instance._debug('heading into ajax', desturl);
|
565 |
+
|
566 |
+
method = (opts.dataType === 'html' || opts.dataType === 'json' ) ? opts.dataType : 'html+callback';
|
567 |
+
if (opts.appendCallback && opts.dataType === 'html') {
|
568 |
+
method += '+callback';
|
569 |
+
}
|
570 |
+
|
571 |
+
switch (method) {
|
572 |
+
case 'html+callback':
|
573 |
+
instance._debug('Using HTML via .load() method');
|
574 |
+
box.load(desturl + ' ' + opts.itemSelector, undefined, function infscr_ajax_callback(responseText) {
|
575 |
+
instance._loadcallback(box, responseText, desturl);
|
576 |
+
});
|
577 |
+
|
578 |
+
break;
|
579 |
+
|
580 |
+
case 'html':
|
581 |
+
instance._debug('Using ' + (method.toUpperCase()) + ' via $.ajax() method');
|
582 |
+
$.ajax({
|
583 |
+
// params
|
584 |
+
url: desturl,
|
585 |
+
dataType: opts.dataType,
|
586 |
+
complete: function infscr_ajax_callback(jqXHR, textStatus) {
|
587 |
+
condition = (typeof (jqXHR.isResolved) !== 'undefined') ? (jqXHR.isResolved()) : (textStatus === 'success' || textStatus === 'notmodified');
|
588 |
+
if (condition) {
|
589 |
+
instance._loadcallback(box, jqXHR.responseText, desturl);
|
590 |
+
} else {
|
591 |
+
instance._error('end');
|
592 |
+
}
|
593 |
+
}
|
594 |
+
});
|
595 |
+
|
596 |
+
break;
|
597 |
+
case 'json':
|
598 |
+
instance._debug('Using ' + (method.toUpperCase()) + ' via $.ajax() method');
|
599 |
+
$.ajax({
|
600 |
+
dataType: 'json',
|
601 |
+
type: 'GET',
|
602 |
+
url: desturl,
|
603 |
+
success: function (data, textStatus, jqXHR) {
|
604 |
+
condition = (typeof (jqXHR.isResolved) !== 'undefined') ? (jqXHR.isResolved()) : (textStatus === 'success' || textStatus === 'notmodified');
|
605 |
+
if (opts.appendCallback) {
|
606 |
+
// if appendCallback is true, you must defined template in options.
|
607 |
+
// note that data passed into _loadcallback is already an html (after processed in opts.template(data)).
|
608 |
+
if (opts.template !== undefined) {
|
609 |
+
var theData = opts.template(data);
|
610 |
+
box.append(theData);
|
611 |
+
if (condition) {
|
612 |
+
instance._loadcallback(box, theData);
|
613 |
+
} else {
|
614 |
+
instance._error('end');
|
615 |
+
}
|
616 |
+
} else {
|
617 |
+
instance._debug('template must be defined.');
|
618 |
+
instance._error('end');
|
619 |
+
}
|
620 |
+
} else {
|
621 |
+
// if appendCallback is false, we will pass in the JSON object. you should handle it yourself in your callback.
|
622 |
+
if (condition) {
|
623 |
+
instance._loadcallback(box, data, desturl);
|
624 |
+
} else {
|
625 |
+
instance._error('end');
|
626 |
+
}
|
627 |
+
}
|
628 |
+
},
|
629 |
+
error: function() {
|
630 |
+
instance._debug('JSON ajax request failed.');
|
631 |
+
instance._error('end');
|
632 |
+
}
|
633 |
+
});
|
634 |
+
|
635 |
+
break;
|
636 |
+
}
|
637 |
+
},
|
638 |
+
|
639 |
+
// Retrieve next set of content items
|
640 |
+
retrieve: function infscr_retrieve(pageNum) {
|
641 |
+
pageNum = pageNum || null;
|
642 |
+
|
643 |
+
var instance = this,
|
644 |
+
opts = instance.options;
|
645 |
+
|
646 |
+
// if behavior is defined and this function is extended, call that instead of default
|
647 |
+
if (!!opts.behavior && this['retrieve_'+opts.behavior] !== undefined) {
|
648 |
+
this['retrieve_'+opts.behavior].call(this,pageNum);
|
649 |
+
return;
|
650 |
+
}
|
651 |
+
|
652 |
+
// for manual triggers, if destroyed, get out of here
|
653 |
+
if (opts.state.isDestroyed) {
|
654 |
+
this._debug('Instance is destroyed');
|
655 |
+
return false;
|
656 |
+
}
|
657 |
+
|
658 |
+
// we dont want to fire the ajax multiple times
|
659 |
+
opts.state.isDuringAjax = true;
|
660 |
+
|
661 |
+
opts.loading.start.call($(opts.contentSelector)[0],opts);
|
662 |
+
},
|
663 |
+
|
664 |
+
// Check to see next page is needed
|
665 |
+
scroll: function infscr_scroll() {
|
666 |
+
|
667 |
+
var opts = this.options,
|
668 |
+
state = opts.state;
|
669 |
+
|
670 |
+
// if behavior is defined and this function is extended, call that instead of default
|
671 |
+
if (!!opts.behavior && this['scroll_'+opts.behavior] !== undefined) {
|
672 |
+
this['scroll_'+opts.behavior].call(this);
|
673 |
+
return;
|
674 |
+
}
|
675 |
+
|
676 |
+
if (state.isDuringAjax || state.isInvalidPage || state.isDone || state.isDestroyed || state.isPaused) {
|
677 |
+
return;
|
678 |
+
}
|
679 |
+
|
680 |
+
if (!this._nearbottom()) {
|
681 |
+
return;
|
682 |
+
}
|
683 |
+
|
684 |
+
this.retrieve();
|
685 |
+
|
686 |
+
},
|
687 |
+
|
688 |
+
// Toggle pause value
|
689 |
+
toggle: function infscr_toggle() {
|
690 |
+
this._pausing();
|
691 |
+
},
|
692 |
+
|
693 |
+
// Unbind from scroll
|
694 |
+
unbind: function infscr_unbind() {
|
695 |
+
this._binding('unbind');
|
696 |
+
},
|
697 |
+
|
698 |
+
// update options
|
699 |
+
update: function infscr_options(key) {
|
700 |
+
if ($.isPlainObject(key)) {
|
701 |
+
this.options = $.extend(true,this.options,key);
|
702 |
+
}
|
703 |
+
}
|
704 |
+
};
|
705 |
+
|
706 |
+
|
707 |
+
/*
|
708 |
+
----------------------------
|
709 |
+
Infinite Scroll function
|
710 |
+
----------------------------
|
711 |
+
|
712 |
+
Borrowed logic from the following...
|
713 |
+
|
714 |
+
jQuery UI
|
715 |
+
- https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js
|
716 |
+
|
717 |
+
jCarousel
|
718 |
+
- https://github.com/jsor/jcarousel/blob/master/lib/jquery.jcarousel.js
|
719 |
+
|
720 |
+
Masonry
|
721 |
+
- https://github.com/desandro/masonry/blob/master/jquery.masonry.js
|
722 |
+
|
723 |
+
*/
|
724 |
+
|
725 |
+
$.fn.infinitescroll = function infscr_init(options, callback) {
|
726 |
+
|
727 |
+
|
728 |
+
var thisCall = typeof options;
|
729 |
+
|
730 |
+
switch (thisCall) {
|
731 |
+
|
732 |
+
// method
|
733 |
+
case 'string':
|
734 |
+
var args = Array.prototype.slice.call(arguments, 1);
|
735 |
+
|
736 |
+
this.each(function () {
|
737 |
+
var instance = $.data(this, 'infinitescroll');
|
738 |
+
|
739 |
+
if (!instance) {
|
740 |
+
// not setup yet
|
741 |
+
// return $.error('Method ' + options + ' cannot be called until Infinite Scroll is setup');
|
742 |
+
return false;
|
743 |
+
}
|
744 |
+
|
745 |
+
if (!$.isFunction(instance[options]) || options.charAt(0) === '_') {
|
746 |
+
// return $.error('No such method ' + options + ' for Infinite Scroll');
|
747 |
+
return false;
|
748 |
+
}
|
749 |
+
|
750 |
+
// no errors!
|
751 |
+
instance[options].apply(instance, args);
|
752 |
+
});
|
753 |
+
|
754 |
+
break;
|
755 |
+
|
756 |
+
// creation
|
757 |
+
case 'object':
|
758 |
+
|
759 |
+
this.each(function () {
|
760 |
+
|
761 |
+
var instance = $.data(this, 'infinitescroll');
|
762 |
+
|
763 |
+
if (instance) {
|
764 |
+
|
765 |
+
// update options of current instance
|
766 |
+
instance.update(options);
|
767 |
+
|
768 |
+
} else {
|
769 |
+
|
770 |
+
// initialize new instance
|
771 |
+
instance = new $.infinitescroll(options, callback, this);
|
772 |
+
|
773 |
+
// don't attach if instantiation failed
|
774 |
+
if (!instance.failed) {
|
775 |
+
$.data(this, 'infinitescroll', instance);
|
776 |
+
}
|
777 |
+
|
778 |
+
}
|
779 |
+
|
780 |
+
});
|
781 |
+
|
782 |
+
break;
|
783 |
+
|
784 |
+
}
|
785 |
+
|
786 |
+
return this;
|
787 |
+
};
|
788 |
+
|
789 |
+
|
790 |
+
|
791 |
+
/*
|
792 |
+
* smartscroll: debounced scroll event for jQuery *
|
793 |
+
* https://github.com/lukeshumard/smartscroll
|
794 |
+
* Based on smartresize by @louis_remi: https://github.com/lrbabe/jquery.smartresize.js *
|
795 |
+
* Copyright 2011 Louis-Remi & Luke Shumard * Licensed under the MIT license. *
|
796 |
+
*/
|
797 |
+
|
798 |
+
var event = $.event,
|
799 |
+
scrollTimeout;
|
800 |
+
|
801 |
+
event.special.smartscroll = {
|
802 |
+
setup: function () {
|
803 |
+
$(this).bind('scroll', event.special.smartscroll.handler);
|
804 |
+
},
|
805 |
+
teardown: function () {
|
806 |
+
$(this).unbind('scroll', event.special.smartscroll.handler);
|
807 |
+
},
|
808 |
+
handler: function (event, execAsap) {
|
809 |
+
// Save the context
|
810 |
+
var context = this,
|
811 |
+
args = arguments;
|
812 |
+
|
813 |
+
// set correct event type
|
814 |
+
event.type = 'smartscroll';
|
815 |
+
|
816 |
+
if (scrollTimeout) { clearTimeout(scrollTimeout); }
|
817 |
+
scrollTimeout = setTimeout(function () {
|
818 |
+
$(context).trigger('smartscroll', args);
|
819 |
+
}, execAsap === 'execAsap' ? 0 : 100);
|
820 |
+
}
|
821 |
+
};
|
822 |
+
|
823 |
+
$.fn.smartscroll = function (fn) {
|
824 |
+
return fn ? this.bind('smartscroll', fn) : this.trigger('smartscroll', ['execAsap']);
|
825 |
+
};
|
826 |
+
|
827 |
+
}));
|
skin/frontend/foungento/default/js/jquery_plugins/manual-trigger.js
ADDED
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
--------------------------------
|
3 |
+
Infinite Scroll Behavior
|
4 |
+
Manual / Twitter-style
|
5 |
+
--------------------------------
|
6 |
+
+ https://github.com/paulirish/infinitescroll/
|
7 |
+
+ version 2.0b2.110617
|
8 |
+
+ Copyright 2011 Paul Irish & Luke Shumard
|
9 |
+
+ Licensed under the MIT license
|
10 |
+
|
11 |
+
+ Documentation: http://infinite-scroll.com/
|
12 |
+
|
13 |
+
*/
|
14 |
+
|
15 |
+
(function($, undefined) {
|
16 |
+
$.extend($.infinitescroll.prototype,{
|
17 |
+
|
18 |
+
_setup_twitter: function infscr_setup_twitter () {
|
19 |
+
var opts = this.options,
|
20 |
+
instance = this;
|
21 |
+
|
22 |
+
// Bind nextSelector link to retrieve
|
23 |
+
$(opts.nextSelector).click(function(e) {
|
24 |
+
if (e.which == 1 && !e.metaKey && !e.shiftKey) {
|
25 |
+
e.preventDefault();
|
26 |
+
instance.retrieve();
|
27 |
+
}
|
28 |
+
});
|
29 |
+
|
30 |
+
// Define loadingStart to never hide pager
|
31 |
+
instance.options.loading.start = function (opts) {
|
32 |
+
opts.loading.msg
|
33 |
+
.appendTo(opts.loading.selector)
|
34 |
+
.show(opts.loading.speed, function () {
|
35 |
+
instance.beginAjax(opts);
|
36 |
+
});
|
37 |
+
}
|
38 |
+
},
|
39 |
+
_showdonemsg_twitter: function infscr_showdonemsg_twitter () {
|
40 |
+
var opts = this.options,
|
41 |
+
instance = this;
|
42 |
+
|
43 |
+
//Do all the usual stuff
|
44 |
+
opts.loading.msg
|
45 |
+
.find('img')
|
46 |
+
.hide()
|
47 |
+
.parent()
|
48 |
+
.find('div').html(opts.loading.finishedMsg).animate({ opacity: 1 }, 2000, function () {
|
49 |
+
$(this).parent().fadeOut('normal');
|
50 |
+
});
|
51 |
+
|
52 |
+
//And also hide the navSelector
|
53 |
+
$(opts.navSelector).fadeOut('normal');
|
54 |
+
|
55 |
+
// user provided callback when done
|
56 |
+
opts.errorCallback.call($(opts.contentSelector)[0],'done');
|
57 |
+
|
58 |
+
}
|
59 |
+
|
60 |
+
});
|
61 |
+
})(jQuery);
|
skin/frontend/foungento/default/js/minicart.js
ADDED
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Magento
|
3 |
+
*
|
4 |
+
* NOTICE OF LICENSE
|
5 |
+
*
|
6 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
7 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
8 |
+
* It is also available through the world-wide-web at this URL:
|
9 |
+
* http://opensource.org/licenses/afl-3.0.php
|
10 |
+
* If you did not receive a copy of the license and are unable to
|
11 |
+
* obtain it through the world-wide-web, please send an email
|
12 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
13 |
+
*
|
14 |
+
* DISCLAIMER
|
15 |
+
*
|
16 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
17 |
+
* versions in the future. If you wish to customize Magento for your
|
18 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
19 |
+
*
|
20 |
+
* @category design
|
21 |
+
* @package default_default
|
22 |
+
* @copyright Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
|
23 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
24 |
+
*/
|
25 |
+
function Minicart(options) {
|
26 |
+
this.formKey = options.formKey;
|
27 |
+
this.previousVal = null;
|
28 |
+
|
29 |
+
this.defaultErrorMessage = 'Error occurred. Try to refresh page.';
|
30 |
+
|
31 |
+
this.selectors = {
|
32 |
+
itemRemove: '#cart-sidebar .remove',
|
33 |
+
container: '#header-cart',
|
34 |
+
inputQty: '.cart-item-quantity',
|
35 |
+
qty: 'div.header-minicart span.count',
|
36 |
+
overlay: '.minicart-wrapper',
|
37 |
+
error: '#minicart-error-message',
|
38 |
+
success: '#minicart-success-message',
|
39 |
+
quantityButtonPrefix: '#qbutton-',
|
40 |
+
quantityInputPrefix: '#qinput-',
|
41 |
+
quantityButtonClass: '.quantity-button'
|
42 |
+
};
|
43 |
+
|
44 |
+
if (options.selectors) {
|
45 |
+
jQuery.extend(this.selectors, options.selectors);
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
Minicart.prototype = {
|
50 |
+
|
51 |
+
init: function() {
|
52 |
+
var cart = this;
|
53 |
+
|
54 |
+
// bind remove event
|
55 |
+
jQuery(this.selectors.itemRemove).unbind('click.minicart').bind('click.minicart', function(e) {
|
56 |
+
e.preventDefault();
|
57 |
+
cart.removeItem(jQuery(this));
|
58 |
+
});
|
59 |
+
|
60 |
+
// bind update qty event
|
61 |
+
jQuery(this.selectors.inputQty)
|
62 |
+
.unbind('blur.minicart')
|
63 |
+
.unbind('focus.minicart')
|
64 |
+
.bind('focus.minicart', function() {
|
65 |
+
cart.previousVal = jQuery(this).val();
|
66 |
+
cart.displayQuantityButton(jQuery(this))
|
67 |
+
})
|
68 |
+
.bind('blur.minicart', function() {
|
69 |
+
cart.revertInvalidValue(this);
|
70 |
+
});
|
71 |
+
|
72 |
+
jQuery(this.selectors.quantityButtonClass)
|
73 |
+
.unbind('click.quantity')
|
74 |
+
.bind('click.quantity', function() {
|
75 |
+
cart.processUpdateQuantity(this);
|
76 |
+
});
|
77 |
+
},
|
78 |
+
|
79 |
+
removeItem: function(el) {
|
80 |
+
var cart = this;
|
81 |
+
if (confirm(el.data('confirm'))) {
|
82 |
+
cart.hideMessage();
|
83 |
+
cart.showOverlay();
|
84 |
+
jQuery.ajax({
|
85 |
+
type: 'POST',
|
86 |
+
dataType: 'json',
|
87 |
+
data: {form_key: cart.formKey},
|
88 |
+
url: el.attr('href')
|
89 |
+
}).done(function(result) {
|
90 |
+
cart.hideOverlay();
|
91 |
+
if (result.success) {
|
92 |
+
cart.updateCartQty(result.qty);
|
93 |
+
cart.updateContentOnRemove(result, el.closest('li'));
|
94 |
+
} else {
|
95 |
+
cart.showMessage(result);
|
96 |
+
}
|
97 |
+
}).error(function() {
|
98 |
+
cart.hideOverlay();
|
99 |
+
cart.showError(cart.defaultErrorMessage);
|
100 |
+
});
|
101 |
+
}
|
102 |
+
},
|
103 |
+
|
104 |
+
revertInvalidValue: function(el) {
|
105 |
+
if (!this.isValidQty(jQuery(el).val()) || jQuery(el).val() == this.previousVal) {
|
106 |
+
jQuery(el).val(this.previousVal);
|
107 |
+
this.hideQuantityButton(el);
|
108 |
+
}
|
109 |
+
},
|
110 |
+
|
111 |
+
displayQuantityButton: function(el) {
|
112 |
+
var buttonId = this.selectors.quantityButtonPrefix + jQuery(el).data('item-id');
|
113 |
+
jQuery(buttonId).addClass('visible').attr('disabled',null);
|
114 |
+
},
|
115 |
+
|
116 |
+
hideQuantityButton: function(el) {
|
117 |
+
var buttonId = this.selectors.quantityButtonPrefix + jQuery(el).data('item-id');
|
118 |
+
jQuery(buttonId).removeClass('visible').attr('disabled','disabled');
|
119 |
+
},
|
120 |
+
|
121 |
+
processUpdateQuantity: function(el) {
|
122 |
+
var input = jQuery(this.selectors.quantityInputPrefix + jQuery(el).data('item-id'));
|
123 |
+
if (this.isValidQty(input.val()) && input.val() != this.previousVal) {
|
124 |
+
this.updateItem(el);
|
125 |
+
} else {
|
126 |
+
this.revertInvalidValue(input);
|
127 |
+
}
|
128 |
+
},
|
129 |
+
|
130 |
+
updateItem: function(el) {
|
131 |
+
var cart = this;
|
132 |
+
var input = jQuery(this.selectors.quantityInputPrefix + jQuery(el).data('item-id'));
|
133 |
+
var quantity = parseInt(input.val(), 10);
|
134 |
+
cart.hideMessage();
|
135 |
+
cart.showOverlay();
|
136 |
+
jQuery.ajax({
|
137 |
+
type: 'POST',
|
138 |
+
dataType: 'json',
|
139 |
+
url: input.data('link'),
|
140 |
+
data: {qty: quantity, form_key: cart.formKey}
|
141 |
+
}).done(function(result) {
|
142 |
+
cart.hideOverlay();
|
143 |
+
if (result.success) {
|
144 |
+
cart.updateCartQty(result.qty);
|
145 |
+
if (quantity !== 0) {
|
146 |
+
cart.updateContentOnUpdate(result);
|
147 |
+
} else {
|
148 |
+
cart.updateContentOnRemove(result, input.closest('li'));
|
149 |
+
}
|
150 |
+
} else {
|
151 |
+
cart.showMessage(result);
|
152 |
+
}
|
153 |
+
}).error(function() {
|
154 |
+
cart.hideOverlay();
|
155 |
+
cart.showError(cart.defaultErrorMessage);
|
156 |
+
});
|
157 |
+
return false;
|
158 |
+
},
|
159 |
+
|
160 |
+
updateContentOnRemove: function(result, el) {
|
161 |
+
var cart = this;
|
162 |
+
el.hide('slow', function() {
|
163 |
+
jQuery(cart.selectors.container).html(result.content);
|
164 |
+
cart.showMessage(result);
|
165 |
+
|
166 |
+
});
|
167 |
+
},
|
168 |
+
|
169 |
+
updateContentOnUpdate: function(result) {
|
170 |
+
jQuery(this.selectors.container).html(result.content);
|
171 |
+
this.showMessage(result);
|
172 |
+
},
|
173 |
+
|
174 |
+
updateCartQty: function(qty) {
|
175 |
+
if (typeof qty != 'undefined') {
|
176 |
+
jQuery(this.selectors.qty).text(qty);
|
177 |
+
}
|
178 |
+
},
|
179 |
+
|
180 |
+
isValidQty: function(val) {
|
181 |
+
return (val.length > 0) && (val - 0 == val) && (val - 0 > 0);
|
182 |
+
},
|
183 |
+
|
184 |
+
showOverlay: function() {
|
185 |
+
jQuery(this.selectors.overlay).addClass('loading');
|
186 |
+
},
|
187 |
+
|
188 |
+
hideOverlay: function() {
|
189 |
+
jQuery(this.selectors.overlay).removeClass('loading');
|
190 |
+
},
|
191 |
+
|
192 |
+
showMessage: function(result) {
|
193 |
+
if (typeof result.notice != 'undefined') {
|
194 |
+
this.showError(result.notice);
|
195 |
+
} else if (typeof result.error != 'undefined') {
|
196 |
+
this.showError(result.error);
|
197 |
+
} else if (typeof result.message != 'undefined') {
|
198 |
+
this.showSuccess(result.message);
|
199 |
+
}
|
200 |
+
},
|
201 |
+
|
202 |
+
hideMessage: function() {
|
203 |
+
jQuery(this.selectors.error).fadeOut('slow');
|
204 |
+
jQuery(this.selectors.success).fadeOut('slow');
|
205 |
+
},
|
206 |
+
|
207 |
+
showError: function(message) {
|
208 |
+
jQuery(this.selectors.error).text(message).fadeIn('slow');
|
209 |
+
},
|
210 |
+
|
211 |
+
showSuccess: function(message) {
|
212 |
+
jQuery(this.selectors.success).text(message).fadeIn('slow');
|
213 |
+
}
|
214 |
+
};
|
skin/frontend/foungento/default/js/modernizr.js
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* Modernizr v2.8.3
|
3 |
+
* www.modernizr.com
|
4 |
+
*
|
5 |
+
* Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
|
6 |
+
* Available under the BSD and MIT licenses: www.modernizr.com/license/
|
7 |
+
*/
|
8 |
+
window.Modernizr=function(a,b,c){function d(a){t.cssText=a}function e(a,b){return d(x.join(a+";")+(b||""))}function f(a,b){return typeof a===b}function g(a,b){return!!~(""+a).indexOf(b)}function h(a,b){for(var d in a){var e=a[d];if(!g(e,"-")&&t[e]!==c)return"pfx"==b?e:!0}return!1}function i(a,b,d){for(var e in a){var g=b[a[e]];if(g!==c)return d===!1?a[e]:f(g,"function")?g.bind(d||b):g}return!1}function j(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+z.join(d+" ")+d).split(" ");return f(b,"string")||f(b,"undefined")?h(e,b):(e=(a+" "+A.join(d+" ")+d).split(" "),i(e,b,c))}function k(){o.input=function(c){for(var d=0,e=c.length;e>d;d++)E[c[d]]=!!(c[d]in u);return E.list&&(E.list=!(!b.createElement("datalist")||!a.HTMLDataListElement)),E}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),o.inputtypes=function(a){for(var d,e,f,g=0,h=a.length;h>g;g++)u.setAttribute("type",e=a[g]),d="text"!==u.type,d&&(u.value=v,u.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(e)&&u.style.WebkitAppearance!==c?(q.appendChild(u),f=b.defaultView,d=f.getComputedStyle&&"textfield"!==f.getComputedStyle(u,null).WebkitAppearance&&0!==u.offsetHeight,q.removeChild(u)):/^(search|tel)$/.test(e)||(d=/^(url|email)$/.test(e)?u.checkValidity&&u.checkValidity()===!1:u.value!=v)),D[a[g]]=!!d;return D}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var l,m,n="2.8.3",o={},p=!0,q=b.documentElement,r="modernizr",s=b.createElement(r),t=s.style,u=b.createElement("input"),v=":)",w={}.toString,x=" -webkit- -moz- -o- -ms- ".split(" "),y="Webkit Moz O ms",z=y.split(" "),A=y.toLowerCase().split(" "),B={svg:"http://www.w3.org/2000/svg"},C={},D={},E={},F=[],G=F.slice,H=function(a,c,d,e){var f,g,h,i,j=b.createElement("div"),k=b.body,l=k||b.createElement("body");if(parseInt(d,10))for(;d--;)h=b.createElement("div"),h.id=e?e[d]:r+(d+1),j.appendChild(h);return f=["­",'<style id="s',r,'">',a,"</style>"].join(""),j.id=r,(k?j:l).innerHTML+=f,l.appendChild(j),k||(l.style.background="",l.style.overflow="hidden",i=q.style.overflow,q.style.overflow="hidden",q.appendChild(l)),g=c(j,a),k?j.parentNode.removeChild(j):(l.parentNode.removeChild(l),q.style.overflow=i),!!g},I=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b)&&c(b).matches||!1;var d;return H("@media "+b+" { #"+r+" { position: absolute; } }",function(b){d="absolute"==(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position}),d},J=function(){function a(a,e){e=e||b.createElement(d[a]||"div"),a="on"+a;var g=a in e;return g||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(a,""),g=f(e[a],"function"),f(e[a],"undefined")||(e[a]=c),e.removeAttribute(a))),e=null,g}var d={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return a}(),K={}.hasOwnProperty;m=f(K,"undefined")||f(K.call,"undefined")?function(a,b){return b in a&&f(a.constructor.prototype[b],"undefined")}:function(a,b){return K.call(a,b)},Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError;var c=G.call(arguments,1),d=function(){if(this instanceof d){var e=function(){};e.prototype=b.prototype;var f=new e,g=b.apply(f,c.concat(G.call(arguments)));return Object(g)===g?g:f}return b.apply(a,c.concat(G.call(arguments)))};return d}),C.flexbox=function(){return j("flexWrap")},C.flexboxlegacy=function(){return j("boxDirection")},C.canvas=function(){var a=b.createElement("canvas");return!(!a.getContext||!a.getContext("2d"))},C.canvastext=function(){return!(!o.canvas||!f(b.createElement("canvas").getContext("2d").fillText,"function"))},C.webgl=function(){return!!a.WebGLRenderingContext},C.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:H(["@media (",x.join("touch-enabled),("),r,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=9===a.offsetTop}),c},C.geolocation=function(){return"geolocation"in navigator},C.postmessage=function(){return!!a.postMessage},C.websqldatabase=function(){return!!a.openDatabase},C.indexedDB=function(){return!!j("indexedDB",a)},C.hashchange=function(){return J("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},C.history=function(){return!(!a.history||!history.pushState)},C.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},C.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},C.rgba=function(){return d("background-color:rgba(150,255,150,.5)"),g(t.backgroundColor,"rgba")},C.hsla=function(){return d("background-color:hsla(120,40%,100%,.5)"),g(t.backgroundColor,"rgba")||g(t.backgroundColor,"hsla")},C.multiplebgs=function(){return d("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(t.background)},C.backgroundsize=function(){return j("backgroundSize")},C.borderimage=function(){return j("borderImage")},C.borderradius=function(){return j("borderRadius")},C.boxshadow=function(){return j("boxShadow")},C.textshadow=function(){return""===b.createElement("div").style.textShadow},C.opacity=function(){return e("opacity:.55"),/^0.55$/.test(t.opacity)},C.cssanimations=function(){return j("animationName")},C.csscolumns=function(){return j("columnCount")},C.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return d((a+"-webkit- ".split(" ").join(b+a)+x.join(c+a)).slice(0,-a.length)),g(t.backgroundImage,"gradient")},C.cssreflections=function(){return j("boxReflect")},C.csstransforms=function(){return!!j("transform")},C.csstransforms3d=function(){var a=!!j("perspective");return a&&"webkitPerspective"in q.style&&H("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b){a=9===b.offsetLeft&&3===b.offsetHeight}),a},C.csstransitions=function(){return j("transition")},C.fontface=function(){var a;return H('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&0===g.indexOf(d.split(" ")[0])}),a},C.generatedcontent=function(){var a;return H(["#",r,"{font:0/0 a}#",r,':after{content:"',v,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},C.video=function(){var a=b.createElement("video"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,""))}catch(d){}return c},C.audio=function(){var a=b.createElement("audio"),c=!1;try{(c=!!a.canPlayType)&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,""))}catch(d){}return c},C.localstorage=function(){try{return localStorage.setItem(r,r),localStorage.removeItem(r),!0}catch(a){return!1}},C.sessionstorage=function(){try{return sessionStorage.setItem(r,r),sessionStorage.removeItem(r),!0}catch(a){return!1}},C.webworkers=function(){return!!a.Worker},C.applicationcache=function(){return!!a.applicationCache},C.svg=function(){return!!b.createElementNS&&!!b.createElementNS(B.svg,"svg").createSVGRect},C.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==B.svg},C.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(w.call(b.createElementNS(B.svg,"animate")))},C.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(w.call(b.createElementNS(B.svg,"clipPath")))};for(var L in C)m(C,L)&&(l=L.toLowerCase(),o[l]=C[L](),F.push((o[l]?"":"no-")+l));return o.input||k(),o.addTest=function(a,b){if("object"==typeof a)for(var d in a)m(a,d)&&o.addTest(d,a[d]);else{if(a=a.toLowerCase(),o[a]!==c)return o;b="function"==typeof b?b():b,"undefined"!=typeof p&&p&&(q.className+=" "+(b?"":"no-")+a),o[a]=b}return o},d(""),s=u=null,function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=s.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=r[a[p]];return b||(b={},q++,a[p]=q,r[q]=b),b}function f(a,c,d){if(c||(c=b),k)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():o.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||n.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),k)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function i(a){a||(a=b);var d=e(a);return!s.shivCSS||j||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||h(a,d),a}var j,k,l="3.7.0",m=a.html5||{},n=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,o=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,p="_html5shiv",q=0,r={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",j="hidden"in a,k=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){j=!0,k=!0}}();var s={elements:m.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:l,shivCSS:m.shivCSS!==!1,supportsUnknownElements:k,shivMethods:m.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=s,i(b)}(this,b),o._version=n,o._prefixes=x,o._domPrefixes=A,o._cssomPrefixes=z,o.mq=I,o.hasEvent=J,o.testProp=function(a){return h([a])},o.testAllProps=j,o.testStyles=H,o.prefixed=function(a,b,c){return b?j(a,b,c):j(a,"pfx")},q.className=q.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(p?" js "+F.join(" "):""),o}(this,this.document);
|
skin/frontend/foungento/default/js/noConflict.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
jQuery.noConflict();
|
skin/frontend/foungento/default/js/responsive-tables.js
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
var switched = false;
|
3 |
+
var updateTables = function() {
|
4 |
+
if ((jQuery(window).width() < 767) && !switched ){
|
5 |
+
switched = true;
|
6 |
+
jQuery("table.responsive").each(function(i, element) {
|
7 |
+
splitTable(jQuery(element));
|
8 |
+
});
|
9 |
+
return true;
|
10 |
+
}
|
11 |
+
else if (switched && (jQuery(window).width() > 767)) {
|
12 |
+
switched = false;
|
13 |
+
jQuery("table.responsive").each(function(i, element) {
|
14 |
+
unsplitTable(jQuery(element));
|
15 |
+
});
|
16 |
+
}
|
17 |
+
};
|
18 |
+
|
19 |
+
jQuery(window).load(updateTables);
|
20 |
+
jQuery(window).on("redraw",function(){switched=false;updateTables();}); // An event to listen for
|
21 |
+
jQuery(window).on("resize", updateTables);
|
22 |
+
|
23 |
+
|
24 |
+
function splitTable(original)
|
25 |
+
{
|
26 |
+
original.wrap("<div class='table-wrapper' />");
|
27 |
+
|
28 |
+
var copy = original.clone();
|
29 |
+
copy.find("td:not(:first-child), th:not(:first-child)").css("display", "none");
|
30 |
+
copy.removeClass("responsive");
|
31 |
+
|
32 |
+
original.closest(".table-wrapper").append(copy);
|
33 |
+
copy.wrap("<div class='pinned' />");
|
34 |
+
original.wrap("<div class='scrollable' />");
|
35 |
+
|
36 |
+
setCellHeights(original, copy);
|
37 |
+
}
|
38 |
+
|
39 |
+
function unsplitTable(original) {
|
40 |
+
original.closest(".table-wrapper").find(".pinned").remove();
|
41 |
+
original.unwrap();
|
42 |
+
original.unwrap();
|
43 |
+
}
|
44 |
+
|
45 |
+
function setCellHeights(original, copy) {
|
46 |
+
var tr = original.find('tr'),
|
47 |
+
tr_copy = copy.find('tr'),
|
48 |
+
heights = [];
|
49 |
+
|
50 |
+
tr.each(function (index) {
|
51 |
+
var self = jQuery(this),
|
52 |
+
tx = self.find('th, td');
|
53 |
+
|
54 |
+
tx.each(function () {
|
55 |
+
var height = jQuery(this).outerHeight(true);
|
56 |
+
heights[index] = heights[index] || 0;
|
57 |
+
if (height > heights[index]) heights[index] = height;
|
58 |
+
});
|
59 |
+
|
60 |
+
});
|
61 |
+
|
62 |
+
tr_copy.each(function (index) {
|
63 |
+
jQuery(this).height(heights[index]);
|
64 |
+
});
|
65 |
+
}
|
66 |
+
|
67 |
+
});
|