Mobile_Shoppe_Responsive_Magento_Theme - Version 1.0.0

Version Notes

A Responsive Magento Theme

Download this release

Release Info

Developer Creative Glance Technologies
Extension Mobile_Shoppe_Responsive_Magento_Theme
Version 1.0.0
Comparing to
See all releases


Version 1.0.0

Files changed (219) hide show
  1. app/design/frontend/default/mobileshoppe/etc/widget.xml +166 -0
  2. app/design/frontend/default/mobileshoppe/layout/catalog.xml +408 -0
  3. app/design/frontend/default/mobileshoppe/layout/catalogsearch.xml +143 -0
  4. app/design/frontend/default/mobileshoppe/layout/checkout.xml +436 -0
  5. app/design/frontend/default/mobileshoppe/layout/cms.xml +84 -0
  6. app/design/frontend/default/mobileshoppe/layout/contacts.xml +48 -0
  7. app/design/frontend/default/mobileshoppe/layout/customer.xml +289 -0
  8. app/design/frontend/default/mobileshoppe/layout/directory.xml +78 -0
  9. app/design/frontend/default/mobileshoppe/layout/local.xml +131 -0
  10. app/design/frontend/default/mobileshoppe/layout/newsletter.xml +71 -0
  11. app/design/frontend/default/mobileshoppe/layout/page.xml +196 -0
  12. app/design/frontend/default/mobileshoppe/layout/payment.xml +38 -0
  13. app/design/frontend/default/mobileshoppe/layout/persistent.xml +58 -0
  14. app/design/frontend/default/mobileshoppe/layout/review.xml +135 -0
  15. app/design/frontend/default/mobileshoppe/layout/rss.xml +94 -0
  16. app/design/frontend/default/mobileshoppe/layout/sales.xml +497 -0
  17. app/design/frontend/default/mobileshoppe/layout/sendfriend.xml +41 -0
  18. app/design/frontend/default/mobileshoppe/layout/tag.xml +135 -0
  19. app/design/frontend/default/mobileshoppe/layout/wishlist.xml +139 -0
  20. app/design/frontend/default/mobileshoppe/locale/en_US/translate.csv +1 -0
  21. app/design/frontend/default/mobileshoppe/template/catalog/layer/filter.phtml +47 -0
  22. app/design/frontend/default/mobileshoppe/template/catalog/layer/state.phtml +55 -0
  23. app/design/frontend/default/mobileshoppe/template/catalog/layer/view.phtml +63 -0
  24. app/design/frontend/default/mobileshoppe/template/catalog/navigation/left.phtml +59 -0
  25. app/design/frontend/default/mobileshoppe/template/catalog/navigation/top.phtml +54 -0
  26. app/design/frontend/default/mobileshoppe/template/catalog/new.phtml +59 -0
  27. app/design/frontend/default/mobileshoppe/template/catalog/new_tabs.phtml +43 -0
  28. app/design/frontend/default/mobileshoppe/template/catalog/product/list.phtml +127 -0
  29. app/design/frontend/default/mobileshoppe/template/catalog/product/list/toolbar_bottom.phtml +50 -0
  30. app/design/frontend/default/mobileshoppe/template/catalog/product/list/toolbar_top.phtml +84 -0
  31. app/design/frontend/default/mobileshoppe/template/catalog/product/list/upsell.phtml +50 -0
  32. app/design/frontend/default/mobileshoppe/template/catalog/product/list_tabs.phtml +57 -0
  33. app/design/frontend/default/mobileshoppe/template/catalog/product/view.phtml +149 -0
  34. app/design/frontend/default/mobileshoppe/template/catalog/product/view/media.phtml +57 -0
  35. app/design/frontend/default/mobileshoppe/template/catalog/product/view/tabs.phtml +78 -0
  36. app/design/frontend/default/mobileshoppe/template/catalogsearch/form.mini.phtml +40 -0
  37. app/design/frontend/default/mobileshoppe/template/checkout/cart.phtml +85 -0
  38. app/design/frontend/default/mobileshoppe/template/checkout/cart/crosssell.phtml +59 -0
  39. app/design/frontend/default/mobileshoppe/template/checkout/cart/item/_default.phtml +304 -0
  40. app/design/frontend/default/mobileshoppe/template/checkout/cart/item/default.phtml +278 -0
  41. app/design/frontend/default/mobileshoppe/template/checkout/multishipping/addresses.phtml +81 -0
  42. app/design/frontend/default/mobileshoppe/template/checkout/onepage/review/info.phtml +62 -0
  43. app/design/frontend/default/mobileshoppe/template/checkout/onepage/review/item.phtml +244 -0
  44. app/design/frontend/default/mobileshoppe/template/checkout/onepage/review/totals.phtml +47 -0
  45. app/design/frontend/default/mobileshoppe/template/checkout/success.phtml +66 -0
  46. app/design/frontend/default/mobileshoppe/template/directory/currency.phtml +53 -0
  47. app/design/frontend/default/mobileshoppe/template/directory/currency/switch.phtml +31 -0
  48. app/design/frontend/default/mobileshoppe/template/newsletter/subscribe.phtml +42 -0
  49. app/design/frontend/default/mobileshoppe/template/page/1column.phtml +63 -0
  50. app/design/frontend/default/mobileshoppe/template/page/2columns-left.phtml +63 -0
  51. app/design/frontend/default/mobileshoppe/template/page/2columns-right.phtml +66 -0
  52. app/design/frontend/default/mobileshoppe/template/page/3columns.phtml +49 -0
  53. app/design/frontend/default/mobileshoppe/template/page/empty.phtml +49 -0
  54. app/design/frontend/default/mobileshoppe/template/page/html/footer.phtml +38 -0
  55. app/design/frontend/default/mobileshoppe/template/page/html/head.phtml +51 -0
  56. app/design/frontend/default/mobileshoppe/template/page/html/header.phtml +58 -0
  57. app/design/frontend/default/mobileshoppe/template/page/html/topmenu.phtml +48 -0
  58. app/design/frontend/default/mobileshoppe/template/page/popup.phtml +48 -0
  59. app/design/frontend/default/mobileshoppe/template/page/print.phtml +55 -0
  60. app/design/frontend/default/mobileshoppe/template/page/switch/languages.phtml +44 -0
  61. app/design/frontend/default/mobileshoppe/template/persistent/checkout/onepage/login.phtml +145 -0
  62. app/design/frontend/default/mobileshoppe/template/persistent/customer/form/login.phtml +91 -0
  63. app/design/frontend/default/mobileshoppe/template/persistent/remember_me_tooltip.phtml +61 -0
  64. app/design/frontend/default/mobileshoppe/template/review/form.phtml +134 -0
  65. app/design/frontend/default/mobileshoppe/template/sales/guest/form.phtml +87 -0
  66. app/design/frontend/default/mobileshoppe/template/sample/home.phtml +35 -0
  67. app/design/frontend/default/mobileshoppe/template/wishlist/item/column/cart.phtml +54 -0
  68. app/design/frontend/default/mobileshoppe/template/wishlist/item/column/image.phtml +33 -0
  69. app/design/frontend/default/mobileshoppe/template/wishlist/item/column/info.phtml +42 -0
  70. app/design/frontend/default/mobileshoppe/template/wishlist/item/column/remove.phtml +31 -0
  71. app/design/frontend/default/mobileshoppe/template/wishlist/item/configure/addto.phtml +39 -0
  72. app/design/frontend/default/mobileshoppe/template/wishlist/item/list.phtml +52 -0
  73. package.xml +26 -0
  74. readme.html +128 -0
  75. skin/frontend/default/mobileshoppe/css/galleria.classic.css +274 -0
  76. skin/frontend/default/mobileshoppe/css/styles.css +2866 -0
  77. skin/frontend/default/mobileshoppe/css/widgets.css +90 -0
  78. skin/frontend/default/mobileshoppe/favicon.ico +0 -0
  79. skin/frontend/default/mobileshoppe/images/Find-Us-twitter.png +0 -0
  80. skin/frontend/default/mobileshoppe/images/Thumbs.db +0 -0
  81. skin/frontend/default/mobileshoppe/images/_bg_footer_social_2.png +0 -0
  82. skin/frontend/default/mobileshoppe/images/_logo.gif +0 -0
  83. skin/frontend/default/mobileshoppe/images/baseline18px.png +0 -0
  84. skin/frontend/default/mobileshoppe/images/bg_CARTbtn_L.png +0 -0
  85. skin/frontend/default/mobileshoppe/images/bg_CARTbtn_R.png +0 -0
  86. skin/frontend/default/mobileshoppe/images/bg_UL_bullet.png +0 -0
  87. skin/frontend/default/mobileshoppe/images/bg_btn_L.png +0 -0
  88. skin/frontend/default/mobileshoppe/images/bg_btn_R.png +0 -0
  89. skin/frontend/default/mobileshoppe/images/bg_footer.png +0 -0
  90. skin/frontend/default/mobileshoppe/images/bg_footer_UL_rightline.png +0 -0
  91. skin/frontend/default/mobileshoppe/images/bg_footer_social.png +0 -0
  92. skin/frontend/default/mobileshoppe/images/bg_footer_social_2.png +0 -0
  93. skin/frontend/default/mobileshoppe/images/bg_header.png +0 -0
  94. skin/frontend/default/mobileshoppe/images/bg_nav.png +0 -0
  95. skin/frontend/default/mobileshoppe/images/bg_search_btn.png +0 -0
  96. skin/frontend/default/mobileshoppe/images/bkg_add-to.gif +0 -0
  97. skin/frontend/default/mobileshoppe/images/bkg_block-layered-title.gif +0 -0
  98. skin/frontend/default/mobileshoppe/images/bkg_body.gif +0 -0
  99. skin/frontend/default/mobileshoppe/images/bkg_btn-green.gif +0 -0
  100. skin/frontend/default/mobileshoppe/images/bkg_btn-small.gif +0 -0
  101. skin/frontend/default/mobileshoppe/images/bkg_btn-small.png +0 -0
  102. skin/frontend/default/mobileshoppe/images/bkg_btn.gif +0 -0
  103. skin/frontend/default/mobileshoppe/images/bkg_btn.png +0 -0
  104. skin/frontend/default/mobileshoppe/images/bkg_cart-totals.gif +0 -0
  105. skin/frontend/default/mobileshoppe/images/bkg_collapse-gm.gif +0 -0
  106. skin/frontend/default/mobileshoppe/images/bkg_collapse.gif +0 -0
  107. skin/frontend/default/mobileshoppe/images/bkg_grid.gif +0 -0
  108. skin/frontend/default/mobileshoppe/images/bkg_nav_parent.gif +0 -0
  109. skin/frontend/default/mobileshoppe/images/bkg_nav_top.gif +0 -0
  110. skin/frontend/default/mobileshoppe/images/bkg_pipe1.gif +0 -0
  111. skin/frontend/default/mobileshoppe/images/bkg_pipe2.gif +0 -0
  112. skin/frontend/default/mobileshoppe/images/bkg_pipe3.gif +0 -0
  113. skin/frontend/default/mobileshoppe/images/bkg_rating.gif +0 -0
  114. skin/frontend/default/mobileshoppe/images/bkg_subtotal.gif +0 -0
  115. skin/frontend/default/mobileshoppe/images/bkg_tabs.gif +0 -0
  116. skin/frontend/default/mobileshoppe/images/bkg_toolbar.gif +0 -0
  117. skin/frontend/default/mobileshoppe/images/bkg_top-promo.gif +0 -0
  118. skin/frontend/default/mobileshoppe/images/bkg_top-promo.png +0 -0
  119. skin/frontend/default/mobileshoppe/images/bkg_top-promo1.gif +0 -0
  120. skin/frontend/default/mobileshoppe/images/border_dotted.png +0 -0
  121. skin/frontend/default/mobileshoppe/images/btn-submit-me.png +0 -0
  122. skin/frontend/default/mobileshoppe/images/btn_checkout.gif +0 -0
  123. skin/frontend/default/mobileshoppe/images/btn_edit.gif +0 -0
  124. skin/frontend/default/mobileshoppe/images/btn_remove.gif +0 -0
  125. skin/frontend/default/mobileshoppe/images/btn_trash.gif +0 -0
  126. skin/frontend/default/mobileshoppe/images/btn_window_close.gif +0 -0
  127. skin/frontend/default/mobileshoppe/images/calendar.gif +0 -0
  128. skin/frontend/default/mobileshoppe/images/catalog/product/placeholder/image.jpg +0 -0
  129. skin/frontend/default/mobileshoppe/images/catalog/product/placeholder/small_image.jpg +0 -0
  130. skin/frontend/default/mobileshoppe/images/catalog/product/placeholder/thumbnail.jpg +0 -0
  131. skin/frontend/default/mobileshoppe/images/classic-loader.gif +0 -0
  132. skin/frontend/default/mobileshoppe/images/classic-map.png +0 -0
  133. skin/frontend/default/mobileshoppe/images/clients_logo.png +0 -0
  134. skin/frontend/default/mobileshoppe/images/cvv.gif +0 -0
  135. skin/frontend/default/mobileshoppe/images/down_arrow.png +0 -0
  136. skin/frontend/default/mobileshoppe/images/f_logo1.jpg +0 -0
  137. skin/frontend/default/mobileshoppe/images/f_logo2.jpg +0 -0
  138. skin/frontend/default/mobileshoppe/images/f_logo3.jpg +0 -0
  139. skin/frontend/default/mobileshoppe/images/f_logo4.jpg +0 -0
  140. skin/frontend/default/mobileshoppe/images/f_logo5.jpg +0 -0
  141. skin/frontend/default/mobileshoppe/images/f_logo6.jpg +0 -0
  142. skin/frontend/default/mobileshoppe/images/f_logo7.jpg +0 -0
  143. skin/frontend/default/mobileshoppe/images/f_logo8.jpg +0 -0
  144. skin/frontend/default/mobileshoppe/images/f_logo9.jpg +0 -0
  145. skin/frontend/default/mobileshoppe/images/fam_book_open.png +0 -0
  146. skin/frontend/default/mobileshoppe/images/glyphicons-halflings-white.png +0 -0
  147. skin/frontend/default/mobileshoppe/images/glyphicons-halflings.png +0 -0
  148. skin/frontend/default/mobileshoppe/images/grid-cal.gif +0 -0
  149. skin/frontend/default/mobileshoppe/images/i_asc_arrow.gif +0 -0
  150. skin/frontend/default/mobileshoppe/images/i_availability_only.gif +0 -0
  151. skin/frontend/default/mobileshoppe/images/i_availability_only_arrow.gif +0 -0
  152. skin/frontend/default/mobileshoppe/images/i_desc_arrow.gif +0 -0
  153. skin/frontend/default/mobileshoppe/images/i_msg-error.gif +0 -0
  154. skin/frontend/default/mobileshoppe/images/i_msg-note.gif +0 -0
  155. skin/frontend/default/mobileshoppe/images/i_msg-success.gif +0 -0
  156. skin/frontend/default/mobileshoppe/images/i_notice.gif +0 -0
  157. skin/frontend/default/mobileshoppe/images/i_pager-next.gif +0 -0
  158. skin/frontend/default/mobileshoppe/images/i_pager-prev.gif +0 -0
  159. skin/frontend/default/mobileshoppe/images/i_print.gif +0 -0
  160. skin/frontend/default/mobileshoppe/images/i_rss-big.png +0 -0
  161. skin/frontend/default/mobileshoppe/images/i_rss.gif +0 -0
  162. skin/frontend/default/mobileshoppe/images/left_arrow.png +0 -0
  163. skin/frontend/default/mobileshoppe/images/linkdin.png +0 -0
  164. skin/frontend/default/mobileshoppe/images/logo.gif +0 -0
  165. skin/frontend/default/mobileshoppe/images/logo.png +0 -0
  166. skin/frontend/default/mobileshoppe/images/logo_email.gif +0 -0
  167. skin/frontend/default/mobileshoppe/images/logo_print.gif +0 -0
  168. skin/frontend/default/mobileshoppe/images/magnifier_handle.gif +0 -0
  169. skin/frontend/default/mobileshoppe/images/map_popup_arrow.gif +0 -0
  170. skin/frontend/default/mobileshoppe/images/media/callout1.jpg +0 -0
  171. skin/frontend/default/mobileshoppe/images/media/footer_callout.png +0 -0
  172. skin/frontend/default/mobileshoppe/images/media/fpo_no_crosssell.gif +0 -0
  173. skin/frontend/default/mobileshoppe/images/media/home_co_bottom.gif +0 -0
  174. skin/frontend/default/mobileshoppe/images/media/home_co_br.gif +0 -0
  175. skin/frontend/default/mobileshoppe/images/media/home_co_main.jpg +0 -0
  176. skin/frontend/default/mobileshoppe/images/media/home_co_tr.gif +0 -0
  177. skin/frontend/default/mobileshoppe/images/media/left_col_callout.jpg +0 -0
  178. skin/frontend/default/mobileshoppe/images/new_prod_1.png +0 -0
  179. skin/frontend/default/mobileshoppe/images/new_prod_2.png +0 -0
  180. skin/frontend/default/mobileshoppe/images/new_prod_3.png +0 -0
  181. skin/frontend/default/mobileshoppe/images/new_prod_4.png +0 -0
  182. skin/frontend/default/mobileshoppe/images/opc-ajax-loader.gif +0 -0
  183. skin/frontend/default/mobileshoppe/images/open_arrow.png +0 -0
  184. skin/frontend/default/mobileshoppe/images/pager_arrow_left.gif +0 -0
  185. skin/frontend/default/mobileshoppe/images/pager_arrow_right.gif +0 -0
  186. skin/frontend/default/mobileshoppe/images/portfolio.png +0 -0
  187. skin/frontend/default/mobileshoppe/images/portfolio2.png +0 -0
  188. skin/frontend/default/mobileshoppe/images/portfolio3.png +0 -0
  189. skin/frontend/default/mobileshoppe/images/portfolio4.png +0 -0
  190. skin/frontend/default/mobileshoppe/images/right_arrow.png +0 -0
  191. skin/frontend/default/mobileshoppe/images/search-icon.png +0 -0
  192. skin/frontend/default/mobileshoppe/images/search_btn.png +0 -0
  193. skin/frontend/default/mobileshoppe/images/signup_pic.png +0 -0
  194. skin/frontend/default/mobileshoppe/images/slider/bg_control_nav.png +0 -0
  195. skin/frontend/default/mobileshoppe/images/slider/bg_direction_nav.png +0 -0
  196. skin/frontend/default/mobileshoppe/images/slider/body.png +0 -0
  197. skin/frontend/default/mobileshoppe/images/slider/iphone.jpg +0 -0
  198. skin/frontend/default/mobileshoppe/images/slider/mcpro.jpg +0 -0
  199. skin/frontend/default/mobileshoppe/images/slider_bg.gif +0 -0
  200. skin/frontend/default/mobileshoppe/images/slider_btn_zoom_in.gif +0 -0
  201. skin/frontend/default/mobileshoppe/images/slider_btn_zoom_out.gif +0 -0
  202. skin/frontend/default/mobileshoppe/images/slider_img_1.png +0 -0
  203. skin/frontend/default/mobileshoppe/images/slider_selector.png +0 -0
  204. skin/frontend/default/mobileshoppe/images/slider_selector_current.png +0 -0
  205. skin/frontend/default/mobileshoppe/images/spacer.gif +0 -0
  206. skin/frontend/default/mobileshoppe/images/special_pic.png +0 -0
  207. skin/frontend/default/mobileshoppe/images/trans-03-16px.png +0 -0
  208. skin/frontend/default/mobileshoppe/images/validation_advice_bg.gif +0 -0
  209. skin/frontend/default/mobileshoppe/images/widgets/i_widget-link.gif +0 -0
  210. skin/frontend/default/mobileshoppe/js/accordion.js +21 -0
  211. skin/frontend/default/mobileshoppe/js/ddaccordion.js +249 -0
  212. skin/frontend/default/mobileshoppe/js/galleria-1.2.7.js +5655 -0
  213. skin/frontend/default/mobileshoppe/js/galleria-1.2.7.min.js +9 -0
  214. skin/frontend/default/mobileshoppe/js/galleria.classic.js +95 -0
  215. skin/frontend/default/mobileshoppe/js/galleria.classic.min.js +8 -0
  216. skin/frontend/default/mobileshoppe/js/jquery-1.7.2.min.js +4 -0
  217. skin/frontend/default/mobileshoppe/js/jquery.flexslider-min.js +11 -0
  218. skin/frontend/default/mobileshoppe/js/jquery.flexslider.js +340 -0
  219. skin/frontend/default/mobileshoppe/js/jquery.mobile-1.1.0.min.js +176 -0
app/design/frontend/default/mobileshoppe/etc/widget.xml ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <widgets>
29
+ <new_products>
30
+ <parameters>
31
+ <template>
32
+ <values>
33
+ <list_default translate="label">
34
+ <value>catalog/product/widget/new/column/new_default_list.phtml</value>
35
+ <label>New Products Images and Names Template</label>
36
+ </list_default>
37
+ <list_names translate="label">
38
+ <value>catalog/product/widget/new/column/new_names_list.phtml</value>
39
+ <label>New Products Names Only Template</label>
40
+ </list_names>
41
+ <list_images translate="label">
42
+ <value>catalog/product/widget/new/column/new_images_list.phtml</value>
43
+ <label>New Products Images Only Template</label>
44
+ </list_images>
45
+ </values>
46
+ </template>
47
+ </parameters>
48
+ <supported_blocks>
49
+ <left_column>
50
+ <block_name>left</block_name>
51
+ <template>
52
+ <default>list_default</default>
53
+ <names_only>list_names</names_only>
54
+ <images_only>list_images</images_only>
55
+ </template>
56
+ </left_column>
57
+ <main_content>
58
+ <block_name>content</block_name>
59
+ <template>
60
+ <grid>default</grid>
61
+ <list>list</list>
62
+ </template>
63
+ </main_content>
64
+ <right_column>
65
+ <block_name>right</block_name>
66
+ <template>
67
+ <default>list_default</default>
68
+ <names_only>list_names</names_only>
69
+ <images_only>list_images</images_only>
70
+ </template>
71
+ </right_column>
72
+ </supported_blocks>
73
+ </new_products>
74
+
75
+ <recently_viewed>
76
+ <parameters>
77
+ <template>
78
+ <values>
79
+ <list_default translate="label">
80
+ <value>reports/widget/viewed/column/viewed_default_list.phtml</value>
81
+ <label>Viewed Products Images and Names Template</label>
82
+ </list_default>
83
+ <list_names translate="label">
84
+ <value>reports/widget/viewed/column/viewed_names_list.phtml</value>
85
+ <label>Viewed Products Names Only Template</label>
86
+ </list_names>
87
+ <list_images translate="label">
88
+ <value>reports/widget/viewed/column/viewed_images_list.phtml</value>
89
+ <label>Viewed Products Images Only Template</label>
90
+ </list_images>
91
+ </values>
92
+ </template>
93
+ </parameters>
94
+ <supported_blocks>
95
+ <left_column>
96
+ <block_name>left</block_name>
97
+ <template>
98
+ <default>list_default</default>
99
+ <names_only>list_names</names_only>
100
+ <images_only>list_images</images_only>
101
+ </template>
102
+ </left_column>
103
+ <main_content>
104
+ <block_name>content</block_name>
105
+ <template>
106
+ <grid>default</grid>
107
+ <list>list</list>
108
+ </template>
109
+ </main_content>
110
+ <right_column>
111
+ <block_name>right</block_name>
112
+ <template>
113
+ <default>list_default</default>
114
+ <names_only>list_names</names_only>
115
+ <images_only>list_images</images_only>
116
+ </template>
117
+ </right_column>
118
+ </supported_blocks>
119
+ </recently_viewed>
120
+
121
+ <recently_compared>
122
+ <parameters>
123
+ <template>
124
+ <values>
125
+ <list_default translate="label">
126
+ <value>reports/widget/compared/column/compared_default_list.phtml</value>
127
+ <label>Compared Products Images and Names Template</label>
128
+ </list_default>
129
+ <list_names translate="label">
130
+ <value>reports/widget/compared/column/compared_names_list.phtml</value>
131
+ <label>Compared Product Names Only Template</label>
132
+ </list_names>
133
+ <list_images translate="label">
134
+ <value>reports/widget/compared/column/compared_images_list.phtml</value>
135
+ <label>Compared Product Images Only Template</label>
136
+ </list_images>
137
+ </values>
138
+ </template>
139
+ </parameters>
140
+ <supported_blocks>
141
+ <left_column>
142
+ <block_name>left</block_name>
143
+ <template>
144
+ <default>list_default</default>
145
+ <names_only>list_names</names_only>
146
+ <images_only>list_images</images_only>
147
+ </template>
148
+ </left_column>
149
+ <main_content>
150
+ <block_name>content</block_name>
151
+ <template>
152
+ <grid>default</grid>
153
+ <list>list</list>
154
+ </template>
155
+ </main_content>
156
+ <right_column>
157
+ <block_name>right</block_name>
158
+ <template>
159
+ <default>list_default</default>
160
+ <names_only>list_names</names_only>
161
+ <images_only>list_images</images_only>
162
+ </template>
163
+ </right_column>
164
+ </supported_blocks>
165
+ </recently_compared>
166
+ </widgets>
app/design/frontend/default/mobileshoppe/layout/catalog.xml ADDED
@@ -0,0 +1,408 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ Supported layout update handles (action):
29
+ - catalog_product_gallery
30
+ - catalog_product_compare_index
31
+
32
+ Supported layout update handles (special):
33
+ - default
34
+ - catalog_category_default
35
+ - catalog_category_layered
36
+ - catalog_product_view
37
+
38
+ -->
39
+ <layout version="0.1.0">
40
+
41
+ <!--
42
+ Default layout, loads most of the pages
43
+ -->
44
+
45
+ <default>
46
+
47
+ <reference name="footer_links">
48
+ <action method="addLink" translate="label title" module="catalog" ifconfig="catalog/seo/site_map"><label>Site Map</label><url helper="catalog/map/getCategoryUrl" /><title>Site Map</title></action>
49
+ </reference>
50
+ <reference name="left">
51
+ <block type="catalog/product_compare_sidebar" before="cart_sidebar" name="catalog.compare.sidebar" template="catalog/product/compare/sidebar.phtml"/>
52
+ </reference>
53
+ <block type="catalog/product_price_template" name="catalog_product_price_template" />
54
+ </default>
55
+
56
+
57
+ <!--
58
+ Category default layout
59
+ -->
60
+
61
+ <catalog_category_default translate="label">
62
+ <label>Catalog Category (Non-Anchor)</label>
63
+ <reference name="root">
64
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
65
+ </reference>
66
+ <reference name="right">
67
+ <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
68
+ </reference>
69
+ <reference name="content">
70
+ <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
71
+ <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
72
+ <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
73
+ <block type="page/html_pager" name="product_list_toolbar_pager"/>
74
+ <!-- The following code shows how to set your own pager increments -->
75
+ <!--
76
+ <action method="setDefaultListPerPage"><limit>10</limit></action>
77
+ <action method="setDefaultGridPerPage"><limit>8</limit></action>
78
+ <action method="addPagerLimit"><mode>list</mode><limit>10</limit></action>
79
+ <action method="addPagerLimit"><mode>list</mode><limit>20</limit></action>
80
+ <action method="addPagerLimit"><mode>list</mode><limit>30</limit></action>
81
+ <action method="addPagerLimit" translate="label"><mode>list</mode><limit>all</limit><label>All</label></action>
82
+ <action method="addPagerLimit"><mode>grid</mode><limit>8</limit></action>
83
+ <action method="addPagerLimit"><mode>grid</mode><limit>16</limit></action>
84
+ <action method="addPagerLimit"><mode>grid</mode><limit>24</limit></action>
85
+ <action method="addPagerLimit" translate="label"><mode>grid</mode><limit>all</limit><label>All</label></action>
86
+ -->
87
+ </block>
88
+ <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
89
+ <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
90
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
91
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
92
+ <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
93
+ <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
94
+ </block>
95
+ </block>
96
+ </reference>
97
+ </catalog_category_default>
98
+
99
+ <!--
100
+ Category layered navigation layout
101
+ -->
102
+
103
+ <catalog_category_layered translate="label">
104
+ <label>Catalog Category (Anchor)</label>
105
+ <reference name="root">
106
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
107
+ </reference>
108
+ <reference name="left">
109
+ <block type="catalog/layer_view" name="catalog.leftnav" after="currency" before="-" template="catalog/layer/view.phtml"/>
110
+ </reference>
111
+ <reference name="content">
112
+ <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
113
+ <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
114
+ <!-- <action method="addReviewSummaryTemplate"><type>default</type><template>review/helper/su.phtml</template></action> -->
115
+ <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
116
+ <block type="page/html_pager" name="product_list_toolbar_pager"/>
117
+ <!-- The following code shows how to set your own pager increments -->
118
+ <!--
119
+ <action method="setDefaultListPerPage"><limit>10</limit></action>
120
+ <action method="setDefaultGridPerPage"><limit>8</limit></action>
121
+ <action method="addPagerLimit"><mode>list</mode><limit>10</limit></action>
122
+ <action method="addPagerLimit"><mode>list</mode><limit>20</limit></action>
123
+ <action method="addPagerLimit"><mode>list</mode><limit>30</limit></action>
124
+ <action method="addPagerLimit" translate="label"><mode>list</mode><limit>all</limit><label>All</label></action>
125
+ <action method="addPagerLimit"><mode>grid</mode><limit>8</limit></action>
126
+ <action method="addPagerLimit"><mode>grid</mode><limit>16</limit></action>
127
+ <action method="addPagerLimit"><mode>grid</mode><limit>24</limit></action>
128
+ <action method="addPagerLimit" translate="label"><mode>grid</mode><limit>all</limit><label>All</label></action>
129
+ -->
130
+ </block>
131
+ <action method="setColumnCount"><count>3</count></action>
132
+ <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
133
+ <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
134
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
135
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
136
+ <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
137
+ <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
138
+ </block>
139
+ </block>
140
+ </reference>
141
+ </catalog_category_layered>
142
+
143
+ <!--
144
+ Compare products page
145
+ -->
146
+
147
+ <catalog_product_compare_index translate="label">
148
+ <label>Catalog Product Compare List</label>
149
+ <!-- Mage_Catalog -->
150
+ <reference name="root">
151
+ <action method="setTemplate"><template>page/popup.phtml</template></action>
152
+ </reference>
153
+ <reference name="head">
154
+ <action method="addJs"><script>scriptaculous/scriptaculous.js</script></action>
155
+ <action method="addJs"><script>varien/product.js</script></action>
156
+ </reference>
157
+ <reference name="content">
158
+ <block type="catalog/product_compare_list" name="catalog.compare.list" template="catalog/product/compare/list.phtml"/>
159
+ </reference>
160
+ </catalog_product_compare_index>
161
+
162
+ <!--
163
+ Product view
164
+ -->
165
+
166
+ <catalog_product_view translate="label">
167
+ <label>Catalog Product View (Any)</label>
168
+ <!-- Mage_Catalog -->
169
+ <reference name="root">
170
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
171
+ </reference>
172
+ <reference name="head">
173
+ <action method="addJs"><script>varien/product.js</script></action>
174
+ <action method="addJs"><script>varien/configurable.js</script></action>
175
+
176
+ <action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action>
177
+ <action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
178
+ <action method="addItem"><type>js</type><name>calendar/calendar-setup.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
179
+ </reference>
180
+ <reference name="content">
181
+ <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
182
+ <!--
183
+ <action method="addReviewSummaryTemplate"><type>default</type><template>review/helper/summary.phtml</template></action>
184
+ <action method="addReviewSummaryTemplate"><type>short</type><template>review/helper/summary_short.phtml</template></action>
185
+ <action method="addReviewSummaryTemplate"><type>...</type><template>...</template></action>
186
+ -->
187
+ <block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/>
188
+ <block type="core/text_list" name="alert.urls" as="alert_urls" translate="label">
189
+ <label>Alert Urls</label>
190
+ </block>
191
+
192
+ <action method="setTierPriceTemplate"><template>catalog/product/view/tierprices.phtml</template></action>
193
+
194
+ <block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" >
195
+ <action method="addTab" translate="title" module="catalog"><alias>description</alias><title>Product Description</title><block>catalog/product_view_description</block><template>catalog/product/view/description.phtml</template></action>
196
+ <action method="addTab" translate="title" module="catalog"><alias>upsell_products</alias><title>We Also Recommend</title><block>catalog/product_list_upsell</block><template>catalog/product/list/upsell.phtml</template></action>
197
+ <action method="addTab" translate="title" module="catalog"><alias>additional</alias><title>Additional Information</title><block>catalog/product_view_attributes</block><template>catalog/product/view/attributes.phtml</template></action>
198
+ </block>
199
+
200
+ <block type="catalog/product_view_additional" name="product.info.additional" as="product_additional_data" />
201
+ <block type="catalog/product_view" name="product.info.addto" as="addto" template="catalog/product/view/addto.phtml"/>
202
+ <block type="catalog/product_view" name="product.info.addtocart" as="addtocart" template="catalog/product/view/addtocart.phtml"/>
203
+
204
+ <block type="core/text_list" name="product.info.extrahint" as="extrahint" translate="label">
205
+ <label>Product View Extra Hint</label>
206
+ </block>
207
+
208
+ <block type="catalog/product_view" name="product.info.options.wrapper" as="product_options_wrapper" template="catalog/product/view/options/wrapper.phtml" translate="label">
209
+ <label>Info Column Options Wrapper</label>
210
+ <block type="core/template" name="options_js" template="catalog/product/view/options/js.phtml"/>
211
+ <block type="catalog/product_view_options" name="product.info.options" as="product_options" template="catalog/product/view/options.phtml">
212
+ <action method="addOptionRenderer"><type>text</type><block>catalog/product_view_options_type_text</block><template>catalog/product/view/options/type/text.phtml</template></action>
213
+ <action method="addOptionRenderer"><type>file</type><block>catalog/product_view_options_type_file</block><template>catalog/product/view/options/type/file.phtml</template></action>
214
+ <action method="addOptionRenderer"><type>select</type><block>catalog/product_view_options_type_select</block><template>catalog/product/view/options/type/select.phtml</template></action>
215
+ <action method="addOptionRenderer"><type>date</type><block>catalog/product_view_options_type_date</block><template>catalog/product/view/options/type/date.phtml</template></action>
216
+ </block>
217
+ <block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml"/>
218
+ </block>
219
+ <block type="catalog/product_view" name="product.info.options.wrapper.bottom" as="product_options_wrapper_bottom" template="catalog/product/view/options/wrapper/bottom.phtml" translate="label">
220
+ <label>Bottom Block Options Wrapper</label>
221
+ <action method="insert"><block>product.tierprices</block></action>
222
+ <block type="catalog/product_view" name="product.clone_prices" as="prices" template="catalog/product/view/price_clone.phtml"/>
223
+ <action method="append"><block>product.info.addtocart</block></action>
224
+ <action method="append"><block>product.info.addto</block></action>
225
+ </block>
226
+
227
+ <block type="core/template_facade" name="product.info.container1" as="container1">
228
+ <action method="setDataByKey"><key>alias_in_layout</key><value>container1</value></action>
229
+ <action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action>
230
+ <action method="append"><block>product.info.options.wrapper</block></action>
231
+ <action method="append"><block>product.info.options.wrapper.bottom</block></action>
232
+ </block>
233
+ <block type="core/template_facade" name="product.info.container2" as="container2">
234
+ <action method="setDataByKey"><key>alias_in_layout</key><value>container2</value></action>
235
+ <action method="setDataByKeyFromRegistry"><key>options_container</key><key_in_registry>product</key_in_registry></action>
236
+ <action method="append"><block>product.info.options.wrapper</block></action>
237
+ <action method="append"><block>product.info.options.wrapper.bottom</block></action>
238
+ </block>
239
+ <action method="unsetCallChild"><child>container1</child><call>ifEquals</call><if>0</if><key>alias_in_layout</key><key>options_container</key></action>
240
+ <action method="unsetCallChild"><child>container2</child><call>ifEquals</call><if>0</if><key>alias_in_layout</key><key>options_container</key></action>
241
+ </block>
242
+ </reference>
243
+ <reference name="upsell_products">
244
+ <action method="setColumnCount"><columns>5</columns></action>
245
+ <action method="setItemLimit"><type>upsell</type><limit>5</limit></action>
246
+ </reference>
247
+ <reference name="left">
248
+ <block type="catalog/product_list_related" name="catalog.product.related" before="-" template="catalog/product/list/related.phtml"/>
249
+ </reference>
250
+ </catalog_product_view>
251
+
252
+ <!--
253
+ Additional block dependant on product type
254
+ -->
255
+ <PRODUCT_TYPE_simple translate="label" module="catalog">
256
+ <label>Catalog Product View (Simple)</label>
257
+ <reference name="product.info">
258
+ <block type="catalog/product_view_type_simple" name="product.info.simple" as="product_type_data" template="catalog/product/view/type/default.phtml">
259
+ <block type="core/text_list" name="product.info.simple.extra" as="product_type_data_extra" translate="label">
260
+ <label>Product Extra Info</label>
261
+ </block>
262
+ </block>
263
+ </reference>
264
+ </PRODUCT_TYPE_simple>
265
+ <PRODUCT_TYPE_configurable translate="label" module="catalog">
266
+ <label>Catalog Product View (Configurable)</label>
267
+ <reference name="product.info">
268
+ <block type="catalog/product_view_type_configurable" name="product.info.configurable" as="product_type_data" template="catalog/product/view/type/default.phtml">
269
+ <block type="core/text_list" name="product.info.configurable.extra" as="product_type_data_extra" translate="label">
270
+ <label>Product Extra Info</label>
271
+ </block>
272
+ </block>
273
+ </reference>
274
+ <reference name="product.info.options.wrapper">
275
+ <block type="catalog/product_view_type_configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="catalog/product/view/type/options/configurable.phtml"/>
276
+ </reference>
277
+ </PRODUCT_TYPE_configurable>
278
+ <PRODUCT_TYPE_grouped translate="label" module="catalog">
279
+ <label>Catalog Product View (Grouped)</label>
280
+ <reference name="product.info">
281
+ <block type="catalog/product_view_type_grouped" name="product.info.grouped" as="product_type_data" template="catalog/product/view/type/grouped.phtml">
282
+ <block type="core/text_list" name="product.info.grouped.extra" as="product_type_data_extra" translate="label">
283
+ <label>Product Extra Info</label>
284
+ </block>
285
+ </block>
286
+ </reference>
287
+ </PRODUCT_TYPE_grouped>
288
+ <PRODUCT_TYPE_virtual translate="label" module="catalog">
289
+ <label>Catalog Product View (Virtual)</label>
290
+ <reference name="product.info">
291
+ <block type="catalog/product_view_type_virtual" name="product.info.virtual" as="product_type_data" template="catalog/product/view/type/default.phtml">
292
+ <block type="core/text_list" name="product.info.virtual.extra" as="product_type_data_extra" translate="label">
293
+ <label>Product Extra Info</label>
294
+ </block>
295
+ </block>
296
+ </reference>
297
+ </PRODUCT_TYPE_virtual>
298
+
299
+
300
+
301
+ <!--
302
+ Product send to friend
303
+ -->
304
+
305
+ <catalog_product_send translate="label">
306
+ <label>Catalog Product Email to a Friend</label>
307
+ <!-- Mage_Catalog -->
308
+ <reference name="root">
309
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
310
+ </reference>
311
+ <reference name="head">
312
+ <action method="addJs"><script>varien/product.js</script></action>
313
+ </reference>
314
+ <reference name="content">
315
+ <block type="catalog/product_send" name="product.send" template="catalog/product/send.phtml">
316
+ </block>
317
+ </reference>
318
+ </catalog_product_send>
319
+
320
+ <!--
321
+ Product additional images gallery popup
322
+ -->
323
+
324
+ <catalog_product_gallery translate="label">
325
+ <label>Catalog Product Image Gallery Popup</label>
326
+ <!-- Mage_Catalog -->
327
+ <reference name="root">
328
+ <action method="setTemplate"><template>page/popup.phtml</template></action>
329
+ </reference>
330
+ <reference name="content">
331
+ <block type="catalog/product_gallery" name="catalog_product_gallery" template="catalog/product/gallery.phtml"/>
332
+ </reference>
333
+ </catalog_product_gallery>
334
+
335
+ <!--
336
+ SEO Site Map
337
+ -->
338
+
339
+ <catalog_seo_sitemap translate="label">
340
+ <label>Catalog Seo Sitemap (Common)</label>
341
+ <remove name="right"/>
342
+ <remove name="left"/>
343
+
344
+ <reference name="root">
345
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
346
+ </reference>
347
+ <reference name="content">
348
+ <block type="page/template_container" name="seo.sitemap.container" template="catalog/seo/sitemap/container.phtml">
349
+ <block type="page/template_links" name="seo.sitemap.links" as="links" template="page/template/links.phtml"/>
350
+ <block type="page/html_pager" name="seo.sitemap.pager.top" as="pager_top" template="page/html/pager.phtml"/>
351
+ <block type="page/html_pager" name="seo.sitemap.pager.bottom" as="pager_bottom" template="page/html/pager.phtml"/>
352
+ </block>
353
+ </reference>
354
+ </catalog_seo_sitemap>
355
+
356
+ <catalog_seo_sitemap_category translate="label">
357
+ <label>Catalog Seo Sitemap (Category List)</label>
358
+ <reference name="head">
359
+ <action method="setTitle" translate="title" module="catalog"><title>Site Map</title></action>
360
+ </reference>
361
+ <update handle="catalog_seo_sitemap" />
362
+ <reference name="seo.sitemap.container">
363
+ <action method="setTitle" translate="title" module="catalog"><title>Categories</title></action>
364
+ <block type="catalog/seo_sitemap_category" name="seo.sitemap.sitemap" as="sitemap" after="pager_top" template="catalog/seo/sitemap.phtml">
365
+ <action method="bindPager"><pager>seo.sitemap.pager.top</pager></action>
366
+ <action method="bindPager"><pager>seo.sitemap.pager.bottom</pager></action>
367
+ <action method="setItemsTitle" translate="title" module="catalog"><title>categories</title></action>
368
+ </block>
369
+ </reference>
370
+ <reference name="seo.sitemap.links">
371
+ <action method="addLink" translate="label title" module="catalog"><label>Products Sitemap</label><url helper="catalog/map/getProductUrl"/><title>Products Sitemap</title></action>
372
+ </reference>
373
+ </catalog_seo_sitemap_category>
374
+
375
+ <catalog_seo_sitemap_category_tree translate="label">
376
+ <label>Catalog Seo Sitemap (Category Tree)</label>
377
+ <reference name="seo.sitemap.container">
378
+ <remove name="seo.sitemap.pager.top" />
379
+ <remove name="seo.sitemap.pager.bottom" />
380
+ <block type="catalog/seo_sitemap_tree_pager" name="seo.sitemap.tree.pager.top" as="pager_top" template="page/html/pager.phtml"/>
381
+ <block type="catalog/seo_sitemap_tree_pager" name="seo.sitemap.tree.pager.bottom" as="pager_bottom" template="page/html/pager.phtml"/>
382
+ <remove name="seo.sitemap.sitemap" />
383
+ <block type="catalog/seo_sitemap_tree_category" name="seo.sitemap.sitemap_tree" as="sitemap" after="pager_top" template="catalog/seo/tree.phtml">
384
+ <action method="bindPager"><pager>seo.sitemap.tree.pager.top</pager></action>
385
+ <action method="bindPager"><pager>seo.sitemap.tree.pager.bottom</pager></action>
386
+ </block>
387
+ </reference>
388
+ </catalog_seo_sitemap_category_tree>
389
+
390
+ <catalog_seo_sitemap_product translate="label">
391
+ <label>Catalog Seo Sitemap (Product List)</label>
392
+ <reference name="head">
393
+ <action method="setTitle" translate="title" module="catalog"><title>Site Map</title></action>
394
+ </reference>
395
+ <update handle="catalog_seo_sitemap" />
396
+ <reference name="seo.sitemap.container">
397
+ <action method="setTitle" translate="title" module="catalog"><title>Products</title></action>
398
+ <block type="catalog/seo_sitemap_product" name="seo.sitemap.sitemap" as="sitemap" after="pager_top" template="catalog/seo/sitemap.phtml">
399
+ <action method="bindPager"><pager>seo.sitemap.pager.top</pager></action>
400
+ <action method="bindPager"><pager>seo.sitemap.pager.bottom</pager></action>
401
+ <action method="setItemsTitle" translate="title" module="catalog"><title>products</title></action>
402
+ </block>
403
+ </reference>
404
+ <reference name="seo.sitemap.links">
405
+ <action method="addLink" translate="label title" module="catalog"><label>Categories Sitemap</label><url helper="catalog/map/getCategoryUrl"/><title>Categories Sitemap</title></action>
406
+ </reference>
407
+ </catalog_seo_sitemap_product>
408
+ </layout>
app/design/frontend/default/mobileshoppe/layout/catalogsearch.xml ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+
31
+ <default>
32
+ <reference name="top.bar">
33
+ <block type="core/template" name="top.search" as="topSearch" template="catalogsearch/form.mini.phtml"/>
34
+ </reference>
35
+ <reference name="footer_links">
36
+ <action method="addLink" translate="label title" module="catalogsearch" ifconfig="catalog/seo/search_terms">
37
+ <label>Search Terms</label>
38
+ <url helper="catalogsearch/getSearchTermUrl" />
39
+ <title>Search Terms</title>
40
+ </action>
41
+ <action method="addLink" translate="label title" module="catalogsearch">
42
+ <label>Advanced Search</label>
43
+ <url helper="catalogsearch/getAdvancedSearchUrl" />
44
+ <title>Advanced Search</title>
45
+ </action>
46
+ </reference>
47
+ </default>
48
+
49
+ <catalogsearch_result_index translate="label">
50
+ <label>Quick Search Form</label>
51
+ <update handle="page_two_columns_left" />
52
+ <reference name="root">
53
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
54
+ </reference>
55
+ <reference name="left">
56
+ <block type="catalogsearch/layer" name="catalogsearch.leftnav" after="currency" template="catalog/layer/view.phtml"/>
57
+ </reference>
58
+ <reference name="content">
59
+ <block type="catalogsearch/result" name="search.result" template="catalogsearch/result.phtml">
60
+ <block type="catalog/product_list" name="search_result_list" template="catalog/product/list.phtml">
61
+ <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
62
+ <block type="page/html_pager" name="product_list_toolbar_pager"/>
63
+ </block>
64
+ <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
65
+ <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
66
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
67
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
68
+ <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
69
+ <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
70
+ </block>
71
+ <action method="setListOrders"/>
72
+ <action method="setListModes"/>
73
+ <action method="setListCollection"/>
74
+ </block>
75
+ </reference>
76
+ </catalogsearch_result_index>
77
+
78
+ <catalogsearch_advanced_index translate="label">
79
+ <label>Advanced Search Form</label>
80
+ <!-- Mage_Catalogsearch -->
81
+ <reference name="root">
82
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
83
+ </reference>
84
+ <reference name="head">
85
+ <action method="setTitle" translate="title" module="catalogsearch"><title>Advanced Search</title></action>
86
+ <action method="addItem"><type>js_css</type><name>calendar/calendar-win2k-1.css</name><params/><!--<if/><condition>can_load_calendar_js</condition>--></action>
87
+ <action method="addItem"><type>js</type><name>calendar/calendar.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
88
+ <action method="addItem"><type>js</type><name>calendar/calendar-setup.js</name><!--<params/><if/><condition>can_load_calendar_js</condition>--></action>
89
+ </reference>
90
+ <reference name="content">
91
+ <block type="catalogsearch/advanced_form" name="catalogsearch_advanced_form" template="catalogsearch/advanced/form.phtml"/>
92
+ <block type="core/html_calendar" name="html_calendar" as="html_calendar" template="page/js/calendar.phtml"/>
93
+ </reference>
94
+ </catalogsearch_advanced_index>
95
+
96
+ <!--
97
+ Advanced search results
98
+ -->
99
+
100
+ <catalogsearch_advanced_result translate="label">
101
+ <label>Advanced Search Result</label>
102
+ <update handle="page_two_columns_left" />
103
+ <!-- Mage_Catalogsearch -->
104
+ <reference name="root">
105
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
106
+ </reference>
107
+ <reference name="content">
108
+ <block type="catalogsearch/advanced_result" name="catalogsearch_advanced_result" template="catalogsearch/advanced/result.phtml">
109
+ <block type="catalog/product_list" name="search_result_list" template="catalog/product/list.phtml">
110
+ <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
111
+ <block type="page/html_pager" name="product_list_toolbar_pager"/>
112
+ </block>
113
+ <action method="addColumnCountLayoutDepend"><layout>empty</layout><count>6</count></action>
114
+ <action method="addColumnCountLayoutDepend"><layout>one_column</layout><count>5</count></action>
115
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_left</layout><count>4</count></action>
116
+ <action method="addColumnCountLayoutDepend"><layout>two_columns_right</layout><count>4</count></action>
117
+ <action method="addColumnCountLayoutDepend"><layout>three_columns</layout><count>3</count></action>
118
+ <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
119
+ </block>
120
+ <action method="setListOrders"/>
121
+ <action method="setListModes"/>
122
+ <action method="setListCollection"/>
123
+ </block>
124
+ </reference>
125
+ </catalogsearch_advanced_result>
126
+
127
+ <catalogsearch_term_popular translate="label">
128
+ <label>Popular Search Terms</label>
129
+ <remove name="right"/>
130
+ <remove name="left"/>
131
+
132
+ <reference name="head">
133
+ <action method="setTitle" translate="title" module="catalogsearch"><title>Search Terms</title></action>
134
+ </reference>
135
+ <reference name="root">
136
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
137
+ </reference>
138
+ <reference name="content">
139
+ <block type="catalogsearch/term" name="seo.searchterm" template="catalogsearch/term.phtml"/>
140
+ </reference>
141
+ </catalogsearch_term_popular>
142
+
143
+ </layout>
app/design/frontend/default/mobileshoppe/layout/checkout.xml ADDED
@@ -0,0 +1,436 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+
31
+ <!--
32
+ Default layout, loads most of the pages
33
+ -->
34
+
35
+ <default>
36
+ <!-- Mage_Checkout -->
37
+ <reference name="top.links">
38
+ <block type="checkout/links" name="checkout_cart_link">
39
+ <action method="addCartLink"></action>
40
+ <action method="addCheckoutLink"></action>
41
+ </block>
42
+ </reference>
43
+ <reference name="left">
44
+ <block type="checkout/cart_sidebar" name="cart_sidebar" template="checkout/cart/sidebar.phtml" before="-">
45
+ <action method="addItemRender"><type>simple</type><block>checkout/cart_item_renderer</block><template>checkout/cart/sidebar/default.phtml</template></action>
46
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/cart/sidebar/default.phtml</template></action>
47
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/cart/sidebar/default.phtml</template></action>
48
+ <block type="core/text_list" name="cart_sidebar.extra_actions" as="extra_actions" translate="label" module="checkout">
49
+ <label>Shopping Cart Sidebar Extra Actions</label>
50
+ </block>
51
+ </block>
52
+ </reference>
53
+ <reference name="head">
54
+ <block type="core/template" name="optional_zip_countries" as="optional_zip_countries" template="directory/js/optional_zip_countries.phtml" />
55
+ </reference>
56
+
57
+ </default>
58
+
59
+ <checkout_cart_index translate="label">
60
+ <label>Shopping Cart</label>
61
+ <remove name="right"/>
62
+ <remove name="left"/>
63
+ <!-- Mage_Checkout -->
64
+ <reference name="root">
65
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
66
+ </reference>
67
+ <reference name="content">
68
+ <block type="checkout/cart" name="checkout.cart">
69
+ <action method="setCartTemplate"><value>checkout/cart.phtml</value></action>
70
+ <action method="setEmptyTemplate"><value>checkout/cart/noItems.phtml</value></action>
71
+ <action method="chooseTemplate"/>
72
+ <action method="addItemRender"><type>simple</type><block>checkout/cart_item_renderer</block><template>checkout/cart/item/default.phtml</template></action>
73
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/cart/item/default.phtml</template></action>
74
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/cart/item/default.phtml</template></action>
75
+
76
+ <block type="core/text_list" name="checkout.cart.top_methods" as="top_methods" translate="label">
77
+ <label>Payment Methods Before Checkout Button</label>
78
+ <block type="checkout/onepage_link" name="checkout.cart.methods.onepage" template="checkout/onepage/link.phtml"/>
79
+ </block>
80
+
81
+ <block type="page/html_wrapper" name="checkout.cart.form.before" as="form_before" translate="label">
82
+ <label>Shopping Cart Form Before</label>
83
+ </block>
84
+
85
+ <block type="core/text_list" name="checkout.cart.methods" as="methods" translate="label">
86
+ <label>Payment Methods After Checkout Button</label>
87
+ <block type="checkout/onepage_link" name="checkout.cart.methods.onepage" template="checkout/onepage/link.phtml"/>
88
+ <block type="checkout/multishipping_link" name="checkout.cart.methods.multishipping" template="checkout/multishipping/link.phtml"/>
89
+ </block>
90
+
91
+ <block type="checkout/cart_coupon" name="checkout.cart.coupon" as="coupon" template="checkout/cart/coupon.phtml"/>
92
+ <block type="checkout/cart_shipping" name="checkout.cart.shipping" as="shipping" template="checkout/cart/shipping.phtml"/>
93
+ <block type="checkout/cart_crosssell" name="checkout.cart.crosssell" as="crosssell" template="checkout/cart/crosssell.phtml"/>
94
+
95
+ <block type="checkout/cart_totals" name="checkout.cart.totals" as="totals" template="checkout/cart/totals.phtml"/>
96
+ </block>
97
+ </reference>
98
+ <block type="core/text_list" name="additional.product.info" translate="label">
99
+ <label>Additional Product Info</label>
100
+ </block>
101
+ </checkout_cart_index>
102
+
103
+ <checkout_cart_configure translate="label">
104
+ <label>Configure Cart Item</label>
105
+ <update handle="catalog_product_view"/>
106
+ </checkout_cart_configure>
107
+
108
+ <!--
109
+ Multi address shipping checkout main layout,
110
+ will be rendered on all checkout pages
111
+ -->
112
+
113
+ <checkout_multishipping translate="label">
114
+ <label>Multishipping Checkout</label>
115
+ <!-- Mage_Checkout -->
116
+ <remove name="right"/>
117
+ <remove name="left"/>
118
+
119
+ <reference name="root">
120
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
121
+ </reference>
122
+ <reference name="content">
123
+ <block type="checkout/multishipping_state" name="checkout_state" template="checkout/multishipping/state.phtml"/>
124
+ </reference>
125
+ </checkout_multishipping>
126
+
127
+ <checkout_multishipping_login>
128
+ <update handle="customer_account_login"/>
129
+ </checkout_multishipping_login>
130
+
131
+ <checkout_multishipping_register>
132
+ <update handle="customer_account_create"/>
133
+ </checkout_multishipping_register>
134
+
135
+ <!--
136
+ Multi address shipping checkout selection of address per item page
137
+ -->
138
+
139
+ <checkout_multishipping_address_select translate="label">
140
+ <label>Multishipping Checkout Shipping Address Selection</label>
141
+ <update handle="checkout_multishipping"/>
142
+ <!-- Mage_Checkout -->
143
+ <reference name="content">
144
+ <block type="checkout/multishipping_address_select" name="checkout_address_select" template="checkout/multishipping/address/select.phtml"/>
145
+ </reference>
146
+ </checkout_multishipping_address_select>
147
+
148
+ <checkout_multishipping_address_selectbilling translate="label">
149
+ <label>Multishipping Checkout Billing Address Selection</label>
150
+ <update handle="checkout_multishipping"/>
151
+ <!-- Mage_Checkout -->
152
+ <reference name="content">
153
+ <block type="checkout/multishipping_address_select" name="checkout_address_select" template="checkout/multishipping/address/select.phtml"/>
154
+ </reference>
155
+ </checkout_multishipping_address_selectbilling>
156
+
157
+
158
+ <checkout_multishipping_address_newshipping translate="label">
159
+ <label>Multishipping Checkout Shipping Address Creation</label>
160
+ <update handle="checkout_multishipping"/>
161
+ <update handle="checkout_multishipping_customer_address"/>
162
+ </checkout_multishipping_address_newshipping>
163
+
164
+ <checkout_multishipping_address_newbilling translate="label">
165
+ <label>Multishipping Checkout Billing Address Creation</label>
166
+ <update handle="checkout_multishipping"/>
167
+ <update handle="checkout_multishipping_customer_address"/>
168
+ </checkout_multishipping_address_newbilling>
169
+
170
+ <checkout_multishipping_address_editshipping translate="label">
171
+ <label>Multishipping Checkout Shipping Address Edit Form</label>
172
+ <update handle="checkout_multishipping"/>
173
+ <update handle="checkout_multishipping_customer_address"/>
174
+ </checkout_multishipping_address_editshipping>
175
+
176
+ <checkout_multishipping_address_editaddress>
177
+ <update handle="checkout_multishipping"/>
178
+ <update handle="checkout_multishipping_customer_address"/>
179
+ </checkout_multishipping_address_editaddress>
180
+
181
+ <checkout_multishipping_address_editbilling translate="label">
182
+ <label>Multishipping Checkout Billing Address Edit Form</label>
183
+ <update handle="checkout_multishipping"/>
184
+ <update handle="checkout_multishipping_customer_address"/>
185
+ </checkout_multishipping_address_editbilling>
186
+
187
+ <checkout_multishipping_customer_address translate="label">
188
+ <label>Multishipping Checkout Customer Address Edit Form</label>
189
+ <reference name="content">
190
+ <block type="customer/address_edit" name="customer_address_edit" template="customer/address/edit.phtml"/>
191
+ </reference>
192
+ </checkout_multishipping_customer_address>
193
+
194
+ <!--
195
+ Multi address shipping checkout address page
196
+ -->
197
+
198
+ <checkout_multishipping_addresses translate="label">
199
+ <label>Multishipping Checkout Address (Any) Form</label>
200
+ <update handle="checkout_multishipping"/>
201
+ <!-- Mage_Checkout -->
202
+ <reference name="content">
203
+ <block type="checkout/multishipping_addresses" name="checkout_addresses" template="checkout/multishipping/addresses.phtml">
204
+ <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/multishipping/item/default.phtml</template></action>
205
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/multishipping/item/default.phtml</template></action>
206
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/multishipping/item/default.phtml</template></action>
207
+ </block>
208
+ </reference>
209
+ </checkout_multishipping_addresses>
210
+
211
+ <!--
212
+ Multi address shipping checkout shipping information
213
+ -->
214
+
215
+ <checkout_multishipping_shipping translate="label">
216
+ <label>Multishipping Checkout Shipping Information Step</label>
217
+ <update handle="checkout_multishipping"/>
218
+ <!-- Mage_Checkout -->
219
+ <reference name="content">
220
+ <block type="checkout/multishipping_shipping" name="checkout_shipping" template="checkout/multishipping/shipping.phtml">
221
+ <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/multishipping/item/default.phtml</template></action>
222
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/multishipping/item/default.phtml</template></action>
223
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/multishipping/item/default.phtml</template></action>
224
+
225
+ <block type="checkout/multishipping_billing_items" name="checkout_billing_items" template="checkout/multishipping/billing/items.phtml">
226
+ <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/multishipping/item/default.phtml</template></action>
227
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/multishipping/item/default.phtml</template></action>
228
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/multishipping/item/default.phtml</template></action>
229
+ </block>
230
+ </block>
231
+ </reference>
232
+ </checkout_multishipping_shipping>
233
+
234
+ <!--
235
+ Multi address shipping checkout billing information
236
+ -->
237
+
238
+ <checkout_multishipping_billing translate="label">
239
+ <label>Multishipping Checkout Billing Information Step</label>
240
+ <update handle="checkout_multishipping"/>
241
+ <!-- Mage_Checkout -->
242
+ <reference name="content">
243
+ <block type="checkout/multishipping_billing" name="checkout_billing" template="checkout/multishipping/billing.phtml">
244
+ <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
245
+
246
+ <!--<block type="checkout/multishipping_billing_items" name="checkout_billing_items" template="checkout/multishipping/billing/items.phtml">
247
+ <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/multishipping/item/default.phtml</template></action>
248
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/multishipping/item/default.phtml</template></action>
249
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/multishipping/item/default.phtml</template></action>
250
+ </block>-->
251
+
252
+ </block>
253
+ </reference>
254
+ </checkout_multishipping_billing>
255
+
256
+ <!--
257
+ Multi address shipping checkout overview
258
+ -->
259
+
260
+ <checkout_multishipping_overview translate="label">
261
+ <label>Multishipping Checkout Overview</label>
262
+ <update handle="checkout_multishipping"/>
263
+ <!-- Mage_Checkout -->
264
+ <reference name="content">
265
+ <block type="checkout/multishipping_overview" name="checkout_overview" template="checkout/multishipping/overview.phtml">
266
+ <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/multishipping/item/default.phtml</template></action>
267
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/multishipping/item/default.phtml</template></action>
268
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/multishipping/item/default.phtml</template></action>
269
+ <action method="addRowItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/multishipping/overview/item.phtml</template></action>
270
+ <action method="addRowItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/multishipping/overview/item.phtml</template></action>
271
+ <block type="checkout/multishipping_payment_info" name="payment_info">
272
+ <action method="setInfoTemplate"><method></method><template></template></action>
273
+ </block>
274
+ <block type="checkout/agreements" name="checkout.multishipping.agreements" as="agreements" template="checkout/multishipping/agreements.phtml"/>
275
+ <block type="checkout/cart_totals" name="totals" />
276
+ <block type="core/text_list" name="checkout.multishipping.overview.items.after" as="items_after" translate="label">
277
+ <label>Overview Items After</label>
278
+ </block>
279
+ </block>
280
+ </reference>
281
+ </checkout_multishipping_overview>
282
+
283
+ <!--
284
+ Multi address shipping checkout success
285
+ -->
286
+
287
+ <checkout_multishipping_success translate="label">
288
+ <label>Multishipping Checkout Success</label>
289
+ <update handle="checkout_multishipping"/>
290
+ <!-- Mage_Checkout -->
291
+ <reference name="content">
292
+ <block type="checkout/multishipping_success" name="checkout_success" template="checkout/multishipping/success.phtml"/>
293
+ </reference>
294
+ </checkout_multishipping_success>
295
+
296
+ <!--
297
+ One page checkout main layout
298
+ -->
299
+
300
+ <checkout_onepage_index translate="label">
301
+ <label>One Page Checkout</label>
302
+ <!-- Mage_Checkout -->
303
+ <remove name="right"/>
304
+
305
+ <reference name="root">
306
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
307
+ </reference>
308
+ <reference name="left">
309
+ <action method="unsetChildren"></action>
310
+ <block type="page/html_wrapper" name="checkout.progress.wrapper" translate="label">
311
+ <label>Checkout Progress Wrapper</label>
312
+ <action method="setElementId"><value>checkout-progress-wrapper</value></action>
313
+ <block type="checkout/onepage_progress" name="checkout.progress" before="-" template="checkout/onepage/progress.phtml"/>
314
+ </block>
315
+ </reference>
316
+ <reference name="content">
317
+ <block type="checkout/onepage" name="checkout.onepage" template="checkout/onepage.phtml">
318
+ <block type="checkout/onepage_login" name="checkout.onepage.login" as="login" template="checkout/onepage/login.phtml">
319
+ <block type="page/html_wrapper" name="checkout.onepage.login.before" as="login_before" translate="label">
320
+ <label>Login/Registration Before</label>
321
+ <action method="setMayBeInvisible"><value>1</value></action>
322
+ </block>
323
+ </block>
324
+ <block type="checkout/onepage_billing" name="checkout.onepage.billing" as="billing" template="checkout/onepage/billing.phtml"/>
325
+ <block type="checkout/onepage_shipping" name="checkout.onepage.shipping" as="shipping" template="checkout/onepage/shipping.phtml"/>
326
+ <block type="checkout/onepage_shipping_method" name="checkout.onepage.shipping_method" as="shipping_method" template="checkout/onepage/shipping_method.phtml">
327
+ <block type="checkout/onepage_shipping_method_available" name="checkout.onepage.shipping_method.available" as="available" template="checkout/onepage/shipping_method/available.phtml"/>
328
+ <block type="checkout/onepage_shipping_method_additional" name="checkout.onepage.shipping_method.additional" as="additional" template="checkout/onepage/shipping_method/additional.phtml"/>
329
+ </block>
330
+ <block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
331
+ <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/methods.phtml">
332
+ <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
333
+ </block>
334
+ </block>
335
+ <block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="checkout/onepage/review.phtml"/>
336
+ </block>
337
+ </reference>
338
+ </checkout_onepage_index>
339
+
340
+ <!--
341
+ One page checkout progress block
342
+ -->
343
+
344
+ <checkout_onepage_progress>
345
+ <!-- Mage_Checkout -->
346
+ <remove name="right"/>
347
+ <remove name="left"/>
348
+
349
+ <block type="checkout/onepage_progress" name="root" output="toHtml" template="checkout/onepage/progress.phtml">
350
+ <block type="checkout/onepage_payment_info" name="payment_info">
351
+ <action method="setInfoTemplate"><method></method><template></template></action>
352
+ </block>
353
+ </block>
354
+ </checkout_onepage_progress>
355
+
356
+ <!--
357
+ One page checkout payment methods block
358
+ -->
359
+ <checkout_onepage_paymentmethod>
360
+ <remove name="right"/>
361
+ <remove name="left"/>
362
+
363
+ <block type="checkout/onepage_payment_methods" name="root" output="toHtml" template="checkout/onepage/payment/methods.phtml">
364
+ <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
365
+ </block>
366
+ </checkout_onepage_paymentmethod>
367
+
368
+
369
+ <!--
370
+ One page checkout shipping methods block
371
+ -->
372
+
373
+ <checkout_onepage_shippingmethod>
374
+ <!-- Mage_Checkout -->
375
+ <remove name="right"/>
376
+ <remove name="left"/>
377
+
378
+ <block type="checkout/onepage_shipping_method_available" name="root" output="toHtml" template="checkout/onepage/shipping_method/available.phtml"/>
379
+ </checkout_onepage_shippingmethod>
380
+
381
+ <checkout_onepage_additional>
382
+ <!-- Mage_Checkout -->
383
+ <remove name="right"/>
384
+ <remove name="left"/>
385
+
386
+ <block type="checkout/onepage_shipping_method_additional" name="root" output="toHtml" template="checkout/onepage/shipping_method/additional.phtml">
387
+ <action method="setDontDisplayContainer"><param>1</param></action>
388
+ </block>
389
+ </checkout_onepage_additional>
390
+
391
+ <!--
392
+ One page checkout order review block
393
+ -->
394
+
395
+ <checkout_onepage_review translate="label">
396
+ <label>One Page Checkout Overview</label>
397
+ <!-- Mage_Checkout -->
398
+ <remove name="right"/>
399
+ <remove name="left"/>
400
+
401
+ <block type="checkout/onepage_review_info" name="root" output="toHtml" template="checkout/onepage/review/info.phtml">
402
+ <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/onepage/review/item.phtml</template></action>
403
+ <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/onepage/review/item.phtml</template></action>
404
+ <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/onepage/review/item.phtml</template></action>
405
+ <block type="checkout/cart_totals" name="checkout.onepage.review.info.totals" as="totals" template="checkout/onepage/review/totals.phtml"/>
406
+ <block type="core/text_list" name="checkout.onepage.review.info.items.before" as="items_before" translate="label">
407
+ <label>Items Before</label>
408
+ </block>
409
+ <block type="core/text_list" name="checkout.onepage.review.info.items.after" as="items_after" translate="label">
410
+ <label>Items After</label>
411
+ </block>
412
+ <block type="checkout/agreements" name="checkout.onepage.agreements" as="agreements" template="checkout/onepage/agreements.phtml"/>
413
+ <block type="core/template" name="checkout.onepage.review.button" as="button" template="checkout/onepage/review/button.phtml"/>
414
+ </block>
415
+ </checkout_onepage_review>
416
+
417
+ <checkout_onepage_success translate="label">
418
+ <label>One Page Checkout Success</label>
419
+ <reference name="root">
420
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
421
+ </reference>
422
+ <reference name="content">
423
+ <block type="checkout/onepage_success" name="checkout.success" template="checkout/success.phtml"/>
424
+ </reference>
425
+ </checkout_onepage_success>
426
+ <checkout_onepage_failure translate="label">
427
+ <label>One Page Checkout Failure</label>
428
+ <reference name="root">
429
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
430
+ </reference>
431
+ <reference name="content">
432
+ <block type="checkout/onepage_failure" name="checkout.failure" template="checkout/onepage/failure.phtml"/>
433
+ </reference>
434
+ </checkout_onepage_failure>
435
+ <block type="core/list" name="additional.product.info"/>
436
+ </layout>
app/design/frontend/default/mobileshoppe/layout/cms.xml ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package base_default
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <layout version="0.1.0">
29
+ <!--
30
+ Default layout, loads most of the pages
31
+ -->
32
+
33
+ <default>
34
+ <reference name="footer">
35
+
36
+
37
+ </reference>
38
+ </default>
39
+
40
+ <cms_page translate="label">
41
+ <label>CMS Pages (All)</label>
42
+ <reference name="content">
43
+ <block type="core/template" name="page_content_heading" template="cms/content_heading.phtml"/>
44
+ <block type="page/html_wrapper" name="cms.wrapper" translate="label">
45
+ <label>CMS Content Wrapper</label>
46
+ <action method="setElementClass"><value>std</value></action>
47
+ <block type="cms/page" name="cms_page"/>
48
+ </block>
49
+ </reference>
50
+ </cms_page>
51
+
52
+ <cms_index_index translate="label">
53
+ <label>CMS Home Page</label>
54
+ </cms_index_index>
55
+
56
+ <cms_index_defaultindex>
57
+ <remove name="right"/>
58
+ <remove name="left"/>
59
+
60
+ <reference name="root">
61
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
62
+ </reference>
63
+ <reference name="content">
64
+ <block type="core/template" name="default_home_page" template="cms/default/home.phtml"/>
65
+ </reference>
66
+ </cms_index_defaultindex>
67
+
68
+ <cms_index_noroute translate="label">
69
+ <label>CMS No-Route Page</label>
70
+ </cms_index_noroute>
71
+
72
+ <cms_index_defaultnoroute>
73
+ <remove name="right"/>
74
+ <remove name="left"/>
75
+
76
+ <reference name="root">
77
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
78
+ </reference>
79
+ <reference name="content">
80
+ <block type="core/template" name="default_no_route" template="cms/default/no-route.phtml"/>
81
+ </reference>
82
+ </cms_index_defaultnoroute>
83
+
84
+ </layout>
app/design/frontend/default/mobileshoppe/layout/contacts.xml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <layout version="0.1.0">
29
+ <default>
30
+ <reference name="footer_links">
31
+ <action method="addLink" translate="label title" module="contacts" ifconfig="contacts/contacts/enabled"><label>Contact Us</label><url>contacts</url><title>Contact Us</title><prepare>true</prepare></action>
32
+ </reference>
33
+ </default>
34
+
35
+ <contacts_index_index translate="label">
36
+ <label>Contact Us Form</label>
37
+ <reference name="head">
38
+ <action method="setTitle" translate="title" module="contacts"><title>Contact Us</title></action>
39
+ </reference>
40
+ <reference name="root">
41
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
42
+ <action method="setHeaderTitle" translate="title" module="contacts"><title>Contact Us</title></action>
43
+ </reference>
44
+ <reference name="content">
45
+ <block type="core/template" name="contactForm" template="contacts/form.phtml"/>
46
+ </reference>
47
+ </contacts_index_index>
48
+ </layout>
app/design/frontend/default/mobileshoppe/layout/customer.xml ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ Supported layout update handles (action):
29
+ - customer_account_index
30
+ - customer_address_index
31
+ - customer_address_view
32
+ - customer_account_login
33
+ - customer_account_logoutsuccess
34
+ - customer_account_create
35
+ - customer_account_forgotpassword
36
+ - customer_account_confirmation
37
+ - customer_account_edit
38
+
39
+ Supported layout update handles (special):
40
+ - default
41
+
42
+ -->
43
+ <layout version="0.1.0">
44
+
45
+ <!--
46
+ Default layout, loads most of the pages
47
+ -->
48
+
49
+ <default>
50
+ <!-- Mage_Customer -->
51
+ <reference name="top.links">
52
+ <action method="addLink" translate="label title" module="customer"><label>My Account</label><url helper="customer/getAccountUrl"/><title>My Account</title><prepare/><urlParams/><position>10</position></action>
53
+ </reference>
54
+ </default>
55
+
56
+ <!--
57
+ Load this update on every page when customer is logged in
58
+ -->
59
+
60
+ <customer_logged_in>
61
+ <reference name="top.links">
62
+ <action method="addLink" translate="label title" module="customer"><label>Log Out</label><url helper="customer/getLogoutUrl"/><title>Log Out</title><prepare/><urlParams/><position>100</position></action>
63
+ </reference>
64
+ </customer_logged_in>
65
+
66
+ <!--
67
+ Load this update on every page when customer is logged out
68
+ -->
69
+
70
+ <customer_logged_out>
71
+ <!---<reference name="right">
72
+ <block type="customer/form_login" name="customer_form_mini_login" before="-" template="customer/form/mini.login.phtml"/>
73
+ </reference>-->
74
+ <reference name="top.links">
75
+ <action method="addLink" translate="label title" module="customer"><label>Log In</label><url helper="customer/getLoginUrl"/><title>Log In</title><prepare/><urlParams/><position>100</position></action>
76
+ </reference>
77
+ <remove name="reorder"></remove>
78
+ </customer_logged_out>
79
+
80
+ <!--
81
+ Layout for customer login page
82
+ -->
83
+
84
+ <customer_account_login translate="label">
85
+ <label>Customer Account Login Form</label>
86
+ <!-- Mage_Customer -->
87
+ <remove name="right"/>
88
+ <remove name="left"/>
89
+
90
+ <reference name="root">
91
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
92
+ </reference>
93
+ <reference name="content">
94
+ <block type="customer/form_login" name="customer_form_login" template="customer/form/login.phtml" />
95
+ </reference>
96
+ </customer_account_login>
97
+
98
+ <!--
99
+ Layout for customer log out page
100
+ -->
101
+
102
+ <customer_account_logoutsuccess translate="label">
103
+ <label>Customer Account Logout Success</label>
104
+ <!-- Mage_Customer -->
105
+ <remove name="right"/>
106
+ <remove name="left"/>
107
+
108
+ <reference name="root">
109
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
110
+ </reference>
111
+ <reference name="content">
112
+ <block type="core/template" name="customer_logout" template="customer/logout.phtml"/>
113
+ </reference>
114
+ </customer_account_logoutsuccess>
115
+
116
+ <!--
117
+ New customer registration
118
+ -->
119
+
120
+ <customer_account_create translate="label">
121
+ <label>Customer Account Registration Form</label>
122
+ <!-- Mage_Customer -->
123
+ <remove name="right"/>
124
+ <remove name="left"/>
125
+
126
+ <reference name="head">
127
+ <block type="core/template" name="optional_zip_countries" as="optional_zip_countries" template="directory/js/optional_zip_countries.phtml" />
128
+ </reference>
129
+ <reference name="root">
130
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
131
+ </reference>
132
+ <reference name="content">
133
+ <block type="customer/form_register" name="customer_form_register" template="customer/form/register.phtml">
134
+ <block type="page/html_wrapper" name="customer.form.register.fields.before" as="form_fields_before" translate="label">
135
+ <label>Form Fields Before</label>
136
+ </block>
137
+ </block>
138
+ </reference>
139
+ </customer_account_create>
140
+
141
+ <customer_account_forgotpassword translate="label">
142
+ <label>Customer Forgot Password Form</label>
143
+ <remove name="right"/>
144
+ <remove name="left"/>
145
+
146
+ <reference name="head">
147
+ <action method="setTitle" translate="title" module="customer"><title>Forgot Your Password</title></action>
148
+ </reference>
149
+ <reference name="root">
150
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
151
+ <action method="setHeaderTitle" translate="title" module="customer"><title>Password forgotten</title></action>
152
+ </reference>
153
+ <reference name="content">
154
+ <!--<block type="core/template" name="forgotPassword" template="customer/form/forgotpassword.phtml"/>-->
155
+ <block type="customer/account_forgotpassword" name="forgotPassword" template="customer/form/forgotpassword.phtml" />
156
+ </reference>
157
+ </customer_account_forgotpassword>
158
+
159
+ <customer_account_resetpassword translate="label">
160
+ <label>Reset a Password</label>
161
+ <remove name="right"/>
162
+ <remove name="left"/>
163
+
164
+ <reference name="head">
165
+ <action method="setTitle" translate="title" module="customer">
166
+ <title>Reset a Password</title>
167
+ </action>
168
+ </reference>
169
+ <reference name="root">
170
+ <action method="setTemplate">
171
+ <template>page/1column.phtml</template>
172
+ </action>
173
+ <action method="setHeaderTitle" translate="title" module="customer">
174
+ <title>Reset a Password</title>
175
+ </action>
176
+ </reference>
177
+ <reference name="content">
178
+ <block type="customer/account_resetpassword" name="resetPassword" template="customer/form/resetforgottenpassword.phtml"/>
179
+ </reference>
180
+ </customer_account_resetpassword>
181
+
182
+ <customer_account_confirmation>
183
+ <remove name="right"/>
184
+ <remove name="left"/>
185
+
186
+ <reference name="root">
187
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
188
+ <action method="setHeaderTitle" translate="title" module="customer"><title>Send confirmation link</title></action>
189
+ </reference>
190
+ <reference name="content">
191
+ <block type="core/template" name="accountConfirmation" template="customer/form/confirmation.phtml"/>
192
+ </reference>
193
+ </customer_account_confirmation>
194
+
195
+ <customer_account_edit translate="label">
196
+ <label>Customer Account Edit Form</label>
197
+ <update handle="customer_account"/>
198
+ <reference name="root">
199
+ <action method="setHeaderTitle" translate="title" module="customer"><title>Edit Account Info</title></action>
200
+ </reference>
201
+ <reference name="my.account.wrapper">
202
+ <block type="customer/form_edit" name="customer_edit" template="customer/form/edit.phtml"/>
203
+ </reference>
204
+ </customer_account_edit>
205
+
206
+ <!--
207
+ Customer account pages, rendered for all tabs in dashboard
208
+ -->
209
+
210
+ <customer_account translate="label">
211
+ <label>Customer My Account (All Pages)</label>
212
+ <!-- Mage_Customer -->
213
+ <reference name="root">
214
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
215
+ </reference>
216
+
217
+ <reference name="content">
218
+ <block type="page/html_wrapper" name="my.account.wrapper" translate="label">
219
+ <label>My Account Wrapper</label>
220
+ <action method="setElementClass"><value>my-account</value></action>
221
+ </block>
222
+ </reference>
223
+
224
+ <reference name="left">
225
+ <block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
226
+ <action method="addLink" translate="label" module="customer"><name>account</name><path>customer/account/</path><label>Account Dashboard</label></action>
227
+ <action method="addLink" translate="label" module="customer"><name>account_edit</name><path>customer/account/edit/</path><label>Account Information</label></action>
228
+ <action method="addLink" translate="label" module="customer"><name>address_book</name><path>customer/address/</path><label>Address Book</label></action>
229
+ </block>
230
+ <remove name="tags_popular"/>
231
+
232
+ </reference>
233
+ </customer_account>
234
+
235
+ <!--
236
+ Customer account home dashboard layout
237
+ -->
238
+
239
+ <customer_account_index translate="label">
240
+ <label>Customer My Account Dashboard</label>
241
+ <update handle="customer_account"/>
242
+ <!-- Mage_Customer -->
243
+ <reference name="root">
244
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
245
+ </reference>
246
+ <reference name="my.account.wrapper">
247
+ <block type="customer/account_dashboard" name="customer_account_dashboard" template="customer/account/dashboard.phtml">
248
+ <block type="customer/account_dashboard_hello" name="customer_account_dashboard_hello" as="hello" template="customer/account/dashboard/hello.phtml"/>
249
+ <block type="core/template" name="customer_account_dashboard_top" as="top" />
250
+ <block type="customer/account_dashboard_info" name="customer_account_dashboard_info" as="info" template="customer/account/dashboard/info.phtml"/>
251
+ <block type="customer/account_dashboard_newsletter" name="customer_account_dashboard_newsletter" as="newsletter" template="customer/account/dashboard/newsletter.phtml"/>
252
+ <block type="customer/account_dashboard_address" name="customer_account_dashboard_address" as="address" template="customer/account/dashboard/address.phtml"/>
253
+ <block type="core/template" name="customer_account_dashboard_info1" as="info1" />
254
+ <block type="core/template" name="customer_account_dashboard_info2" as="info2" />
255
+ </block>
256
+ </reference>
257
+
258
+ </customer_account_index>
259
+
260
+ <!--
261
+ Customer account address book
262
+ -->
263
+
264
+ <customer_address_index translate="label">
265
+ <label>Customer My Account Address Book</label>
266
+ <!-- Mage_Customer -->
267
+ <update handle="customer_account"/>
268
+ <reference name="my.account.wrapper">
269
+ <block type="customer/address_book" name="address_book" before="-" template="customer/address/book.phtml"/>
270
+ </reference>
271
+ </customer_address_index>
272
+
273
+ <!--
274
+ Customer account address edit page
275
+ -->
276
+
277
+ <customer_address_form translate="label">
278
+ <label>Customer My Account Address Edit Form</label>
279
+ <!-- Mage_Customer -->
280
+ <update handle="customer_account"/>
281
+ <reference name="head">
282
+ <block type="core/template" name="optional_zip_countries" as="optional_zip_countries" template="directory/js/optional_zip_countries.phtml" />
283
+ </reference>
284
+ <reference name="my.account.wrapper">
285
+ <block type="customer/address_edit" name="customer_address_edit" template="customer/address/edit.phtml"/>
286
+ </reference>
287
+ </customer_address_form>
288
+
289
+ </layout>
app/design/frontend/default/mobileshoppe/layout/directory.xml ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package base_default
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+
31
+ <!--
32
+ Category default layout
33
+ -->
34
+ <default>
35
+ <reference name="head">
36
+ <block type="core/template" name="optional_zip_countries" as="optional_zip_countries" template="directory/js/optional_zip_countries.phtml" />
37
+ </reference>
38
+ </default>
39
+
40
+ <catalog_category_default>
41
+ <reference name="left">
42
+ <block type="directory/currency" name="currency" before="catalog.leftnav" template="directory/currency.phtml"/>
43
+ </reference>
44
+ </catalog_category_default>
45
+
46
+ <!--
47
+ Category layered navigation layout
48
+ -->
49
+
50
+ <catalog_category_layered>
51
+ <reference name="left">
52
+ <block type="directory/currency" name="currency" before="catalog.leftnav" template="directory/currency.phtml"/>
53
+ </reference>
54
+ </catalog_category_layered>
55
+
56
+ <!--
57
+ Catalog Search layout
58
+ -->
59
+
60
+ <catalogsearch_advanced_index>
61
+ <reference name="left">
62
+ <block type="directory/currency" name="right_currency" before="-" template="directory/currency.phtml"/>
63
+ </reference>
64
+ </catalogsearch_advanced_index>
65
+
66
+ <catalogsearch_result_index>
67
+ <reference name="left">
68
+ <block type="directory/currency" name="currency" before="-" template="directory/currency.phtml"/>
69
+ </reference>
70
+ </catalogsearch_result_index>
71
+
72
+ <catalogsearch_advanced_result>
73
+ <reference name="right">
74
+ <block type="directory/currency" name="right_currency" before="-" template="directory/currency.phtml"/>
75
+ </reference>
76
+ </catalogsearch_advanced_result>
77
+
78
+ </layout>
app/design/frontend/default/mobileshoppe/layout/local.xml ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ * Respond
4
+ * http://respondtheme.com
5
+ *
6
+ * Copyright 2012, Nourdine Ben Chakroun
7
+ * http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
8
+ -->
9
+ <layout>
10
+
11
+ <!--
12
+ ## Default Layout ##
13
+ -->
14
+
15
+ <default>
16
+
17
+ <!--
18
+ Default Head
19
+ -->
20
+
21
+ <reference name="head">
22
+
23
+ <!-- Link to external JavaScript file (e.g Jquery CDN)
24
+
25
+ <block type="core/text" name="google.cdn.jquery">
26
+ <action method="setText">
27
+ <text><![CDATA[<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
28
+ <script type="text/javascript">var $j = jQuery.noConflict();</script>]]>
29
+ </text>
30
+ </action>
31
+ </block>
32
+
33
+ -->
34
+
35
+
36
+ <!-- Remove print.css and styles-ie.css, styles are now all in styles.css to reduce http request -->
37
+ <action method="removeItem"><type>skin_css</type><name>css/print.css</name></action>
38
+ <action method="removeItem"><type>skin_css</type><name>css/styles-ie.css</name><params/></action>
39
+
40
+
41
+ <!-- <action method="addItem"><type>skin_js</type><name>js/jquery.mobile-1.1.0.min.js</name></action> -->
42
+ <action method="addItem"><type>skin_js</type><name>js/jquery-1.7.2.min.js</name></action>
43
+ <action method="addItem"><type>skin_js</type><name>js/respond.min.js</name></action>
44
+ <action method="addItem"><type>skin_js</type><name>js/select-menu.js</name></action>
45
+
46
+
47
+ </reference>
48
+
49
+ <!--
50
+ Default Header
51
+ -->
52
+
53
+ <reference name="header">
54
+
55
+
56
+ <block type="core/template" name="top.search" as="topSearch" template="catalogsearch/form.mini.phtml"/>
57
+
58
+ <reference name="top.bar">
59
+ <action method="unsetChild"><alias>topSearch</alias></action>
60
+ </reference>
61
+
62
+ </reference>
63
+
64
+ <!--
65
+ Default Footer
66
+ -->
67
+
68
+ <reference name="footer">
69
+ <action method="unsetChild"><alias>cms_footer_links</alias></action>
70
+ <block type="cms/block" name="footer_block">
71
+ <action method="setBlockId"><block_id>footer_block</block_id></action>
72
+ </block>
73
+ </reference>
74
+
75
+
76
+
77
+ </default>
78
+
79
+
80
+ <!--
81
+ Product view
82
+ -->
83
+
84
+ <catalog_product_view>
85
+
86
+ <reference name="head">
87
+ <action method="addItem"><type>skin_js</type><name>js/galleria-1.2.7.min.js</name></action>
88
+ <action method="addItem"><type>skin_js</type><name>js/galleria.classic.min.js</name></action>
89
+ <action method="addItem"><type>skin_css</type><name>css/galleria.classic.css</name></action>
90
+ </reference>
91
+
92
+ <reference name="root">
93
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
94
+ </reference>
95
+ </catalog_product_view>
96
+
97
+ <!--
98
+ CMS Homepage
99
+ -->
100
+
101
+ <cms_index_index>
102
+ <reference name="head">
103
+ <action method="addItem"><type>skin_js</type><name>js/jquery.flexslider.js</name></action>
104
+ </reference>
105
+ </cms_index_index>
106
+
107
+
108
+
109
+ <!--
110
+ Product reviews page
111
+ -->
112
+
113
+ <reviews>
114
+ <reference name="head">
115
+ <action method="addItem"><type>skin_js</type><name>js/galleria-1.2.7.min.js</name></action>
116
+ <action method="addItem"><type>skin_js</type><name>js/galleria.classic.min.js</name></action>
117
+ <action method="addItem"><type>skin_css</type><name>css/galleria.classic.css</name></action>
118
+ </reference>
119
+ </reviews>
120
+
121
+
122
+ <review_product_list translate="label">
123
+ <reference name="head">
124
+ <action method="addItem"><type>skin_js</type><name>js/galleria-1.2.7.min.js</name></action>
125
+ <action method="addItem"><type>skin_js</type><name>js/galleria.classic.min.js</name></action>
126
+ <action method="addItem"><type>skin_css</type><name>css/galleria.classic.css</name></action>
127
+ </reference>
128
+ </review_product_list>
129
+
130
+
131
+ </layout>
app/design/frontend/default/mobileshoppe/layout/newsletter.xml ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+
31
+ <!--
32
+ Default layout, loads most of the pages
33
+ -->
34
+
35
+ <default>
36
+
37
+ <!-- Mage_Newsletter -->
38
+ <reference name="left">
39
+ <block type="newsletter/subscribe" name="newsletter" as="newsletter" template="newsletter/subscribe.phtml"/>
40
+ </reference>
41
+ <reference name="right">
42
+ <block type="newsletter/subscribe" name="newsletter" as="newsletter" template="newsletter/subscribe.phtml"/>
43
+ </reference>
44
+
45
+ </default>
46
+
47
+ <!--
48
+ Customer account pages, rendered for all tabs in dashboard
49
+ -->
50
+
51
+ <customer_account>
52
+ <!-- Mage_Newsletter -->
53
+ <reference name="sidebar">
54
+ <action method="addLink" translate="label" module="newsletter"><name>newsletter</name><path>newsletter/manage/</path><label>Newsletter Subscriptions</label></action>
55
+ </reference>
56
+ </customer_account>
57
+
58
+ <newsletter_manage_index translate="label">
59
+ <label>Customer My Account Newsletter Subscriptions</label>
60
+ <update handle="customer_account"/>
61
+ <reference name="my.account.wrapper">
62
+ <block type="customer/newsletter" name="customer_newsletter">
63
+ <block type="page/html_wrapper" name="customer.newsletter.form.before" as="form_before" translate="label">
64
+ <label>Newsletter Subscription Form Before</label>
65
+ <action method="setMayBeInvisible"><value>1</value></action>
66
+ </block>
67
+ </block>
68
+ </reference>
69
+ </newsletter_manage_index>
70
+
71
+ </layout>
app/design/frontend/default/mobileshoppe/layout/page.xml ADDED
@@ -0,0 +1,196 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <layout version="0.1.0">
29
+ <!--
30
+ Default layout, loads most of the pages
31
+ -->
32
+
33
+ <default translate="label" module="page">
34
+ <label>All Pages</label>
35
+ <block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml">
36
+
37
+ <block type="page/html_head" name="head" as="head">
38
+ <action method="addJs"><script>prototype/prototype.js</script></action>
39
+ <action method="addJs"><script>lib/ccard.js</script></action>
40
+ <action method="addJs"><script>prototype/validation.js</script></action>
41
+ <action method="addJs"><script>scriptaculous/builder.js</script></action>
42
+ <action method="addJs"><script>scriptaculous/effects.js</script></action>
43
+ <action method="addJs"><script>scriptaculous/dragdrop.js</script></action>
44
+ <action method="addJs"><script>scriptaculous/controls.js</script></action>
45
+ <action method="addJs"><script>scriptaculous/slider.js</script></action>
46
+ <action method="addJs"><script>varien/js.js</script></action>
47
+ <action method="addJs"><script>varien/form.js</script></action>
48
+ <action method="addJs"><script>varien/menu.js</script></action>
49
+ <action method="addJs"><script>mage/translate.js</script></action>
50
+ <action method="addJs"><script>mage/cookies.js</script></action>
51
+
52
+ <action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
53
+ <action method="addItem"><type>skin_css</type><name>css/styles-ie.css</name><params/><if>lt IE 8</if></action>
54
+ <action method="addCss"><stylesheet>css/widgets.css</stylesheet></action>
55
+ <action method="addCss"><stylesheet>css/print.css</stylesheet><params>media="print"</params></action>
56
+
57
+ <action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action>
58
+ <action method="addItem"><type>skin_js</type><name>js/ie6.js</name><params/><if>lt IE 7</if></action>
59
+ </block>
60
+
61
+ <block type="core/text_list" name="after_body_start" as="after_body_start" translate="label">
62
+ <label>Page Top</label>
63
+ </block>
64
+
65
+ <block type="page/html_notices" name="global_notices" as="global_notices" template="page/html/notices.phtml" />
66
+
67
+ <block type="page/html_header" name="header" as="header">
68
+ <block type="core/text_list" name="top.menu" as="topMenu" translate="label">
69
+ <label>Navigation Bar</label>
70
+ <block type="page/html_topmenu" name="catalog.topnav" template="page/html/topmenu.phtml" />
71
+ </block>
72
+ <block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
73
+ <block type="page/template_links" name="top.links" as="topLinks"/>
74
+ <block type="page/html_wrapper" name="top.bar" as="topBar" translate="label">
75
+ <label>Breadcrumbs</label>
76
+ <action method="setElementClass"><value>top-bar</value></action>
77
+ <block type="page/html_breadcrumbs" name="breadcrumbs" as="breadcrumbs"/>
78
+ </block>
79
+ <block type="page/html_wrapper" name="top.container" as="topContainer" translate="label">
80
+ <label>Page Header</label>
81
+ <action method="setElementClass"><value>top-container</value></action>
82
+ </block>
83
+ </block>
84
+
85
+ <block type="core/text_list" name="left" as="left" translate="label">
86
+ <label>Left Column</label>
87
+ </block>
88
+
89
+ <block type="core/messages" name="global_messages" as="global_messages"/>
90
+ <block type="core/messages" name="messages" as="messages"/>
91
+
92
+ <block type="core/text_list" name="content" as="content" translate="label">
93
+ <label>Main Content Area</label>
94
+ </block>
95
+
96
+ <block type="core/text_list" name="right" as="right" translate="label">
97
+ <label>Right Column</label>
98
+ </block>
99
+
100
+ <block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml">
101
+ <block type="page/html_wrapper" name="bottom.container" as="bottomContainer" translate="label">
102
+ <label>Page Footer</label>
103
+ <action method="setElementClass"><value>bottom-container</value></action>
104
+ </block>
105
+ <block type="page/template_links" name="footer_links" as="footer_links" after="footer_block" template="page/template/links.phtml"/>
106
+ <block type="page/switch" name="store_switcher" as="store_switcher" after="footer_block" template="page/switch/stores.phtml"/>
107
+ </block>
108
+
109
+ <block type="core/text_list" name="before_body_end" as="before_body_end" translate="label">
110
+ <label>Page Bottom</label>
111
+ </block>
112
+ </block>
113
+
114
+ <block type="core/profiler" output="toHtml" name="core_profiler"/>
115
+ </default>
116
+
117
+ <print translate="label" module="page">
118
+ <label>All Pages (Print Version)</label>
119
+ <!-- Mage_Page -->
120
+ <block type="page/html" name="root" output="toHtml" template="page/print.phtml">
121
+
122
+ <block type="page/html_head" name="head" as="head">
123
+ <action method="addJs"><script>prototype/prototype.js</script></action>
124
+ <action method="addJs"><script>mage/translate.js</script></action>
125
+ <action method="addJs"><script>lib/ccard.js</script></action>
126
+ <action method="addJs"><script>prototype/validation.js</script></action>
127
+ <action method="addJs"><script>varien/js.js</script></action>
128
+
129
+ <action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
130
+ <action method="addItem"><type>skin_css</type><name>css/styles-ie.css</name><params/><if>lt IE 8</if></action>
131
+ <action method="addCss"><stylesheet>css/widgets.css</stylesheet></action>
132
+ <action method="addCss"><stylesheet>css/print.css</stylesheet><params>media="print"</params></action>
133
+
134
+ <action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action>
135
+ <action method="addItem"><type>skin_js</type><name>js/ie6.js</name><params/><if>lt IE 7</if></action>
136
+
137
+ </block>
138
+
139
+ <block type="core/text_list" name="content" as="content" translate="label">
140
+ <label>Main Content Area</label>
141
+ </block>
142
+
143
+ </block>
144
+ </print>
145
+
146
+ <!-- Custom page layout handles -->
147
+ <page_empty translate="label">
148
+ <label>All Empty Layout Pages</label>
149
+ <reference name="root">
150
+ <action method="setTemplate"><template>page/empty.phtml</template></action>
151
+ <!-- Mark root page block that template is applied -->
152
+ <action method="setIsHandle"><applied>1</applied></action>
153
+ <action method="setLayoutCode"><name>empty</name></action>
154
+ </reference>
155
+ </page_empty>
156
+
157
+ <page_one_column translate="label">
158
+ <label>All One-Column Layout Pages</label>
159
+ <reference name="root">
160
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
161
+ <!-- Mark root page block that template is applied -->
162
+ <action method="setIsHandle"><applied>1</applied></action>
163
+ <action method="setLayoutCode"><name>one_column</name></action>
164
+ </reference>
165
+ </page_one_column>
166
+
167
+ <page_two_columns_left translate="label">
168
+ <label>All Two-Column Layout Pages (Left Column)</label>
169
+ <reference name="root">
170
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
171
+ <!-- Mark root page block that template is applied -->
172
+ <action method="setIsHandle"><applied>1</applied></action>
173
+ <action method="setLayoutCode"><name>two_columns_left</name></action>
174
+ </reference>
175
+ </page_two_columns_left>
176
+
177
+ <page_two_columns_right translate="label">
178
+ <label>All Two-Column Layout Pages (Right Column)</label>
179
+ <reference name="root">
180
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
181
+ <!-- Mark root page block that template is applied -->
182
+ <action method="setIsHandle"><applied>1</applied></action>
183
+ <action method="setLayoutCode"><name>two_columns_right</name></action>
184
+ </reference>
185
+ </page_two_columns_right>
186
+
187
+ <page_three_columns translate="label">
188
+ <label>All Three-Column Layout Pages</label>
189
+ <reference name="root">
190
+ <action method="setTemplate"><template>page/3columns.phtml</template></action>
191
+ <!-- Mark root page block that template is applied -->
192
+ <action method="setIsHandle"><applied>1</applied></action>
193
+ <action method="setLayoutCode"><name>three_columns</name></action>
194
+ </reference>
195
+ </page_three_columns>
196
+ </layout>
app/design/frontend/default/mobileshoppe/layout/payment.xml ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+ <catalog_product_view>
31
+ <reference name="product.info.tabs">
32
+ <action method="addTab" translate="title" module="payment"><alias>product.info.additional.recurring.schedule</alias><title>Recurring Profile</title><block>payment/catalog_product_view_profile</block><template>payment/catalog/product/view/profile/schedule.phtml</template></action>
33
+ </reference>
34
+ <reference name="product.info.options.wrapper">
35
+ <block type="payment/catalog_product_view_profile" name="product.info.options.recurring" as="recurring_options" template="payment/catalog/product/view/profile/options.phtml"/>
36
+ </reference>
37
+ </catalog_product_view>
38
+ </layout>
app/design/frontend/default/mobileshoppe/layout/persistent.xml ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <layout version="0.1.0">
29
+ <customer_logged_out_psc_handle>
30
+ <reference name="top.links">
31
+ <action method="addLink" translate="label title" module="persistent"><label helper="persistent/getPersistentName"/><url helper="persistent/getUnsetCookieUrl"/><title helper="persistent/getPersistentName"/><prepare/><urlParams/><position>9</position></action>
32
+ </reference>
33
+ </customer_logged_out_psc_handle>
34
+
35
+ <customer_account_login>
36
+ <reference name="customer_form_login">
37
+ <action method="setTemplate"><template>persistent/customer/form/login.phtml</template></action>
38
+ <block type="persistent/form_remember" name="persistent.remember.me" template="persistent/remember_me.phtml" />
39
+ <block type="core/template" name="persistent.remember.me.tooltip" template="persistent/remember_me_tooltip.phtml" />
40
+ </reference>
41
+ </customer_account_login>
42
+
43
+ <customer_account_create>
44
+ <reference name="customer_form_register">
45
+ <action method="setTemplate"><template>persistent/customer/form/register.phtml</template></action>
46
+ <block type="persistent/form_remember" name="persistent.remember.me" template="persistent/remember_me.phtml" />
47
+ <block type="core/template" name="persistent.remember.me.tooltip" template="persistent/remember_me_tooltip.phtml" />
48
+ </reference>
49
+ </customer_account_create>
50
+
51
+ <checkout_onepage_index>
52
+ <reference name="checkout.onepage.login">
53
+ <action method="setTemplate"><template>persistent/checkout/onepage/login.phtml</template></action>
54
+ <block type="persistent/form_remember" name="persistent.remember.me" template="persistent/remember_me.phtml" />
55
+ <block type="core/template" name="persistent.remember.me.tooltip" template="persistent/remember_me_tooltip.phtml" />
56
+ </reference>
57
+ </checkout_onepage_index>
58
+ </layout>
app/design/frontend/default/mobileshoppe/layout/review.xml ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+
31
+ <customer_account>
32
+ <!-- Mage_Review -->
33
+ <reference name="customer_account_navigation">
34
+ <action method="addLink" translate="label" module="review"><name>reviews</name><path>review/customer</path><label>My Product Reviews</label></action>
35
+ </reference>
36
+
37
+ </customer_account>
38
+
39
+ <!--
40
+ Customer account home dashboard layout
41
+ -->
42
+
43
+ <customer_account_index>
44
+
45
+ <!-- Mage_Review -->
46
+ <reference name="customer_account_dashboard">
47
+ <action method="unsetChild"><name>customer_account_dashboard_info1</name></action>
48
+ <block type="review/customer_recent" name="customer_account_dashboard_info1" as="info1" template="review/customer/recent.phtml"/>
49
+ </reference>
50
+
51
+ </customer_account_index>
52
+
53
+
54
+ <!--
55
+ Product reviews page (?)
56
+ -->
57
+
58
+ <reviews>
59
+ <!-- Mage_Review -->
60
+ <reference name="root">
61
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
62
+ </reference>
63
+ </reviews>
64
+
65
+ <!--
66
+ Product reviews page
67
+ -->
68
+
69
+ <review_product_list translate="label">
70
+ <label>Catalog Product Reviews List</label>
71
+ <reference name="root">
72
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
73
+ </reference>
74
+ <reference name="head">
75
+ <action method="addJs"><script>varien/product.js</script></action>
76
+ <action method="addJs"><script>varien/configurable.js</script></action>
77
+ </reference>
78
+ <reference name="content">
79
+ <block type="review/product_view" name="product.info" template="catalog/product/view.phtml">
80
+ <block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml">
81
+ <action method="disableGallery"/>
82
+ </block>
83
+ <block type="catalog/product_view" name="product.info.addto" as="addto" template="catalog/product/view/addto.phtml"/>
84
+ <block type="catalog/product_view" name="product.info.addtocart" as="addtocart" template="catalog/product/view/addtocart.phtml">
85
+ <!-- workaround: a better place for this code is in paypal.xml -->
86
+ <block type="page/html_wrapper" name="review.product.info.addtocart.paypal.wrapper" translate="label" module="paypal">
87
+ <label>PayPal Express Checkout Shortcut Wrapper</label>
88
+ <block type="paypal/express_shortcut" name="review.product.info.addtocart.paypal" template="paypal/express/shortcut.phtml">
89
+ <action method="setIsInCatalogProduct"><value>1</value></action>
90
+ </block>
91
+ </block>
92
+ </block>
93
+ <block type="catalog/product_view" name="product.tierprices" as="tierprices" template="catalog/product/view/tierprices.phtml"/>
94
+ <block type="core/template" name="product.info.other" as="other" template="review/product/view/other.phtml"/>
95
+ <block type="page/html_pager" name="product_review_list.toolbar" />
96
+ <block type="core/template" name="product_review_list.count" template="review/product/view/count.phtml" />
97
+ <block type="review/product_view_list" name="product.info.product_additional_data" as="product_additional_data" template="review/product/view/list.phtml">
98
+ <block type="review/form" name="product.review.form" as="review_form">
99
+ <block type="page/html_wrapper" name="product.review.form.fields.before" as="form_fields_before" translate="label">
100
+ <label>Review Form Fields Before</label>
101
+ <action method="setMayBeInvisible"><value>1</value></action>
102
+ </block>
103
+ </block>
104
+ </block>
105
+ </block>
106
+ </reference>
107
+ </review_product_list>
108
+
109
+ <review_product_view translate="label">
110
+ <label>Catalog Product Review View</label>
111
+ <reference name="root">
112
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
113
+ </reference>
114
+ <reference name="content">
115
+ <block type="review/view" name="review_view"/>
116
+ </reference>
117
+ </review_product_view>
118
+
119
+ <review_customer_index translate="label">
120
+ <label>Customer My Account Product Reviews</label>
121
+ <update handle="customer_account"/>
122
+ <reference name="my.account.wrapper">
123
+ <block type="review/customer_list" name="review_customer_list" template="review/customer/list.phtml"/>
124
+ </reference>
125
+ </review_customer_index>
126
+
127
+ <review_customer_view translate="label">
128
+ <label>Customer My Account Review Details</label>
129
+ <update handle="customer_account"/>
130
+ <reference name="my.account.wrapper">
131
+ <block type="review/customer_view" name="customers_review"/>
132
+ </reference>
133
+ </review_customer_view>
134
+
135
+ </layout>
app/design/frontend/default/mobileshoppe/layout/rss.xml ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <layout version="0.1.0">
29
+ <default>
30
+ <reference name="footer_links">
31
+ <action method="addLink" translate="label title" module="rss" ifconfig="rss/config/active"><label>RSS</label><url>rss</url><title>RSS</title><prepare>true</prepare><urlParams/><position/><li/><a>class="link-rss"</a></action>
32
+ </reference>
33
+ <block type="rss/list" name="head_rss" ifconfig="rss/config/active" />
34
+ </default>
35
+ <!--
36
+ Default layout, loads most of the pages
37
+ -->
38
+ <rss_index_index translate="label">
39
+ <label>RSS Feeds List</label>
40
+ <reference name="root">
41
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
42
+ </reference>
43
+ <reference name="content">
44
+ <block type="rss/list" name="rss.list" template="rss/list.phtml"/>
45
+ </reference>
46
+ </rss_index_index>
47
+
48
+ <rss_index_nofeed>
49
+ <block type="core/template" name="root" output="toHtml" template="rss/nofeed.phtml"/>
50
+ </rss_index_nofeed>
51
+
52
+ <rss_index_wishlist>
53
+ <block type="rss/wishlist" name="rss.wishlist" output="toHtml"/>
54
+ </rss_index_wishlist>
55
+ <!--
56
+ Catalog layout
57
+ -->
58
+ <rss_catalog_new>
59
+ <block type="rss/catalog_new" output="toHtml" name="rss.catalog.new"/>
60
+ </rss_catalog_new>
61
+
62
+ <rss_catalog_special>
63
+ <block type="rss/catalog_special" output="toHtml" name="rss.catalog.special"/>
64
+ </rss_catalog_special>
65
+
66
+ <rss_catalog_salesrule>
67
+ <block type="rss/catalog_salesrule" output="toHtml" name="rss.catalog.salesrule"/>
68
+ </rss_catalog_salesrule>
69
+
70
+ <rss_catalog_tag>
71
+ <block type="rss/catalog_tag" output="toHtml" name="rss.catalog.tag" />
72
+ </rss_catalog_tag>
73
+
74
+ <rss_catalog_notifystock>
75
+ <block type="rss/catalog_notifyStock" output="toHtml" name="rss.catalog.notifystock" />
76
+ </rss_catalog_notifystock>
77
+
78
+ <rss_catalog_review>
79
+ <block type="rss/catalog_review" output="toHtml" name="rss.catalog.review" />
80
+ </rss_catalog_review>
81
+
82
+ <rss_catalog_category>
83
+ <block type="rss/catalog_category" output="toHtml" name="rss.catalog.category" />
84
+ </rss_catalog_category>
85
+ <!--
86
+ Order layout
87
+ -->
88
+ <rss_order_new>
89
+ <block type="rss/order_new" output="toHtml" name="rss.order.new"/>
90
+ </rss_order_new>
91
+ <rss_order_status>
92
+ <block type="rss/order_status" output="toHtml" name="rss.order.status"/>
93
+ </rss_order_status>
94
+ </layout>
app/design/frontend/default/mobileshoppe/layout/sales.xml ADDED
@@ -0,0 +1,497 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+
31
+ <!--
32
+ Customer account pages, rendered for all tabs in dashboard
33
+ -->
34
+
35
+
36
+ <customer_logged_in>
37
+ <reference name="left">
38
+ <block type="sales/reorder_sidebar" name="sale.reorder.sidebar" as="reorder" template="sales/reorder/sidebar.phtml"/>
39
+ </reference>
40
+ </customer_logged_in>
41
+ <checkout_onepage_index>
42
+ <remove name="sale.reorder.sidebar"/>
43
+ </checkout_onepage_index>
44
+ <checkout_onepage_reorder>
45
+ <reference name="right">
46
+ <action method="unsetChild"><name>reorder</name></action>
47
+ </reference>
48
+ </checkout_onepage_reorder>
49
+
50
+ <customer_account>
51
+ <!-- Mage_Sales -->
52
+ <reference name="customer_account_navigation">
53
+ <action method="addLink" translate="label" module="sales"><name>orders</name><path>sales/order/history/</path><label>My Orders</label></action>
54
+ </reference>
55
+
56
+ </customer_account>
57
+
58
+ <!--
59
+ Customer account home dashboard layout
60
+ -->
61
+
62
+ <customer_account_index>
63
+ <!-- Mage_Sales -->
64
+ <reference name="customer_account_dashboard">
65
+ <action method="unsetChild"><name>top</name></action>
66
+ <block type="sales/order_recent" name="customer_account_dashboard_top" as="top" template="sales/order/recent.phtml"/>
67
+ </reference>
68
+
69
+ </customer_account_index>
70
+
71
+ <sales_order_history translate="label">
72
+ <label>Customer My Account Order History</label>
73
+ <update handle="customer_account"/>
74
+ <reference name="my.account.wrapper">
75
+ <block type="sales/order_history" name="sales.order.history">
76
+ <block type="core/text_list" name="sales.order.history.info" as="info" translate="label">
77
+ <label>Order History Info</label>
78
+ </block>
79
+ </block>
80
+ <block type="customer/account_dashboard" name="customer.account.link.back" template="customer/account/link/back.phtml"/>
81
+ </reference>
82
+ </sales_order_history>
83
+
84
+
85
+ <sales_order_view translate="label">
86
+ <label>Customer My Account Order View</label>
87
+ <update handle="customer_account"/>
88
+ <reference name="my.account.wrapper">
89
+ <block type="sales/order_info" as="info" name="sales.order.info">
90
+ <block type="sales/order_info_buttons" as="buttons" name="sales.order.info.buttons" />
91
+ </block>
92
+ <block type="sales/order_view" name="sales.order.view">
93
+ <block type="sales/order_items" name="order_items" template="sales/order/items.phtml">
94
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/items/renderer/default.phtml</template></action>
95
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/items/renderer/default.phtml</template></action>
96
+ <block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
97
+ <action method="setLabelProperties"><value>colspan="4" class="a-right"</value></action>
98
+ <action method="setValueProperties"><value>class="last a-right"</value></action>
99
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml" />
100
+ </block>
101
+ </block>
102
+ </block>
103
+ </reference>
104
+ <reference name="sales.order.info">
105
+ <action method="addLink" translate="label" module="sales"><name>view</name><path></path><label>Order Information</label></action>
106
+ <action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>
107
+ <action method="addLink" translate="label" module="sales"><name>shipment</name><path>*/*/shipment</path><label>Shipments</label></action>
108
+ <action method="addLink" translate="label" module="sales"><name>creditmemo</name><path>*/*/creditmemo</path><label>Refunds</label></action>
109
+ </reference>
110
+ </sales_order_view>
111
+
112
+ <sales_order_invoice translate="label">
113
+ <label>Customer My Account Order Invoice View</label>
114
+ <update handle="customer_account"/>
115
+ <reference name="my.account.wrapper">
116
+ <block type="sales/order_info" as="info" name="sales.order.info">
117
+ <block type="sales/order_info_buttons" as="buttons" name="sales.order.info.buttons" />
118
+ </block>
119
+ <block type="sales/order_invoice" name="sales.order.invoice">
120
+ <block type="sales/order_invoice_items" name="invoice_items" template="sales/order/invoice/items.phtml">
121
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
122
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
123
+ <block type="sales/order_invoice_totals" name="invoice_totals" template="sales/order/totals.phtml">
124
+ <action method="setLabelProperties"><value>colspan="4" class="a-right"</value></action>
125
+ <action method="setValueProperties"><value>class="last a-right"</value></action>
126
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml" />
127
+ </block>
128
+ <block type="sales/order_comments" name="invoice_comments" template="sales/order/comments.phtml" />
129
+ </block>
130
+ </block>
131
+ </reference>
132
+ <reference name="sales.order.info">
133
+ <action method="addLink" translate="label" module="sales"><name>view</name><path>*/*/view</path><label>Order Information</label></action>
134
+ <action method="addLink" translate="label" module="sales"><name>invoice</name><path></path><label>Invoices</label></action>
135
+ <action method="addLink" translate="label" module="sales"><name>shipment</name><path>*/*/shipment</path><label>Shipments</label></action>
136
+ <action method="addLink" translate="label" module="sales"><name>creditmemo</name><path>*/*/creditmemo</path><label>Refunds</label></action>
137
+ </reference>
138
+ </sales_order_invoice>
139
+
140
+ <sales_order_shipment translate="label">
141
+ <label>Customer My Account Order Shipment View</label>
142
+ <update handle="customer_account"/>
143
+ <reference name="my.account.wrapper">
144
+ <block type="sales/order_info" as="info" name="sales.order.info">
145
+ <block type="sales/order_info_buttons" as="buttons" name="sales.order.info.buttons" />
146
+ </block>
147
+ <block type="sales/order_shipment" name="sales.order.shipment">
148
+ <block type="sales/order_shipment_items" name="shipment_items" template="sales/order/shipment/items.phtml">
149
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/shipment/items/renderer/default.phtml</template></action>
150
+ <block type="sales/order_comments" name="shipment_comments" template="sales/order/comments.phtml" />
151
+ </block>
152
+ </block>
153
+ </reference>
154
+ <reference name="sales.order.info">
155
+ <action method="addLink" translate="label" module="sales"><name>view</name><path>*/*/view</path><label>Order Information</label></action>
156
+ <action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>
157
+ <action method="addLink" translate="label" module="sales"><name>shipment</name><path></path><label>Shipments</label></action>
158
+ <action method="addLink" translate="label" module="sales"><name>creditmemo</name><path>*/*/creditmemo</path><label>Refunds</label></action>
159
+ </reference>
160
+ </sales_order_shipment>
161
+
162
+ <sales_order_creditmemo translate="label">
163
+ <label>Customer My Account Order Creditmemo View</label>
164
+ <update handle="customer_account"/>
165
+ <reference name="my.account.wrapper">
166
+ <block type="sales/order_info" as="info" name="sales.order.info">
167
+ <block type="sales/order_info_buttons" as="buttons" name="sales.order.info.buttons" />
168
+ </block>
169
+ <block type="sales/order_creditmemo" name="sales.order.creditmemo">
170
+ <block type="sales/order_creditmemo_items" name="creditmemo_items" template="sales/order/creditmemo/items.phtml">
171
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
172
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
173
+ <block type="sales/order_creditmemo_totals" name="creditmemo_totals" template="sales/order/totals.phtml">
174
+ <action method="setLabelProperties"><value>colspan="6" class="a-right"</value></action>
175
+ <action method="setValueProperties"><value>class="a-right"</value></action>
176
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml"/>
177
+ </block>
178
+ <block type="sales/order_comments" name="creditmemo_comments" template="sales/order/comments.phtml" />
179
+ </block>
180
+ </block>
181
+ </reference>
182
+ <reference name="sales.order.info">
183
+ <action method="addLink" translate="label" module="sales"><name>view</name><path>*/*/view</path><label>Order Information</label></action>
184
+ <action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>
185
+ <action method="addLink" translate="label" module="sales"><name>shipment</name><path>*/*/shipment</path><label>Shipments</label></action>
186
+ <action method="addLink" translate="label" module="sales"><name>creditmemo</name><path></path><label>Refunds</label></action>
187
+ </reference>
188
+ </sales_order_creditmemo>
189
+
190
+ <sales_order_reorder>
191
+ <update handle="customer_account"/>
192
+ <reference name="content">
193
+ <block type="sales/order_view" name="sales.order.view"/>
194
+ </reference>
195
+ </sales_order_reorder>
196
+
197
+ <sales_order_print translate="label">
198
+ <label>Sales Order Print View</label>
199
+ <reference name="content">
200
+ <block type="sales/order_print" name="sales.order.print" template="sales/order/print.phtml">
201
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/items/renderer/default.phtml</template></action>
202
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/items/renderer/default.phtml</template></action>
203
+ <block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
204
+ <action method="setLabelProperties"><value>colspan="4" class="a-right"</value></action>
205
+ <action method="setValueProperties"><value>class="last a-right"</value></action>
206
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml">
207
+ <action method="setIsPlaneMode"><value>1</value></action>
208
+ </block>
209
+ </block>
210
+ </block>
211
+ </reference>
212
+ </sales_order_print>
213
+
214
+ <sales_order_printinvoice translate="label">
215
+ <label>Sales Invoice Print View</label>
216
+ <reference name="content">
217
+ <block type="sales/order_print_invoice" name="sales.order.print.invoice" template="sales/order/print/invoice.phtml">
218
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
219
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
220
+ <block type="sales/order_invoice_totals" name="invoice_totals" template="sales/order/totals.phtml">
221
+ <action method="setLabelProperties"><value>colspan="4" class="a-right"</value></action>
222
+ <action method="setValueProperties"><value>class="last a-right"</value></action>
223
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml" />
224
+ </block>
225
+ </block>
226
+ </reference>
227
+ </sales_order_printinvoice>
228
+
229
+ <sales_order_printshipment translate="label">
230
+ <label>Sales Shipment Print View</label>
231
+ <reference name="content">
232
+ <block type="sales/order_print_shipment" name="sales.order.print.shipment" template="sales/order/print/shipment.phtml">
233
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/shipment/items/renderer/default.phtml</template></action>
234
+ </block>
235
+ </reference>
236
+ </sales_order_printshipment>
237
+
238
+ <sales_order_printcreditmemo>
239
+ <reference name="content">
240
+ <block type="sales/order_print_creditmemo" name="sales.order.print.creditmemo" template="sales/order/print/creditmemo.phtml">
241
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
242
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
243
+ <block type="sales/order_creditmemo_totals" name="creditmemo_totals" template="sales/order/totals.phtml">
244
+ <action method="setLabelProperties"><value>colspan="6" class="a-right"</value></action>
245
+ <action method="setValueProperties"><value>class="a-right"</value></action>
246
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml"/>
247
+ </block>
248
+ </block>
249
+ </reference>
250
+ </sales_order_printcreditmemo>
251
+
252
+ <!--
253
+ Email layouts section
254
+ -->
255
+ <sales_email_order_items>
256
+ <block type="sales/order_email_items" name="items" template="email/order/items.phtml">
257
+ <action method="addItemRender"><type>default</type><block>sales/order_email_items_order_default</block><template>email/order/items/order/default.phtml</template></action>
258
+ <action method="addItemRender"><type>grouped</type><block>sales/order_email_items_order_grouped</block><template>email/order/items/order/default.phtml</template></action>
259
+ <block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
260
+ <action method="setLabelProperties"><value>colspan="3" align="right" style="padding:3px 9px"</value></action>
261
+ <action method="setValueProperties"><value>align="right" style="padding:3px 9px"</value></action>
262
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml">
263
+ <action method="setIsPlaneMode"><value>1</value></action>
264
+ </block>
265
+ </block>
266
+ </block>
267
+ </sales_email_order_items>
268
+
269
+ <sales_email_order_invoice_items>
270
+ <block type="sales/order_email_invoice_items" name="items" template="email/order/invoice/items.phtml">
271
+ <action method="addItemRender"><type>default</type><block>sales/order_email_items_default</block><template>email/order/items/invoice/default.phtml</template></action>
272
+ <action method="addItemRender"><type>grouped</type><block>sales/order_email_items_order_grouped</block><template>email/order/items/invoice/default.phtml</template></action>
273
+ <block type="sales/order_invoice_totals" name="invoice_totals" template="sales/order/totals.phtml">
274
+ <action method="setLabelProperties"><value>colspan="3" align="right" style="padding:3px 9px"</value></action>
275
+ <action method="setValueProperties"><value>align="right" style="padding:3px 9px"</value></action>
276
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml"/>
277
+ </block>
278
+ </block>
279
+ </sales_email_order_invoice_items>
280
+
281
+ <sales_email_order_shipment_items>
282
+ <block type="sales/order_email_shipment_items" name="items" template="email/order/shipment/items.phtml">
283
+ <action method="addItemRender"><type>default</type><block>sales/order_email_items_default</block><template>email/order/items/shipment/default.phtml</template></action>
284
+ </block>
285
+ </sales_email_order_shipment_items>
286
+
287
+ <sales_email_order_creditmemo_items>
288
+ <block type="sales/order_email_creditmemo_items" name="items" template="email/order/creditmemo/items.phtml">
289
+ <action method="addItemRender"><type>default</type><block>sales/order_email_items_default</block><template>email/order/items/creditmemo/default.phtml</template></action>
290
+ <action method="addItemRender"><type>grouped</type><block>sales/order_email_items_order_grouped</block><template>email/order/items/creditmemo/default.phtml</template></action>
291
+ <block type="sales/order_creditmemo_totals" name="creditmemo_totals" template="sales/order/totals.phtml">
292
+ <action method="setLabelProperties"><value>colspan="3" align="right" style="padding:3px 9px"</value></action>
293
+ <action method="setValueProperties"><value>align="right" style="padding:3px 9px"</value></action>
294
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml"/>
295
+ </block>
296
+ </block>
297
+ </sales_email_order_creditmemo_items>
298
+
299
+ <!--
300
+ Guest
301
+ -->
302
+
303
+ <sales_guest_form translate="label">
304
+ <label>Returns</label>
305
+ <reference name="root">
306
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
307
+ </reference>
308
+ <reference name="content">
309
+ <block type="sales/widget_guest_form" name="guest.form" template="sales/guest/form.phtml"/>
310
+ </reference>
311
+ </sales_guest_form>
312
+
313
+
314
+ <sales_guest_view translate="label">
315
+ <label>Customer My Account Order View</label>
316
+ <reference name="root">
317
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
318
+ </reference>
319
+ <reference name="content">
320
+ <block type="sales/order_info" as="info" name="sales.order.info">
321
+ <block type="sales/order_info_buttons" as="buttons" name="sales.order.info.buttons" />
322
+ </block>
323
+ <block type="sales/order_view" name="sales.order.view">
324
+ <block type="sales/order_items" name="order_items" template="sales/order/items.phtml">
325
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/items/renderer/default.phtml</template></action>
326
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/items/renderer/default.phtml</template></action>
327
+ <block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
328
+ <action method="setLabelProperties"><value>colspan="4" class="a-right"</value></action>
329
+ <action method="setValueProperties"><value>class="last a-right"</value></action>
330
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml" />
331
+ </block>
332
+ </block>
333
+ </block>
334
+ </reference>
335
+ <reference name="sales.order.info">
336
+ <action method="addLink" translate="label" module="sales"><name>view</name><path></path><label>Order Information</label></action>
337
+ <action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>
338
+ <action method="addLink" translate="label" module="sales"><name>shipment</name><path>*/*/shipment</path><label>Shipments</label></action>
339
+ <action method="addLink" translate="label" module="sales"><name>creditmemo</name><path>*/*/creditmemo</path><label>Refunds</label></action>
340
+ </reference>
341
+ </sales_guest_view>
342
+
343
+ <sales_guest_invoice translate="label">
344
+ <label>Customer My Account Order Invoice View</label>
345
+ <reference name="root">
346
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
347
+ </reference>
348
+ <reference name="content">
349
+ <block type="sales/order_info" as="info" name="sales.order.info">
350
+ <block type="sales/order_info_buttons" as="buttons" name="sales.order.info.buttons" />
351
+ </block>
352
+ <block type="sales/order_invoice" name="sales.order.invoice">
353
+ <block type="sales/order_invoice_items" name="invoice_items" template="sales/order/invoice/items.phtml">
354
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
355
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
356
+ <block type="sales/order_invoice_totals" name="invoice_totals" template="sales/order/totals.phtml">
357
+ <action method="setLabelProperties"><value>colspan="4" class="a-right"</value></action>
358
+ <action method="setValueProperties"><value>class="last a-right"</value></action>
359
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml" />
360
+ </block>
361
+ <block type="sales/order_comments" name="invoice_comments" template="sales/order/comments.phtml" />
362
+ </block>
363
+ </block>
364
+ </reference>
365
+ <reference name="sales.order.info">
366
+ <action method="addLink" translate="label" module="sales"><name>view</name><path>*/*/view</path><label>Order Information</label></action>
367
+ <action method="addLink" translate="label" module="sales"><name>invoice</name><path></path><label>Invoices</label></action>
368
+ <action method="addLink" translate="label" module="sales"><name>shipment</name><path>*/*/shipment</path><label>Shipments</label></action>
369
+ <action method="addLink" translate="label" module="sales"><name>creditmemo</name><path>*/*/creditmemo</path><label>Refunds</label></action>
370
+ </reference>
371
+ </sales_guest_invoice>
372
+
373
+ <sales_guest_shipment translate="label">
374
+ <label>Customer My Account Order Shipment View</label>
375
+ <reference name="root">
376
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
377
+ </reference>
378
+ <reference name="content">
379
+ <block type="sales/order_info" as="info" name="sales.order.info">
380
+ <block type="sales/order_info_buttons" as="buttons" name="sales.order.info.buttons" />
381
+ </block>
382
+ <block type="sales/order_shipment" name="sales.order.shipment">
383
+ <block type="sales/order_shipment_items" name="shipment_items" template="sales/order/shipment/items.phtml">
384
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/shipment/items/renderer/default.phtml</template></action>
385
+ <block type="sales/order_comments" name="shipment_comments" template="sales/order/comments.phtml" />
386
+ </block>
387
+ </block>
388
+ </reference>
389
+ <reference name="sales.order.info">
390
+ <action method="addLink" translate="label" module="sales"><name>view</name><path>*/*/view</path><label>Order Information</label></action>
391
+ <action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>
392
+ <action method="addLink" translate="label" module="sales"><name>shipment</name><path></path><label>Shipments</label></action>
393
+ <action method="addLink" translate="label" module="sales"><name>creditmemo</name><path>*/*/creditmemo</path><label>Refunds</label></action>
394
+ </reference>
395
+ </sales_guest_shipment>
396
+
397
+ <sales_guest_creditmemo translate="label">
398
+ <label>Customer My Account Order Creditmemo View</label>
399
+ <reference name="root">
400
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
401
+ </reference>
402
+ <reference name="content">
403
+ <block type="sales/order_info" as="info" name="sales.order.info">
404
+ <block type="sales/order_info_buttons" as="buttons" name="sales.order.info.buttons" />
405
+ </block>
406
+ <block type="sales/order_creditmemo" name="sales.order.creditmemo">
407
+ <block type="sales/order_creditmemo_items" name="creditmemo_items" template="sales/order/creditmemo/items.phtml">
408
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
409
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
410
+ <block type="sales/order_creditmemo_totals" name="creditmemo_totals" template="sales/order/totals.phtml">
411
+ <action method="setLabelProperties"><value>colspan="6" class="a-right"</value></action>
412
+ <action method="setValueProperties"><value>class="a-right"</value></action>
413
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml"/>
414
+ </block>
415
+ <block type="sales/order_comments" name="creditmemo_comments" template="sales/order/comments.phtml" />
416
+ </block>
417
+ </block>
418
+ </reference>
419
+ <reference name="sales.order.info">
420
+ <action method="addLink" translate="label" module="sales"><name>view</name><path>*/*/view</path><label>Order Information</label></action>
421
+ <action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>
422
+ <action method="addLink" translate="label" module="sales"><name>shipment</name><path>*/*/shipment</path><label>Shipments</label></action>
423
+ <action method="addLink" translate="label" module="sales"><name>creditmemo</name><path></path><label>Refunds</label></action>
424
+ </reference>
425
+ </sales_guest_creditmemo>
426
+
427
+ <sales_guest_reorder>
428
+ <reference name="root">
429
+ <action method="setTemplate"><template>page/1column.phtml</template></action>
430
+ </reference>
431
+ <reference name="content">
432
+ <block type="sales/order_view" name="sales.order.view"/>
433
+ </reference>
434
+ </sales_guest_reorder>
435
+
436
+ <sales_guest_print translate="label">
437
+ <label>Sales Order Print View</label>
438
+ <reference name="content">
439
+ <block type="sales/order_print" name="sales.order.print" template="sales/order/print.phtml">
440
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/items/renderer/default.phtml</template></action>
441
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/items/renderer/default.phtml</template></action>
442
+ <block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
443
+ <action method="setLabelProperties"><value>colspan="4" class="a-right"</value></action>
444
+ <action method="setValueProperties"><value>class="last a-right"</value></action>
445
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml">
446
+ <action method="setIsPlaneMode"><value>1</value></action>
447
+ </block>
448
+ </block>
449
+ </block>
450
+ </reference>
451
+ </sales_guest_print>
452
+
453
+ <sales_guest_printinvoice translate="label">
454
+ <label>Sales Invoice Print View</label>
455
+ <reference name="content">
456
+ <block type="sales/order_print_invoice" name="sales.order.print.invoice" template="sales/order/print/invoice.phtml">
457
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
458
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/invoice/items/renderer/default.phtml</template></action>
459
+ <block type="sales/order_invoice_totals" name="invoice_totals" template="sales/order/totals.phtml">
460
+ <action method="setLabelProperties"><value>colspan="4" class="a-right"</value></action>
461
+ <action method="setValueProperties"><value>class="last a-right"</value></action>
462
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml" />
463
+ </block>
464
+ </block>
465
+ </reference>
466
+ </sales_guest_printinvoice>
467
+
468
+ <sales_guest_printshipment translate="label">
469
+ <label>Sales Shipment Print View</label>
470
+ <reference name="content">
471
+ <block type="sales/order_print_shipment" name="sales.order.print.shipment" template="sales/order/print/shipment.phtml">
472
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/shipment/items/renderer/default.phtml</template></action>
473
+ </block>
474
+ </reference>
475
+ </sales_guest_printshipment>
476
+
477
+ <sales_guest_printcreditmemo>
478
+ <reference name="content">
479
+ <block type="sales/order_print_creditmemo" name="sales.order.print.creditmemo" template="sales/order/print/creditmemo.phtml">
480
+ <action method="addItemRender"><type>default</type><block>sales/order_item_renderer_default</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
481
+ <action method="addItemRender"><type>grouped</type><block>sales/order_item_renderer_grouped</block><template>sales/order/creditmemo/items/renderer/default.phtml</template></action>
482
+ <block type="sales/order_creditmemo_totals" name="creditmemo_totals" template="sales/order/totals.phtml">
483
+ <action method="setLabelProperties"><value>colspan="6" class="a-right"</value></action>
484
+ <action method="setValueProperties"><value>class="a-right"</value></action>
485
+ <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml"/>
486
+ </block>
487
+ </block>
488
+ </reference>
489
+ </sales_guest_printcreditmemo>
490
+
491
+ <default>
492
+ <reference name="footer_links">
493
+ <block type="sales/guest_links" name="return_link"/>
494
+ <action method="addLinkBlock"><blockName>return_link</blockName></action>
495
+ </reference>
496
+ </default>
497
+ </layout>
app/design/frontend/default/mobileshoppe/layout/sendfriend.xml ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+ -->
28
+ <layout version="0.1.0">
29
+ <sendfriend_product_send translate="label">
30
+ <label>Catalog Product Email to a Friend</label>
31
+ <reference name="root">
32
+ <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
33
+ </reference>
34
+ <reference name="head">
35
+ <action method="addJs"><script>varien/product.js</script></action>
36
+ </reference>
37
+ <reference name="content">
38
+ <block type="sendfriend/send" name="sendfriend.send" template="sendfriend/send.phtml" />
39
+ </reference>
40
+ </sendfriend_product_send>
41
+ </layout>
app/design/frontend/default/mobileshoppe/layout/tag.xml ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+
31
+ <!--
32
+ Default layout, loads most of the pages
33
+ -->
34
+
35
+ <default>
36
+ <!-- Mage_Tag -->
37
+ <reference name="left">
38
+ <block type="tag/popular" name="tags_popular" template="tag/popular.phtml"/>
39
+ </reference>
40
+
41
+ </default>
42
+
43
+ <!--
44
+ Customer account pages, rendered for all tabs in dashboard
45
+ -->
46
+
47
+ <customer_account>
48
+ <!-- Mage_Tag -->
49
+ <reference name="customer_account_navigation">
50
+ <action method="addLink" translate="label" module="tag"><name>tags</name><path>tag/customer/</path><label>My Tags</label></action>
51
+ </reference>
52
+ </customer_account>
53
+
54
+ <!--
55
+ Customer account home dashboard layout
56
+ -->
57
+
58
+ <customer_account_index>
59
+ <!-- Mage_Tag -->
60
+ <reference name="customer_account_dashboard">
61
+ <action method="unsetChild"><name>customer_account_dashboard_info2</name></action>
62
+ <block type="tag/customer_recent" name="customer_account_dashboard_info2" as="info2" template="tag/customer/recent.phtml"/>
63
+ </reference>
64
+ </customer_account_index>
65
+
66
+ <catalog_product_view translate="label">
67
+ <label>Catalog Product View</label>
68
+ <!-- Mage_Tag -->
69
+ <reference name="product.info.tabs">
70
+ <action method="addTab" translate="title" module="tag"><alias>product.tags</alias><title>Product Tags</title><block>tag/product_list</block><template>tag/list.phtml</template></action>
71
+ </reference>
72
+ <reference name="product.tags">
73
+ <block type="page/html_wrapper" name="product.tag.list.list.before" as="list_before" translate="label">
74
+ <label>Tags List Before</label>
75
+ <action method="setMayBeInvisible"><value>1</value></action>
76
+ </block>
77
+ </reference>
78
+ </catalog_product_view>
79
+
80
+ <!--
81
+ All tags page
82
+ -->
83
+
84
+ <tag_list_index translate="label">
85
+ <label>Tags List (All Available)</label>
86
+ <!-- Mage_Tag -->
87
+ <reference name="root">
88
+ <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
89
+ </reference>
90
+ <reference name="content">
91
+ <block type="tag/all" name="tags_all" template="tag/cloud.phtml"/>
92
+ </reference>
93
+ </tag_list_index>
94
+
95
+ <tag_product_list translate="label">
96
+ <label>Tagged Products List</label>
97
+ <!-- Mage_Tag -->
98
+ <reference name="content">
99
+ <block type="tag/product_result" name="tag_products" template="catalogsearch/result.phtml">
100
+ <block type="catalog/product_list" name="search_result_list" template="catalog/product/list.phtml">
101
+ <block type="catalog/product_list_toolbar" name="product_list_toolbar" template="catalog/product/list/toolbar.phtml">
102
+ <block type="page/html_pager" name="product_list_toolbar_pager"/>
103
+ </block>
104
+ <action method="setToolbarBlockName"><name>product_list_toolbar</name></action>
105
+ </block>
106
+ <action method="setListOrders"/>
107
+ <action method="setListModes"/>
108
+ <action method="setListCollection"/>
109
+ </block>
110
+ </reference>
111
+ </tag_product_list>
112
+
113
+ <tag_customer_index translate="label">
114
+ <label>Customer My Account My Tags List</label>
115
+ <update handle="customer_account"/>
116
+ <reference name="root">
117
+ <action method="setHeaderTitle" translate="title" module="customer"><title>My Account</title></action>
118
+ </reference>
119
+ <reference name="my.account.wrapper">
120
+ <block type="tag/customer_tags" name="customer_tags" template="tag/customer/tags.phtml"/>
121
+ </reference>
122
+ </tag_customer_index>
123
+
124
+ <tag_customer_view translate="label">
125
+ <label>Customer My Account Tag View</label>
126
+ <update handle="customer_account"/>
127
+ <reference name="root">
128
+ <action method="setHeaderTitle" translate="title" module="customer"><title>My Account</title></action>
129
+ </reference>
130
+ <reference name="my.account.wrapper">
131
+ <block type="tag/customer_view" name="customer_view" template="tag/customer/view.phtml"/>
132
+ </reference>
133
+ </tag_customer_view>
134
+
135
+ </layout>
app/design/frontend/default/mobileshoppe/layout/wishlist.xml ADDED
@@ -0,0 +1,139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * Magento
5
+ *
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the Academic Free License (AFL 3.0)
9
+ * that is bundled with this package in the file LICENSE_AFL.txt.
10
+ * It is also available through the world-wide-web at this URL:
11
+ * http://opensource.org/licenses/afl-3.0.php
12
+ * If you did not receive a copy of the license and are unable to
13
+ * obtain it through the world-wide-web, please send an email
14
+ * to license@magentocommerce.com so we can send you a copy immediately.
15
+ *
16
+ * DISCLAIMER
17
+ *
18
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
19
+ * versions in the future. If you wish to customize Magento for your
20
+ * needs please refer to http://www.magentocommerce.com for more information.
21
+ *
22
+ * @category design
23
+ * @package default_modern
24
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
25
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
26
+ */
27
+
28
+ -->
29
+ <layout version="0.1.0">
30
+
31
+ <!--
32
+ Default layout, loads most of the pages
33
+ -->
34
+
35
+ <default>
36
+ <reference name="top.links">
37
+ <block type="wishlist/links" name="wishlist_link" />
38
+ <action method="addLinkBlock"><blockName>wishlist_link</blockName></action>
39
+ </reference>
40
+
41
+ <!-- Mage_Wishlist -->
42
+ <reference name="left">
43
+ <block type="wishlist/customer_sidebar" name="wishlist_sidebar" as="wishlist" after="cart_sidebar" template="wishlist/sidebar.phtml" />
44
+ </reference>
45
+ </default>
46
+
47
+ <!--
48
+ Customer account pages, rendered for all tabs in dashboard
49
+ -->
50
+
51
+ <customer_account>
52
+ <!-- Mage_Wishlist -->
53
+ <reference name="customer_account_navigation">
54
+ <action method="addLink" translate="label" module="wishlist" ifconfig="wishlist/general/active"><name>wishlist</name><path>wishlist/</path><label>My Wishlist</label></action>
55
+ </reference>
56
+ </customer_account>
57
+
58
+ <!--
59
+ Customer account home dashboard layout
60
+ -->
61
+
62
+ <customer_account_index>
63
+ <reference name="right">
64
+ <action method="unsetChild"><name>wishlist</name></action>
65
+ </reference>
66
+ </customer_account_index>
67
+
68
+ <!--
69
+ Wishlist pages
70
+ -->
71
+
72
+ <wishlist_index_index translate="label">
73
+ <label>Customer My Account My Wishlist</label>
74
+ <!-- Mage_Wishlist -->
75
+ <update handle="customer_account" />
76
+ <reference name="my.account.wrapper">
77
+ <block type="wishlist/customer_wishlist" name="customer.wishlist" template="wishlist/view.phtml">
78
+ <action method="setTitle" translate="title">
79
+ <title>My Wishlist</title>
80
+ </action>
81
+ <block type="wishlist/customer_wishlist_items" name="customer.wishlist.items" as="items" template="wishlist/item/list.phtml">
82
+ <block type="wishlist/customer_wishlist_item_column_image" name="customer.wishlist.item.image" template="wishlist/item/column/image.phtml" />
83
+ <block type="wishlist/customer_wishlist_item_column_comment" name="customer.wishlist.item.info" template="wishlist/item/column/info.phtml">
84
+ <action method="setTitle" translate="title">
85
+ <title>Product Details and Comment</title>
86
+ </action>
87
+ </block>
88
+ <block type="wishlist/customer_wishlist_item_column_cart" name="customer.wishlist.item.cart" template="wishlist/item/column/cart.phtml">
89
+ <action method="setTitle" translate="title">
90
+ <title>Add to Cart</title>
91
+ </action>
92
+ <block type="wishlist/customer_wishlist_item_options" name="customer.wishlist.item.options" />
93
+ </block>
94
+ <block type="wishlist/customer_wishlist_item_column_remove" name="customer.wishlist.item.remove" template="wishlist/item/column/remove.phtml" />
95
+ </block>
96
+ <block type="core/text_list" name="customer.wishlist.buttons" as="control_buttons">
97
+ <block type="wishlist/customer_wishlist_button" name="customer.wishlist.button.share" template="wishlist/button/share.phtml" />
98
+ <block type="wishlist/customer_wishlist_button" name="customer.wishlist.button.toCart" template="wishlist/button/tocart.phtml" />
99
+ <block type="wishlist/customer_wishlist_button" name="customer.wishlist.button.update" template="wishlist/button/update.phtml" />
100
+ </block>
101
+ </block>
102
+ </reference>
103
+ <reference name="right">
104
+ <action method="unsetChild"><name>wishlist_customer_sidebar</name></action>
105
+ </reference>
106
+ </wishlist_index_index>
107
+
108
+ <wishlist_index_share translate="label">
109
+ <label>Customer My Account Wishlist Sharing Form</label>
110
+ <!-- Mage_Wishlist -->
111
+ <update handle="customer_account" />
112
+ <reference name="my.account.wrapper">
113
+ <block type="wishlist/customer_sharing" name="wishlist.sharing" template="wishlist/sharing.phtml" />
114
+ </reference>
115
+ <reference name="right">
116
+ <action method="unsetChild"><name>wishlist_customer_sidebar</name></action>
117
+ </reference>
118
+ </wishlist_index_share>
119
+
120
+ <wishlist_index_configure translate="label">
121
+ <label>Configure Wishlist Item</label>
122
+ <update handle="catalog_product_view" />
123
+ <reference name="product.info">
124
+ <block type="wishlist/item_configure" name="product.info.addto" as="addto" template="wishlist/item/configure/addto.phtml" />
125
+ </reference>
126
+ <reference name="product.info.options.wrapper.bottom">
127
+ <action method="unsetChild"><name>product.info.addto</name></action>
128
+ <action method="append"><block>product.info.addto</block></action>
129
+ </reference>
130
+ </wishlist_index_configure>
131
+
132
+ <wishlist_shared_index translate="label">
133
+ <label>Customer Shared Wishlist View</label>
134
+ <!-- Mage_Wishlist -->
135
+ <reference name="content">
136
+ <block type="wishlist/share_wishlist" name="customer.wishlist" template="wishlist/shared.phtml" />
137
+ </reference>
138
+ </wishlist_shared_index>
139
+ </layout>
app/design/frontend/default/mobileshoppe/locale/en_US/translate.csv ADDED
@@ -0,0 +1 @@
 
1
+ "Keep your eyes open for our special Back to School items and save A LOT!","Keep your eyes open for our special Back to School items and save A LOT!"
app/design/frontend/default/mobileshoppe/template/catalog/layer/filter.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) 2012 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
+ * Template for filter items block
30
+ *
31
+ * @see Mage_Catalog_Block_Layer_Filter
32
+ */
33
+ ?>
34
+
35
+ <ul class="categoryitems" contentindex="0c" style="display: block;">
36
+ <?php foreach ($this->getItems() as $_item): ?>
37
+ <li>
38
+ <?php if ($_item->getCount() > 0): ?>
39
+ <a href="<?php echo $this->urlEscape($_item->getUrl()) ?>"><?php echo $_item->getLabel() ?></a>
40
+ <?php else: echo $_item->getLabel() ?>
41
+ <?php endif; ?>
42
+ <?php if ($this->shouldDisplayProductCount()): ?>
43
+ (<?php echo $_item->getCount() ?>)
44
+ <?php endif; ?>
45
+ </li>
46
+ <?php endforeach ?>
47
+ </ul>
app/design/frontend/default/mobileshoppe/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) 2012 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="label"><?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" 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" href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo $this->__('Remove This Item') ?>"><?php echo $this->__('Remove This Item') ?></a>
50
+ <?php endif; ?>
51
+ </li>
52
+ <?php endforeach; ?>
53
+ </ol>
54
+ </div>
55
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/catalog/layer/view.phtml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
30
+ *
31
+ * @see Mage_Catalog_Block_Layer_View
32
+ */
33
+ ?>
34
+ <?php if($this->canShowBlock()): ?>
35
+ <div class="block block-layered-nav">
36
+ <div class="block-title">
37
+ <strong><span><?php echo $this->__('Shop By') ?></span></strong>
38
+ </div>
39
+ <div class="block-content">
40
+ <?php echo $this->getStateHtml() ?>
41
+ <?php if ($this->getLayer()->getState()->getFilters()): ?>
42
+ <div class="actions"><a href="<?php echo $this->getClearUrl() ?>"><?php echo $this->__('Clear All') ?></a></div>
43
+ <?php endif; ?>
44
+ <?php if($this->canShowOptions()): ?>
45
+ <p class="block-subtitle"><?php echo $this->__('Shopping Options') ?></p>
46
+ <dl id="narrow-by-list">
47
+ <?php $_filters = $this->getFilters() ?>
48
+ <?php foreach ($_filters as $_filter): ?>
49
+ <?php if($_filter->getItemsCount()): ?>
50
+ <div class="faq_accordian">
51
+ <div class="arrowlistmenu">
52
+ <h3 class="menuheader expandable openheader"><span class="accordprefix"></span><?php echo $this->__($_filter->getName()) ?><span class="accordsuffix"></span></h3>
53
+ <?php echo $_filter->getHtml() ?>
54
+ </div>
55
+ </div>
56
+ <?php endif; ?>
57
+ <?php endforeach; ?>
58
+ </dl>
59
+ <script type="text/javascript">decorateDataList('narrow-by-list')</script>
60
+ <?php endif; ?>
61
+ </div>
62
+ </div>
63
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/catalog/navigation/left.phtml ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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
+ * Category left navigation
29
+ *
30
+ * @see Mage_Catalog_Block_Navigation
31
+ */
32
+ ?>
33
+ <?php if (!Mage::registry('current_category')) return ?>
34
+ <?php $_categories = $this->getCurrentChildCategories() ?>
35
+ <?php $_count = is_array($_categories)?count($_categories):$_categories->count(); ?>
36
+ <?php if($_count): ?>
37
+ <div class="block block-layered-nav">
38
+ <div class="block-title">
39
+ <strong><span><?php echo $this->__('Browse By') ?></span></strong>
40
+ </div>
41
+ <div class="block-content">
42
+ <dl id="narrow-by-list2">
43
+ <dt><?php echo $this->__('Category') ?></dt>
44
+ <dd>
45
+ <ol>
46
+ <?php foreach ($_categories as $_category): ?>
47
+ <?php if($_category->getIsActive()): ?>
48
+ <li>
49
+ <a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="current"<?php endif; ?>><?php echo $this->htmlEscape($_category->getName()) ?></a> (<?php echo $_category->getProductCount() ?>)
50
+ </li>
51
+ <?php endif; ?>
52
+ <?php endforeach ?>
53
+ </ol>
54
+ </dd>
55
+ </dl>
56
+ <script type="text/javascript">decorateDataList('narrow-by-list2')</script>
57
+ </div>
58
+ </div>
59
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/catalog/navigation/top.phtml ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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
+ * Top menu for store
30
+ *
31
+ * @see Mage_Catalog_Block_Navigation
32
+ */
33
+ ?>
34
+ <?php
35
+ /**
36
+ * $this->renderCategoriesMenuHtml() supports optional arguments:
37
+ * int Level number for list item class to start from
38
+ * string Extra class of outermost list items
39
+ * string If specified wraps children list in div with this class
40
+ */
41
+ ?>
42
+ <?php $_menu = $this->renderCategoriesMenuHtml(0,'level-top') ?>
43
+ <?php if($_menu): ?>
44
+ <script>
45
+ $j(document).ready(function(){
46
+ $j('#nav').mobileMenu();
47
+ });
48
+ </script>
49
+ <div class="nav-container">
50
+ <ul id="nav">
51
+ <?php echo $_menu ?>
52
+ </ul>
53
+ </div>
54
+ <?php endif ?>
app/design/frontend/default/mobileshoppe/template/catalog/new.phtml ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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 (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
28
+ <h2 class="subtitle"><?php echo $this->__('New Products') ?></h2>
29
+ <?php $_columnCount = $this->getColumnCount(); ?>
30
+ <?php $i=0; foreach ($_products->getItems() as $_product): ?>
31
+ <?php if ($i++%$_columnCount==0): ?>
32
+ <ul class="products-grid">
33
+ <?php endif ?>
34
+ <li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
35
+ <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135) ?>" width="135" height="135" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a>
36
+ <h3 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></h3>
37
+ <?php echo $this->getReviewsSummaryHtml($_product, 'short') ?>
38
+ <?php echo $this->getPriceHtml($_product, true, '-new') ?>
39
+ <div class="actions">
40
+ <?php if($_product->isSaleable()): ?>
41
+ <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
42
+ <?php else: ?>
43
+ <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
44
+ <?php endif; ?>
45
+ <ul class="add-to-links">
46
+ <?php if ($this->helper('wishlist')->isAllow()) : ?>
47
+ <li><a href="<?php echo $this->getAddToWishlistUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
48
+ <?php endif; ?>
49
+ <?php if ($_compareUrl = $this->getAddToCompareUrl($_product)): ?>
50
+ <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
51
+ <?php endif; ?>
52
+ </ul>
53
+ </div>
54
+ </li>
55
+ <?php if ($i%$_columnCount==0 || $i==count($_products)): ?>
56
+ </ul>
57
+ <?php endif ?>
58
+ <?php endforeach; ?>
59
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/catalog/new_tabs.phtml ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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 (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
28
+ <h2 class="subtitle"><?php echo $this->__('New Products') ?></h2>
29
+ <?php $_columnCount = $this->getColumnCount(); ?>
30
+ <?php $i=0; foreach ($_products->getItems() as $_product): ?>
31
+ <?php if ($i++%$_columnCount==0): ?>
32
+ <ul class="products-grid">
33
+ <?php endif ?>
34
+ <li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
35
+ <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135) ?>" width="135" height="135" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a>
36
+ <h3 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></h3>
37
+ <?php echo $this->getPriceHtml($_product, true, '-new') ?>
38
+ </li>
39
+ <?php if ($i%$_columnCount==0 || $i==count($_products)): ?>
40
+ </ul>
41
+ <?php endif ?>
42
+ <?php endforeach; ?>
43
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/catalog/product/list.phtml ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2011 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
+ * Product list template
30
+ *
31
+ * @see Mage_Catalog_Block_Product_List
32
+ */
33
+ ?>
34
+ <?php
35
+ $_productCollection=$this->getLoadedProductCollection();
36
+ $_helper = $this->helper('catalog/output');
37
+ ?>
38
+ <?php if(!$_productCollection->count()): ?>
39
+ <p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p>
40
+ <?php else: ?>
41
+ <div class="category-products">
42
+ <?php echo $this->getToolbarBlock()->setTemplate('catalog/product/list/toolbar_top.phtml')->toHtml(); ?>
43
+ <?php // List mode ?>
44
+ <?php if($this->getMode()!='grid'): ?>
45
+ <?php $_iterator = 0; ?>
46
+ <ol class="products-list" id="products-list">
47
+ <?php foreach ($_productCollection as $_product): ?>
48
+ <li class="item<?php if( ++$_iterator == sizeof($_productCollection) ): ?> last<?php endif; ?>">
49
+ <?php // Product Image ?>
50
+ <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(252); ?>" width="252" height="252" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
51
+ <?php // Product description ?>
52
+ <div class="product-shop">
53
+ <div class="f-fix">
54
+ <?php $_productNameStripped = $this->stripTags($_product->getName(), null, true); ?>
55
+ <h2 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped; ?>"><?php echo $_helper->productAttribute($_product, $_product->getName() , 'name'); ?></a></h2>
56
+ <?php if($_product->getRatingSummary()): ?>
57
+ <?php echo $this->getReviewsSummaryHtml($_product) ?>
58
+ <?php endif; ?>
59
+ <?php echo $this->getPriceHtml($_product, true) ?>
60
+ <?php if($_product->isSaleable()): ?>
61
+ <p><button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p>
62
+ <?php else: ?>
63
+ <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
64
+ <?php endif; ?>
65
+ <div class="desc std">
66
+ <?php echo $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description') ?>
67
+ <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped ?>" class="link-learn"><?php echo $this->__('Learn More') ?></a>
68
+ </div>
69
+ <ul class="add-to-links">
70
+ <?php if ($this->helper('wishlist')->isAllow()) : ?>
71
+ <li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
72
+ <?php endif; ?>
73
+ <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>
74
+ <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
75
+ <?php endif; ?>
76
+ </ul>
77
+ </div>
78
+ </div>
79
+ </li>
80
+ <?php endforeach; ?>
81
+ </ol>
82
+ <script type="text/javascript">decorateList('products-list', 'none-recursive')</script>
83
+
84
+ <?php else: ?>
85
+
86
+ <?php // Grid Mode ?>
87
+
88
+ <?php $_collectionSize = $_productCollection->count() ?>
89
+ <?php $_columnCount = $this->getColumnCount(); ?>
90
+ <?php $_iterator = 0; ?>
91
+ <ul class="products-grid">
92
+ <?php $i=0; foreach ($_productCollection as $_product): ?>
93
+ <li class="item">
94
+ <div class="pro_topadst">
95
+ <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(252); ?>" width="252" height="252" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
96
+ <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>
97
+ <?php if($_product->getRatingSummary()): ?>
98
+ <?php echo $this->getReviewsSummaryHtml($_product, 'short') ?>
99
+ <?php endif; ?>
100
+ <?php echo $this->getPriceHtml($_product, true) ?>
101
+ </div>
102
+ <div class="actions">
103
+ <?php if($_product->isSaleable()): ?>
104
+ <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
105
+ <?php else: ?>
106
+ <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
107
+ <?php endif; ?>
108
+ <ul class="add-to-links">
109
+ <?php if ($this->helper('wishlist')->isAllow()) : ?>
110
+ <li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
111
+ <?php endif; ?>
112
+ <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?>
113
+ <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
114
+ <?php endif; ?>
115
+ </ul>
116
+ </div>
117
+ </li>
118
+ <?php endforeach ?>
119
+ </ul>
120
+ <script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script>
121
+ <?php endif; ?>
122
+
123
+ <div class="toolbar-bottom">
124
+ <?php echo $this->getToolbarBlock()->setTemplate('catalog/product/list/toolbar_bottom.phtml')->toHtml(); ?>
125
+ </div>
126
+ </div>
127
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/catalog/product/list/toolbar_bottom.phtml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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
+ * Product list toolbar
30
+ *
31
+ * @see Mage_Catalog_Block_Product_List_Toolbar
32
+ */
33
+ ?>
34
+ <?php if($this->getCollection()->getSize()): ?>
35
+ <div class="toolbar">
36
+ <div class="pager">
37
+ <p class="amount">
38
+ <?php if($this->getLastPageNum()>1): ?>
39
+ <?php echo $this->__('Items %s to %s of %s total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
40
+ <?php else: ?>
41
+ <strong><?php echo $this->__('%s Item(s)', $this->getTotalNum()) ?></strong>
42
+ <?php endif; ?>
43
+ </p>
44
+
45
+ <?php echo $this->getPagerHtml() ?>
46
+
47
+ </div>
48
+
49
+ </div>
50
+ <?php endif ?>
app/design/frontend/default/mobileshoppe/template/catalog/product/list/toolbar_top.phtml ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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
+ * Product list toolbar
30
+ *
31
+ * @see Mage_Catalog_Block_Product_List_Toolbar
32
+ */
33
+ ?>
34
+ <?php if($this->getCollection()->getSize()): ?>
35
+ <div class="toolbar">
36
+ <?php if( $this->isExpanded() ): ?>
37
+ <div class="sorter">
38
+ <?php if( $this->isEnabledViewSwitcher() ): ?>
39
+ <p class="view-mode">
40
+ <?php $_modes = $this->getModes(); ?>
41
+ <?php if($_modes && count($_modes)>1): ?>
42
+ <label><?php echo $this->__('View as') ?>:</label>
43
+ <?php foreach ($this->getModes() as $_code=>$_label): ?>
44
+ <?php if($this->isModeActive($_code)): ?>
45
+ <strong title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></strong>&nbsp;
46
+ <?php else: ?>
47
+ <a href="<?php echo $this->getModeUrl($_code) ?>" title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></a>&nbsp;
48
+ <?php endif; ?>
49
+ <?php endforeach; ?>
50
+ <?php endif; ?>
51
+ </p>
52
+ <?php endif; ?>
53
+
54
+
55
+ <div class="limiter">
56
+ <label><?php echo $this->__('Show') ?></label>
57
+ <select onchange="setLocation(this.value)">
58
+ <?php foreach ($this->getAvailableLimit() as $_key=>$_limit): ?>
59
+ <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if($this->isLimitCurrent($_key)): ?> selected="selected"<?php endif ?>>
60
+ <?php echo $_limit ?>
61
+ </option>
62
+ <?php endforeach; ?>
63
+ </select> <?php echo $this->__('per page') ?>
64
+ </div>
65
+
66
+ <div class="sort-by">
67
+ <label><?php echo $this->__('Sort By') ?></label>
68
+ <select onchange="setLocation(this.value)">
69
+ <?php foreach($this->getAvailableOrders() as $_key=>$_order): ?>
70
+ <option value="<?php echo $this->getOrderUrl($_key, 'asc') ?>"<?php if($this->isOrderCurrent($_key)): ?> selected="selected"<?php endif; ?>>
71
+ <?php echo $this->__($_order) ?>
72
+ </option>
73
+ <?php endforeach; ?>
74
+ </select>
75
+ <?php if($this->getCurrentDirection() == 'desc'): ?>
76
+ <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>
77
+ <?php else: ?>
78
+ <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>
79
+ <?php endif; ?>
80
+ </div>
81
+ </div>
82
+ <?php endif; ?>
83
+ </div>
84
+ <?php endif ?>
app/design/frontend/default/mobileshoppe/template/catalog/product/list/upsell.phtml ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2011 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(count($this->getItemCollection()->getItems())): ?>
28
+ <div class="box-collateral box-up-sell">
29
+ <h2><?php echo $this->__('You may also be interested in the following product(s)') ?></h2>
30
+ <ul class="mini-products-grid" id="upsell-product-table">
31
+ <?php // $this->setColumnCount(5); // uncomment this line if you want to have another number of columns. also can be changed in layout ?>
32
+ <?php $this->resetItemsIterator() ?>
33
+ <?php for($_i=0;$_i<$this->getRowCount();$_i++): ?>
34
+ <?php for($_j=0;$_j<$this->getColumnCount();$_j++): ?>
35
+ <?php if($_link=$this->getIterableItem()): ?>
36
+ <li>
37
+ <a href="<?php echo $_link->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_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->htmlEscape($_link->getName()) ?>" /></a>
38
+ <h3 class="product-name"><a href="<?php echo $_link->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_link->getName()) ?>"><?php echo $this->htmlEscape($_link->getName()) ?></a></h3>
39
+ <?php echo $this->getPriceHtml($_link, true, '-upsell') ?>
40
+ <?php echo $this->getReviewsSummaryHtml($_link) ?>
41
+ </li>
42
+ <?php else: ?>
43
+ <li class="empty">&nbsp;</li>
44
+ <?php endif; ?>
45
+ <?php endfor; ?>
46
+ <?php endfor; ?>
47
+ </ul>
48
+ <script type="text/javascript">decorateTable('upsell-product-table')</script>
49
+ </div>
50
+ <?php endif ?>
app/design/frontend/default/mobileshoppe/template/catalog/product/list_tabs.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 default_modern
23
+ * @copyright Copyright (c) 2011 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
+ * Product list template
30
+ *
31
+ * @see Mage_Catalog_Block_Product_List
32
+ */
33
+ ?>
34
+ <?php
35
+ $_productCollection=$this->getLoadedProductCollection();
36
+ $_helper = $this->helper('catalog/output');
37
+ ?>
38
+ <?php if(!$_productCollection->count()): ?>
39
+ <p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p>
40
+ <?php else: ?>
41
+ <div class="category-products">
42
+ <?php // Grid Mode ?>
43
+ <?php $_collectionSize = $_productCollection->count() ?>
44
+ <?php $_columnCount = $this->getColumnCount(); ?>
45
+ <?php $_iterator = 0; ?>
46
+ <ul class="products-grid">
47
+ <?php $i=0; foreach ($_productCollection as $_product): ?>
48
+ <li class="item">
49
+ <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(252); ?>" width="252" height="252" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
50
+ <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>
51
+ <?php echo $this->getPriceHtml($_product, true) ?>
52
+ </li>
53
+ <?php endforeach ?>
54
+ </ul>
55
+ <script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script>
56
+ </div>
57
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/catalog/product/view.phtml ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2011 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 view template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View
31
+ * @see Mage_Review_Block_Product_View
32
+ */
33
+ ?>
34
+ <?php $_helper = $this->helper('catalog/output'); ?>
35
+ <?php $_product = $this->getProduct(); ?>
36
+ <script type="text/javascript">
37
+ var optionsPrice = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>);
38
+ </script>
39
+ <div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
40
+ <div class="product-view">
41
+ <div class="product-essential">
42
+ <form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
43
+ <div class="no-display">
44
+ <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
45
+ <input type="hidden" name="related_product" id="related-products-field" value="" />
46
+ </div>
47
+
48
+ <div class="product-name">
49
+ <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
50
+ </div>
51
+
52
+ <div class="product-img-box">
53
+ <?php echo $this->getChildHtml('media') ?>
54
+ </div>
55
+
56
+ <div class="product-shop">
57
+
58
+ <?php if ($this->canEmailToFriend()): ?>
59
+ <p class="email-friend"><a href="<?php echo $this->helper('catalog/product')->getEmailToFriendUrl($_product) ?>"><?php echo $this->__('Email to a Friend') ?></a></p>
60
+ <?php endif; ?>
61
+
62
+ <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
63
+ <?php echo $this->getChildHtml('alert_urls') ?>
64
+ <?php echo $this->getChildHtml('product_type_data') ?>
65
+ <?php echo $this->getTierPriceHtml() ?>
66
+ <?php echo $this->getChildHtml('extrahint') ?>
67
+
68
+ <?php if (!$this->hasOptions()):?>
69
+ <div class="add-to-box">
70
+ <?php if($_product->isSaleable()): ?>
71
+ <?php echo $this->getChildHtml('addtocart') ?>
72
+ <?php if( $this->helper('wishlist')->isAllow() || $_compareUrl=$this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
73
+ <span class="or"><?php echo $this->__('OR') ?></span>
74
+ <?php endif; ?>
75
+ <?php endif; ?>
76
+ <?php echo $this->getChildHtml('addto') ?>
77
+ </div>
78
+ <?php endif; ?>
79
+
80
+ <?php if ($_product->getShortDescription()):?>
81
+ <div class="short-description">
82
+ <h2><?php echo $this->__('Quick Overview') ?></h2>
83
+ <div class="std"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
84
+ </div>
85
+ <?php endif;?>
86
+
87
+ <?php echo $this->getChildHtml('other');?>
88
+ <?php if ($_product->isSaleable() && $this->hasOptions()):?>
89
+ <?php echo $this->getChildChildHtml('container1', '', true, true) ?>
90
+ <?php endif;?>
91
+
92
+ </div>
93
+
94
+ <div class="clearer"></div>
95
+ <?php if ($_product->isSaleable() && $this->hasOptions()):?>
96
+ <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
97
+ <?php endif;?>
98
+ </form>
99
+ <script type="text/javascript">
100
+ //<![CDATA[
101
+ var productAddToCartForm = new VarienForm('product_addtocart_form');
102
+ productAddToCartForm.submit = function(button, url) {
103
+ if (this.validator.validate()) {
104
+ var form = this.form;
105
+ var oldUrl = form.action;
106
+
107
+ if (url) {
108
+ form.action = url;
109
+ }
110
+ var e = null;
111
+ try {
112
+ this.form.submit();
113
+ } catch (e) {
114
+ }
115
+ this.form.action = oldUrl;
116
+ if (e) {
117
+ throw e;
118
+ }
119
+
120
+ if (button && button != 'undefined') {
121
+ button.disabled = true;
122
+ }
123
+ }
124
+ }.bind(productAddToCartForm);
125
+
126
+ productAddToCartForm.submitLight = function(button, url){
127
+ if(this.validator) {
128
+ var nv = Validation.methods;
129
+ delete Validation.methods['required-entry'];
130
+ delete Validation.methods['validate-one-required'];
131
+ delete Validation.methods['validate-one-required-by-name'];
132
+ if (this.validator.validate()) {
133
+ if (url) {
134
+ this.form.action = url;
135
+ }
136
+ this.form.submit();
137
+ }
138
+ Object.extend(Validation.methods, nv);
139
+ }
140
+ }.bind(productAddToCartForm);
141
+ //]]>
142
+ </script>
143
+ </div>
144
+
145
+ <div class="product-collateral">
146
+ <?php echo $this->getChildHtml('info_tabs') ?>
147
+ <?php echo $this->getChildHtml('product_additional_data') ?>
148
+ </div>
149
+ </div>
app/design/frontend/default/mobileshoppe/template/catalog/product/view/media.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 default_modern
23
+ * @copyright Copyright (c) 2011 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 media data template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View_Media
31
+ */
32
+ ?>
33
+ <?php
34
+ $_product = $this->getProduct();
35
+ $_helper = $this->helper('catalog/output');
36
+ ?>
37
+ <?php if ($_product->getImage() != 'no_selection' && $_product->getImage()): ?>
38
+ <div id="galleria">
39
+ <?php
40
+ $_img = '<img src="'.$this->helper('catalog/image')->init($_product, 'image')->resize().'" alt="'.$this->htmlEscape($this->getImageLabel()).'" title="'.$this->htmlEscape($this->getImageLabel()).'" />';
41
+ echo $_helper->productAttribute($_product, $_img, 'image');
42
+ ?>
43
+ <?php foreach ($this->getGalleryImages() as $_image): ?>
44
+ <img src="<?php echo $this->helper('catalog/image')->init($this->getProduct(), 'thumbnail', $_image->getFile())->resize(); ?>" alt="<?php echo $this->htmlEscape($_image->getLabel()) ?>" title="<?php echo $this->htmlEscape($_image->getLabel()) ?>" />
45
+ <?php endforeach; ?>
46
+ </div>
47
+ <script type="text/javascript">
48
+ //<![CDATA[
49
+ // Initialize Galleria
50
+ $j('#galleria').galleria({
51
+ responsive: true,
52
+ lightbox: true,
53
+ swipe: true
54
+ });
55
+ //]]>
56
+ </script>
57
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/catalog/product/view/tabs.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 default_modern
23
+ * @copyright Copyright (c) 2012 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 view template
29
+ *
30
+ * @see Mage_Catalog_Block_Product_View
31
+ */
32
+ ?>
33
+ <ul class="product-tabs">
34
+ <?php foreach ($this->getTabs() as $_index => $_tab): ?>
35
+ <?php if($this->getChildHtml($_tab['alias'])): ?>
36
+ <li id="product_tabs_<?php echo $_tab['alias'] ?>" class="<?php echo !$_index?' active first':(($_index==count($this->getTabs())-1)?' last':'')?>"><a href="#"><?php echo $_tab['title']?></a></li>
37
+ <?php endif; ?>
38
+ <?php endforeach; ?>
39
+ </ul>
40
+ <?php foreach ($this->getTabs() as $_index => $_tab): ?>
41
+ <?php if($this->getChildHtml($_tab['alias'])): ?>
42
+ <div class="product-tabs-content" id="product_tabs_<?php echo $_tab['alias'] ?>_contents"><?php echo $this->getChildHtml($_tab['alias']) ?></div>
43
+ <?php endif; ?>
44
+ <?php endforeach; ?>
45
+ <script type="text/javascript">
46
+ //<![CDATA[
47
+ Varien.Tabs = Class.create();
48
+ Varien.Tabs.prototype = {
49
+ initialize: function(selector) {
50
+ var self=this;
51
+ $$(selector+' a').each(this.initTab.bind(this));
52
+ },
53
+
54
+ initTab: function(el) {
55
+ el.href = 'javascript:void(0)';
56
+ if ($(el.parentNode).hasClassName('active')) {
57
+ this.showContent(el);
58
+ }
59
+ el.observe('click', this.showContent.bind(this, el));
60
+ },
61
+
62
+ showContent: function(a) {
63
+ var li = $(a.parentNode), ul = $(li.parentNode);
64
+ ul.select('li', 'ol').each(function(el){
65
+ var contents = $(el.id+'_contents');
66
+ if (el==li) {
67
+ el.addClassName('active');
68
+ contents.show();
69
+ } else {
70
+ el.removeClassName('active');
71
+ contents.hide();
72
+ }
73
+ });
74
+ }
75
+ }
76
+ new Varien.Tabs('.product-tabs');
77
+ //]]>
78
+ </script>
app/design/frontend/default/mobileshoppe/template/catalogsearch/form.mini.phtml ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2011 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="search_mini_form" action="<?php echo $this->helper('catalogsearch')->getResultUrl() ?>" method="get">
28
+ <div class="form-search">
29
+ <label for="search"><?php echo $this->__('Search') ?></label>
30
+ <input id="search" type="text" name="<?php echo $this->helper('catalogsearch')->getQueryParamName() ?>" value="<?php echo $this->helper('catalogsearch')->getEscapedQueryText() ?>" class="input-text" />
31
+ <button type="submit" title="<?php echo $this->__('Go') ?>" class="button"></button>
32
+ <div id="search_autocomplete" class="search-autocomplete"></div>
33
+ <script type="text/javascript">
34
+ //<![CDATA[
35
+ var searchForm = new Varien.searchForm('search_mini_form', 'search', '<?php echo $this->__('Search entire store here...') ?>');
36
+ searchForm.initAutocomplete('<?php echo $this->helper('catalogsearch')->getSuggestUrl() ?>', 'search_autocomplete');
37
+ //]]>
38
+ </script>
39
+ </div>
40
+ </form>
app/design/frontend/default/mobileshoppe/template/checkout/cart.phtml ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2011 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
+ * Shopping cart template
30
+ *
31
+ * @see Mage_Checkout_Block_Cart
32
+ */
33
+ ?>
34
+ <div class="cart">
35
+ <?php echo $this->getChildHtml('form_before') ?>
36
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
37
+ <?php if(!$this->hasError() && count($this->getItems()) > 1): ?>
38
+ <ul class="checkout-types">
39
+ <?php foreach ($this->getMethods('methods') as $method): ?>
40
+ <?php $methodHtml = $this->getMethodHtml($method); ?>
41
+ <?php if ($methodHtml): ?>
42
+ <li><?php echo $methodHtml; ?></li>
43
+ <?php endif; ?>
44
+ <?php endforeach; ?>
45
+ </ul>
46
+ <?php endif; ?>
47
+ <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post">
48
+ <fieldset>
49
+ <table id="shopping-cart-table" class="data-table cart-table">
50
+
51
+ <tbody>
52
+ <?php foreach($this->getItems() as $_item): ?>
53
+ <?php echo $this->getItemHtml($_item) ?>
54
+ <?php endforeach ?>
55
+ </tbody>
56
+ </table>
57
+ <div class="chk_cartbtn">
58
+ <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo $this->__('Update Shopping Cart'); ?>" class="button btn-update"><?php echo $this->__('Update Shopping Cart'); ?></button>
59
+ <!--<button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo $this->__('Clear Shopping Cart'); ?>" class="button btn-update" id="empty_cart_button"><?php echo $this->__('Clear Shopping Cart'); ?></button>-->
60
+
61
+ </div>
62
+ </fieldset>
63
+ </form>
64
+ <div class="cart-collaterals">
65
+ <div class="collat-wrap">
66
+ <div class="grid_4"><?php echo $this->getChildHtml('coupon') ?></div>
67
+ <div class="grid_4"><?php if (!$this->getIsVirtual()): echo $this->getChildHtml('shipping'); endif; ?></div>
68
+ <div class="totals grid_4">
69
+ <?php echo $this->getChildHtml('totals'); ?>
70
+ <?php if(!$this->hasError()): ?>
71
+ <ul class="checkout-types">
72
+ <?php foreach ($this->getMethods('methods') as $method): ?>
73
+ <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
74
+ <li><?php echo $methodHtml; ?></li>
75
+ <?php endif; ?>
76
+ <?php endforeach; ?>
77
+ </ul>
78
+ <?php endif; ?>
79
+ </div>
80
+ </div>
81
+ <div class="crosssell-wrap">
82
+ <?php echo $this->getChildHtml('crosssell') ?>
83
+ </div>
84
+ </div>
85
+ </div>
app/design/frontend/default/mobileshoppe/template/checkout/cart/crosssell.phtml ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ * Cart cross sell items template
30
+ *
31
+ * @see Mage_Checkout_Block_Cart_Crosssell
32
+ */
33
+ ?>
34
+ <?php if($this->getItemCount()): ?>
35
+ <div class="crosssell">
36
+ <h2><?php echo $this->__('Based on your selection, you may be interested in the following items:') ?></h2>
37
+ <ul id="crosssell-products-list">
38
+ <?php foreach ($this->getItems() as $_item): ?>
39
+ <li class="item">
40
+ <a class="product-image" href="<?php echo $_item->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_item->getName()) ?>"><img src="<?php echo $this->helper('catalog/image')->init($_item, 'thumbnail')->resize(120); ?>" width="120" height="120" alt="<?php echo $this->htmlEscape($_item->getName()) ?>" /></a>
41
+ <div class="product-details">
42
+ <h3 class="product-name"><a href="<?php echo $_item->getProductUrl() ?>"><?php echo $this->htmlEscape($_item->getName()) ?></a></h3>
43
+ <?php echo $this->getPriceHtml($_item, true) ?>
44
+ <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_item) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
45
+ <ul class="add-to-links">
46
+ <?php if ($this->helper('wishlist')->isAllow()) : ?>
47
+ <li><a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li>
48
+ <?php endif; ?>
49
+ <?php if($_compareUrl=$this->getAddToCompareUrl($_item)): ?>
50
+ <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
51
+ <?php endif; ?>
52
+ </ul>
53
+ </div>
54
+ </li>
55
+ <?php endforeach; ?>
56
+ </ul>
57
+ <script type="text/javascript">decorateList('crosssell-products-list', 'none-recursive')</script>
58
+ </div>
59
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/checkout/cart/item/_default.phtml ADDED
@@ -0,0 +1,304 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_iphone
23
+ * @copyright Copyright (c) 2012 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
+ $messages = $this->getMessages();
32
+ $_options = $this->getOptionList();
33
+ ?>
34
+
35
+ <?php if ($messages): ?>
36
+ <tr class="messages">
37
+ <td colspan="2">
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
+ </td>
42
+ </tr>
43
+ <?php endif; ?>
44
+ <tr>
45
+ <td>
46
+
47
+ <?php if ($this->hasProductUrl()):?>
48
+ <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(114); ?>" width="57" height="57" alt="<?php echo $this->escapeHtml($this->getProductName()) ?>" /><?php if ($this->hasProductUrl()):?></a>
49
+ <?php endif;?>
50
+
51
+ <?php if ($isVisibleProduct && $this->getOptionList()): ?>
52
+ <p><a class="link-edit" href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo $this->__('Edit item parameters') ?>"><?php echo $this->__('Edit') ?></a></p>
53
+ <?php endif ?>
54
+
55
+ </td>
56
+
57
+ <td>
58
+
59
+ <a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo $this->__('Remove item')?>" class="btn-remove btn-remove2"><?php echo $this->__('Remove item')?></a>
60
+
61
+ <h2 class="product-name">
62
+ <?php if ($this->hasProductUrl()):?>
63
+ <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
64
+ <?php else: ?>
65
+ <?php echo $this->escapeHtml($this->getProductName()) ?>
66
+ <?php endif; ?>
67
+ </h2>
68
+
69
+ <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
70
+ <?php if ($addInfoBlock): ?>
71
+ <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
72
+ <?php endif;?>
73
+
74
+ <div class="price-box">
75
+
76
+ <div class="qty-wrap">
77
+ <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" size="4" title="<?php echo $this->__('Qty') ?>" class="input-text qty" maxlength="12" />
78
+ <span<?php if ($this->getQty() == 1) echo ' style="display:none;"' ?>>×</span>
79
+ </div>
80
+
81
+ <div class="cart-price-box"<?php if ($this->getQty() == 1) echo ' style="display:none;"' ?>>
82
+
83
+ <?php if ($canApplyMsrp): ?>
84
+ <span class="cart-price">
85
+ <span class="cart-msrp-unit"><?php echo $this->__('See price before order confirmation.'); ?></span>
86
+ <?php $helpLinkId = 'cart-msrp-help-' . $_item->getId(); ?>
87
+ <a id="<?php echo $helpLinkId ?>" href="#" class="map-help-link"><?php echo $this->__("What's this?"); ?></a>
88
+ <script type="text/javascript">
89
+ Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo $this->__("What's this?") ?>");
90
+ </script>
91
+ </span>
92
+ <?php else: ?>
93
+
94
+ <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
95
+
96
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
97
+ <span class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
98
+ <?php else: ?>
99
+ <span class="cart-price">
100
+ <?php endif; ?>
101
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
102
+ <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
103
+ <?php else: ?>
104
+ <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()) ?>
105
+ <?php endif; ?>
106
+
107
+ </span>
108
+
109
+
110
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
111
+
112
+ <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
113
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
114
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
115
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
116
+ <?php endforeach; ?>
117
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
118
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
119
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
120
+ <?php endforeach; ?>
121
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
122
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
123
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
124
+ <?php endforeach; ?>
125
+ <?php endif; ?>
126
+ </div>
127
+
128
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
129
+ <div class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
130
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total'); ?>: <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
131
+ </div>
132
+ <?php endif; ?>
133
+ <?php endif; ?>
134
+
135
+ <?php endif; ?>
136
+ <?php if ($this->helper('tax')->displayCartPriceInclTax()): ?>
137
+
138
+ <?php $_incl = $this->helper('checkout')->getPriceInclTax($_item); ?>
139
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
140
+ <span class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
141
+ <?php else: ?>
142
+ <span class="cart-price">
143
+ <?php endif; ?>
144
+
145
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
146
+ <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
147
+ <?php else: ?>
148
+ <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
149
+ <?php endif; ?>
150
+
151
+ </span>
152
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
153
+
154
+ <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
155
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
156
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
157
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
158
+ <?php endforeach; ?>
159
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
160
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
161
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
162
+ <?php endforeach; ?>
163
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
164
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
165
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
166
+ <?php endforeach; ?>
167
+ <?php endif; ?>
168
+ </div>
169
+
170
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
171
+ <div class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
172
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>: <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
173
+ </div>
174
+ <?php endif; ?>
175
+ <?php endif; ?>
176
+
177
+ <?php endif; ?>
178
+ <?php endif; ?>
179
+
180
+ </div>
181
+
182
+ <div class="cart-price-box">
183
+
184
+ <?php if ($this->helper('tax')->displayCartPriceExclTax() && !$_item->getNoSubtotal()): ?>
185
+
186
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
187
+ <span class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
188
+ <?php else: ?>
189
+ <span class="cart-price">
190
+ <?php endif; ?>
191
+
192
+ <?php if ($canApplyMsrp): ?>
193
+ <span class="cart-msrp-subtotal">--</span>
194
+ <?php else: ?>
195
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
196
+ <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
197
+ <?php else: ?>
198
+ <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()) ?>
199
+ <?php endif; ?>
200
+ <?php endif; ?>
201
+
202
+ </span>
203
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
204
+
205
+ <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
206
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
207
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
208
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
209
+ <?php endforeach; ?>
210
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
211
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
212
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
213
+ <?php endforeach; ?>
214
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
215
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
216
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
217
+ <?php endforeach; ?>
218
+ <?php endif; ?>
219
+ </div>
220
+
221
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
222
+ <div class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
223
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total'); ?>: <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
224
+ </div>
225
+ <?php endif; ?>
226
+ <?php endif; ?>
227
+
228
+ <?php endif; ?>
229
+
230
+ <?php if (($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
231
+
232
+ <?php $_incl = $this->helper('checkout')->getSubtotalInclTax($_item); ?>
233
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
234
+ <span class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
235
+ <?php else: ?>
236
+ <span class="cart-price">
237
+ <?php endif; ?>
238
+
239
+ <?php if ($canApplyMsrp): ?>
240
+ <span class="cart-msrp-subtotal">--</span>
241
+ <?php else: ?>
242
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
243
+ <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
244
+ <?php else: ?>
245
+ <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
246
+ <?php endif; ?>
247
+ <?php endif; ?>
248
+
249
+ </span>
250
+
251
+
252
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
253
+
254
+ <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
255
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
256
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
257
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
258
+ <?php endforeach; ?>
259
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
260
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
261
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
262
+ <?php endforeach; ?>
263
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
264
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
265
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
266
+ <?php endforeach; ?>
267
+ <?php endif; ?>
268
+ </div>
269
+
270
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
271
+ <div class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
272
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>: <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
273
+ </div>
274
+ <?php endif; ?>
275
+ <?php endif; ?>
276
+
277
+ <?php endif; ?>
278
+
279
+ </div>
280
+
281
+ </div>
282
+
283
+ </td>
284
+ </tr>
285
+ <?php if ($_options):?>
286
+ <tr class="product-options">
287
+ <td colspan="2">
288
+ <span class="toggle" onclick="$(this).next('.product-options').toggle(); return false;">Show Options</span>
289
+ <div class="product-options" style="display:none;">
290
+ <dl class="item-options">
291
+ <?php foreach ($_options as $_option) : ?>
292
+ <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
293
+ <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
294
+ <?php if (isset($_formatedOptionValue['full_view'])): ?>
295
+ <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
296
+ <?php else: ?>
297
+ <dd><?php echo $_formatedOptionValue['value'] ?></dd>
298
+ <?php endif; ?>
299
+ <?php endforeach; ?>
300
+ </dl>
301
+ </div>
302
+ </td>
303
+ </tr>
304
+ <?php endif;?>
app/design/frontend/default/mobileshoppe/template/checkout/cart/item/default.phtml ADDED
@@ -0,0 +1,278 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ <tr>
33
+ <td><?php if ($this->hasProductUrl()):?><a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->htmlEscape($this->getProductName()) ?>" class="product-image"><?php endif;?><img src="<?php echo $this->getProductThumbnail()->resize(75); ?>" width="75" height="75" alt="<?php echo $this->htmlEscape($this->getProductName()) ?>" /><?php if ($this->hasProductUrl()):?></a><?php endif;?></td>
34
+ <td>
35
+ <h2 class="product-name">
36
+ <?php if ($this->hasProductUrl()):?>
37
+ <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->htmlEscape($this->getProductName()) ?></a>
38
+ <?php else: ?>
39
+ <?php echo $this->htmlEscape($this->getProductName()) ?>
40
+ <?php endif; ?>
41
+ </h2>
42
+ <?php if ($_options = $this->getOptionList()):?>
43
+ <dl class="item-options">
44
+ <?php foreach ($_options as $_option) : ?>
45
+ <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
46
+ <dt><?php echo $this->htmlEscape($_option['label']) ?></dt>
47
+ <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
48
+ <?php if (isset($_formatedOptionValue['full_view'])): ?>
49
+ <div class="truncated_full_value">
50
+ <dl class="item-options">
51
+ <dt><?php echo $this->htmlEscape($_option['label']) ?></dt>
52
+ <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
53
+ </dl>
54
+ </div>
55
+ <?php endif; ?>
56
+ </dd>
57
+ <?php endforeach; ?>
58
+ </dl>
59
+ <?php endif;?>
60
+ <?php if ($messages = $this->getMessages()): ?>
61
+ <?php foreach ($messages as $message): ?>
62
+ <p class="item-msg <?php echo $message['type'] ?>">* <?php echo $this->escapeHtml($message['text']) ?></p>
63
+ <?php endforeach; ?>
64
+ <?php endif; ?>
65
+ <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
66
+ <?php if ($addInfoBlock): ?>
67
+ <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
68
+ <?php endif;?>
69
+ </td>
70
+ <td class="a-center edititem">
71
+ <?php if ($isVisibleProduct): ?>
72
+ <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo $this->__('Edit item parameters') ?>"><?php echo $this->__('Edit') ?></a>
73
+ <?php endif ?>
74
+ </td>
75
+ <?php if ($this->helper('wishlist')->isAllowInCart()) : ?>
76
+ <td class="a-center wishlistitem">
77
+ <?php if ($isVisibleProduct): ?>
78
+ <a href="<?php echo $this->helper('wishlist')->getMoveFromCartUrl($_item->getId()); ?>" class="link-wishlist use-ajax"><?php echo $this->__('Move'); ?></a>
79
+ <?php endif ?>
80
+ </td>
81
+ <?php endif ?>
82
+
83
+ <?php if ($canApplyMsrp): ?>
84
+ <td class="a-right"<?php if ($this->helper('tax')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
85
+ <span class="cart-price">
86
+ <span class="cart-msrp-unit"><?php echo $this->__('See price before order confirmation.'); ?></span>
87
+ <?php $helpLinkId = 'cart-msrp-help-' . $_item->getId(); ?>
88
+ <a id="<?php echo $helpLinkId ?>" href="#" class="map-help-link"><?php echo $this->__("What's this?"); ?></a>
89
+ <script type="text/javascript">
90
+ Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo $this->__("What's this?") ?>");
91
+ </script>
92
+ </span>
93
+ </td>
94
+ <?php else: ?>
95
+
96
+ <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
97
+ <td class="a-right">
98
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
99
+ <span class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
100
+ <?php else: ?>
101
+ <span class="cart-price">
102
+ <?php endif; ?>
103
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
104
+ <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
105
+ <?php else: ?>
106
+ <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()) ?>
107
+ <?php endif; ?>
108
+
109
+ </span>
110
+
111
+
112
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
113
+
114
+ <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
115
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
116
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
117
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
118
+ <?php endforeach; ?>
119
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
120
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
121
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
122
+ <?php endforeach; ?>
123
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
124
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
125
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
126
+ <?php endforeach; ?>
127
+ <?php endif; ?>
128
+ </div>
129
+
130
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
131
+ <div class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
132
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total'); ?>: <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
133
+ </div>
134
+ <?php endif; ?>
135
+ <?php endif; ?>
136
+ </td>
137
+ <?php endif; ?>
138
+ <?php if ($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
139
+ <td>
140
+ <?php $_incl = $this->helper('checkout')->getPriceInclTax($_item); ?>
141
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
142
+ <span class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
143
+ <?php else: ?>
144
+ <span class="cart-price">
145
+ <?php endif; ?>
146
+
147
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
148
+ <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
149
+ <?php else: ?>
150
+ <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
151
+ <?php endif; ?>
152
+
153
+ </span>
154
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
155
+
156
+ <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
157
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
158
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
159
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span>
160
+ <?php endforeach; ?>
161
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
162
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
163
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
164
+ <?php endforeach; ?>
165
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
166
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
167
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
168
+ <?php endforeach; ?>
169
+ <?php endif; ?>
170
+ </div>
171
+
172
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
173
+ <div class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
174
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>: <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
175
+ </div>
176
+ <?php endif; ?>
177
+ <?php endif; ?>
178
+ </td>
179
+ <?php endif; ?>
180
+ <?php endif; ?>
181
+ <td class="a-center qtybox">
182
+ <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" size="4" title="<?php echo $this->__('Qty') ?>" class="input-text qty" maxlength="12" />
183
+ </td>
184
+ <?php if (($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
185
+ <td class="a-right itemwisetotal">
186
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
187
+ <span class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
188
+ <?php else: ?>
189
+ <span class="cart-price">
190
+ <?php endif; ?>
191
+
192
+ <?php if ($canApplyMsrp): ?>
193
+ <span class="cart-msrp-subtotal">--</span>
194
+ <?php else: ?>
195
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
196
+ <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
197
+ <?php else: ?>
198
+ <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()) ?>
199
+ <?php endif; ?>
200
+ <?php endif; ?>
201
+
202
+ </span>
203
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
204
+
205
+ <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
206
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
207
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
208
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
209
+ <?php endforeach; ?>
210
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
211
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
212
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
213
+ <?php endforeach; ?>
214
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
215
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
216
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
217
+ <?php endforeach; ?>
218
+ <?php endif; ?>
219
+ </div>
220
+
221
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
222
+ <div class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
223
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total'); ?>: <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
224
+ </div>
225
+ <?php endif; ?>
226
+ <?php endif; ?>
227
+ </td>
228
+ <?php endif; ?>
229
+ <?php if (($this->helper('tax')->displayCartPriceInclTax() || $this->helper('tax')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
230
+ <td class="finaltotal">
231
+ <?php $_incl = $this->helper('checkout')->getSubtotalInclTax($_item); ?>
232
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
233
+ <span class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
234
+ <?php else: ?>
235
+ <span class="cart-price">
236
+ <?php endif; ?>
237
+
238
+ <?php if ($canApplyMsrp): ?>
239
+ <span class="cart-msrp-subtotal">--</span>
240
+ <?php else: ?>
241
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
242
+ <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
243
+ <?php else: ?>
244
+ <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
245
+ <?php endif; ?>
246
+ <?php endif; ?>
247
+
248
+ </span>
249
+
250
+
251
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
252
+
253
+ <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
254
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
255
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
256
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span>
257
+ <?php endforeach; ?>
258
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
259
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
260
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
261
+ <?php endforeach; ?>
262
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
263
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
264
+ <span class="weee"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
265
+ <?php endforeach; ?>
266
+ <?php endif; ?>
267
+ </div>
268
+
269
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
270
+ <div class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
271
+ <span class="weee"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>: <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
272
+ </div>
273
+ <?php endif; ?>
274
+ <?php endif; ?>
275
+ </td>
276
+ <?php endif; ?>
277
+ <td class="a-center removeitem"><a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo $this->__('Remove item')?>" class="btn-remove btn-remove2"><?php echo $this->__('Remove item')?></a></td>
278
+ </tr>
app/design/frontend/default/mobileshoppe/template/checkout/multishipping/addresses.phtml ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ * Ship to multiple address template
30
+ *
31
+ * @see Mage_Checkout_Block_Multishipping_Addresses
32
+ */
33
+ ?>
34
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
35
+ <form id="checkout_multishipping_form" action="<?php echo $this->getPostActionUrl() ?>" method="post">
36
+ <div class="multiple-checkout">
37
+ <div class="page-title title-buttons">
38
+ <h1><?php echo $this->__('Ship to Multiple Addresses') ?></h1>
39
+ <button type="button" title="<?php echo $this->__('Enter a New Address') ?>" class="button" onclick="$('add_new_address_flag').value=1; $('checkout_multishipping_form').submit();"><span><span><?php echo $this->__('Enter a New Address') ?></span></span></button>
40
+ </div>
41
+ <input type="hidden" name="continue" value="0" id="can_continue_flag" />
42
+ <input type="hidden" name="new_address" value="0" id="add_new_address_flag" />
43
+ <h2><?php echo $this->__('Please select shipping address for applicable items') ?></h2>
44
+ <table class="data-table" id="multiship-addresses-table">
45
+ <col />
46
+ <col width="1" />
47
+ <col width="1" />
48
+ <col width="1" />
49
+ <thead>
50
+ <tr>
51
+ <th><?php echo $this->__('Product') ?></th>
52
+ <th class="a-center"><?php echo $this->__('Qty') ?></th>
53
+ <th><?php echo $this->__('Send To') ?></th>
54
+ <th>&nbsp;</th>
55
+ </tr>
56
+ </thead>
57
+ <tfoot>
58
+ <tr>
59
+ <td colspan="100" class="a-right"><button type="submit" title="<?php echo $this->__('Update Qty &amp; Addresses') ?>" class="button" onclick="$('can_continue_flag').value=0"><span><span><?php echo $this->__('Update Qty &amp; Addresses') ?></span></span></button></td>
60
+ </tr>
61
+ </tfoot>
62
+ <tbody>
63
+ <?php foreach ($this->getItems() as $_index => $_item): ?>
64
+ <?php if ($_item->getQuoteItem()) :?>
65
+ <tr>
66
+ <td><?php echo $this->getItemHtml($_item->getQuoteItem())?></td>
67
+ <td><input type="text" name="ship[<?php echo $_index ?>][<?php echo $_item->getQuoteItemId() ?>][qty]" value="<?php echo $this->htmlEscape($_item->getQty()) ?>" size="2" class="input-text qty" /></td>
68
+ <td><?php if ($_item->getProduct()->getIsVirtual()): echo $this->__('Shipping selection is not applicable.'); else: echo $this->getAddressesHtmlSelect($_item, $_index); endif; ?></td>
69
+ <td class="a-center removeitem"><a href="<?php echo $this->getItemDeleteUrl($_item) ?>" title="<?php echo $this->__('Remove Item') ?>" class="btn-remove2"><?php echo $this->__('Remove Item') ?></a></td>
70
+ </tr>
71
+ <?php endif; ?>
72
+ <?php endforeach; ?>
73
+ </tbody>
74
+ </table>
75
+ <script type="text/javascript">decorateTable('multiship-addresses-table')</script>
76
+ <div class="buttons-set">
77
+ <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo $this->__('Back to Shopping Cart') ?></a></p>
78
+ <button type="submit" title="<?php echo $this->__('Continue to Shipping Information') ?>" class="button<?php if ($this->isContinueDisabled()):?> disabled<?php endif; ?>" onclick="$('can_continue_flag').value=1"<?php if ($this->isContinueDisabled()):?> disabled="disabled"<?php endif; ?>><span><span><?php echo $this->__('Continue to Shipping Information') ?></span></span></button>
79
+ </div>
80
+ </div>
81
+ </form>
app/design/frontend/default/mobileshoppe/template/checkout/onepage/review/info.phtml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_iphone
23
+ * @copyright Copyright (c) 2012 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 echo $this->getChildHtml('items_before'); ?>
28
+ <div id="checkout-review-table-wrapper">
29
+ <table class="data-table cart-table-items" id="checkout-review-table">
30
+ <?php echo $this->getChildHtml('totals'); ?>
31
+ <thead>
32
+ <tr>
33
+ <th><?php echo $this->__('Product Name') ?></th>
34
+ <th class="a-right"><?php echo $this->__('Subtotal') ?></th>
35
+ </tr>
36
+ </thead>
37
+ <?php foreach($this->getItems() as $_item): ?>
38
+ <?php echo $this->getItemHtml($_item)?>
39
+ <?php endforeach ?>
40
+ </table>
41
+ </div>
42
+ <?php echo $this->getChildHtml('items_after'); ?>
43
+ <script type="text/javascript">
44
+ //<![CDATA[
45
+ truncateOptions();
46
+ //]]>
47
+ </script>
48
+ <div id="checkout-review-submit">
49
+ <?php echo $this->getChildHtml('agreements') ?>
50
+ <div class="buttons-set" id="review-buttons-container">
51
+ <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>
52
+ <?php echo $this->getChildHtml('button') ?>
53
+ <span class="please-wait" id="review-please-wait" style="display:none;">
54
+ <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...') ?>
55
+ </span>
56
+ </div>
57
+ <script type="text/javascript">
58
+ //<![CDATA[
59
+ review = new Review('<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>', '<?php echo $this->getUrl('checkout/onepage/success') ?>', $('checkout-agreements'));
60
+ //]]>
61
+ </script>
62
+ </div>
app/design/frontend/default/mobileshoppe/template/checkout/onepage/review/item.phtml ADDED
@@ -0,0 +1,244 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_iphone
23
+ * @copyright Copyright (c) 2012 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 $_item = $this->getItem()?>
28
+ <tbody>
29
+ <tr>
30
+ <td colspan="2">
31
+ <h3 class="product-name"><?php echo $this->escapeHtml($this->getProductName()) ?></h3>
32
+
33
+ <?php if ($_options = $this->getOptionList()):?>
34
+ <dl class="item-options">
35
+ <?php foreach ($_options as $_option) : ?>
36
+ <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
37
+ <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
38
+ <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
39
+ <?php if (isset($_formatedOptionValue['full_view'])): ?>
40
+ <div class="truncated_full_value">
41
+ <dl class="item-options">
42
+ <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
43
+ <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
44
+ </dl>
45
+ </div>
46
+ <?php endif; ?>
47
+ </dd>
48
+ <?php endforeach; ?>
49
+ </dl>
50
+ <?php endif;?>
51
+
52
+ <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()):?>
53
+ <?php echo $addtInfoBlock->setItem($_item)->toHtml() ?>
54
+ <?php endif;?>
55
+
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <td class="a-left">
60
+ <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
61
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
62
+ <span class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
63
+ <?php else: ?>
64
+ <span class="cart-price">
65
+ <?php endif; ?>
66
+
67
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
68
+ <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
69
+ <?php else: ?>
70
+ <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()) ?>
71
+ <?php endif; ?>
72
+
73
+ </span>
74
+
75
+
76
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
77
+
78
+ <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
79
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
80
+ <small>
81
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
82
+ <span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span><br />
83
+ <?php endforeach; ?>
84
+ </small>
85
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
86
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
87
+ <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
88
+ <?php endforeach; ?>
89
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
90
+ <small>
91
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
92
+ <span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
93
+ <?php endforeach; ?>
94
+ </small>
95
+ <?php endif; ?>
96
+ </div>
97
+
98
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
99
+ <div class="cart-tax-total" onclick="taxToggle('eunit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
100
+ <span class="nobr"><?php echo Mage::helper('weee')->__('Total'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
101
+ </div>
102
+ <?php endif; ?>
103
+ <?php endif; ?>
104
+ <?php endif; ?>
105
+ <?php if ($this->helper('tax')->displayCartPriceInclTax()): ?>
106
+ <?php $_incl = $this->helper('checkout')->getPriceInclTax($_item); ?>
107
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
108
+ <span class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
109
+ <?php else: ?>
110
+ <span class="cart-price">
111
+ <?php endif; ?>
112
+
113
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
114
+ <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
115
+ <?php else: ?>
116
+ <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
117
+ <?php endif; ?>
118
+
119
+ </span>
120
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
121
+
122
+ <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
123
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
124
+ <small>
125
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
126
+ <span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount'],true,true); ?></span><br />
127
+ <?php endforeach; ?>
128
+ </small>
129
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
130
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
131
+ <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
132
+ <?php endforeach; ?>
133
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
134
+ <small>
135
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
136
+ <span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
137
+ <?php endforeach; ?>
138
+ </small>
139
+ <?php endif; ?>
140
+ </div>
141
+
142
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
143
+ <div class="cart-tax-total" onclick="taxToggle('unit-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
144
+ <span class="nobr"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
145
+ </div>
146
+ <?php endif; ?>
147
+ <?php endif; ?>
148
+ <?php endif; ?>
149
+ </td>
150
+ <td class="a-right">
151
+ <?php if ($this->helper('tax')->displayCartPriceExclTax() || $this->helper('tax')->displayCartBothPrices()): ?>
152
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
153
+ <span class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
154
+ <?php else: ?>
155
+ <span class="cart-price">
156
+ <?php endif; ?>
157
+
158
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
159
+ <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
160
+ <?php else: ?>
161
+ <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()) ?>
162
+ <?php endif; ?>
163
+
164
+ </span>
165
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
166
+
167
+ <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
168
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
169
+ <small>
170
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
171
+ <span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span><br />
172
+ <?php endforeach; ?>
173
+ </small>
174
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
175
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
176
+ <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
177
+ <?php endforeach; ?>
178
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
179
+ <small>
180
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
181
+ <span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
182
+ <?php endforeach; ?>
183
+ </small>
184
+ <?php endif; ?>
185
+ </div>
186
+
187
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
188
+ <div class="cart-tax-total" onclick="taxToggle('esubtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
189
+ <span class="nobr"><?php echo Mage::helper('weee')->__('Total'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
190
+ </div>
191
+ <?php endif; ?>
192
+ <?php endif; ?>
193
+ <?php endif; ?>
194
+
195
+ <?php if ($this->helper('tax')->displayCartPriceInclTax()): ?>
196
+
197
+ <?php $_incl = $this->helper('checkout')->getSubtotalInclTax($_item); ?>
198
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
199
+ <span class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
200
+ <?php else: ?>
201
+ <span class="cart-price">
202
+ <?php endif; ?>
203
+
204
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
205
+ <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
206
+ <?php else: ?>
207
+ <?php echo $this->helper('checkout')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
208
+ <?php endif; ?>
209
+
210
+ </span>
211
+
212
+
213
+ <?php if (Mage::helper('weee')->getApplied($_item)): ?>
214
+
215
+ <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
216
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
217
+ <small>
218
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
219
+ <span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount'],true,true); ?></span><br />
220
+ <?php endforeach; ?>
221
+ </small>
222
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
223
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
224
+ <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
225
+ <?php endforeach; ?>
226
+ <?php elseif (Mage::helper('weee')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
227
+ <small>
228
+ <?php foreach (Mage::helper('weee')->getApplied($_item) as $tax): ?>
229
+ <span class="nobr"><?php echo $tax['title']; ?>: <?php echo Mage::helper('checkout')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
230
+ <?php endforeach; ?>
231
+ </small>
232
+ <?php endif; ?>
233
+ </div>
234
+
235
+ <?php if (Mage::helper('weee')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
236
+ <div class="cart-tax-total" onclick="taxToggle('subtotal-item-tax-details<?php echo $_item->getId(); ?>', this, 'cart-tax-total-expanded');">
237
+ <span class="nobr"><?php echo Mage::helper('weee')->__('Total incl. tax'); ?>:<br /> <?php echo $this->helper('checkout')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
238
+ </div>
239
+ <?php endif; ?>
240
+ <?php endif; ?>
241
+ <?php endif; ?>
242
+ </td>
243
+ </tr>
244
+ </tbody>
app/design/frontend/default/mobileshoppe/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 default_iphone
23
+ * @copyright Copyright (c) 2012 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 = 0; ?>
34
+ <?php echo $this->renderTotals(null, $_colspan); ?>
35
+ <?php echo $this->renderTotals('footer', $_colspan); ?>
36
+ <?php if ($this->needDisplayBaseGrandtotal()):?>
37
+ <tr>
38
+ <td class="a-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="a-right nonecell">
42
+ <small><?php echo $this->displayBaseGrandtotal() ?></small>
43
+ </td>
44
+ </tr>
45
+ <?php endif?>
46
+ </tfoot>
47
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/checkout/success.phtml ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_iphone
23
+ * @copyright Copyright (c) 2012 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="page-title">
28
+ <h1><?php echo $this->__('Your order has been received') ?></h1>
29
+ </div>
30
+ <div class="checkout-success">
31
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
32
+ <h2 class="sub-title"><?php echo $this->__('Thank you for your purchase!') ?></h2>
33
+
34
+ <?php if ($this->getOrderId()):?>
35
+ <?php if ($this->getCanViewOrder()) :?>
36
+ <p><?php echo $this->__('Your order # is: %s.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getViewOrderUrl()), $this->escapeHtml($this->getOrderId()))) ?></p>
37
+ <?php else :?>
38
+ <p><?php echo $this->__('Your order # is: %s.', $this->escapeHtml($this->getOrderId())) ?></p>
39
+ <?php endif;?>
40
+ <p><?php echo $this->__('You will receive an order confirmation email with details of your order and a link to track its progress.') ?></p>
41
+ <?php if ($this->getCanViewOrder() && $this->getCanPrintOrder()) :?>
42
+ <p>
43
+ <?php echo $this->__('Click <a href="%s" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
44
+ <?php echo $this->getChildHtml() ?>
45
+ </p>
46
+ <?php endif;?>
47
+ <?php endif;?>
48
+
49
+ <?php if ($this->getAgreementRefId()): ?>
50
+ <p><?php echo $this->__('Your billing agreement # is: %s.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getAgreementUrl()), $this->escapeHtml($this->getAgreementRefId())))?></p>
51
+ <?php endif;?>
52
+
53
+ <?php if ($profiles = $this->getRecurringProfiles()):?>
54
+ <p><?php echo $this->__('Your recurring payment profiles:'); ?></p>
55
+ <ul class="disc">
56
+ <?php foreach($profiles as $profile):?>
57
+ <?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')));?>
58
+ <li><?php echo $this->__('Payment profile # %s: "%s".', $profileIdHtml, $this->escapeHtml($this->getObjectData($profile, 'schedule_description')))?></li>
59
+ <?php endforeach;?>
60
+ </ul>
61
+ <?php endif;?>
62
+
63
+ <div class="buttons-set">
64
+ <button type="button" class="button" title="<?php echo $this->__('Continue Shopping') ?>" onclick="window.location='<?php echo $this->getUrl() ?>'"><span><span><?php echo $this->__('Continue Shopping') ?></span></span></button>
65
+ </div>
66
+ </div>
app/design/frontend/default/mobileshoppe/template/directory/currency.phtml ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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
+ * Currency switcher
30
+ *
31
+ * @see Mage_Directory_Block_Currency
32
+ */
33
+ ?>
34
+ <?php if($this->getCurrencyCount()>1): ?>
35
+ <div class="block">
36
+ <div class="block-title">
37
+ <strong><span><?php echo $this->__('Your Currency') ?></span></strong>
38
+ </div>
39
+ <div class="block-content">
40
+ <div class="top-currency show-on-phones">
41
+ <label for="currency"><?php echo $this->__('Currency:') ?></label>
42
+
43
+ <select id="currency" title="<?php echo $this->__('Select Your Currency') ?>" onchange="setLocation(this.value)">
44
+ <?php foreach ($this->getCurrencies() as $_code => $_name): ?>
45
+ <option value="<?php echo $this->getSwitchCurrencyUrl($_code) ?>"<?php if($_code==$this->getCurrentCurrencyCode()): ?> selected="selected"<?php endif; ?>>
46
+ <?php echo $_name ?> - <?php echo $_code ?>
47
+ </option>
48
+ <?php endforeach; ?>
49
+ </select>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/directory/currency/switch.phtml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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="page-title">
28
+ <h1><?php echo $this->__('Currency') ?></h1>
29
+ </div>
30
+ <p><?php echo $this->__('Your current currency is: %s', $currency->getCode()) ?></p>
31
+ <p><a href="<?php echo Mage::getBaseUrl() ?>"><?php echo $this->__('Continue &raquo;') ?></a></p>
app/design/frontend/default/mobileshoppe/template/newsletter/subscribe.phtml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2011 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 action="<?php echo $this->getFormActionUrl() ?>" method="post" id="newsletter-validate-detail">
28
+ <div class="form-subscribe">
29
+ <div class="form-subscribe-header"><?php echo $this->__('Join our newsletter for lots of great offers and information about our products and services') ?></div>
30
+ <label for="newsletter"><?php echo $this->__('Newsletter Sign-up:') ?></label>
31
+ <div class="input-box">
32
+ <input type="text" name="email" id="newsletter" title="<?php echo $this->__('Sign up for our newsletter') ?>" class="input-text required-entry validate-email" />
33
+ </div>
34
+ <button type="submit" title="<?php echo $this->__('Submit') ?>" class="button"><span><span><?php echo $this->__('Submit') ?></span></span></button>
35
+ </div>
36
+ </form>
37
+ <script type="text/javascript">
38
+ //<![CDATA[
39
+ var newsletterSubscriberFormDetail = new VarienForm('newsletter-validate-detail');
40
+ new Varien.searchForm('newsletter-validate-detail', 'newsletter', '<?php echo $this->helper('newsletter')->__('Enter your email address') ?>');
41
+ //]]>
42
+ </script>
app/design/frontend/default/mobileshoppe/template/page/1column.phtml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!doctype html>
33
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
34
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
35
+ <!--[if IE 8]> <html class="no-js lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
36
+ <!--[if gt IE 8]><!--> <html class="no-js" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <!--<![endif]-->
37
+ <head>
38
+ <?php echo $this->getChildHtml('head') ?>
39
+ </head>
40
+ <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
41
+ <?php echo $this->getChildHtml('after_body_start') ?>
42
+ <div class="wrapper">
43
+ <?php echo $this->getChildHtml('global_notices') ?>
44
+
45
+ <div class="page layout-grid">
46
+ <div class="row">
47
+ <?php echo $this->getChildHtml('header') ?>
48
+ <div class="main-container col1-layout">
49
+ <div class="main">
50
+ <?php echo $this->getChildHtml('breadcrumbs') ?>
51
+ <div class="col-main">
52
+ <?php echo $this->getChildHtml('global_messages') ?>
53
+ <?php echo $this->getChildHtml('content') ?>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ <?php echo $this->getChildHtml('footer') ?>
59
+ </div>
60
+ </div>
61
+ <?php echo $this->getAbsoluteFooter() ?>
62
+ </body>
63
+ </html>
app/design/frontend/default/mobileshoppe/template/page/2columns-left.phtml ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!doctype html>
33
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
34
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
35
+ <!--[if IE 8]> <html class="no-js lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
36
+ <!--[if gt IE 8]><!--> <html class="no-js" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <!--<![endif]-->
37
+ <head>
38
+ <?php echo $this->getChildHtml('head') ?>
39
+ </head>
40
+ <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
41
+ <?php echo $this->getChildHtml('after_body_start') ?>
42
+ <div class="wrapper">
43
+ <?php echo $this->getChildHtml('global_notices') ?>
44
+ <div class="page layout-grid">
45
+ <div class="row">
46
+ <?php echo $this->getChildHtml('header') ?>
47
+ <div class="main-container col2-left-layout">
48
+ <div class="main">
49
+ <?php echo $this->getChildHtml('breadcrumbs') ?>
50
+ <div class="col-main">
51
+ <?php echo $this->getChildHtml('global_messages') ?>
52
+ <?php echo $this->getChildHtml('content') ?>
53
+ </div>
54
+ <div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ <?php echo $this->getChildHtml('footer') ?>
59
+ </div>
60
+ </div>
61
+ <?php echo $this->getAbsoluteFooter() ?>
62
+ </body>
63
+ </html>
app/design/frontend/default/mobileshoppe/template/page/2columns-right.phtml ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!doctype html>
33
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
34
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
35
+ <!--[if IE 8]> <html class="no-js lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
36
+ <!--[if gt IE 8]><!--> <html class="no-js" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <!--<![endif]-->
37
+ <head>
38
+ <?php echo $this->getChildHtml('head') ?>
39
+ </head>
40
+ <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
41
+ <?php echo $this->getChildHtml('after_body_start') ?>
42
+ <div class="wrapper">
43
+ <?php echo $this->getChildHtml('global_notices') ?>
44
+ <div class="page layout-grid">
45
+ <div class="row">
46
+ <?php echo $this->getChildHtml('header') ?>
47
+ <div class="main-container col2-right-layout">
48
+ <div class="main">
49
+ <?php echo $this->getChildHtml('breadcrumbs') ?>
50
+ <div class="col-main">
51
+ <?php echo $this->getChildHtml('global_messages') ?>
52
+ <?php echo $this->getChildHtml('content') ?>
53
+ </div>
54
+ <div class="col-right sidebar"><?php echo $this->getChildHtml('right') ?></div>
55
+ </div>
56
+
57
+ </div>
58
+ <?php echo $this->getChildHtml('before_body_end') ?>
59
+ </div>
60
+
61
+ <?php echo $this->getChildHtml('footer') ?>
62
+ </div>
63
+ </div>
64
+ <?php echo $this->getAbsoluteFooter() ?>
65
+ </body>
66
+ </html>
app/design/frontend/default/mobileshoppe/template/page/3columns.phtml ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ *
4
+ * @category design
5
+ * @package default_respond
6
+ * @copyright Copyright (c) by Ben Chakroun (http://respondtheme.com)
7
+ * @license licensed under MIT (http://www.opensource.org/licenses/mit-license.php)
8
+ *
9
+ */
10
+ ?>
11
+ <?php
12
+ /**
13
+ * Template for Mage_Page_Block_Html
14
+ */
15
+ ?>
16
+ <!doctype html>
17
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
18
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
19
+ <!--[if IE 8]> <html class="no-js lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
20
+ <!--[if gt IE 8]><!--> <html class="no-js" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <!--<![endif]-->
21
+ <head>
22
+ <?php echo $this->getChildHtml('head') ?>
23
+ </head>
24
+ <body<?php echo $this->getBodyClass()?' class="'.$this->getBodyClass().'"':'' ?>>
25
+ <?php echo $this->getChildHtml('after_body_start') ?>
26
+ <div class="wrapper">
27
+ <?php echo $this->getChildHtml('global_notices') ?>
28
+ <div class="page layout-grid">
29
+ <?php echo $this->getChildHtml('header') ?>
30
+ <div class="main-container col2-left-layout">
31
+ <div class="main">
32
+ <?php echo $this->getChildHtml('breadcrumbs') ?>
33
+ <?php /*<div class="col-wrapper">*/ ?>
34
+ <div class="col-main">
35
+ <?php echo $this->getChildHtml('global_messages') ?>
36
+ <?php echo $this->getChildHtml('content') ?>
37
+ </div>
38
+ <div class="col-left sidebar"><?php echo $this->getChildHtml('left') ?></div>
39
+ </div>
40
+ <?php /*<div class="col-right sidebar"><?php echo $this->getChildHtml('right') ?></div>*/ ?>
41
+ <?php /*</div>*/ ?>
42
+ </div>
43
+ <?php echo $this->getChildHtml('footer') ?>
44
+ <?php echo $this->getChildHtml('before_body_end') ?>
45
+ </div>
46
+ </div>
47
+ <?php echo $this->getAbsoluteFooter() ?>
48
+ </body>
49
+ </html>
app/design/frontend/default/mobileshoppe/template/page/empty.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) 2012 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
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!doctype html>
33
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
34
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
35
+ <!--[if IE 8]> <html class="no-js lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
36
+ <!--[if gt IE 8]><!--> <html class="no-js" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <!--<![endif]-->
37
+ <head>
38
+ <?php echo $this->getChildHtml('head') ?>
39
+ </head>
40
+ <body class="page-empty <?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
41
+ <div>
42
+ <?php echo $this->getChildHtml('after_body_start') ?>
43
+ <?php echo $this->getChildHtml('global_messages') ?>
44
+ <?php echo $this->getChildHtml('content') ?>
45
+ <?php echo $this->getChildHtml('before_body_end') ?>
46
+ <?php echo $this->getAbsoluteFooter() ?>
47
+ </div>
48
+ </body>
49
+ </html>
app/design/frontend/default/mobileshoppe/template/page/html/footer.phtml ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2011 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="footer-container">
28
+ <div class="footer">
29
+ <div class="f-gray">
30
+ <div class="row">
31
+ <?php echo $this->getChildHtml() ?>
32
+
33
+ <address><?php echo $this->getCopyright() ?></address>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+
app/design/frontend/default/mobileshoppe/template/page/html/head.phtml ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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
+ <meta http-equiv="Content-Type" content="<?php echo $this->getContentType() ?>" />
28
+ <title><?php echo $this->getTitle() ?></title>
29
+ <meta name="description" content="<?php echo htmlspecialchars($this->getDescription()) ?>" />
30
+ <meta name="keywords" content="<?php echo htmlspecialchars($this->getKeywords()) ?>" />
31
+ <meta name="robots" content="<?php echo htmlspecialchars($this->getRobots()) ?>" />
32
+ <link rel="icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon" />
33
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no"/>
34
+ <link rel="shortcut icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon" />
35
+
36
+
37
+ <!--[if lt IE 7]>
38
+ <script type="text/javascript">
39
+ //<![CDATA[
40
+ var BLANK_URL = '<?php echo $this->helper('core/js')->getJsUrl('blank.html') ?>';
41
+ var BLANK_IMG = '<?php echo $this->helper('core/js')->getJsUrl('spacer.gif') ?>';
42
+ //]]>
43
+ </script>
44
+ <![endif]-->
45
+ <?php echo $this->getCssJsHtml() ?>
46
+ <?php echo $this->getChildHtml() ?>
47
+ <?php echo $this->helper('core/js')->getTranslatorScript() ?>
48
+ <?php echo $this->getIncludes() ?>
49
+ <script type="text/javascript" src="<?=$this->getSkinUrl('js/ddaccordion.js');?>"></script>
50
+ <script type="text/javascript" src="<?=$this->getSkinUrl('js/accordion.js');?>"></script>
51
+ <link href='http://fonts.googleapis.com/css?family=Karla:400,700,400italic' rel='stylesheet' type='text/css'>
app/design/frontend/default/mobileshoppe/template/page/html/header.phtml ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2011 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
+ * @var Mage_Page_Block_Html_Header $this
28
+ */
29
+ ?>
30
+ <div class="header-container">
31
+ <div class="header">
32
+ <?php if ($this->getIsHomePage()):?>
33
+ <h1 class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a></h1>
34
+
35
+ <?php else:?>
36
+ <a href="<?php echo $this->getUrl('') ?>" title="<?php echo $this->getLogoAlt() ?>" class="logo"><strong><?php echo $this->getLogoAlt() ?></strong><img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" /></a>
37
+ <?php endif?>
38
+
39
+ <div class="quick-access">
40
+ <div class="top-promo1">
41
+ <p title="Free Shipping on orders over 50$" class="f-right"></p>
42
+ </div>
43
+
44
+ <?php echo $this->getChildHtml('store_language') ?>
45
+ <div class="clear"></div>
46
+
47
+ <?php echo $this->getChildHtml('currency') ?>
48
+ <?php echo $this->getChildHtml('topSearch') ?>
49
+ <div class="clear"></div>
50
+ <?php echo $this->getChildHtml('topLinks') ?>
51
+ </div>
52
+ <div class="clear"></div>
53
+ <?php echo $this->getChildHtml('topMenu') ?>
54
+ </div>
55
+
56
+ <?php echo $this->getChildHtml('topBar') ?>
57
+ <?php echo $this->getChildHtml('topContainer'); ?>
58
+ </div>
app/design/frontend/default/mobileshoppe/template/page/html/topmenu.phtml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ * Top menu for store
30
+ *
31
+ * @see Mage_Page_Block_Html_Topmenu
32
+ */
33
+ ?>
34
+ <?php $_menu = $this->getHtml('level-top') ?>
35
+ <?php if($_menu): ?>
36
+ <div class="nav-container">
37
+ <script type="text/javascript">
38
+ //<![CDATA[
39
+ $j(document).ready(function(){
40
+ $j('#nav').mobileMenu();
41
+ });
42
+ //]]>
43
+ </script>
44
+ <ul id="nav">
45
+ <?php echo $_menu ?>
46
+ </ul>
47
+ </div>
48
+ <?php endif ?>
app/design/frontend/default/mobileshoppe/template/page/popup.phtml ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!doctype html>
33
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
34
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
35
+ <!--[if IE 8]> <html class="no-js lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
36
+ <!--[if gt IE 8]><!--> <html class="no-js" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <!--<![endif]-->
37
+ <head>
38
+ <?php echo $this->getChildHtml('head') ?>
39
+ </head>
40
+ <body class="page-popup<?php echo $this->getBodyClass()?$this->getBodyClass() : ''?>">
41
+ <div>
42
+ <?php echo $this->getChildHtml('after_body_start') ?>
43
+ <?php echo $this->getChildHtml('content') ?>
44
+ <?php echo $this->getChildHtml('before_body_end') ?>
45
+ </div>
46
+ <?php echo $this->getAbsoluteFooter() ?>
47
+ </body>
48
+ </html>
app/design/frontend/default/mobileshoppe/template/page/print.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) 2012 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
+ * Template for Mage_Page_Block_Html
30
+ */
31
+ ?>
32
+ <!doctype html>
33
+ <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
34
+ <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
35
+ <!--[if IE 8]> <html class="no-js lt-ie9" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <![endif]-->
36
+ <!--[if gt IE 8]><!--> <html class="no-js" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"> <!--<![endif]-->
37
+ <head>
38
+ <?php echo $this->getChildHtml('head') ?>
39
+ </head>
40
+ <body class="page-print<?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
41
+ <div>
42
+ <div class="print-head">
43
+ <img src="<?php echo $this->getPrintLogoUrl() ? $this->getPrintLogoUrl() : $this->getSkinUrl('images/logo_print.gif') ?>" class="logo" alt="" />
44
+ <?php if ($this->getPrintLogoText()):?>
45
+ <address><?php echo nl2br($this->htmlEscape($this->getPrintLogoText())) ?></address>
46
+ <?php endif;?>
47
+ </div>
48
+ <?php echo $this->getChildHtml('content') ?>
49
+ <div class="buttons-set">
50
+ <button type="button" title="<?php echo $this->__('Close Window') ?>" class="button" onclick="window.close();"><span><span><?php echo $this->__('Close Window') ?></span></span></button>
51
+ </div>
52
+ <?php echo $this->getAbsoluteFooter() ?>
53
+ </div>
54
+ </body>
55
+ </html>
app/design/frontend/default/mobileshoppe/template/page/switch/languages.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) 2011 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
+ * Language switcher template
30
+ *
31
+ * @see Mage_Page_Block_Switch
32
+ */
33
+ ?>
34
+ <?php if(count($this->getStores())>1): ?>
35
+ <div class="form-language show-on-phones">
36
+ <label for="select-language"><?php echo $this->__('Your Language:') ?></label>
37
+ <select id="select-language" title="<?php echo $this->__('Your Language') ?>" onchange="window.location.href=this.value">
38
+ <?php foreach ($this->getStores() as $_lang): ?>
39
+ <?php $_selected = ($_lang->getId() == $this->getCurrentStoreId()) ? ' selected="selected"' : '' ?>
40
+ <option value="<?php echo $_lang->getCurrentUrl() ?>"<?php echo $_selected ?>><?php echo $this->htmlEscape($_lang->getName()) ?></option>
41
+ <?php endforeach; ?>
42
+ </select>
43
+ </div>
44
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/persistent/checkout/onepage/login.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 default_iphone
23
+ * @copyright Copyright (c) 2012 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">
36
+ <div class="col-1">
37
+ <h4><?php echo $this->__('Login') ?></h4>
38
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
39
+ <form id="login-form" action="<?php echo $this->getPostAction() ?>" method="post">
40
+ <fieldset>
41
+ <p><?php echo $this->__('Already registered? Please log in below:') ?></p>
42
+ <ul class="form-list">
43
+ <li>
44
+ <label for="login-email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
45
+ <div class="input-box">
46
+ <input type="text" class="input-text required-entry validate-email" id="login-email" name="login[username]" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" />
47
+ </div>
48
+ </li>
49
+ <li>
50
+ <label for="login-password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
51
+ <div class="input-box">
52
+ <input type="password" class="input-text required-entry" id="login-password" name="login[password]" />
53
+ </div>
54
+ </li>
55
+ <?php echo $this->getChildHtml('form.additional.info'); ?>
56
+ <?php echo $this->getChildHtml('persistent.remember.me'); ?>
57
+ <li class="note">
58
+ <a href="<?php echo $this->getUrl('customer/account/forgotpassword') ?>" class="f-left"><?php echo $this->__('Forgot your password?') ?></a>
59
+ </li>
60
+ <li class="buttons-set">
61
+ <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
62
+ </li>
63
+ </ul>
64
+ <input name="context" type="hidden" value="checkout" />
65
+ </fieldset>
66
+ </form>
67
+ </div>
68
+ <?php echo $this->getChildHtml('login_before')?>
69
+ <div class="col-2">
70
+ <h4><?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; ?></h4>
71
+ <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
72
+ <p><?php echo $this->__('Register with us for future convenience:') ?></p>
73
+ <?php else: ?>
74
+ <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
75
+ <?php echo $this->__('Register with us for future convenience:') ?></p>
76
+ <ul>
77
+ <li><?php echo $this->__('Fast and easy check out') ?></li>
78
+ <li><?php echo $this->__('Easy access to your order history and status') ?></li>
79
+ </ul>
80
+ <?php endif; ?>
81
+ <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
82
+ <ul class="form-list">
83
+ <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
84
+ <li class="control">
85
+ <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>
86
+ </li>
87
+ <?php endif; ?>
88
+ <li class="control">
89
+ <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>
90
+ </li>
91
+ <li class="buttons-set">
92
+ <?php if ($this->getQuote()->isAllowedGuestCheckout()): ?>
93
+ <button id="onepage-guest-register-button" type="button" class="button" onclick="checkout.setMethod();"><span><span><?php echo $this->__('Continue') ?></span></span></button>
94
+ <?php elseif ($this->helper('checkout')->isCustomerMustBeLogged()): ?>
95
+ <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>
96
+ <?php else: ?>
97
+ <form action="<?php echo $this->getUrl('persistent/index/saveMethod'); ?>">
98
+ <button id="onepage-guest-register-button" type="submit" class="button"><span><span><?php echo $this->__('Register') ?></span></span></button>
99
+ </form>
100
+ <?php endif; ?>
101
+ </li>
102
+ </ul>
103
+ <?php else: ?>
104
+ <input type="hidden" name="checkout_method" id="login:register" value="register" checked="checked" />
105
+ <?php endif; ?>
106
+ </div>
107
+ </div>
108
+ <div class="col2-set">
109
+ <div class="col-1">
110
+ </div>
111
+ </div>
112
+ <script type="text/javascript">
113
+ //<![CDATA[
114
+ var loginForm = new VarienForm('login-form', true);
115
+ $('login-email').observe('keypress', bindLoginPost);
116
+ $('login-password').observe('keypress', bindLoginPost);
117
+ function bindLoginPost(evt){
118
+ if (evt.keyCode == Event.KEY_RETURN) {
119
+ loginForm.submit();
120
+ }
121
+ }
122
+ function onepageLogin(button)
123
+ {
124
+ if(loginForm.validator && loginForm.validator.validate()){
125
+ button.disabled = true;
126
+ loginForm.submit();
127
+ }
128
+ }
129
+ //]]>
130
+ </script>
131
+ <?php
132
+ $registerParam = $this->getRequest()->getParam('register');
133
+ if ($registerParam || $registerParam === ''):
134
+ ?>
135
+ <script type="text/javascript">
136
+ //<![CDATA[
137
+ document.observe("dom:loaded", function() {
138
+ if($('login:register')) {
139
+ $('login:register').checked = true;
140
+ checkout.setMethod();
141
+ }
142
+ })
143
+ //]]>
144
+ </script>
145
+ <?php endif; ?>
app/design/frontend/default/mobileshoppe/template/persistent/customer/form/login.phtml ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_iphone
23
+ * @copyright Copyright (c) 2012 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 login form template
30
+ *
31
+ * @see app/design/frontend/base/default/template/customer/form/login.phtml
32
+ */
33
+ /** @var $this Mage_Customer_Block_Form_Login */
34
+ ?>
35
+ <div class="account-login">
36
+ <div class="page-title">
37
+ <h1><?php echo $this->__('Login or Create an Account') ?></h1>
38
+ </div>
39
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
40
+ <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
41
+ <div class="col2-set">
42
+ <div class="col-1 registered-users">
43
+ <div class="content">
44
+ <h2><?php echo $this->__('Registered Customers') ?></h2>
45
+ <ul class="form-list">
46
+ <li>
47
+ <label for="email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
48
+ <div class="input-box">
49
+ <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') ?>" />
50
+ </div>
51
+ </li>
52
+ <li>
53
+ <label for="pass" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
54
+ <div class="input-box">
55
+ <input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo $this->__('Password') ?>" />
56
+ </div>
57
+ </li>
58
+ <li class="note">
59
+ <a href="<?php echo $this->getForgotPasswordUrl() ?>" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
60
+ </li>
61
+ <?php echo $this->getChildHtml('form.additional.info'); ?>
62
+ <?php echo $this->getChildHtml('persistent.remember.me'); ?>
63
+ <li class="buttons-set">
64
+ <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><?php echo $this->__('Login') ?></button>
65
+ </li>
66
+ </ul>
67
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
68
+ <?php echo $this->getChildHtml('persistent.remember.me.tooltip'); ?>
69
+ </div>
70
+ </div>
71
+ <div class="col-2 new-users">
72
+ <div class="content">
73
+ <h2><?php echo $this->__('New Customers') ?></h2>
74
+ <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>
75
+
76
+ <div class="buttons-set">
77
+ <button type="button" title="<?php echo $this->__('Create an Account') ?>" class="button" onclick="window.location='<?php echo Mage::helper('persistent')->getCreateAccountUrl($this->getCreateAccountUrl()) ?>';"><?php echo $this->__('Create an Account') ?></button>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ <?php if (Mage::helper('checkout')->isContextCheckout()): ?>
83
+ <input name="context" type="hidden" value="checkout" />
84
+ <?php endif; ?>
85
+ </form>
86
+ <script type="text/javascript">
87
+ //<![CDATA[
88
+ var dataForm = new VarienForm('login-form', true);
89
+ //]]>
90
+ </script>
91
+ </div>
app/design/frontend/default/mobileshoppe/template/persistent/remember_me_tooltip.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 default_iphone
23
+ * @copyright Copyright (c) 2012 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
+ * "Remember Me" popup template (when click on "What's this?")
30
+ *
31
+ */
32
+ /** @var $this Mage_Core_Block_Template */
33
+ ?>
34
+
35
+ <div id="remember-me-popup" class="remember-me-popup" style="display:none;">
36
+ <div class="remember-me-popup-body">
37
+ <p>Checking &quot;Remember Me&quot; will let you access your shopping cart on this computer when you are logged out</p>
38
+ <a href="#" class="remember-me-popup-close button" title="<?php echo $this->__('Close') ?>"><?php echo $this->__('Close') ?></a>
39
+ </div>
40
+ </div>
41
+ <script type="text/javascript">
42
+ //<![CDATA[
43
+ function toggleRememberMepopup(e){
44
+ if($('remember-me-popup')){
45
+ $('remember-me-popup').setStyle({'top' : e.pointerY() + 'px'}).toggle();
46
+ }
47
+ Event.stop(event);
48
+ }
49
+
50
+ document.observe("dom:loaded", function() {
51
+ new Insertion.Bottom($$('body')[0], $('remember-me-popup'));
52
+
53
+ $$('.remember-me-popup-close').each(function(element){
54
+ Event.observe(element, 'click', toggleRememberMepopup);
55
+ })
56
+ $$('#remember-me-box a').each(function(element) {
57
+ Event.observe(element, 'click', toggleRememberMepopup);
58
+ });
59
+ });
60
+ //]]>
61
+ </script>
app/design/frontend/default/mobileshoppe/template/review/form.phtml ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2011 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="form-add">
28
+ <h2><?php echo $this->__('Write Your Own Review') ?></h2>
29
+ <?php if ($this->getAllowWriteReviewFlag()): ?>
30
+ <form action="<?php echo $this->getAction() ?>" method="post" id="review-form">
31
+ <fieldset>
32
+ <?php echo $this->getChildHtml('form_fields_before')?>
33
+ <h3><?php echo $this->__("You're reviewing:"); ?> <span><?php echo $this->htmlEscape($this->getProductInfo()->getName()) ?></span></h3>
34
+ <?php if( $this->getRatings() && $this->getRatings()->getSize()): ?>
35
+ <h4><?php echo $this->__('How do you rate this product?') ?> <em class="required">*</em></h4>
36
+ <span id="input-message-box"></span>
37
+ <div class="cart-table-wrap">
38
+ <table class="data-table" id="product-review-table">
39
+ <col />
40
+ <col width="1" />
41
+ <col width="1" />
42
+ <col width="1" />
43
+ <col width="1" />
44
+ <col width="1" />
45
+ <thead>
46
+ <tr>
47
+ <th>&nbsp;</th>
48
+ <th><span class="nobr"><?php echo $this->__('1*') ?></span></th>
49
+ <th><span class="nobr"><?php echo $this->__('2*') ?></span></th>
50
+ <th><span class="nobr"><?php echo $this->__('3*') ?></span></th>
51
+ <th><span class="nobr"><?php echo $this->__('4*') ?></span></th>
52
+ <th><span class="nobr"><?php echo $this->__('5*') ?></span></th>
53
+ </tr>
54
+ </thead>
55
+ <tbody>
56
+ <?php foreach ($this->getRatings() as $_rating): ?>
57
+ <tr>
58
+ <th><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></th>
59
+ <?php foreach ($_rating->getOptions() as $_option): ?>
60
+ <td class="value"><input type="radio" name="ratings[<?php echo $_rating->getId() ?>]" id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" value="<?php echo $_option->getId() ?>" class="radio" /></td>
61
+ <?php endforeach; ?>
62
+ </tr>
63
+ <?php endforeach; ?>
64
+ </tbody>
65
+ </table>
66
+ </div>
67
+ <input type="hidden" name="validate_rating" class="validate-rating" value="" />
68
+ <script type="text/javascript">decorateTable('product-review-table')</script>
69
+ <?php endif; ?>
70
+ <ul class="form-list">
71
+ <li>
72
+ <label for="nickname_field" class="required"><em>*</em><?php echo $this->__('Nickname') ?></label>
73
+ <div class="input-box">
74
+ <input type="text" name="nickname" id="nickname_field" class="input-text required-entry" value="<?php echo $this->htmlEscape($data->getNickname()) ?>" />
75
+ </div>
76
+ </li>
77
+ <li>
78
+ <label for="summary_field" class="required"><em>*</em><?php echo $this->__('Summary of Your Review') ?></label>
79
+ <div class="input-box">
80
+ <input type="text" name="title" id="summary_field" class="input-text required-entry" value="<?php echo $this->htmlEscape($data->getTitle()) ?>" />
81
+ </div>
82
+ </li>
83
+ <li>
84
+ <label for="review_field" class="required"><em>*</em><?php echo $this->__('Review') ?></label>
85
+ <div class="input-box">
86
+ <textarea name="detail" id="review_field" cols="5" rows="3" class="required-entry"><?php echo $this->htmlEscape($data->getDetail()) ?></textarea>
87
+ </div>
88
+ </li>
89
+ </ul>
90
+ </fieldset>
91
+ <div class="buttons-set">
92
+ <button type="submit" title="<?php echo $this->__('Submit Review') ?>" class="button"><span><span><?php echo $this->__('Submit Review') ?></span></span></button>
93
+ </div>
94
+ </form>
95
+ <script type="text/javascript">
96
+ //<![CDATA[
97
+ var dataForm = new VarienForm('review-form');
98
+ Validation.addAllThese(
99
+ [
100
+ ['validate-rating', '<?php echo $this->__('Please select one of each of the ratings above') ?>', function(v) {
101
+ var trs = $('product-review-table').select('tr');
102
+ var inputs;
103
+ var error = 1;
104
+
105
+ for( var j=0; j < trs.length; j++ ) {
106
+ var tr = trs[j];
107
+ if( j > 0 ) {
108
+ inputs = tr.select('input');
109
+
110
+ for( i in inputs ) {
111
+ if( inputs[i].checked == true ) {
112
+ error = 0;
113
+ }
114
+ }
115
+
116
+ if( error == 1 ) {
117
+ return false;
118
+ } else {
119
+ error = 1;
120
+ }
121
+ }
122
+ }
123
+ return true;
124
+ }]
125
+ ]
126
+ );
127
+ //]]>
128
+ </script>
129
+ <?php else: ?>
130
+ <p class="review-nologged" id="review-form">
131
+ <?php echo $this->__('Only registered users can write reviews. Please, <a href="%s">log in</a> or <a href="%s">register</a>', $this->getLoginLink(), Mage::helper('customer')->getRegisterUrl()) ?>
132
+ </p>
133
+ <?php endif ?>
134
+ </div>
app/design/frontend/default/mobileshoppe/template/sales/guest/form.phtml ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="page-title">
2
+ <h1><?php echo Mage::helper('sales')->__('Returns') ?></h1>
3
+ </div>
4
+ <div class="block-content form-guest">
5
+ <form id="oar_widget_orders_and_returns_form" action="<?php echo $this->getActionUrl() ?>" method="post" class="search-form" name="guest_post">
6
+ <ul class="form-alt">
7
+ <li>
8
+ <div class="input-p">
9
+ <label for="oar_order_id" class="required"><?php echo Mage::helper('sales')->__('Order ID') ?> <em>*</em></label>
10
+ </div>
11
+ <div class="input-box">
12
+ <input type="text" class="input-text required-entry" id="oar_order_id" name="oar_order_id"/>
13
+ </div>
14
+ </li>
15
+ <li >
16
+ <div class="input-p">
17
+ <?php echo Mage::helper('sales')->__('Enter the billing last name and email/ZIP as in the order billing address') ?>.
18
+ </div>
19
+ </li>
20
+ <li>
21
+ <div class="input-p">
22
+ <label for="oar_billing_lastname" class="required"><?php echo Mage::helper('sales')->__('Billing Last Name') ?> <em>*</em></label>
23
+ </div>
24
+ <div class="input-box">
25
+ <input type="text" class="input-text required-entry" id="oar_billing_lastname" name="oar_billing_lastname" />
26
+ </div>
27
+ </li>
28
+ <li >
29
+ <div class="input-p">
30
+ <label class="required"><?php echo Mage::helper('sales')->__('Find Order By:') ?></label>
31
+ </div>
32
+ <div class="input-box">
33
+ <select name="oar_type" id="quick_search_type_id" class="select guest-select" title="" onchange="showIdentifyBlock(this.value);">
34
+ <option value="email">Email Address</option>
35
+ <option value="zip">ZIP Code</option>
36
+ </select>
37
+ </div>
38
+ </li>
39
+ <li id="oar-email" >
40
+ <div class="input-p">
41
+ <label for="oar_email" class="required"><?php echo Mage::helper('sales')->__('Email Address') ?> <em>*</em></label>
42
+ </div>
43
+ <div class="input-box">
44
+ <input type="text" class="input-text validate-email required-entry" id="oar_email" name="oar_email" />
45
+ </div>
46
+ </li>
47
+ <li id="oar-zip">
48
+ <div class="input-p">
49
+ <label for="oar_zip" class="required"><?php echo Mage::helper('sales')->__('Billing ZIP Code') ?> <em>*</em></label>
50
+ </div>
51
+ <div class="input-box">
52
+ <input type="text" class="input-text required-entry" id="oar_zip" name="oar_zip"/>
53
+ </div>
54
+ </li>
55
+ <li >
56
+ <div class="button-set">
57
+ <button type="submit" title="Continue" class="button"><span><span><?php echo Mage::helper('sales')->__('Continue') ?></span></span></button>
58
+ </div>
59
+ </li>
60
+ </ul>
61
+ </form>
62
+ </div>
63
+ <script type="text/javascript">
64
+ //<![CDATA[
65
+ if ($('quick_search_type_id').value == 'zip') {
66
+ $('oar-zip').show();
67
+ $('oar-email').hide();
68
+ } else {
69
+ $('oar-zip').hide();
70
+ $('oar-email').show();
71
+ }
72
+
73
+ var dataForm = new VarienForm('oar_widget_orders_and_returns_form', true);
74
+
75
+ function showIdentifyBlock(id)
76
+ {
77
+ if (id == 'zip') {
78
+ $('oar-zip').show();
79
+ $('oar-email').hide();
80
+ } else if (id == 'email') {
81
+ $('oar-zip').hide();
82
+ $('oar-email').show();
83
+ }
84
+ return false;
85
+ }
86
+ //]]>
87
+ </script>
app/design/frontend/default/mobileshoppe/template/sample/home.phtml ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 default_modern
23
+ * @copyright Copyright (c) 2012 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 style=" float:left; width:653px;">
28
+ <img src="<?php echo $this->getSkinUrl('images/media/home_co_main.jpg');?>" alt="" />
29
+ </div>
30
+ <div style="float:right; width:280px;">
31
+ <div style="margin:0 0 10px;" ><img src="<?php echo $this->getSkinUrl('images/media/home_co_tr.gif');?>" alt="" /></div>
32
+ <div><img src="<?php echo $this->getSkinUrl('images/media/home_co_br.gif');?>" alt="" /></div>
33
+ </div>
34
+ <div class="clearer"></div>
35
+ <div style="margin:10px 0 0;"><img src="<?php echo $this->getSkinUrl('images/media/home_co_bottom.gif');?>" alt="" /></div>
app/design/frontend/default/mobileshoppe/template/wishlist/item/column/cart.phtml ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ /* @var $this Mage_Wishlist_Block_Customer_Wishlist_Item_Column_Cart */
28
+ /* @var Mage_Wishlist_Model_Item $item */
29
+ $item = $this->getItem();
30
+ $product = $item->getProduct();
31
+ ?>
32
+ <div class="cart-cell">
33
+ <?php echo $this->getPriceHtml($product);?>
34
+ <div class="add-to-cart-alt">
35
+ <?php if ($item->canHaveQty() && $item->getProduct()->isVisibleInSiteVisibility()): ?>
36
+ <input type="text" class="input-text qty validate-not-negative-number" name="qty[<?php echo $item->getId() ?>]" value="<?php echo $this->getAddToCartQty($item) * 1 ?>" />
37
+ <?php endif; ?>
38
+ <?php if ($product->isSaleable()): ?>
39
+ <button type="button" title="<?php echo $this->__('Add to Cart') ?>" onclick="addWItemToCart(<?php echo $item->getId()?>);" class="button btn-cart"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
40
+ <?php else: ?>
41
+ <?php if ($product->getIsSalable()): ?>
42
+ <p class="availability in-stock"><span><?php echo $this->__('In stock') ?></span></p>
43
+ <?php else: ?>
44
+ <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
45
+ <?php endif; ?>
46
+ <?php endif; ?>
47
+ </div>
48
+ <?php foreach($this->getSortedChildren() as $childName):?>
49
+ <?php echo $this->getChildHtml($childName, false);?>
50
+ <?php endforeach;?>
51
+ <?php if ($product->isVisibleInSiteVisibility()): ?>
52
+ <p><a class="link-edit" href="<?php echo $this->getItemConfigureUrl($item) ?>"><?php echo $this->__('Edit') ?></a></p>
53
+ <?php endif ?>
54
+ </div>
app/design/frontend/default/mobileshoppe/template/wishlist/item/column/image.phtml ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ /* @var Mage_Wishlist_Model_Item $item */
28
+ $item = $this->getItem();
29
+ $product = $item->getProduct();
30
+ ?>
31
+ <a class="product-image" href="<?php echo $this->getProductUrl($item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>">
32
+ <img src="<?php echo $this->helper('catalog/image')->init($product, 'small_image')->resize(113, 113); ?>" width="113" height="113" alt="<?php echo $this->escapeHtml($product->getName()) ?>" />
33
+ </a>
app/design/frontend/default/mobileshoppe/template/wishlist/item/column/info.phtml ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ /* @var Mage_Wishlist_Model_Item $item */
28
+ $item = $this->getItem();
29
+ $product = $item->getProduct();
30
+ ?>
31
+ <div class="productdetailscell">
32
+ <h3 class="product-name"><a href="<?php echo $this->getProductUrl($item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>"><?php echo $this->escapeHtml($product->getName()) ?></a></h3>
33
+ <div class="description std"><div class="inner"><?php echo $this->escapeHtml($this->stripTags($product->getShortDescription()));?></div></div>
34
+ <textarea name="description[<?php echo $item->getWishlistItemId() ?>]" rows="3" cols="5" onfocus="focusComment(this)" onblur="focusComment(this)" title="<?php echo $this->__('Comment') ?>"><?php echo ($this->escapeHtml($item->getDescription())) ?></textarea>
35
+ <?php if($this->getSortedChildren()): ?>
36
+ <div class="item-manage">
37
+ <?php foreach($this->getSortedChildren() as $childName):?>
38
+ <?php echo $this->getChildHtml($childName, false);?>
39
+ <?php endforeach;?>
40
+ </div>
41
+ <?php endif; ?>
42
+ </div>
app/design/frontend/default/mobileshoppe/template/wishlist/item/column/remove.phtml ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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) 2012 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
+ <p class="deletecell">
29
+ <a href="<?php echo $this->getItemRemoveUrl($this->getItem()); ?>" onclick="return confirmRemoveWishlistItem();" title="<?php echo $this->__('Remove Item') ?>"
30
+ class="btn-remove btn-remove2"><?php echo $this->__('Remove item');?></a>
31
+ </p>
app/design/frontend/default/mobileshoppe/template/wishlist/item/configure/addto.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) 2012 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 $_wishlistItem = $this->getWishlistItem(); ?>
29
+ <?php $_wishlistSubmitUrl = $this->helper('wishlist')->getUpdateUrl($_wishlistItem); ?>
30
+ <ul class="add-to-links">
31
+ <?php if ($this->helper('wishlist')->isAllow()) : ?>
32
+ <li><a href="<?php echo $_wishlistSubmitUrl ?>" onclick="productAddToCartForm.submitLight(this, this.href); return false;" class="link-compare"><?php echo $this->__('Update Wishlist') ?></a></li>
33
+ <?php endif; ?>
34
+ <?php $_product = $this->getProduct(); ?>
35
+ <?php $_compareUrl = $this->helper('catalog/product_compare')->getAddUrl($_product); ?>
36
+ <?php if ($_compareUrl) : ?>
37
+ <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li>
38
+ <?php endif; ?>
39
+ </ul>
app/design/frontend/default/mobileshoppe/template/wishlist/item/list.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) 2012 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
+ $columns = $this->getColumns();
29
+ ?>
30
+ <div class="headingcell">
31
+ <?php foreach ($columns as $column): ?>
32
+ <div><?php echo $column->getTitle();?></div>
33
+ <?php endforeach; ?>
34
+ </div>
35
+ <div class="contentcell">
36
+ <?php if (count($this->getItems())): ?>
37
+ <?php foreach ($this->getItems() as $item): ?>
38
+ <div id="item_<?php echo $item->getId();?>" class="cellitem">
39
+ <?php foreach ($columns as $column): ?>
40
+ <?php $column->setItem($item); echo $column->toHtml($item);?>
41
+ <?php endforeach; ?>
42
+ </div>
43
+ <div class="clear"></div>
44
+ <?php endforeach ?>
45
+ <?php else: ?>
46
+ <p class="wishlist-empty"><?php echo $this->__('This Wishlist has no Items');?></p>
47
+ <?php endif; ?>
48
+ </div>
49
+ </table>
50
+ <?php foreach ($columns as $column): ?>
51
+ <?php echo $column->getAdditionalHtml();?>
52
+ <?php endforeach; ?>
package.xml ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Mobile_Shoppe_Responsive_Magento_Theme</name>
4
+ <version>1.0.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>A highly scalable and robust responsive magento theme for all business stores</summary>
10
+ <description>&#x2022; User friendly navigation. It adjusts its look on all browsers with any resolution.&#xD;
11
+ &#x2022; Works nice on landscape and portrait view of iphone and ipad.&#xD;
12
+ &#x2022; No magento features are hidden. Works great will all features of magento. &#xD;
13
+ &#x2022; Better readability on all devices.&#xD;
14
+ &#x2022; Fast loading on mobile devices.&#xD;
15
+ &#x2022; Homepage, slider and footer links are managed from static block and CMS pages features of magento&#xD;
16
+ &#x2022; Works with all type of layout structures of magento.&#xD;
17
+ &#x2022; Readme file included with package.&#xD;
18
+ </description>
19
+ <notes>A Responsive Magento Theme</notes>
20
+ <authors><author><name>Creative Glance Technologies</name><user>cglance08</user><email>info@creativeglance.com</email></author></authors>
21
+ <date>2012-07-02</date>
22
+ <time>13:28:36</time>
23
+ <contents><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="mobileshoppe"><dir name="etc"><file name="widget.xml" hash="690c9b837d1642828132dca44fca3680"/></dir><dir name="layout"><file name="catalog.xml" hash="0c4cd522b1e74a17d92c328583a9e6e5"/><file name="catalogsearch.xml" hash="40946b60dbaf9b7202b116e30fd402a2"/><file name="checkout.xml" hash="786b4b33c16154892f9966fb9b9f32fb"/><file name="cms.xml" hash="4c8a40d4104c2a37fdd854e0c4216998"/><file name="contacts.xml" hash="0260be797b88731de08e88b202142000"/><file name="customer.xml" hash="ffebffc16515816467fb98f8a4f9c6a2"/><file name="directory.xml" hash="ee728b76cc1589bf7d7749792997596d"/><file name="local.xml" hash="654403b11224abfa7a3b1b1a95afe95f"/><file name="newsletter.xml" hash="8a9d05f07396a0c125620b36422e8f39"/><file name="page.xml" hash="6a2fc5994139cca6bd5ef9d3b544a2f1"/><file name="payment.xml" hash="985f8462d18148343c23c7d2fd29b52e"/><file name="persistent.xml" hash="ef1f456fc785e0b7483dbf11b638a999"/><file name="review.xml" hash="b43e0faf0b03d359ba8314e534dc6588"/><file name="rss.xml" hash="59621a017834bd2dfe2c47d23cf51a33"/><file name="sales.xml" hash="16058f59abf8b288101d4f1c5ce01920"/><file name="sendfriend.xml" hash="6dc19a4144a77c0cf8e4984b5409207e"/><file name="tag.xml" hash="fa5bca4103a9865271b9e22d34a2df09"/><file name="wishlist.xml" hash="f3c4aec18fbd9eed7a5f8c2fb80b482d"/></dir><dir name="locale"><dir name="en_US"><file name="translate.csv" hash="793e1ff86039f24caff6fad87a094fa1"/></dir></dir><dir name="template"><dir name="catalog"><dir name="layer"><file name="filter.phtml" hash="0cac85179aa157933db374477e22c76d"/><file name="state.phtml" hash="0291dab90fce001ca017e32e74f00411"/><file name="view.phtml" hash="354aabe30d2c08eaf9c735928b7ad95d"/></dir><dir name="navigation"><file name="left.phtml" hash="b6705b10b3ea65546d95ba4fe5109dbd"/><file name="top.phtml" hash="609460e5ed4b0d11aa992b5746a637e4"/></dir><file name="new.phtml" hash="9e2d685a596d13d1e7e4426b024ba7d1"/><file name="new_tabs.phtml" hash="50613b384ba9427b030aaae707a48de0"/><dir name="product"><dir name="list"><file name="toolbar_bottom.phtml" hash="3689208cc27680dcdf7f6ccf9f34182d"/><file name="toolbar_top.phtml" hash="180f9fd8616c67c8665a9496c8f801f6"/><file name="upsell.phtml" hash="2a768bc73ec0d69e8aae545fe489676e"/></dir><file name="list.phtml" hash="ee46b18bcac3849270ad68334d1ddad1"/><file name="list_tabs.phtml" hash="80bc102588ff8ea35c5ba2ce74f95ad3"/><dir name="view"><file name="media.phtml" hash="d6f543f3d73242c7fcb2d678de4610ea"/><file name="tabs.phtml" hash="d7d12ad00a620f8174068e7b5ff5cef9"/></dir><file name="view.phtml" hash="d2b53445322eff51fb9e008615d53795"/></dir></dir><dir name="catalogsearch"><file name="form.mini.phtml" hash="9ea4d54553706c2cc9cb5a21cc360d00"/></dir><dir name="checkout"><dir name="cart"><file name="crosssell.phtml" hash="10281d539f745c743ac13c572310efc3"/><dir name="item"><file name="_default.phtml" hash="fa6c5586f8a0f4bb0f7d77de27fd60d4"/><file name="default.phtml" hash="8b21d613c1a1a7722d1dba574741920e"/></dir></dir><file name="cart.phtml" hash="52903c812c51d70e26132bb0420e4c9e"/><dir name="multishipping"><file name="addresses.phtml" hash="ae5c206548117f4258d86529c0b81b07"/></dir><dir name="onepage"><dir name="review"><file name="info.phtml" hash="793e59dcb1df3de02b2bc73967dac129"/><file name="item.phtml" hash="5e7f745ebcfdcd185b7e895ee7f09444"/><file name="totals.phtml" hash="9a980a2337a48bbc74c434464cbd695c"/></dir></dir><file name="success.phtml" hash="e955631194daa6ee8aab3f22c787736c"/></dir><dir name="directory"><dir name="currency"><file name="switch.phtml" hash="d6606b69bc05131a78338d80b31e6588"/></dir><file name="currency.phtml" hash="54a6e7411ab4fe31e936a433ac2ca064"/></dir><dir name="newsletter"><file name="subscribe.phtml" hash="508eb156a65d9a7366c8fe1e8e38d780"/></dir><dir name="page"><file name="1column.phtml" hash="5244c9c2ee824c9bc6881a38e50a613c"/><file name="2columns-left.phtml" hash="26dd841e0f739e0ca95441ceed8e4464"/><file name="2columns-right.phtml" hash="ba67fbce2437948105e53516afad7360"/><file name="3columns.phtml" hash="111d22da4c2d8687e9dc066ebfcb8662"/><file name="empty.phtml" hash="097e82aa1488d960ee27a9006f4ba592"/><dir name="html"><file name="footer.phtml" hash="730d3e97af802245f1e0465592df687f"/><file name="head.phtml" hash="e806af3355f99d0eef55a070a28277cd"/><file name="header.phtml" hash="1f8519fe753ab225801520f8091988ba"/><file name="topmenu.phtml" hash="88d81f7f7518ec995ff5a046abbe8b96"/></dir><file name="popup.phtml" hash="6c087e5835cb6336438e2585837c5da2"/><file name="print.phtml" hash="b0421f37b9f48380b71231724b38d74f"/><dir name="switch"><file name="languages.phtml" hash="355bbf71d04df61426e69223c9a0716b"/></dir></dir><dir name="persistent"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="bf07c9156d6fe029aac8110e840cef72"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="ddc680e67740760e03b10d4d7ecc6840"/></dir></dir><file name="remember_me_tooltip.phtml" hash="184c17a76fb72717733e25b872d87612"/></dir><dir name="review"><file name="form.phtml" hash="079fa382b8ebfaa3892d3c6f81aac8d3"/></dir><dir name="sales"><dir name="guest"><file name="form.phtml" hash="74cef0a547fe8e3fb645a1f9e6bf86b8"/></dir></dir><dir name="sample"><file name="home.phtml" hash="efe8195fb326e90b436be18dd46c867f"/></dir><dir name="wishlist"><dir name="item"><dir name="column"><file name="cart.phtml" hash="9a9cc4b0f41cc2ba4c01e35532cc989c"/><file name="image.phtml" hash="599c0a0af8133a3da8332b83506cdb7e"/><file name="info.phtml" hash="c6313511e753ad8f4e7289a99af1602b"/><file name="remove.phtml" hash="c449220bde755230f977d633f0ae036a"/></dir><dir name="configure"><file name="addto.phtml" hash="9897e62a637904f305ca2fb1803bbf2c"/></dir><file name="list.phtml" hash="e5e3073771fb238c0ca1c65c31ce7d28"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="mobileshoppe"><dir name="css"><file name="galleria.classic.css" hash="2b45acb13f28b4a088712e2b88b2e73c"/><file name="styles.css" hash="ddc43a6b5f668101b978573d20eb525b"/><file name="widgets.css" hash="1bc699d294ba8bd26942a616c3ea89bf"/></dir><file name="favicon.ico" hash="88733ee53676a47fc354a61c32516e82"/><dir name="images"><file name="Find-Us-twitter.png" hash="abbdffd2451d69a1b4cd87d150de8f0f"/><file name="Thumbs.db" hash="23184c11001947896fec74fc7c05f247"/><file name="_bg_footer_social_2.png" hash="7e41c11613a418552fef983d15d62c0e"/><file name="_logo.gif" hash="67bf439e15dcf3295d5e39da0fa76796"/><file name="baseline18px.png" hash="d9c6258b25dbdc1ba37d66af8bffb45f"/><file name="bg_CARTbtn_L.png" hash="c04f333e6d6ed95dff8e5096d1b28884"/><file name="bg_CARTbtn_R.png" hash="6384d357570ecd6b8cead4e51bb0f88e"/><file name="bg_UL_bullet.png" hash="4e88ade4db2b9228b323cf50c95e7e2d"/><file name="bg_btn_L.png" hash="e321a1c3919d29b4126195971e586a2d"/><file name="bg_btn_R.png" hash="5593f25ed4adb40ed4987cf020a502f8"/><file name="bg_footer.png" hash="66961aa0bd2174c5c3977e156e9780e0"/><file name="bg_footer_UL_rightline.png" hash="c410a34b66c347b5de56bc86f5bb2af2"/><file name="bg_footer_social.png" hash="0fdabcc17ed1e6f8616c145b1ed744d3"/><file name="bg_footer_social_2.png" hash="8daf823a34202433df8f107377638f6e"/><file name="bg_header.png" hash="c82a406c2d88d265dd9ced47a3812f33"/><file name="bg_nav.png" hash="b38a6491d945ffa4f8eb00faa4c74797"/><file name="bg_search_btn.png" hash="183862c13c5e1ae964009a59793e9295"/><file name="bkg_add-to.gif" hash="30ad4986308f5012175006648ec002c4"/><file name="bkg_block-layered-title.gif" hash="ca168370951ae1f9e5baf33dc5bd92d9"/><file name="bkg_body.gif" hash="f721950262bb5c60227ee74bb435fa79"/><file name="bkg_btn-green.gif" hash="732c08dcbb45ecc07305a6fcc8a8e1a2"/><file name="bkg_btn-small.gif" hash="63a4d1b7cf6cf9f8c2ba557c21b3d6ec"/><file name="bkg_btn-small.png" hash="395fbc85113004f09b8e497c766f0b26"/><file name="bkg_btn.gif" hash="1b9a2115bfd66afd1d47b9872de1f9e8"/><file name="bkg_btn.png" hash="df9af47f282450892546effa54e7da59"/><file name="bkg_cart-totals.gif" hash="1fbacde3b2afd6562f35d0bc21ea41c5"/><file name="bkg_collapse-gm.gif" hash="37c585c23bbfbb3ef8f51191513d435b"/><file name="bkg_collapse.gif" hash="2333c68e38163ed4656da82b9bcf362b"/><file name="bkg_grid.gif" hash="a6f64fedbac51fb1b86184cd488cc4e6"/><file name="bkg_nav_parent.gif" hash="0208ae272e474b99bf1f8743b525c342"/><file name="bkg_nav_top.gif" hash="e208d78164da001372d050b4933d021c"/><file name="bkg_pipe1.gif" hash="bca445209e5b0c9390c526ff6fb9bfcf"/><file name="bkg_pipe2.gif" hash="7da64eefaf4da3855ab6ee76dbced0c2"/><file name="bkg_pipe3.gif" hash="11bfac1e590f0c77fb12f37d7f05cd3c"/><file name="bkg_rating.gif" hash="d2ea21ea9824962892adf2e9d78f03ba"/><file name="bkg_subtotal.gif" hash="fa2f26527c87fc6b00be8b5e594e52f4"/><file name="bkg_tabs.gif" hash="3929ea638ee939e2280b909d291dd706"/><file name="bkg_toolbar.gif" hash="b51ad5ce6fc7c93c7be429822b7d0f54"/><file name="bkg_top-promo.gif" hash="fe437853830c572b1448840fec6a86c2"/><file name="bkg_top-promo.png" hash="7ca863da22970de8a4cf7dce0feab3ef"/><file name="bkg_top-promo1.gif" hash="bf56e7315ab7492e1849a97f8275e79a"/><file name="border_dotted.png" hash="a2f8a50a454d456a4b9482fcd5eca3ae"/><file name="btn-submit-me.png" hash="b7a38adb4c88ffae980bfb576cf3c731"/><file name="btn_checkout.gif" hash="79b6d671dc425b20d024255e76187f70"/><file name="btn_edit.gif" hash="a723d24e578ae946d29c46585d91f066"/><file name="btn_remove.gif" hash="e106b9cea6e73407f5311ebf024ebbbb"/><file name="btn_trash.gif" hash="bcb22f558a0eb32243a2a36645189e9f"/><file name="btn_window_close.gif" hash="e106b9cea6e73407f5311ebf024ebbbb"/><file name="calendar.gif" hash="b1468e5239504974c689eea5d93f86d4"/><dir name="catalog"><dir name="product"><dir name="placeholder"><file name="image.jpg" hash="097ab8a3051bc037ea3de0e17f440540"/><file name="small_image.jpg" hash="f825d16f97a640453553c79c48ebaa73"/><file name="thumbnail.jpg" hash="b2b682d28a08a748a73d2cda70ab5a57"/></dir></dir></dir><file name="classic-loader.gif" hash="0b0f6703f12eecd5ad44dbdddbc8b4e4"/><file name="classic-map.png" hash="5d7403ecbe225a1f8b6dfc6814a11d2e"/><file name="clients_logo.png" hash="b210d38bde5825d9c73b1987db050b71"/><file name="cvv.gif" hash="ed0f392004a405466291071a760b285d"/><file name="down_arrow.png" hash="10906bed830c254fe1a1d055a0ffbdf9"/><file name="f_logo1.jpg" hash="c8d5dcf5339f37a85cc1e3e38f3b651d"/><file name="f_logo2.jpg" hash="9b3d20202a8029347aade6f9a53e7a1d"/><file name="f_logo3.jpg" hash="dd8b66a41142cef696f660f7562f7484"/><file name="f_logo4.jpg" hash="3e7944d55dffb5682a1762219e8cb434"/><file name="f_logo5.jpg" hash="56d1ecce10f51189baf1c9da71b61c5b"/><file name="f_logo6.jpg" hash="7e534dac6a6a6e833e8f9b21ae8a994c"/><file name="f_logo7.jpg" hash="c2e8968723af5f369b393d5b17dea315"/><file name="f_logo8.jpg" hash="0fcc4fd1c60f8023fb5bdcecb107f7a3"/><file name="f_logo9.jpg" hash="cdfb3eb613d1517e0ba5397cf5b2296d"/><file name="fam_book_open.png" hash="0ba89b9fbe7e88d4c6896ed0a1f495aa"/><file name="glyphicons-halflings-white.png" hash="11118ae8db796d41dd11482067c89d01"/><file name="glyphicons-halflings.png" hash="531d4b607365ac65b09a181216f0664d"/><file name="grid-cal.gif" hash="b1468e5239504974c689eea5d93f86d4"/><file name="i_asc_arrow.gif" hash="54fa7a2610dca6402a8159a0de658894"/><file name="i_availability_only.gif" hash="bca1f00a50864171ad98317b778e869c"/><file name="i_availability_only_arrow.gif" hash="0cf32b72fefc94b89b74e4f3f02c2e93"/><file name="i_desc_arrow.gif" hash="2ffa641590dbc5017952f77135d96185"/><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="i_notice.gif" hash="ebd56dc80b8346e10e93628bc0e6c372"/><file name="i_pager-next.gif" hash="b565ec86dceddf2c89397a31a6fc9bc8"/><file name="i_pager-prev.gif" hash="ba5d000eb30be2f5b9d8f1aa85cdf478"/><file name="i_print.gif" hash="0aed138181495642e9ab29e55d194d40"/><file name="i_rss-big.png" hash="6cf70e7c52a3f3d7b833ccadb041a555"/><file name="i_rss.gif" hash="e5bbc388d818c142868b4a1df0b48793"/><file name="left_arrow.png" hash="fba806b5fef75fa0037b358d1638ae20"/><file name="linkdin.png" hash="9efd5c96d50763a84e96af1c3beac23d"/><file name="logo.gif" hash="2ea86748c8f9583e02cee1ad0270bba1"/><file name="logo.png" hash="659cd9b06af2d2c200b73e07437d32c4"/><file name="logo_email.gif" hash="47bc079d9b3933c419739b580e4d0f39"/><file name="logo_print.gif" hash="47bc079d9b3933c419739b580e4d0f39"/><file name="magnifier_handle.gif" hash="2ee40683870a2bef5c5b34d30c84d6d8"/><file name="map_popup_arrow.gif" hash="447cca32b28856fa8382a53d478ea3dc"/><dir name="media"><file name="callout1.jpg" hash="0f274fb85b3f1b153072f8478ced414e"/><file name="footer_callout.png" hash="9dc69b9d5517457e08dfce85424e6e16"/><file name="fpo_no_crosssell.gif" hash="7aa2defb505f4d1353fadaac00812501"/><file name="home_co_bottom.gif" hash="52eb6bdfa8926e7a2d0e381b1604e868"/><file name="home_co_br.gif" hash="8ae386c3822b77287a6339068f53953b"/><file name="home_co_main.jpg" hash="c74e1e5276d3c09c6089ce157bda0b24"/><file name="home_co_tr.gif" hash="4fec17962d091640046cab9aa9f4b42e"/><file name="left_col_callout.jpg" hash="e19cc46c3c2b3777484d2847da8564d8"/></dir><file name="new_prod_1.png" hash="a3bfc80378018749c168bf1837ed5def"/><file name="new_prod_2.png" hash="2ad7b7923328584f9455730422e28bc2"/><file name="new_prod_3.png" hash="5995e5eb7b444536fb3091c702c908b3"/><file name="new_prod_4.png" hash="c0c0c13222306db127585789db51e181"/><file name="opc-ajax-loader.gif" hash="2d5cf231c4f520b5c2b4de5536ecb82d"/><file name="open_arrow.png" hash="97a8460a9f814dad897d15e7ed611e11"/><file name="pager_arrow_left.gif" hash="ba5d000eb30be2f5b9d8f1aa85cdf478"/><file name="pager_arrow_right.gif" hash="b565ec86dceddf2c89397a31a6fc9bc8"/><file name="portfolio.png" hash="64162a1a235eb9beb5529999349af8ec"/><file name="portfolio2.png" hash="c5b683f5a9bb98c3857b5197b644047f"/><file name="portfolio3.png" hash="2eea1181b9bd553ae03acd30761c8ad3"/><file name="portfolio4.png" hash="e8c436c93bca45dd337c91984a824d22"/><file name="right_arrow.png" hash="c3f10691417326b83e209c05c8789c9c"/><file name="search-icon.png" hash="9e8596406aaa49226e2023df4cfab0e0"/><file name="search_btn.png" hash="6355075541addf41f76278688731bc41"/><file name="signup_pic.png" hash="04c37039f21b1fa23b60903b49e75ab4"/><dir name="slider"><file name="bg_control_nav.png" hash="5ccb0f9067a0c2bb46865ddb5006ec8e"/><file name="bg_direction_nav.png" hash="b35b28555d143f1f24318649610651ac"/><file name="body.png" hash="b250516bc184536661663bdb9f8be921"/><file name="iphone.jpg" hash="f5ccb85fd37f546bf6ab7908a0132212"/><file name="mcpro.jpg" hash="1c1fe963e36094c1ad8b7aaa20550370"/></dir><file name="slider_bg.gif" hash="a1b9c405b99162b803ea0026371c38c3"/><file name="slider_btn_zoom_in.gif" hash="e1fb26133b6b00cf548ecb0225867c8e"/><file name="slider_btn_zoom_out.gif" hash="17567db9d985e26ab13cbed6e81abb44"/><file name="slider_img_1.png" hash="f9dcf4ae840bfa92cfb8e3ffcc063fee"/><file name="slider_selector.png" hash="e6a883268b49428073c5232aebfc9314"/><file name="slider_selector_current.png" hash="909380c7c823bcf81722e9e0b13e43cd"/><file name="spacer.gif" hash="df3e567d6f16d040326c7a0ea29a4f41"/><file name="special_pic.png" hash="5d375ac2217179856c2da5980feb193e"/><file name="trans-03-16px.png" hash="0a39d484bbde34d43ee3326ce81787ed"/><file name="validation_advice_bg.gif" hash="992b643e08dd71f20de7f94f29e647ba"/><dir name="widgets"><file name="i_widget-link.gif" hash="1bf753578171f147f0203e7b13bdd0c4"/></dir></dir><dir name="js"><file name="accordion.js" hash="dd682e4eb679ff1b81b4c5f1e8ab9b05"/><file name="ddaccordion.js" hash="95fc659aef14ce5c25e5816eba7612b7"/><file name="galleria-1.2.7.js" hash="86f186cb87f06fa7ddb761d423a05e53"/><file name="galleria-1.2.7.min.js" hash="a57304f06108eb6956dfe303bc8ff07b"/><file name="galleria.classic.js" hash="e9b69c16184302d1b936d383604922d2"/><file name="galleria.classic.min.js" hash="c376bf637465726b4c680b68b1038973"/><file name="jquery-1.7.2.min.js" hash="929b398bbcd83718e9b2121481a4c51f"/><file name="jquery.flexslider-min.js" hash="6f66ffad7766a225163b46c278e4057c"/><file name="jquery.flexslider.js" hash="872f910f8d2b9e2472748904a9d4a3d8"/><file name="jquery.mobile-1.1.0.min.js" hash="9d539410c74e9fa38e6fbdf4d66e5011"/><file name="respond.min.js" hash="ff4676c49703a66df7a5ff8dfe5aa444"/><file name="select-menu.js" hash="ef2103288488e130813600a207508bda"/></dir></dir></dir></dir></target><target name="mage"><dir name="."><file name="readme.html" hash="94db1b880980ff44a30c528ecf8d8151"/></dir></target></contents>
24
+ <compatible/>
25
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
26
+ </package>
readme.html ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title>Readme</title>
6
+ </head>
7
+ <style type="text/css">
8
+ .codebg { padding:10px; background-color:#CCCCCC; }
9
+ code { line-height:25px;}
10
+ </style>
11
+ <body>
12
+ <div><h1>Mobile Shoppe – A Responsive Magento Theme</h1></div>
13
+
14
+ <h3>1) Create cms page (home page) step bellow:</h3>
15
+ <p>Add/Edit your homepage from CMS->pages menu from magento admin control panel and Paste below code</p>
16
+ <div class="codebg"><code>
17
+ {{block type="cms/block" block_id="flexislider"}}<br />
18
+ &lt;h2&gt;Featured Product&lt;/h2&gt;<br />
19
+ {{block type="catalog/product_list" category_id="YOUR_CATEGORY_ID" template="catalog/product/list_tabs.phtml"}}<br />
20
+ &lt;h2&gt;Latest Product&lt;/h2&gt;<br />
21
+ {{block type="catalog/product_list" category_id="YOUR_CATEGORY_ID" template="catalog/product/list_tabs.phtml"}}<br />
22
+ &lt;h2&gt;On Sale&lt;/h2&gt;<br />
23
+ {{block type="catalog/product_list" category_id="YOUR_CATEGORY_ID" template="catalog/product/list_tabs.phtml"}}<br />
24
+ {{block type="cms/block" block_id="clients-logo"}}
25
+ </code>
26
+ </div>
27
+
28
+ <p>* Do not forget to replace <strong>YOUR_CATEGORY_ID</strong> with your real category ID value</p>
29
+ <p>* Keep layout style to 1 column</p>
30
+ <p>Create new static block with identifier as "clients-logo" and paste following code. You can keep any name for Block Title</p>
31
+ <div class="codebg">
32
+ <code>&lt;div class=&quot;clients-logo&quot;&gt;<br />
33
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo1.jpg'}}&quot;&gt;&lt;/a&gt;<br />
34
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo2.jpg'}}&quot;&gt;&lt;/a&gt;<br />
35
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo3.jpg'}}&quot;&gt;&lt;/a&gt;<br />
36
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo4.jpg'}}&quot;&gt;&lt;/a&gt;<br />
37
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo5.jpg'}}&quot;&gt;&lt;/a&gt;<br />
38
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo6.jpg'}}&quot;&gt;&lt;/a&gt;<br />
39
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo7.jpg'}}&quot;&gt;&lt;/a&gt;<br />
40
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo8.jpg'}}&quot;&gt;&lt;/a&gt;<br />
41
+ &lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;{{skin url='images/f_logo9.jpg'}}&quot;&gt;&lt;/a&gt;<br />
42
+ &lt;/div&gt;</code></div>
43
+
44
+
45
+ <h3>2) Create static block for slider</h3>
46
+ <p>Create new static block for homepage slider. keep any name for Block Title i.e. flexislider and use "flexislider" as identifier. Paste below code in that block. You can keep any name for Block Title.</p>
47
+ <div class="codebg">
48
+ <code><br />
49
+ &lt;!-- Markup for Slide animation --&gt;<br />
50
+ &lt;script type=&quot;text/javascript&quot;&gt;<br />
51
+ //&lt;![CDATA[<br />
52
+ $j(window).load(function() {<br />
53
+ $j('.flexslider').flexslider({<br />
54
+ animation: &quot;slide&quot;,<br />
55
+ controlsContainer: &quot;.flexslider-container&quot;<br />
56
+ });<br />
57
+ });<br />
58
+ //]]&gt;<br />
59
+ &lt;/script&gt;<br />
60
+ &lt;div class=&quot;flexslider-container&quot;&gt;<br />
61
+ &lt;div class=&quot;flexslider&quot;&gt;<br />
62
+ &lt;ul class=&quot;slides&quot;&gt;<br />
63
+ &lt;li&gt; &lt;a href=&quot;{{store direct_url=&quot;electronics/cameras/olympus-stylus-750-7-1mp-digital-camera.html&quot;}}&quot;&gt; &lt;img src=&quot;{{skin url='images/slider/mcpro.jpg'}}&quot; alt=&quot;&quot;/&gt; &lt;/a&gt;<br />
64
+ &lt;p class=&quot;flex-caption&quot;&gt;&lt;span class=&quot;prod-name&quot;&gt;MacBook Pro&lt;/span&gt; - High-performance computing has reached a new level with super fast graphics and an i7 processor&lt;/p&gt;<br />
65
+ &lt;/li&gt;<br />
66
+ &lt;li&gt; &lt;a href=&quot;{{store direct_url=&quot;electronics/cameras/olympus-stylus-750-7-1mp-digital-camera.html&quot;}}&quot;&gt; &lt;img src=&quot;{{skin url='images/slider/iphone.jpg'}}&quot; alt=&quot;&quot;/&gt; &lt;/a&gt;<br />
67
+ &lt;p class=&quot;flex-caption&quot;&gt;&lt;span class=&quot;prod-name&quot;&gt;iPhones&lt;/span&gt; - Great Prices On The World's Most Indemand Smartphones&lt;/p&gt;<br />
68
+ &lt;/li&gt;<br />
69
+ &lt;/ul&gt;<br />
70
+ &lt;/div&gt;<br />
71
+ &lt;/div&gt;
72
+ </code>
73
+ </div>
74
+
75
+ <h3>2) Create static block for footer links and logo</h3>
76
+ <p>Create new static block for footer links and logo. keep any name for Block Title i.e. Footer Links and use "footer_block" as identifier. Paste below code in that block.</p>
77
+ <div class="codebg">
78
+ <code>
79
+ <p><br />
80
+ &lt;ul class=&quot;f-gray-links grid_3&quot;&gt;<br />
81
+ &lt;h3&gt;Company Info&lt;/h3&gt;<br />
82
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;About Us&lt;/a&gt;&lt;/li&gt;<br />
83
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Contact Us&lt;/a&gt;&lt;/li&gt;<br />
84
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Careers&lt;/a&gt;&lt;/li&gt;<br />
85
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Testimonials&lt;/a&gt;&lt;/li&gt;<br />
86
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Affililate Program&lt;/a&gt;&lt;/li&gt;<br />
87
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Press Links&lt;/a&gt;&lt;/li&gt;<br />
88
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Security &amp;amp; Privacy Policy&lt;/a&gt;&lt;/li&gt;<br />
89
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Account Agreement&lt;/a&gt;&lt;/li&gt;<br />
90
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Terms of Use&lt;/a&gt;&lt;/li&gt;<br />
91
+ &lt;/ul&gt;<br />
92
+ &lt;ul class=&quot;f-gray-links grid_3&quot;&gt;<br />
93
+ &lt;h3&gt;Top Categories&lt;/h3&gt;<br />
94
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;iPhone 4G&lt;/a&gt;&lt;/li&gt;<br />
95
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Accessories&lt;/a&gt;&lt;/li&gt;<br />
96
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;iPhone&lt;/a&gt;&lt;/li&gt;<br />
97
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;iPod&lt;/a&gt;&lt;/li&gt;<br />
98
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Touch Mobiles&lt;/a&gt;&lt;/li&gt;<br />
99
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;iGPS360&lt;/a&gt;&lt;/li&gt;<br />
100
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Apple&lt;/a&gt;&lt;/li&gt;<br />
101
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Nano&lt;/a&gt;&lt;/li&gt;<br />
102
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;3G iPhone&lt;/a&gt;&lt;/li&gt;<br />
103
+ &lt;/ul&gt;<br />
104
+ &lt;ul class=&quot;f-gray-links grid_3&quot;&gt;<br />
105
+ &lt;h3&gt;Help &amp;amp; Support&lt;/h3&gt;<br />
106
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Help &amp;amp; F.A.Q.s&lt;/a&gt;&lt;/li&gt;<br />
107
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Referral Program&lt;/a&gt;&lt;/li&gt;<br />
108
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Coupons&lt;/a&gt;&lt;/li&gt;<br />
109
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Gift Certificates&lt;/a&gt;&lt;/li&gt;<br />
110
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Shipping Policies&lt;/a&gt;&lt;/li&gt;<br />
111
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Return Policy&lt;/a&gt;&lt;/li&gt;<br />
112
+ &lt;li&gt;&lt;a href=&quot;#&quot;&gt;Estimate Delivery Date&lt;/a&gt;&lt;/li&gt;<br />
113
+ &lt;/ul&gt;<br />
114
+ &lt;ul class=&quot;f-gray-links1 grid_3&quot;&gt;<br />
115
+ &lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://facebook.com&quot;&gt;&lt;img src=&quot;{{skin url='images/bg_footer_social_2.png'}}&quot; alt=&quot;&quot; /&gt; &lt;/a&gt;&lt;/li&gt;<br />
116
+ &lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://twitter.com&quot;&gt;&lt;img src=&quot;{{skin url='images/Find-Us-twitter.png'}}&quot; alt=&quot;Twitter&quot; /&gt;&lt;/a&gt;&lt;/li&gt;<br />
117
+ &lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://linkedin.com&quot;&gt;&lt;img src=&quot;{{skin url='images/linkdin.png'}}&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;<br />
118
+ &lt;/ul&gt;<br />
119
+ &lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;
120
+ </p>
121
+ </code></div>
122
+
123
+ <h3>Support</h3>
124
+ <p>If you have any suggestion or request, contact our <a href="http://www.creativeglance.com">magento developer</a> or email us at <a href="mailto:info@creativeglance.com">info@creativeglance.com</a> </p>
125
+ <p><br />
126
+ Visit us at <a href="http://www.creativeglance.com">http://www.creativeglance.com</a> for more responsive theme and magento theme.</p>
127
+ </body>
128
+ </html>
skin/frontend/default/mobileshoppe/css/galleria.classic.css ADDED
@@ -0,0 +1,274 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Galleria Classic Theme
3
+ * Copyright (c) 2010, Aino
4
+ * Licensed under the MIT license.
5
+ */
6
+
7
+ #galleria {
8
+ height:420px;
9
+ width:100%;
10
+ min-width:240px;
11
+ }
12
+
13
+
14
+ .galleria-container {
15
+ position: relative;
16
+ overflow: hidden;
17
+ background: #FAFAFA;
18
+ }
19
+ .galleria-container img {
20
+ -moz-user-select: none;
21
+ -webkit-user-select: none;
22
+ -o-user-select: none;
23
+ }
24
+ .galleria-stage {
25
+ position: absolute;
26
+ top: 10px;
27
+ bottom: 60px;
28
+ left: 10px;
29
+ right: 10px;
30
+ overflow:hidden;
31
+ }
32
+ .galleria-thumbnails-container {
33
+ height: 50px;
34
+ bottom: 0;
35
+ position: absolute;
36
+ left: 10px;
37
+ right: 10px;
38
+ z-index: 2;
39
+ }
40
+ .galleria-carousel .galleria-thumbnails-list {
41
+ margin-left: 30px;
42
+ margin-right: 30px;
43
+ }
44
+ .galleria-thumbnails .galleria-image {
45
+ height: 40px;
46
+ width: 60px;
47
+ margin: 0 5px 0 0;
48
+ float: left;
49
+ cursor: pointer;
50
+ }
51
+ .galleria-counter {
52
+ position: absolute;
53
+ bottom: 10px;
54
+ left: 10px;
55
+ text-align: right;
56
+ color: #444;
57
+ font: normal 11px/1 arial,sans-serif;
58
+ z-index: 1;
59
+ }
60
+ .galleria-loader {
61
+ background: #000;
62
+ width: 20px;
63
+ height: 20px;
64
+ position: absolute;
65
+ top: 10px;
66
+ right: 10px;
67
+ z-index: 2;
68
+ display: none;
69
+ background: url(../images/classic-loader.gif) no-repeat 2px 2px;
70
+ }
71
+ .galleria-info {
72
+ width: 50%;
73
+ top: 15px;
74
+ left: 15px;
75
+ z-index: 2;
76
+ position: absolute;
77
+ }
78
+ .galleria-info-text {
79
+ background-color: #000;
80
+ padding: 12px;
81
+ display: none;
82
+ /* IE7 */ zoom:1;
83
+ }
84
+ .galleria-info-title {
85
+ font: bold 12px/1.1 arial,sans-serif;
86
+ margin: 0;
87
+ color: #fff;
88
+ margin-bottom: 7px;
89
+ display: none !important;
90
+ }
91
+ .galleria-info-description {
92
+ font: italic 12px/1.4 georgia,serif;
93
+ margin: 0;
94
+ color: #bbb;
95
+ }
96
+ .galleria-info-close {
97
+ width: 9px;
98
+ height: 9px;
99
+ position: absolute;
100
+ top: 5px;
101
+ right: 5px;
102
+ background-position: -753px -11px;
103
+ opacity: .5;
104
+ filter: alpha(opacity=50);
105
+ cursor: pointer;
106
+ display: none;
107
+ }
108
+ .notouch .galleria-info-close:hover{
109
+ opacity:1;
110
+ filter: alpha(opacity=100);
111
+ }
112
+ .touch .galleria-info-close:active{
113
+ opacity:1;
114
+ filter: alpha(opacity=100);
115
+ }
116
+ .galleria-info-link {
117
+ background-position: -669px -5px;
118
+ opacity: .7;
119
+ filter: alpha(opacity=70);
120
+ position: absolute;
121
+ width: 20px;
122
+ height: 20px;
123
+ cursor: pointer;
124
+ background-color: #000;
125
+ }
126
+ .notouch .galleria-info-link:hover {
127
+ opacity: 1;
128
+ filter: alpha(opacity=100);
129
+ }
130
+ .touch .galleria-info-link:active {
131
+ opacity: 1;
132
+ filter: alpha(opacity=100);
133
+ }
134
+ .galleria-image-nav {
135
+ position: absolute;
136
+ top: 50%;
137
+ margin-top: -62px;
138
+ width: 100%;
139
+ height: 62px;
140
+ left: 0;
141
+ }
142
+ .galleria-image-nav-left,
143
+ .galleria-image-nav-right {
144
+ opacity: .3;
145
+ filter: alpha(opacity=30);
146
+ cursor: pointer;
147
+ width: 62px;
148
+ height: 124px;
149
+ position: absolute;
150
+ left: 10px;
151
+ z-index: 2;
152
+ background-position: 0 46px;
153
+ }
154
+ .galleria-image-nav-right {
155
+ left: auto;
156
+ right: 10px;
157
+ background-position: -254px 46px;
158
+ z-index: 2;
159
+ }
160
+ .notouch .galleria-image-nav-left:hover,
161
+ .notouch .galleria-image-nav-right:hover {
162
+ opacity: 1;
163
+ filter: alpha(opacity=100);
164
+ }
165
+ .touch .galleria-image-nav-left:active,
166
+ .touch .galleria-image-nav-right:active {
167
+ opacity: 1;
168
+ filter: alpha(opacity=100);
169
+ }
170
+ .galleria-thumb-nav-left,
171
+ .galleria-thumb-nav-right {
172
+ cursor: pointer;
173
+ display: none;
174
+ background-position: -495px 5px;
175
+ position: absolute;
176
+ left: 0;
177
+ top: 0;
178
+ height: 40px;
179
+ width: 23px;
180
+ z-index: 3;
181
+ opacity: .8;
182
+ filter: alpha(opacity=80);
183
+ }
184
+ .galleria-thumb-nav-right {
185
+ background-position: -578px 5px;
186
+ border-right: none;
187
+ right: 0;
188
+ left: auto;
189
+ }
190
+ .galleria-thumbnails-container .disabled {
191
+ opacity: .2;
192
+ filter: alpha(opacity=20);
193
+ cursor: default;
194
+ }
195
+ .notouch .galleria-thumb-nav-left:hover,
196
+ .notouch .galleria-thumb-nav-right:hover {
197
+ opacity: 1;
198
+ filter: alpha(opacity=100);
199
+ background-color: #111;
200
+ }
201
+ .touch .galleria-thumb-nav-left:active,
202
+ .touch .galleria-thumb-nav-right:active {
203
+ opacity: 1;
204
+ filter: alpha(opacity=100);
205
+ background-color: #111;
206
+ }
207
+ .notouch .galleria-thumbnails-container .disabled:hover {
208
+ opacity: .2;
209
+ filter: alpha(opacity=20);
210
+ background-color: transparent;
211
+ }
212
+
213
+ .galleria-carousel .galleria-thumb-nav-left,
214
+ .galleria-carousel .galleria-thumb-nav-right {
215
+ display: block;
216
+ }
217
+ .galleria-thumb-nav-left,
218
+ .galleria-thumb-nav-right,
219
+ .galleria-info-link,
220
+ .galleria-info-close,
221
+ .galleria-image-nav-left,
222
+ .galleria-image-nav-right {
223
+ background-image: url(../images/classic-map.png);
224
+ background-repeat: no-repeat;
225
+ }
226
+
227
+ /* Tablet Layout: 768px.
228
+ Gutters: 20px.
229
+ Outer margins: 20px.
230
+ Inherits styles from: Default Layout.
231
+ -------------------------------------------------------------------------------
232
+ cols 1 2 3 4 5 6 7 8 9 10 11 12
233
+ px 40 100 160 220 280 340 400 460 520 580 640 700 */
234
+
235
+ @media only screen and (min-width: 768px) and (max-width: 959px) {
236
+
237
+
238
+ }
239
+
240
+
241
+
242
+ /* Mobile Layout: 320px.
243
+ Gutters: 20px.
244
+ Outer margins: 20px.
245
+ Inherits styles from: Default Layout.
246
+ -------------------------------------------------------------------------------
247
+ cols 1 2 3 4 5
248
+ px 40 100 160 220 280 */
249
+
250
+ @media only screen and (max-width: 767px) {
251
+
252
+ #galleria {
253
+ height:300px;
254
+ width:100%;
255
+ min-width:240px;
256
+ }
257
+
258
+
259
+ }
260
+
261
+
262
+
263
+ /* Wide Mobile Layout: 480px.
264
+ Gutters: 20px.
265
+ Outer margins: 20px.
266
+ Inherits styles from: Default Layout, Mobile Layout.
267
+ -------------------------------------------------------------------------------
268
+ cols 1 2 3 4 5 6
269
+ px 40 100 160 220 280 340 */
270
+
271
+ @media only screen and (min-width: 480px) and (max-width: 767px) {
272
+
273
+
274
+ }
skin/frontend/default/mobileshoppe/css/styles.css ADDED
@@ -0,0 +1,2866 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_modern
22
+ * @copyright Copyright (c) 2011 Magento Inc. (http://www.magentocommerce.com)
23
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
24
+ */
25
+
26
+ /* Reset ================================================================================= */
27
+ /*! normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */
28
+
29
+ /* =============================================================================
30
+ HTML5 display definitions
31
+ ========================================================================== */
32
+
33
+ /*
34
+ * Corrects block display not defined in IE6/7/8/9 & FF3
35
+ */
36
+
37
+ article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary { display: block; }
38
+
39
+ /*
40
+ * Corrects inline-block display not defined in IE6/7/8/9 & FF3
41
+ */
42
+
43
+ audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
44
+
45
+ /*
46
+ * Prevents modern browsers from displaying 'audio' without controls
47
+ * Remove excess height in iOS5 devices
48
+ */
49
+
50
+ audio:not([controls]) { display: none; height: 0; }
51
+
52
+ /*
53
+ * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
54
+ * Known issue: no IE6 support
55
+ */
56
+
57
+ [hidden] { display: none; }
58
+
59
+
60
+ /* =============================================================================
61
+ Base
62
+ ========================================================================== */
63
+
64
+ /*
65
+ * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
66
+ * http://clagnut.com/blog/348/#c790
67
+ * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
68
+ * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
69
+ */
70
+
71
+ html { font-size: 100%; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ -ms-text-size-adjust: 100%; /* 2 */ }
72
+
73
+ /*
74
+ * Addresses font-family inconsistency between 'textarea' and other form elements.
75
+ */
76
+
77
+ html, button, input, select, textarea { font-family: sans-serif; }
78
+
79
+ /*
80
+ * Addresses margins handled incorrectly in IE6/7
81
+ */
82
+
83
+ body { margin: 0; }
84
+
85
+
86
+ /* =============================================================================
87
+ Links
88
+ ========================================================================== */
89
+
90
+ /*
91
+ * Addresses outline displayed oddly in Chrome
92
+ */
93
+
94
+ a:focus { outline: thin dotted; }
95
+
96
+ /*
97
+ * Improves readability when focused and also mouse hovered in all browsers
98
+ * people.opera.com/patrickl/experiments/keyboard/test
99
+ */
100
+
101
+ a:hover, a:active { outline: 0; }
102
+
103
+
104
+
105
+
106
+ /* =============================================================================
107
+ Typography
108
+ ========================================================================== */
109
+
110
+ /*
111
+ * Addresses font sizes and margins set differently in IE6/7
112
+ * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
113
+
114
+ h1 { font-size: 2em; margin: 0.67em 0; }
115
+
116
+ h2 { font-size: 1.5em; margin: 0.83em 0;}
117
+
118
+ h3 { font-size: 1.17em; margin: 1em 0;}
119
+
120
+ h4 { font-size: 1em; margin: 1.33em 0;}
121
+
122
+ h5 { font-size: 0.83em; margin: 1.67em 0; }
123
+
124
+ h6 { font-size: 0.75em; margin: 2.33em 0; }
125
+
126
+ */
127
+
128
+ /*
129
+ * Addresses styling not present in IE7/8/9, S5, Chrome
130
+ */
131
+
132
+ abbr[title] { border-bottom: 1px dotted; }
133
+
134
+ /*
135
+ * Addresses style set to 'bolder' in FF3+, S4/5, Chrome
136
+ */
137
+
138
+ b, strong { font-weight: bold; }
139
+
140
+ blockquote { margin: 1em 40px; }
141
+
142
+ /*
143
+ * Addresses styling not present in S5, Chrome
144
+ */
145
+
146
+ dfn { font-style: italic; }
147
+
148
+ /*
149
+ * Addresses styling not present in IE6/7/8/9
150
+ */
151
+
152
+ mark { background: #ff0; color: #000; }
153
+
154
+ /*
155
+ * Addresses margins set differently in IE6/7
156
+ */
157
+
158
+ p, pre { margin: 1em 0; }
159
+
160
+ /*
161
+ * Corrects font family set oddly in IE6, S4/5, Chrome
162
+ * en.wikipedia.org/wiki/User:Davidgothberg/Test59
163
+ */
164
+
165
+ pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
166
+
167
+ /*
168
+ * Improves readability of pre-formatted text in all browsers
169
+ */
170
+
171
+ pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
172
+
173
+ /*
174
+ * 1. Addresses CSS quotes not supported in IE6/7
175
+ * 2. Addresses quote property not supported in S4
176
+ */
177
+
178
+ /* 1 */
179
+
180
+ q { quotes: none; }
181
+
182
+ /* 2 */
183
+
184
+ q:before, q:after { content: ''; content: none; }
185
+
186
+ small { font-size: 75%; }
187
+
188
+ /*
189
+ * Prevents sub and sup affecting line-height in all browsers
190
+ * gist.github.com/413930
191
+ */
192
+
193
+ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
194
+
195
+ sup { top: -0.5em; }
196
+
197
+ sub { bottom: -0.25em; }
198
+
199
+
200
+ /* =============================================================================
201
+ Lists
202
+ ========================================================================== */
203
+
204
+ /*
205
+ * Addresses margins set differently in IE6/7
206
+
207
+
208
+ dl, menu, ol, ul { margin: 1em 0; }
209
+
210
+ dd { margin: 0 0 0 40px; }
211
+
212
+ */
213
+
214
+ /*
215
+ * Addresses paddings set differently in IE6/7
216
+
217
+ menu, ol, ul { padding: 0 0 0 40px; }
218
+
219
+ */
220
+
221
+ /*
222
+ * Corrects list images handled incorrectly in IE7
223
+
224
+ nav ul, nav ol { list-style: none; list-style-image: none; }
225
+
226
+ */
227
+
228
+
229
+
230
+ /* =============================================================================
231
+ Embedded content
232
+ ========================================================================== */
233
+
234
+ /*
235
+ * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
236
+ * 2. Improves image quality when scaled in IE7
237
+ * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
238
+ */
239
+
240
+ img { border: 0; /* 1 */ -ms-interpolation-mode: bicubic; /* 2 */ }
241
+
242
+ /*
243
+ * Corrects overflow displayed oddly in IE9
244
+ */
245
+
246
+ svg:not(:root) { overflow: hidden; }
247
+
248
+
249
+ /* =============================================================================
250
+ Figures
251
+ ========================================================================== */
252
+
253
+ /*
254
+ * Addresses margin not present in IE6/7/8/9, S5, O11
255
+ */
256
+
257
+ figure { margin: 0; }
258
+
259
+
260
+ /* =============================================================================
261
+ Forms
262
+ ========================================================================== */
263
+
264
+ /*
265
+ * Corrects margin displayed oddly in IE6/7
266
+ */
267
+
268
+ form { margin: 0; }
269
+
270
+ /*
271
+ * Define consistent border, margin, and padding
272
+ */
273
+
274
+ fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
275
+
276
+ /*
277
+ * 1. Corrects color not being inherited in IE6/7/8/9
278
+ * 2. Corrects text not wrapping in FF3
279
+ * 3. Corrects alignment displayed oddly in IE6/7
280
+ */
281
+
282
+ legend { border: 0; /* 1 */ padding: 0; white-space: normal; /* 2 */ *margin-left: -7px; /* 3 */ }
283
+
284
+ /*
285
+ * 1. Corrects font size not being inherited in all browsers
286
+ * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
287
+ * 3. Improves appearance and consistency in all browsers
288
+ */
289
+
290
+ button, input, select, textarea { font-size: 100%; /* 1 */ margin: 0; /* 2 */ vertical-align: baseline; /* 3 */ *vertical-align: middle; /* 3 */ }
291
+
292
+ /*
293
+ * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
294
+ */
295
+
296
+ button, input { line-height: normal; /* 1 */ }
297
+
298
+ /*
299
+ * 1. Improves usability and consistency of cursor style between image-type 'input' and others
300
+ * 2. Corrects inability to style clickable 'input' types in iOS
301
+ * 3. Removes inner spacing in IE7 without affecting normal text inputs
302
+ * Known issue: inner spacing remains in IE6
303
+ */
304
+
305
+ button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; /* 1 */ -webkit-appearance: button; /* 2 */ *overflow: visible; /* 3 */ }
306
+
307
+ /*
308
+ * Re-set default cursor for disabled elements
309
+ */
310
+
311
+ button[disabled], input[disabled] { cursor: default; }
312
+
313
+ /*
314
+ * 1. Addresses box sizing set to content-box in IE8/9
315
+ * 2. Removes excess padding in IE8/9
316
+ * 3. Removes excess padding in IE7
317
+ Known issue: excess padding remains in IE6
318
+ */
319
+
320
+ input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ *height: 13px; /* 3 */ *width: 13px; /* 3 */ }
321
+
322
+ /*
323
+ * 1. Addresses appearance set to searchfield in S5, Chrome
324
+ * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
325
+ */
326
+
327
+ input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
328
+
329
+ /*
330
+ * Removes inner padding and search cancel button in S5, Chrome on OS X
331
+ */
332
+
333
+ input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
334
+
335
+ /*
336
+ * Removes inner padding and border in FF3+
337
+ * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
338
+ */
339
+
340
+ button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
341
+
342
+ /*
343
+ * 1. Removes default vertical scrollbar in IE6/7/8/9
344
+ * 2. Improves readability and alignment in all browsers
345
+ */
346
+
347
+ textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
348
+
349
+
350
+ /* =============================================================================
351
+ Tables
352
+ ========================================================================== */
353
+
354
+ /*
355
+ * Remove most spacing between table cells
356
+ */
357
+
358
+ table { border-collapse: collapse; border-spacing: 0; }
359
+
360
+ /****** END Normalization *****************************************************************************/
361
+
362
+ /* Generated by Font Squirrel (http://www.fontsquirrel.com) on May 3, 2012 11:34:39 AM America/New_York */
363
+
364
+
365
+
366
+
367
+
368
+ body { font:75%/1.5 /*12/18*/ Tahoma, Helvetica, Arial, sans-serif; color:#000000; background:#F9F9F9;}
369
+
370
+ img { border:0; vertical-align:top; }
371
+
372
+ a { outline: 0; }
373
+ object, embed { outline: 0; }
374
+ a { text-decoration: none; color: inherit; text-transform: capitilize; color: #000; }
375
+ a:hover { text-decoration:underline; color: #d90202; }
376
+ a:focus { outline:0; color: #d90202; }
377
+
378
+ /* Headings */
379
+
380
+ h1, h2, h3, h4, h5, h6 { padding: 0; margin: 0 0 18px; clear: both; }
381
+
382
+ h1 { font-size: 30px; line-height: 1; font-family:'Karla', tahoma, arial, sans-serif; font-weight:normal;} /* 36/36 */
383
+ h2 { font-size: 24px; line-height: 1.285714286; font-family: 'Karla', tahoma, arial, sans-serif; color:#749E4D; font-weight:normal;}/* 36/28 */
384
+ h3 { font-size: 18px; line-height: 1.636363636; font-family: 'Karla', tahoma, arial, sans-serif; font-weight:normal; }/* 36/22 */
385
+ h4 { font-size: 16px; line-height: 1; font-family: 'Karla', tahoma, arial, sans-serif; font-weight:normal; }/* 18/18 */
386
+ h5 { font-size: 15px; line-height: 1.2; font-family: 'Karla', tahoma, arial, sans-serif; font-weight:normal;}/* 18/36 */
387
+ h6 { font-size: 13px; line-height: 1.384615385; font-family: 'Karla', tahoma, arial, sans-serif; font-weight:normal;}/* 18/13 */
388
+
389
+
390
+ /* Forms */
391
+ form { display:inline; }
392
+ fieldset { border:0; }
393
+ legend { display:none; }
394
+
395
+ /* Table */
396
+ table { border:0; /*border-collapse:collapse;*/ border-spacing:0; empty-cells:show; font-size:100%; }
397
+ caption,th,td { vertical-align:top; text-align:left; font-weight:normal; }
398
+
399
+ /* Content */
400
+ p { margin:9px 0; }
401
+ strong { font-weight:bold; }
402
+ address { font-style:normal; }
403
+ cite { font-style:normal; }
404
+ q,
405
+ blockquote { quotes:none; }
406
+ q:before,
407
+ q:after { content:''; }
408
+
409
+ /*
410
+ small { font-size:1em; }
411
+ big { font-size:1.15em; }
412
+ /*sup { font-size:1em; vertical-align:top; }
413
+
414
+ /* Lists */
415
+ ul,ol , dl, dt, dd { list-style:none; margin:0; padding: 0; }
416
+
417
+ /* Tools */
418
+ .hidden { display:block !important; border:0 !important; margin:0 !important; padding:0 !important; font-size:0 !important; line-height:0 !important; width:0 !important; height:0 !important; overflow:hidden !important; }
419
+ .nobr { white-space:nowrap !important; }
420
+ .wrap { white-space:normal !important; }
421
+ .a-left { text-align:left !important; }
422
+ .a-center { text-align:center !important; }
423
+ .a-right { text-align:right !important; }
424
+ .v-top { vertical-align:top; }
425
+ .v-middle { vertical-align:middle; }
426
+ .f-left,
427
+ .left { float:left !important; margin-right: 10px;}
428
+ .f-right,
429
+ .right { float:right !important; margin-left: 10px; }
430
+ .f-none { float:none !important; }
431
+ .f-fix { float:left; width:100%; }
432
+ .no-display { display:none; }
433
+ .no-margin { margin:0 !important; }
434
+ .no-padding { padding:0 !important; }
435
+ .no-bg { background:none !important; }
436
+
437
+ /* ======================================================================================= */
438
+
439
+
440
+ /* Default Layout: 980px.
441
+ Gutters: 20px.
442
+ Outer margins: 20px.
443
+ -------------------------------------------------------------------------------
444
+ cols 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
445
+ px 40 100 160 220 280 340 400 460 520 580 640 700 760 820 880 940 */
446
+
447
+ .page {position: relative; margin: 0 auto; background: #F9F9F9; border-top: 4px solid #000; }
448
+ .row { margin:0 auto; width:960px; overflow:hidden;}
449
+ .row .row { margin:0 -16px 0 -16px; width:auto; display:inline-block; }
450
+
451
+ .grid_1 { width:48px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
452
+ .grid_2 { width:128px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
453
+ .grid_3 { width:208px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
454
+ .grid_4 { width:288px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
455
+ .grid_5 { width:368px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
456
+ .grid_6 { width:448px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
457
+ .grid_7 { width:528px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
458
+ .grid_8 { width:608px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
459
+ .grid_9 { width:688px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
460
+ .grid_10 { width:768px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
461
+ .grid_11 { width:848px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
462
+ .grid_12 { width:928px; margin:0 16px 0 16px; overflow:hidden; float:left; display:inline; }
463
+
464
+ .space_1 { margin-left:96px; }
465
+ .space_2 { margin-left:176px; }
466
+ .space_3 { margin-left:256px; }
467
+ .space_4 { margin-left:336px; }
468
+ .space_5 { margin-left:416px; }
469
+ .space_6 { margin-left:496px; }
470
+ .space_7 { margin-left:576px; }
471
+ .space_8 { margin-left:656px; }
472
+ .space_9 { margin-left:736px; }
473
+ .space_10 { margin-left:816px; }
474
+ .space_11 { margin-left:896px; }
475
+
476
+ /* Baseline images overlay
477
+
478
+ .page { background: url("../images/baseline18px.png") repeat scroll 0 0 #FFF; }*/
479
+
480
+ .main { padding: 18px 10px;background:#fff; }
481
+
482
+ .col2-left-layout .col-left { float: left; width: 220px; }
483
+ .col2-left-layout .col-main { float: right; width: 700px; }
484
+ .col2-right-layout .col-right { float: right; width: 220px; margin-left: 20px; }
485
+ .col2-right-layout .col-main { float: left; width: 700px; }
486
+ .col1-layout .col-main { float: none; width: 100%; }
487
+
488
+
489
+ /* content columns */
490
+ .col2-set { clear:both; overflow:hidden; }
491
+ .col2-set .col-1 { float:left; width:48%; }
492
+ .col2-set .col-2 { float:right; width:48%; }
493
+ .col2-set .narrow { width:33%; }
494
+ .col2-set .wide { width:65%; }
495
+
496
+ /* ======================================================================================= */
497
+
498
+ .visuallyhidden { position: absolute; overflow: hidden; clip: rect(0 0 0 0); height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; } /* accessible hidden content http://snook.ca/archives/html_and_css/hiding-content-for-accessibility */
499
+
500
+
501
+
502
+ /************* Form Elements **********************************/
503
+ fieldlset { margin: 9px 0; padding: 9px 5px; }
504
+ textarea { width:96%; height:108px; background: #F7F7F7; border:none; padding: 9px 10px; border: none; border-top: 1px solid #ccc; border-bottom: 1px solid #ddd; }4
505
+ select { padding: 0;}
506
+ input {}
507
+ .input-box { clear: both; }
508
+ .input-box input.input-text { background: #F7F7F7; border: 1px solid #ccc; padding: 4px 9px; width: 89%; }
509
+ .input-box select { background: #F7F7F7; border: 1px solid #ccce; padding:8px 4px 7px; width: 96%; }
510
+ .input-box select.multiselect { min-height:90px; background:#F7F7F7; border:none; border: none; border-top: 1px solid #ccc; border-bottom: 1px solid #ddd; padding:5px; }
511
+ .input-text.qty { background:#F7F7F7; border:none; padding:3px 3px 4px; width: 20px; border: 1px solid #444; text-align: center; }
512
+ .form-alt li { margin: 9px 0; }
513
+ .form-list { width:90%; }
514
+ .form-list li { margin: 9px 0; }
515
+ .form-list li { display: inline-block; }
516
+ .form-list li, .form-list li .field { float:left; width:45%; margin-right:5%; }
517
+ .form-list li.fields, .form-list li.wide { display: inline-block; width:100%; }
518
+ .form-list li.wide .input-box input.input-text { width:90%; }
519
+
520
+ .form-list li + li.control { margin-top:18px; }
521
+ .form-list li.control + li.control { margin-top:0; }
522
+ .form-list li.control { width:100%; margin:9px 0; }
523
+ .form-list li.control.use-billing { margin-bottom:18px; }
524
+ .form-list li.control .input-box { float:left; margin-right:10px; }
525
+
526
+ .form-list li .input-range input#price, .form-list li .input-range input#price_to { float: left; margin-right: 3%; width: 40%; }
527
+ .form-list li .input-range span.separator { float: left; }
528
+ .form-list li .input-box input.range { overflow: hidden; }
529
+
530
+
531
+ .form-list li.control label { margin: 0 10px; }
532
+ .form-list li label { }
533
+ #checkoutSteps .form-list li label {margin-bottom:10px;display:inline-block; }
534
+ .form-list li label em { }
535
+
536
+ #checkout-step-login .form-list li , #checkout-step-billing .form-list li, #checkout-step-shipping .form-list li, #checkout-opc-payment .form-list li,
537
+ .customer-account-login .form-list li , .shipping .form-list li, .checkout-multishipping-login .form-list li, .paypal-review-order .form-list li { width: 100%; }
538
+
539
+ label.required em { color: red; }
540
+
541
+ .form-guest { width: 460px; }
542
+
543
+ .sidebar .form-subscribe .input-box {padding:10px;}
544
+ .sidebar #newsletter-validate-detail {display:inline-block;background:#F2F2F2;border:1px solid #ccc;width:100%}
545
+ .sidebar #newsletter-validate-detail .button {margin-left:10px;margin-bottom:10px;}
546
+ /********* Buttons Styling ***********************/
547
+
548
+ .button {
549
+ background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #A40328), color-stop(1, #A40328) );
550
+ background:-moz-linear-gradient( center top, #A40328 5%, #A40328 100% );
551
+ /* filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#F7F7F7', endColorstr='#dfdfdf'); */
552
+ background-color:#A40328;
553
+ -moz-border-radius:3px;
554
+ -webkit-border-radius:3px;
555
+ border-radius:3px;
556
+ border:none;
557
+ display:inline-block;
558
+ color:#fff;
559
+ font-weight:bold;
560
+ font-family:arial;
561
+ font-size:12px;
562
+ padding:3px 10px 5px;
563
+ text-decoration:none;
564
+ text-transform: lowercase;
565
+ }.button:hover {
566
+ background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #A40328), color-stop(1, #A40328) );
567
+ background:-moz-linear-gradient( center top, #A40328 5%, #A40328 100% );
568
+ /* filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#F7F7F7'); */
569
+ background-color:#A40328;
570
+ }.button:active {
571
+ position:relative;
572
+ top:1px;
573
+ }
574
+
575
+ .buttons-set { padding: 9px 0;}
576
+ p.required { font-size: 10px; color: #ccc; }
577
+ p.back-link { clear: left; }
578
+ .button-set { padding: 9px 0; }
579
+ .buttons-set button, .buttons-set p.required { margin-right:10px; float: left; }
580
+ .form-list li label.required em { text-align: left; margin-right: 5px; }
581
+ .buttons-set p.required, .buttons-set a { }
582
+ #checkout-review-submit .button {float:right;margin-top:10px;}
583
+ /********** END FORM ELEMENTS ***********************************/
584
+
585
+ /* Form Validation */
586
+ .validation-advice { clear:both; min-height:13px; margin:3px 0 0; padding-left:13px; font-size:11px; line-height:13px; background:url(../images/validation_advice_bg.gif) 2px 3px no-repeat; color:#eb340a; }
587
+ .validation-failed { border:1px solid #eb340a !important; background:#faebe7 !important; }
588
+ .validation-passed {}
589
+ p.required { font-size:11px; float: right; color:#EB340A; }
590
+ /* Expiration date and CVV number validation fix */
591
+ .v-fix { float:left; }
592
+ .v-fix .validation-advice { display:block; width:12em; margin-right:-12em; position:relative; }
593
+
594
+ /* Global Messages */
595
+ .success { color:#3d6611; font-weight:bold; }
596
+ .error { color:#df280a; font-weight:bold; }
597
+ .notice { color:#e26703; }
598
+
599
+ .messages,
600
+ .messages ul { list-style:none !important; margin:0 !important; padding:0 !important; }
601
+ .messages { width:100%; overflow:hidden; }
602
+ .messages li { }
603
+ .messages li li { }
604
+ .error-msg,
605
+ .success-msg,
606
+ .note-msg,
607
+ .notice-msg { border-style:solid !important; border-width:1px !important; font-size:11px !important; font-weight:bold !important; line-height: 1.63636363636; padding: 8px 10px; margin-bottom: 18px; }
608
+ .error-msg { border-color:#f16048; background-color:#faebe7; color:#df280a; }
609
+ .success-msg { border-color:#446423; background-color:#eff5ea; color:#3d6611; }
610
+ .note-msg,
611
+ .notice-msg { border-color:#fcd344; background-color:#fafaec; color:#3d6611; }
612
+
613
+ /* BreadCrumbs */
614
+ .breadcrumbs a { color:#7f7f7f; }
615
+ .breadcrumbs li { display:inline; }
616
+ .breadcrumbs li strong { font-weight:bold; }
617
+
618
+ /* Page Heading */
619
+ .page-title { width:100%; overflow:hidden; margin:0 0 18px; }
620
+ .page-title h1,
621
+ .page-title h2 { margin:0;}
622
+ .page-title .separator { }
623
+ .page-title .link-rss { float:right; }
624
+ .title-buttons { text-align:right; }
625
+ .title-buttons h1,
626
+ .title-buttons h2,
627
+ .title-buttons h3,
628
+ .title-buttons h4,
629
+ .title-buttons h5,
630
+ .title-buttons h6 { float:left; }
631
+
632
+ .subtitle,
633
+ .sub-title { clear:both; font-weight:bold; }
634
+
635
+ /* Pager */
636
+ .pager { text-align:center; }
637
+ .pager .amount { float:left; margin:0; margin-right: 20px;}
638
+ .pager .pages { float: left; }
639
+ .pager .pages ol { display:inline; }
640
+ .pager .pages li { border: 1px solid #CCCCCC; float: left; margin:0 5px; padding:2px 8px; }
641
+ .pager .pages .current { background: #ccc; }
642
+ div.pages>strong { position: absolute; overflow: hidden; clip: rect(0 0 0 0); height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; }
643
+
644
+ /* Sorter */
645
+ .sorter { border-bottom: 1px dotted #CCCCCC; font-size: 11px; line-height: 1.63636; padding: 9px 8px 8px;}
646
+ .sorter .view-mode { float:left; margin:0; }
647
+ .sorter .limiter { float:right; }
648
+ .sorter .limiter label { vertical-align:middle; }
649
+ .sorter .limiter select { padding:0; margin:0 0 1px; vertical-align:middle; }
650
+ .sorter .sort-by { float:right; padding-right:36px; }
651
+ .sorter .sort-by label { vertical-align:middle; }
652
+ .sorter .sort-by select { padding:0; margin:0 0 1px; vertical-align:middle; }
653
+ .sorter .link-feed {}
654
+
655
+ /* Toolbar */
656
+ .toolbar { margin: 9px 0; }
657
+ .toolbar .pager { }
658
+ .toolbar .sorter {}
659
+ .toolbar-bottom {}
660
+ .toolbar label { }
661
+ .form-language {margin-top:10px !important;}
662
+
663
+ /* Data Table */
664
+ .data-table { width:100%; }
665
+ .data-table tr.odd { background:#fff }
666
+ .data-table tr.even { background:#fcfcfc; }
667
+ .data-table tr.last th,
668
+ .data-table tr.last td { border-bottom:0 !important; }
669
+ .data-table th { padding:9px 8px; font-size:10px; line-height: 1.8; text-transform:uppercase; white-space:nowrap; }
670
+ .data-table th.wrap { white-space:normal; }
671
+ .data-table th a { color:#fff; }
672
+ .data-table td { padding:9px 8px; }
673
+
674
+ .data-table thead,
675
+ .data-table thead tr { background:#e9e9e9; }
676
+
677
+ .data-table tfoot { border-bottom:1px solid #d9dde3; }
678
+ .data-table tfoot tr { background-color:#ccc !important; }
679
+ .data-table tbody th { padding:3px 8px; font-size:11px; font-weight:bold; text-transform:none; white-space:normal; }
680
+ .data-table tbody th,
681
+ .data-table tbody td {padding-bottom: 8px; }
682
+ .data-table tfoot strong { font-size:14px; line-height: 1.285714286; }
683
+ /* Bundle products tables */
684
+ .data-table tbody.odd tr { background:#fff; }
685
+ .data-table tbody.even tr { background:#fcfcfc; }
686
+ .data-table tbody.odd tr td,
687
+ .data-table tbody.even tr td { border-bottom:0; }
688
+ .data-table tbody.odd tr.border td,
689
+ .data-table tbody.even tr.border td { border-bottom:1px solid #d9dde3; }
690
+
691
+ .data-table tbody td .option-label { font-weight:bold; font-style:italic; }
692
+ .data-table tbody td .option-value { padding-left:10px; }
693
+
694
+ /* Generic Info Box */
695
+ .info-box { margin:0 0 15px; }
696
+ .info-box h2 { font-size:13px; font-weight:bold; border-bottom:1px solid #ddd; margin:0 0 8px; }
697
+
698
+ .info-table th { font-weight:bold; padding:2px 15px 2px 0; }
699
+ .info-table td { padding:2px 0; }
700
+
701
+ /* Shopping cart total summary row expandable to details */
702
+ tr.summary-total { cursor:pointer; }
703
+ tr.summary-total td {}
704
+ tr.summary-total .summary-collapse { float:right; text-align:right; padding-left:20px; background:url(../images/bkg_collapse.gif) 0 4px no-repeat; cursor:pointer; }
705
+ tr.show-details .summary-collapse { background-position:0 -53px; }
706
+ tr.show-details td {}
707
+ tr.summary-details td { background-color:#dae1e4; color:#626465; }
708
+ tr.summary-details-first td { border-top:1px solid #d2d8db; }
709
+ tr.summary-details-excluded { font-style:italic; }
710
+
711
+ /* Shopping cart tax info */
712
+ .cart-tax-info { display:block; }
713
+ .cart-tax-info,
714
+ .cart-tax-info .cart-price { padding-right:20px; }
715
+ .cart-tax-total { display:block; padding-right:20px; background:url(../images/bkg_collapse.gif) 100% 4px no-repeat; cursor:pointer; }
716
+ .cart-tax-info .price,
717
+ .cart-tax-total .price { display:inline !important; font-weight:normal !important; }
718
+ .cart-tax-total-expanded { background-position:100% -53px; }
719
+
720
+ /* Class: std - styles for admin-controlled content */
721
+ .std .subtitle { padding:0; }
722
+ .std ol.ol { list-style:decimal outside; padding-left:1.5em; }
723
+ .std ul.disc { list-style:disc outside; padding-left:18px; margin:0 0 10px; }
724
+ .std dl dt { font-weight:bold; }
725
+ .std dl dd { margin:0 0 10px; }
726
+ /*.std ul,
727
+ .std ol,
728
+ .std dl,
729
+ .std p,
730
+ .std address,
731
+ .std blockquote { margin:0 0 1em; padding:0; }
732
+ .std ul { list-style:disc outside; padding-left:1.5em; }
733
+ .std ol { list-style:decimal outside; padding-left:1.5em; }
734
+ .std ul ul { list-style-type:circle; }
735
+ .std ul ul,
736
+ .std ol ol,
737
+ .std ul ol,
738
+ .std ol ul { margin:.5em 0; }
739
+ .std dt { font-weight:bold; }
740
+ .std dd { padding:0 0 0 1.5em; }
741
+ .std blockquote { font-style:italic; padding:0 0 0 1.5em; }
742
+ .std address { font-style:normal; }
743
+ .std b,
744
+ .std strong { font-weight:bold; }
745
+ .std i,
746
+ .std em { font-style:italic; }*/
747
+
748
+ /* Misc */
749
+ .links li { display:inline; }
750
+ .links li.first { padding-left:0 !important; }
751
+ .links li.last { background:none !important; padding-right:0 !important; }
752
+
753
+ .link-cart { font-weight:bold; color:#000; }
754
+ .link-wishlist { color:#444; }
755
+ .link-reorder {}
756
+ .link-compare { }
757
+ .link-print { /*background:url(../images/i_print.gif) 0 2px no-repeat; padding:3px 0 3px 25px;*/ }
758
+ .link-rss { background:url(../images/i_rss.gif) 0 1px no-repeat; padding-left:18px; line-height:14px; white-space:nowrap; }
759
+ .btn-remove { display:block; width:12px; height:12px; font-size:0; line-height:0; background:url(../images/btn_remove.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; margin: 0 2px; }
760
+ .btn-remove2 { display:block; width:16px; height:16px; font-size:0; line-height:0; background:url(../images/btn_trash.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; }
761
+ .btn-edit { display:block; width:12px; height:12px; font-size:0; line-height:0; background:url(../images/btn_edit.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; }
762
+
763
+ .cards-list dt { margin:5px 0 0; }
764
+ .cards-list .offset { padding:2px 0 2px 20px; }
765
+
766
+ .separator { margin:0 0 0 3px; }
767
+
768
+ .divider { clear:both; display:block; font-size:0; line-height:0; height:1px; background:#ccc; margin:10px 0; text-indent:-999em; overflow:hidden; }
769
+
770
+ /* Noscript Notice */
771
+ .noscript { border:1px solid #ddd; border-width:0 0 1px; background:#ffff90; font-size:12px; line-height:1.25; text-align:center; color:#2f2f2f; }
772
+ .noscript .noscript-inner { width:950px; margin:0 auto; padding:12px 0 12px; background:url(../images/i_notice.gif) 20px 50% no-repeat; }
773
+ .noscript p { margin:9px 0; }
774
+
775
+ /* Demo Notice */
776
+ .demo-notice { margin:0; padding:6px 10px; background:#d75f07; font-size:11px; line-height:1.15; text-align:center; color:#fff; }
777
+ /* ======================================================================================= */
778
+
779
+
780
+ /* Header ================================================================================ */
781
+ .logo { }
782
+ .header-container {background:#fff;}
783
+
784
+ .header { margin:0; text-align: center; position:relative;background:url("../images/bg_header.png") no-repeat scroll left top transparent;}
785
+ .header .logo { text-decoration:none !important; }
786
+ .header .logo strong { position:absolute; top:-999em; left:-999em; width:0; height:0; font-size:0; line-height:0; text-indent:-999em; overflow:hidden; }
787
+
788
+ .header .top-promo { float:left; width:117px; height:30px; margin:12px 10px 0; background:url(../images/bkg_top-promo.gif) 0 0 no-repeat; text-indent:-999em; overflow:hidden; }
789
+
790
+
791
+ .header .topcart span { display: inline; }
792
+
793
+ .quick-access {
794
+ float: right;
795
+ text-align: right;
796
+ }
797
+ .quick-access .show-on-phones {}
798
+ .quick-access .welcome-msg { display:inline; margin:0; color:#fff; }
799
+ .quick-access .welcome-msg a { color:#ddd; }
800
+ .quick-access .form-language, .quick-access .top-currency { float:right; margin:0 10px 9px 0; }
801
+ .quick-access .form-language label, .quick-access .top-currency label { overflow: hidden; clip: rect(0 0 0 0); height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; }
802
+ .quick-access .form-language select, .quick-access .top-currency select{ padding:0; }
803
+ .quick-access .form-language select.flags option { background-position:4px 50%; background-repeat:no-repeat; padding-left:25px; }
804
+ .quick-access .links { padding-left:8px; }
805
+ .quick-access .links,
806
+ .quick-access .links li { display:inline; }
807
+ .quick-access .links li { padding:0 4px 0 1px; }
808
+ .quick-access .links a { }
809
+ .quick-access .links a { padding:0 7px 0 0; background:url(../images/bkg_pipe1.gif) no-repeat 100% 50%; }
810
+ .quick-access .links li.last a { padding:0; background:none; }
811
+
812
+ .top-bar { }
813
+ .top-bar .breadcrumbs { float:left; overflow:hidden;padding:10px 0;margin-left:10px;}
814
+ .form-search {background: none repeat scroll 0 0 #76B13F;
815
+ float: right;
816
+ padding: 5px 10px 10px;
817
+ margin:10px 0;
818
+ }
819
+ .form-search input.input-text {
820
+ float: left;
821
+ height: 18px;
822
+ margin-top: 5px;
823
+ width: 215px;
824
+ }
825
+ input.input-text, select, textarea {
826
+ background: none repeat scroll 0 0 #FFFFFF;
827
+ border: 1px solid #B6B6B6;
828
+ }
829
+ .form-search label { position: absolute; overflow: hidden; clip: rect(0 0 0 0); height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; }
830
+
831
+ .form-search button.button { float:left; height: 24px; width: 63px; border: none; padding: 0; margin: 0; border-radius: 0; background: url(../images/search_btn.png) no-repeat;box-shadow: none;margin-top:4px;}
832
+ .form-search button.button span { }
833
+ .form-search .search-autocomplete { z-index:999; }
834
+ .form-search .search-autocomplete ul { border:1px solid #999; background-color:#f9f5f0; }
835
+ .form-search .search-autocomplete li { text-align:left; border-bottom:1px solid #f4eee7; padding:2px 8px 1px 8px; cursor:pointer; }
836
+ .form-search .search-autocomplete li .amount { float:right; font-weight:bold; }
837
+ .form-search .search-autocomplete li.odd { background-color:#f6f6f6; }
838
+ .form-search .search-autocomplete li.selected { background-color:#ecf9ea; }
839
+
840
+ .header-container .top-container { padding:5px 12px; background:#fff; border:1px solid #bbb; border-width:0 1px 1px; text-align:right; }
841
+
842
+
843
+ /********** < Navigation */
844
+ .nav-container {background:#35373B; width: 100%; margin:10px 0 0 0; height: 34px;position: relative;
845
+ }
846
+ .nav-container select { margin: 18px 0; }
847
+ .nav-container select { width: 100% }
848
+ #nav { float: left;
849
+ font-size: 12px;
850
+ margin: 0; }
851
+
852
+ /* All Levels */ /* Style consistent throughout all nav levels */
853
+ #nav li { position:relative;text-align:left; }
854
+ #nav li.over { z-index:998; }
855
+ #nav a,
856
+ #nav a:hover { display:block; text-decoration:none; text-transform:uppercase; }
857
+ #nav span { display:block; cursor:pointer; white-space:nowrap; }
858
+ #nav li ul span {white-space:normal; }
859
+
860
+ /* 0 Level */
861
+ #nav li {
862
+ float: left;
863
+ padding:8px 12px;
864
+ }
865
+ #nav li.active a { color:#76B13F; }
866
+ #nav a { color: #FFFFFF;
867
+ float: left;
868
+ font-weight: bold;
869
+ padding-right: 11px; font-family:Arial, Helvetica, sans-serif; }
870
+ #nav li.over a,
871
+ #nav a:hover { color:#76B13F; }
872
+
873
+
874
+ /* 1st Level */
875
+ #nav ul li,
876
+ #nav ul li.active,
877
+ #nav ul li.over { float:none; border:none; background:none; margin:0; padding:0; padding-bottom:1px; text-transform:none; }
878
+ #nav ul li.parent { }
879
+ #nav ul li.last { padding-bottom:0; }
880
+ #nav ul li.active { margin:0; border:0; background:none; }
881
+ #nav ul a,
882
+ #nav ul a:hover { float:none; padding:0; background:none; }
883
+ #nav ul li a { font-weight:normal !important; }
884
+
885
+ /* 2nd Level */
886
+ #nav ul,
887
+ #nav div { position:absolute; width:15em; top:30px; left:-10000px; border:1px solid #bbb; padding:3px 8px; background:#fcfcfc; }
888
+ #nav div ul { position:static; width:auto; border:none; padding:0; }
889
+
890
+ /* 3rd+ Level */
891
+ #nav ul ul,
892
+ #nav ul div { top:5px; }
893
+
894
+ #nav ul li a { padding:3px 0; color:#444 !important; }
895
+ #nav ul li a:hover { padding:3px 0;}
896
+
897
+ /* Show menu */
898
+ #nav li ul.shown-sub,
899
+ #nav li div.shown-sub { left:-1px; z-index:999; }
900
+ #nav li .shown-sub ul.shown-sub,
901
+ #nav li .shown-sub li div.shown-sub { left:100px; }
902
+ .flex-direction-nav {display:none;}
903
+ /********** Navigation > */
904
+ /* ======================================================================================= */
905
+
906
+
907
+ /* Sidebar =============================================================================== */
908
+ .block { margin:18px 0; border: 1px solid #DDDDDD;;}
909
+ .block:first-child { margin-top: 0; }
910
+ .block .block-title { background: none repeat scroll 0 0 #2F2F31;
911
+ border-bottom: 1px solid #DDDDDD;
912
+ padding: 2px 10px;
913
+ vertical-align: middle;
914
+ padding:5px;}
915
+ .block .block-title strong { display:block; text-transform: uppercase; font-size: 14px; }
916
+ .block .block-title strong span {color:#fff;}
917
+ .block .block-title a { text-decoration:none !important; }
918
+ .block .block-subtitle { }
919
+ .block .block-content {
920
+ background: none repeat scroll 0 0 #F2F2F2;
921
+ padding: 10px 10px;
922
+ }
923
+ .block .block-content { }
924
+ .block .block-content li.item {margin-bottom: 18px; }
925
+ .block .block-content li.item.last { }
926
+ .block .block-content .product-name { color:#4f8100; margin-bottom: 0; }
927
+ .block .btn-remove,
928
+ .block .btn-edit { float:right; }
929
+ .block .actions { text-align:right; }
930
+ .block .actions a { float:left; }
931
+ .block .actions button.button { float:right; }
932
+ .block .empty { }
933
+ .block .price-box { }
934
+ .block button.button span { }
935
+ .form-subscribe-header {display:none;}
936
+ .sidebar .form-subscribe label {
937
+ background: none repeat scroll 0 0 #2F2F31;
938
+ border-bottom: 1px solid #DDDDDD;
939
+ color: #FFFFFF;
940
+ display: block;
941
+ font-size: 14px;
942
+ font-weight: bold;
943
+ padding: 5px;
944
+ text-transform: uppercase;
945
+ vertical-align: middle;
946
+ }
947
+ .sidebar .form-subscribe input[type="text"] {height:18px;border:1px solid #ccc;}
948
+ /*.block li.odd { background-color:#f4f3f3; }
949
+ .block li.even { background-color:#fafafa; }*/
950
+
951
+ /* Mini Products List */
952
+ .mini-products-list .product-image { float:left; width:50px; }
953
+ .mini-products-list .product-details { margin-left:60px; }
954
+
955
+ /* Block: Account */
956
+ .block-account .block-title { /*background:#666; padding: 0 10px;*/}
957
+ .block-account .block-title strong { color:#fff; }
958
+ .block-account .block-content li a { display:block; color:#5f5d5c; text-decoration:none !important; }
959
+ .block-account .block-content li a:hover { color:#444; }
960
+ .block-account .block-content li.last a { }
961
+ .block-account .block-content li.current { }
962
+ .block-account .block-content li.current.last { }
963
+
964
+ /* Block: Currency Switcher */
965
+ .block-currency { background:#f4f4f4; }
966
+ .block-currency .block-title { border:0; background:none; text-transform:none; }
967
+ .block-currency .block-title strong { text-transform:none; }
968
+ .block-currency .block-content { }
969
+ .block-currency .block-content select { width:100%; padding:0; }
970
+
971
+ /* Block: Layered Navigation */
972
+ .block-layered-nav { }
973
+ .block-layered-nav .block-title { }
974
+ .block-layered-nav .block-content { }
975
+ .block-layered-nav .block-subtitle { }
976
+ .block-layered-nav p.block-subtitle { margin-bottom: 0; text-transform: uppercase; font: 12/1.5; display: none; }
977
+ .block-layered-nav dt { font-weight:bold; }
978
+ .block-layered-nav dd { }
979
+ .block-layered-nav dd li { margin: 9px 0; }
980
+ .block-layered-nav dd a { color:#444; }
981
+ .block-layered-nav .currently ol { }
982
+ .block-layered-nav .currently li { }
983
+ .block-layered-nav .currently .label { font-weight:bold; }
984
+ .block-layered-nav .currently .btn-remove { }
985
+ .block-layered-nav .actions { margin:0; }
986
+ .block-layered-nav .actions a { float:none; }
987
+
988
+ /* Block: Cart */
989
+ .block-cart .block-title { }
990
+ .block-cart .block-title strong { }
991
+ .block-cart .summary { padding:9px 3px; text-align:center; position:relative; z-index:1; background: #f5f4f4; -moz-box-shadow: inset 0 0 5px 5px #edeaea; -webkit-box-shadow: inset 0 0 5px 5px#edeaea; box-shadow: inset 0 0 5px 5px #edeaea; border-radius: 4px; }
992
+ .block-cart .amount { margin:0; }
993
+ .block-cart .amount a { font-weight:bold; }
994
+ .block-cart .subtotal { margin:9px }
995
+ .block-cart .subtotal .price { font-weight:bold; }
996
+ .block-cart .actions { display:none !important; }
997
+ .block-cart .actions .paypal-logo { float:left; width:100%; text-align:right; }
998
+
999
+ /* Block: Wishlist */
1000
+ .block-wishlist .actions { text-align:right; }
1001
+ .block-wishlist .actions a { float:none; }
1002
+
1003
+ /* Block: Related */
1004
+ .block-related .block-subtitle { font-weight:bold; border:0; text-transform:none; }
1005
+ .block-related input.checkbox { float:right; }
1006
+ .block-related .product { margin-right:20px; }
1007
+
1008
+ /* Block: Compare Products */
1009
+ .page-popup .link-print { background:url(../images/i_print.gif) 0 2px no-repeat; padding:3px 0 3px 25px; }
1010
+ .compare-table { border:0; }
1011
+ .compare-table thead,
1012
+ .compare-table thead tr.first { background:#fff; }
1013
+ .compare-table thead tr.first th,
1014
+ .compare-table thead tr.first td { border:0; background:none; padding:0 0 4px; font-size:0; line-height:0; }
1015
+ .compare-table .btn-remove { float:right; background-image:url(../images/btn_remove.gif); width:12px; height:12px; }
1016
+ .compare-table tbody th { background:#e9e9e9; }
1017
+ .compare-table tbody th,
1018
+ .compare-table tbody td { padding:10px; border:0; border-top:1px solid #ccc; border-left:1px solid #ccc; }
1019
+ .compare-table tbody td.last { border-right:1px solid #ccc; }
1020
+ .compare-table tbody tr.last th,
1021
+ .compare-table tbody tr.last td { border-bottom:1px solid #ccc !important; }
1022
+ .compare-table tr.add-to-row td { background:#fffada; text-align:center; }
1023
+ .compare-table tr.first td { text-align:center; }
1024
+ .compare-table tr.first td .product-name { font-size:13px; font-weight:bold; margin:0 0 5px; color:#203548; }
1025
+ .compare-table tr.first td .product-name a { color:#203548; }
1026
+ .compare-table tr.first td .ratings { width:69px; margin:0 auto; }
1027
+ .compare-table tr.first td p,
1028
+ .compare-table tr.add-to-row td p { margin:9px 0; }
1029
+ .compare-table .add-to-links li { background:none; padding:0; }
1030
+
1031
+ /* Block: Recently Viewed */
1032
+ .block-viewed {}
1033
+
1034
+ /* Block: Recently Compared */
1035
+ .block-compared {}
1036
+
1037
+ /* Block: Poll */
1038
+ .block-poll .block-subtitle { font-size:12px; }
1039
+ .block-poll label { color:#777; font-weight:bold; }
1040
+ .block-poll input.radio { float:left; margin:1px -18px 0 0; }
1041
+ .block-poll .label { display:block; margin-left:18px; }
1042
+ .block-poll li { padding:3px 9px; }
1043
+ .block-poll .actions { margin:5px 0 0; }
1044
+ .block-poll .answer { font-weight:bold; }
1045
+ .block-poll .votes { float:right; margin-left:10px; }
1046
+
1047
+ /* Block: Tags */
1048
+ .block-tags .block-content .tags-list { border:0; background:none; padding:0; }
1049
+ .block-tags .block-content li a { color:#444; }
1050
+ .block-tags .actions { text-align:right; }
1051
+ .block-tags .actions a { float:none; }
1052
+
1053
+ /* Block: Reorder */
1054
+ .block-reorder input.checkbox { float:left; margin:2px -20px 0 0; }
1055
+ .block-reorder .product-name { margin-left:20px; }
1056
+ .block-reorder .validation-advice { margin:3px 9px 7px; }
1057
+
1058
+ /* Block: Banner */
1059
+ .block-banner { border:0; }
1060
+ .block-banner .block-content { padding:0; background:none; text-align:center; }
1061
+
1062
+ /* Block: Login */
1063
+ .block-login .block-content { padding:5px 10px; }
1064
+ .block-login label { font-weight:bold; color:#555; }
1065
+ .block-login input.input-text { display:block; width:167px; margin:3px 0; }
1066
+ .block-login .actions { background:none; padding:0; margin:3px 0 0; }
1067
+
1068
+ /* Paypal */
1069
+ .sidebar .paypal-logo { display:block; margin:10px 0; text-align:center; }
1070
+ .sidebar .paypal-logo a { float:none; }
1071
+ /* ======================================================================================= */
1072
+
1073
+
1074
+ /* Category Page ========================================================================= */
1075
+ .category-title { }
1076
+ .category-title h1 { }
1077
+ .category-image { width:100%; overflow:hidden; margin:0 0 18px; text-align:center; }
1078
+ .category-image img { max-width: 100%; }
1079
+ .category-description { margin:0 0 18px; }
1080
+ .category-products {}
1081
+
1082
+ /* View Type: Grid */
1083
+ .products-grid { position:relative; }
1084
+ .products-grid.last { border-bottom:0; }
1085
+ ul.products-grid { margin: 18px -20px; }
1086
+ .products-grid li.item { display: inline-block; vertical-align: top; width:195px; margin-left: 20px; padding-bottom:18px; border:1px solid #eaeaea;background:#fafafa;padding:10px;margin-bottom:15px;min-height:290px;}
1087
+ .pro_topadst {min-height:320px;}
1088
+ .products-grid li.item:hover {background:#e9e9e9;-webkit-transition: all 500ms ease-in-out;
1089
+ -moz-transition: all 500ms ease-in-out;
1090
+ -ms-transition: all 500ms ease-in-out;
1091
+ -o-transition: all 500ms ease-in-out;
1092
+ transition: all 500ms ease-in-out;}
1093
+ .products-grid li.last { margin-right: 0; }
1094
+ .products-grid .product-image { display: block; margin-bottom: 2px; }
1095
+ .products-grid .product-image img { display:block; height: auto; max-width: 100%; width: auto; /* Prevents scaling problem in IE8; */ margin:0 0; }
1096
+ .products-grid .product-image img:hover { opacity: 0.9; }
1097
+ .products-grid.first .product-image { border-top:0; }
1098
+ .products-grid li.last .product-image { border-right:0; }
1099
+ .products-grid .product-name { font-size:12px; margin: 0; min-height:36px;}
1100
+ .products-grid .product-name a { color:#444; text-transform: uppercase; letter-spacing: 0.1em; }
1101
+ .products-grid .product-name a:hover { text-decoration:none; }
1102
+ .products-grid .price-box { margin:9px 0; }
1103
+ .products-grid .availability { line-height:21px; }
1104
+ .products-grid .actions { bottom: 0; }
1105
+ .col2-left-layout .products-grid,
1106
+ .col2-right-layout .products-grid { }
1107
+ .col1-layout .products-grid,
1108
+ .page-empty .products-grid { }
1109
+
1110
+ /* View Type: List */
1111
+ .products-list li.item { border-bottom:1px solid #d9ddd3; padding:12px 10px; }
1112
+ .products-list li.item.last { border-bottom:0; }
1113
+ .products-list .product-shop { margin-left:185px; }
1114
+ .products-list .product-image { }
1115
+ .products-list .product-image img { float:left; width:170px; height:170px; margin:0 0 10px; }
1116
+ .products-list .product-name { font-size:12px; margin:0 0 6px; }
1117
+ .products-list .product-name a { color:#444; text-decoration:underline; }
1118
+ .products-list .product-name a:hover { text-decoration:none; }
1119
+ .products-list .price-box { float:left; margin:4px 13px 0 0; }
1120
+ .products-list .availability { float:left; margin:3px 0 0; }
1121
+ .products-list .desc { clear:both; padding:6px 0 0; margin:0 0 13px; line-height:1.35; }
1122
+ .products-list .add-to-links { clear:both; }
1123
+ /* ======================================================================================= */
1124
+ /* ===================accordian */
1125
+ .faq_accordian{margin:0;padding:0;}
1126
+ .faq_right{
1127
+ width:732px;
1128
+ height:auto;
1129
+ float:left;
1130
+ }
1131
+ .faq_banner{background:url(images/media_banner.png) no-repeat;
1132
+ height:139px;
1133
+ width:724px;
1134
+ border-bottom:3px solid #fec00f;
1135
+ }
1136
+ .faq_banner h1 {font-family: quara-web; font-size:32px;color:#fec00f;margin-left:30px;margin-top:0px;padding-top:15px;font-weight:normal;text-transform:uppercase;}
1137
+ .faq_banner p {width:330px;margin-left:30px;color:#cccccc;font-weight:bold;}
1138
+ .faq_right h3 {padding-left:25px;font-weight:normal;}
1139
+
1140
+ /*left menu */
1141
+
1142
+ .faq_accordian .arrowlistmenu{
1143
+ }
1144
+
1145
+ .faq_accordian .arrowlistmenu .menuheader{ /*CSS class for menu headers in general (expanding or not!)*/
1146
+ background:url(../images/open_arrow.png) no-repeat scroll right 6px #FAFAFA;
1147
+ color: #404040;
1148
+ cursor: pointer;
1149
+ font:bold 12px Arial, Helvetica, sans-serif;
1150
+ margin: 10px 0 0;
1151
+ padding:5px;
1152
+ text-transform: none;
1153
+ border:1px solid #eaeaea;
1154
+ -webkit-border-radius: 5px;
1155
+ -moz-border-radius: 5px;
1156
+ border-radius: 5px;
1157
+ }
1158
+
1159
+
1160
+ .faq_accordian .arrowlistmenu .openheader{ /*CSS class to apply to expandable header when it's expanded*/
1161
+ background: url(../images/down_arrow.png) no-repeat scroll right 10px #fafafa;
1162
+ border:1px solid #eaeaea;
1163
+ color:#000;
1164
+ }
1165
+
1166
+ .faq_accordian .arrowlistmenu ul{ /*CSS for UL of each sub menu*/
1167
+ list-style-type: none;
1168
+ margin: 0;
1169
+ padding: 0;
1170
+ margin-bottom: 8px; /*bottom spacing between each UL and rest of content*/
1171
+ background:#fff;
1172
+ border:1px solid #eaeaea;
1173
+ -webkit-border-radius: 5px;
1174
+ -moz-border-radius: 5px;
1175
+ border-radius: 5px;
1176
+ padding:10px;
1177
+ }
1178
+
1179
+ .faq_accordian .arrowlistmenu ul li{
1180
+ color: #404040;
1181
+ display: block;
1182
+ font-family: Arial,Helvetica,sans-serif;
1183
+ font-size: 12px;
1184
+ text-decoration: none;
1185
+ line-height:21px;
1186
+ }
1187
+ .faq_accordian .arrowlistmenu ul li p{
1188
+ display: block;
1189
+ font-family: Arial,Helvetica,sans-serif;
1190
+ font-size: 14px;
1191
+ text-decoration: none;
1192
+ line-height:21px;}
1193
+
1194
+ .faq_accordian .arrowlistmenu ul li a{
1195
+ color:#666 !important;
1196
+ }
1197
+
1198
+ .faq_accordian .arrowlistmenu ul li a:visited{
1199
+ color:#cccccc;
1200
+ }
1201
+
1202
+ .faq_accordian .arrowlistmenu ul li a:hover{ /*hover state CSS*/
1203
+ color:#404040;
1204
+ }
1205
+
1206
+ /* Product View ========================================================================== */
1207
+ /* Rating */
1208
+ .no-rating { margin:0; }
1209
+
1210
+ .ratings { margin:9px 0; }
1211
+ .ratings strong { float:left; margin:0 3px 0 0; }
1212
+ .ratings .rating-links { margin:0; }
1213
+ .ratings .rating-links .separator { margin:0 2px; }
1214
+ .ratings dt {}
1215
+ .ratings dd {}
1216
+ .rating-box { width:50px; height:10px; margin-bottom: 8px; font-size:0; line-height:0; background:url(../images/bkg_rating.gif) 0 0 repeat-x; text-indent:-999em; overflow:hidden; }
1217
+ .rating-box .rating { float:left; height:10px; background:url(../images/bkg_rating.gif) 0 100% repeat-x; }
1218
+ .ratings .rating-box { float:left; margin:5px 5px 0 0; }
1219
+ .ratings .amount {}
1220
+
1221
+ .ratings-table th,
1222
+ .ratings-table td { font-size:11px; line-height:1.15; padding:3px 0; }
1223
+ .ratings-table th { font-weight:bold; padding-right:8px; }
1224
+ .ratings-table td { padding:4px 0 0; }
1225
+
1226
+ /* Availability */
1227
+ .availability { margin:0; }
1228
+ .availability span { font-weight:bold; }
1229
+ .availability.in-stock span {}
1230
+ .availability.out-of-stock span { color:#d83820; }
1231
+
1232
+ .availability-only { margin:10px 0 7px; line-height:16px; background:url(../images/i_availability_only.gif) 0 50% no-repeat; padding-left:15px; }
1233
+ .availability-only span,
1234
+ .availability-only a { border-bottom:1px dashed #751d02; color:#000; }
1235
+ .availability-only a { background:url(../images/i_availability_only_arrow.gif) 100% 0 no-repeat; cursor:pointer; padding-right:15px; text-decoration:none; }
1236
+ .availability-only .expanded { background-position:100% -15px; }
1237
+ .availability-only strong { color:#be2c00; }
1238
+
1239
+ .availability-only-details { margin:0 0 7px; }
1240
+ .availability-only-details th { background:#e9e9e9; font-size:10px; padding:0 8px; }
1241
+ .availability-only-details td { border-bottom:1px solid #d9dde3; font-size:11px; padding:2px 8px 1px; }
1242
+ .availability-only-details tr.odd { background:#fff; }
1243
+ .availability-only-details tr.even { background:#fcfcfc; }
1244
+ .availability-only-details tr.odd td.last { color:#396f00; font-weight:bold; }
1245
+ .availability-only-details tr.last td { border-bottom:none; }
1246
+
1247
+ .product-view .product-shop .availability { font-size:11px; line-height: 1.63636636363;}
1248
+ .product-view .product-shop .availability span { font-weight:normal; }
1249
+
1250
+ /* Email to a Friend */
1251
+ .email-friend { margin:0; }
1252
+
1253
+ .clients-logo {
1254
+ background: none repeat scroll 0 0 #FFFFFF;
1255
+ border: 1px solid #D0CFCF;
1256
+ margin: 10px auto;
1257
+ padding: 10px;
1258
+ text-align:center;
1259
+ }
1260
+ .f-gray {
1261
+ background: none repeat scroll 0 0 #1F1F1F;
1262
+ margin: 0 auto;
1263
+ text-align: left !important;
1264
+ }
1265
+ .footer ul {
1266
+ padding: 10px 0;
1267
+ list-style-type:disc;
1268
+ }
1269
+ .f-gray h3 {
1270
+ color: #FFFFFF;
1271
+ margin:0 0 5px 0;
1272
+ }
1273
+ .f-gray-links li {
1274
+ background: none repeat scroll 0 0 transparent;
1275
+ line-height: 180%;
1276
+ }
1277
+ .footer a {
1278
+ color: #B1B1B1 !important;
1279
+ }
1280
+ .f-gray-links1{
1281
+ margin : 10px 0;
1282
+ text-align: center;
1283
+ }
1284
+ .f-gray-links1 li{
1285
+ list-style:none
1286
+ }
1287
+ .f-gray-links1 a {
1288
+ margin-bottom:10px;
1289
+ display:table;
1290
+ display:inline-block;
1291
+ }
1292
+ .header .top-promo p {
1293
+ color: #929292;
1294
+ font-size: 12px;
1295
+ font-weight: bold;
1296
+ padding: 2px 18px 0 0;
1297
+ width: 120px;
1298
+ }
1299
+ /* Alerts */
1300
+ .alert-price { margin:0; font-size:11px; }
1301
+ .alert-stock { margin:0; font-size:11px; }
1302
+
1303
+ /********** < Product Prices */
1304
+ .price { white-space:nowrap !important; }
1305
+
1306
+ .price-box { margin:9px 0; }
1307
+ .price-box .price { font-size:11px; font-weight:bold; line-height: 1.63636363636 }
1308
+
1309
+ /* Regular price */
1310
+ .regular-price {}
1311
+ .regular-price .price { font-size:13px; font-weight:bold;}
1312
+
1313
+ /* Old price */
1314
+ .old-price { margin:0; }
1315
+ .old-price .price-label { font-size:12px; font-weight:bold; white-space:nowrap; }
1316
+ .old-price .price { font-weight:bold; font-size:13px; text-decoration:line-through; }
1317
+
1318
+ /* Special price */
1319
+ .special-price { margin:0; }
1320
+ .special-price .price-label { font-size:11px; font-weight:bold; text-transform:uppercase; white-space:nowrap; color:#000; }
1321
+ .special-price .price { font-size:13px; font-weight:bold; }
1322
+
1323
+ /* Minimal price (as low as) */
1324
+ .minimal-price { margin:0; }
1325
+ .minimal-price .price-label { font-size:12px; font-weight:bold; white-space:nowrap; }
1326
+
1327
+ .minimal-price-link { display:block; font-size:12px; text-decoration:underline; }
1328
+ .minimal-price-link .label { }
1329
+ .minimal-price-link .price { font-weight:normal; }
1330
+
1331
+ /* Including tax */
1332
+ .price-including-tax { display:block; color:#888; }
1333
+ .price-including-tax .label { font-size:10px; text-transform:uppercase; white-space:nowrap; color:#888; }
1334
+ .price-including-tax .price { font-size:13px; font-weight:bold; color:#396f00; }
1335
+
1336
+ /* Excluding tax */
1337
+ .price-excluding-tax { display:block; color:#888; }
1338
+ .price-excluding-tax .label { font-size:10px; text-transform:uppercase; white-space:nowrap; color:#888; }
1339
+ .price-excluding-tax .price { font-size:12px; font-weight:normal; color:#396f00; }
1340
+
1341
+ /* Configured price */
1342
+ .configured-price { margin:0; }
1343
+ .configured-price .price-label { font-weight:bold; white-space:nowrap; }
1344
+ .configured-price .price { font-size:13px; font-weight:bold; }
1345
+
1346
+ /* Incl tax (for order tables) */
1347
+ .price-incl-tax { display:block; }
1348
+ .price-incl-tax .label { display:block; white-space:nowrap; }
1349
+ .price-incl-tax .price { display:block; font-weight:bold; }
1350
+
1351
+ /* Excl tax (for order tables) */
1352
+ .price-excl-tax { display:block; }
1353
+ .price-excl-tax .label { display:block; white-space:nowrap; }
1354
+ .price-excl-tax .price { display:block; font-weight:normal; }
1355
+
1356
+ /* FPT */
1357
+ .weee { display:block; font-size:11px; color:#444; }
1358
+ .weee .price { font-size:11px; font-weight:normal; }
1359
+
1360
+ /* Price range */
1361
+ .price-from { margin:0; }
1362
+ .price-from .price-label { font-size:12px; font-weight:bold; white-space:nowrap; }
1363
+
1364
+ .price-to { margin:0; }
1365
+ .price-to .price-label { font-size:12px; font-weight:bold; white-space:nowrap; }
1366
+
1367
+ /* Price notice next to the options */
1368
+ .price-notice { padding-left:7px; }
1369
+ .price-notice .price { font-weight:bold; }
1370
+
1371
+ /* Price as configured */
1372
+ .price-as-configured { margin:0; }
1373
+ .price-as-configured .price-label { font-weight:bold; white-space:nowrap; text-transform:uppercase; }
1374
+
1375
+ .price-box-bundle { padding: 9px 0; }
1376
+ .price-box-bundle .price-box { margin:0 !important; padding:0 !important; }
1377
+ .price-box-bundle .price { color:#222; }
1378
+ f/********** Product Prices > */
1379
+
1380
+ /* Tier Prices */
1381
+ .tier-prices { margin:10px 0; padding:10px; background:#f4f9ea; border:1px solid #ddd; }
1382
+ .tier-prices .benefit { font-style:italic; font-weight:bold; }
1383
+ .tier-prices .price { font-weight:bold;; }
1384
+
1385
+ .tier-prices-grouped li .price { font-weight:bold; }
1386
+
1387
+ /* Add to Links */
1388
+ .add-to-links { }
1389
+ .add-to-links li { margin: 9px 0;float:left; }
1390
+ .add-to-links li a { color:#444; }
1391
+ .add-to-links .separator {}
1392
+
1393
+ .product-options-bottom .add-to-cart{float:left;display:inline-block;}
1394
+
1395
+ /* Add to Cart */
1396
+ .add-to-cart { padding: 9px 0;}
1397
+ .add-to-cart label { margin-right:5px; font-weight:bold; line-height:20px; color:#555; }
1398
+ .add-to-cart .qty { margin-right:5px; }
1399
+ .add-to-cart button.button { margin: 0; }
1400
+ .add-to-cart .paypal-logo { clear:left; margin:0; text-align:right; }
1401
+ .add-to-cart .paypal-logo .paypal-or { clear:both; display:block; margin:5px 60px 5px 0; }
1402
+
1403
+ /* Add to Links + Add to Cart */
1404
+ .add-to-box { margin:10px 0; }
1405
+ .add-to-box .add-to-cart { margin:10px 0; border:1px solid #eee; background-color:#f8f8f8; padding:10px; text-align:right; }
1406
+ .add-to-box .add-to-cart .paypal-logo { float:right; }
1407
+ .add-to-box .or { display:none !important; }
1408
+ .add-to-box .add-to-links { margin:10px 0; text-align:right; }
1409
+ .add-to-box .add-to-links li .separator { display:none !important; }
1410
+
1411
+
1412
+ .product-view {}
1413
+
1414
+ .product-essential { padding:0 0 25px; }
1415
+ .product-essential h2 { }
1416
+
1417
+ .product-collateral {}
1418
+ .product-collateral h2 { font-size:19px; font-weight:normal; line-height:1.15; }
1419
+ .product-collateral .box-collateral {}
1420
+
1421
+ /* Product Images */
1422
+ .col1-layout .product-view .product-img-box { float:left; width:460px; }
1423
+ .col2-left-layout .product-view .product-img-box, .col2-right .product-view .product-img-box { width: 100%; }
1424
+ .product-view .product-img-box .product-image { margin:0 0 10px; border:1px solid #cacaca; }
1425
+ .product-view .product-img-box .product-image-zoom { position:relative; width:300px; height:300px; overflow:hidden; z-index:9; }
1426
+ .product-view .product-img-box .product-image-zoom img { position:absolute; left:0; top:0; cursor:move; }
1427
+ .product-view .product-img-box .zoom-notice { margin:0 0 10px; text-align:center; }
1428
+ .product-view .product-img-box .zoom { position:relative; z-index:9; height:24px; margin:0 auto 13px; padding:0 28px; background:url(../images/slider_bg.gif) 50% 50% no-repeat; cursor:pointer; }
1429
+ .product-view .product-img-box .zoom.disabled { -moz-opacity:.3; -webkit-opacity:.3; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";/*IE8*/ opacity:.3; }
1430
+ .product-view .product-img-box .zoom #track { position:relative; height:18px; }
1431
+ .product-view .product-img-box .zoom #handle { position:absolute; left:0; top:3px; width:9px; height:18px; background:url(../images/magnifier_handle.gif) 0 0 no-repeat; }
1432
+ .product-view .product-img-box .zoom .btn-zoom-out { position:absolute; left:10px; top:7px; }
1433
+ .product-view .product-img-box .zoom .btn-zoom-in { position:absolute; right:10px; top:7px; }
1434
+ .product-view .product-img-box .more-views h2 { font-size:10px; font-weight:normal; padding:0 0 2px; border-bottom:1px solid #ccc; margin:0 0 8px; text-transform:uppercase; }
1435
+ .product-view .product-img-box .more-views ul { margin-left:-10px }
1436
+ .product-view .product-img-box .more-views li { float:left; margin:0 0 8px 10px; }
1437
+ .product-view .product-img-box .more-views li a { float:left; width:66px; height:66px; border:1px solid #ddd; overflow:hidden; }
1438
+
1439
+ .product-image-popup { margin:0 auto; }
1440
+ .product-image-popup .buttons-set { border:1px solid ##F2F2F2; margin:18px 0; padding:9px; }
1441
+ .product-image-popup .nav { font-weight:bold; margin:0 100px; text-align:center; }
1442
+ .product-image-popup .image { display:block; margin:10px 0; }
1443
+ .product-image-popup .image-label { font-size:12px; font-weight:bold; margin:0 0 10px; color:#2f2f2f; }
1444
+
1445
+ /* Product Shop */
1446
+ .col1-layout .product-view .product-shop { float:right; width:460px; }
1447
+ .col2-left-layout .product-view .product-shop, .col2-right .product-view .product-shop { width: 100%; }
1448
+ .product-view .product-shop .product-name { margin:0 0 5px; }
1449
+ .product-view .product-shop .product-name h1 { font:bold 13px/1.384615385 ColaborateRegular, helvetica, arial, sans-serif; }
1450
+ .product-view .product-shop .availability { margin:9px 0; }
1451
+ .product-view .product-shop .short-description { margin:9px 0; }
1452
+ .product-view .product-shop .price-box { margin:9px 0; }
1453
+ .product-view .product-shop .add-to-links { margin:0; }
1454
+ .product-view .product-shop .add-to-links { text-align:right; margin-top:5px;}
1455
+ .product-view .product-shop .add-to-links li { display:inline; margin-left:12px; }
1456
+ .product-view .product-shop .add-to-links li .separator { display:none !important; }
1457
+ .product-view .product-shop .product-options-bottom .paypal-logo { float:left; }
1458
+
1459
+ /* Product Options */
1460
+ .product-options { margin:18px 0 0; padding:0 15px 10px; background: #FAFAFA; position:relative; }
1461
+ .product-options .toggle { cursor: pointer; }
1462
+ .product-options dt { padding:10px 0 0; font-weight:normal; }
1463
+ .product-options dt label { font-weight:bold; }
1464
+ .product-options dt label.required em { color:#eb340a; margin-right:5px; }
1465
+ .product-options dd .qty-holder { display:block; padding:10px 0 0; }
1466
+ .product-options dd .qty-holder label { vertical-align:middle; }
1467
+ .product-options dd .qty-disabled { background:none; border:0; padding:3px; color:#444; }
1468
+ .product-options dd { padding:5px 10px 15px; margin:0 0 5px; border-bottom:1px solid #ddd; }
1469
+ .product-options dl.last dd.last { border-bottom:0; padding-bottom:5px; margin-bottom:0; }
1470
+ .product-options dd input.input-text { background: #fff; }
1471
+ .product-options dd input.datetime-picker { width:150px; }
1472
+ .product-options dd .time-picker { display:-moz-inline-box; display:inline-block; padding:2px 0; vertical-align:middle; }
1473
+ .product-options dd textarea { height:8em; background: #fff; }
1474
+ .product-options dd select { background: #fff; }
1475
+ .product-options dd .multiselect option { border-bottom:1px dotted #d9e5ee; padding:2px 4px; }
1476
+ .product-options ul.options-list { margin-right:5px; }
1477
+ .product-options ul.options-list li { padding:2px 0; }
1478
+ .product-options ul.options-list input.radio { float:left; margin-top:3px; }
1479
+ .product-options ul.options-list input.checkbox { float:left; margin-top:2px; }
1480
+ .product-options ul.options-list .label { display:block; margin-left:18px; }
1481
+ .product-options ul.options-list label { font-weight:normal; }
1482
+ .product-options ul.validation-failed { padding:0 7px; }
1483
+ .product-options p.required { position:absolute; right:15px; top:0px; }
1484
+
1485
+ .product-options-bottom { background-color:#eAEAEA; padding:15px 20px; border-top:1px solid #e4e4e4; }
1486
+ .product-options-bottom .tier-prices { margin:0; padding:0 0 10px; border:0; background:0; }
1487
+ .product-options-bottom .price-box { float:left; margin:0; }
1488
+ .product-options-bottom .add-to-links {text-align:right; }
1489
+ .product-options-bottom .price-label { padding-right:5px; }
1490
+ .product-options-bottom .price-tax { float:left; }
1491
+ .product-options-bottom .add-to-cart { float:right; margin:0; padding:9px 0; border:0; background:0; }
1492
+ .product-options-bottom .add-to-links { float:right; display:inline;margin-right:10px;}
1493
+
1494
+ .product-shop .product-options-bottom .price-box { float:none; margin:0; }
1495
+ .product-shop .product-options-bottom .price-label { float:none; padding-right:0; }
1496
+ .product-shop .product-options-bottom .price-tax { float:none; }
1497
+ .product-shop .product-options-bottom .add-to-cart { clear:both; float:none; padding:12px 0 0; text-align:left; }
1498
+
1499
+ /* Grouped Product */
1500
+ .product-view .grouped-items-table .price-box { margin:0; padding:0; }
1501
+
1502
+ /* Product Tabs */
1503
+ ul.product-tabs{ border-bottom: 1px solid #DDDDDD; display: block; margin: 0 0 18px; padding: 0; }
1504
+ .product-tabs li { display: block; float: left; height: 35px; margin-bottom: 0; padding: 0; width: auto; }
1505
+ .product-tabs li.first { }
1506
+ .product-tabs li.last { }
1507
+ .product-tabs li.first a { border-top-left-radius: 2px; border-width: 1px 1px 0;}
1508
+ .product-tabs li.last a { border-top-right-radius: 2px; }
1509
+ .product-tabs a { background: #F5F5F5; border-color: #DDDDDD; border-style: solid; border-width: 1px 1px 0 0; display: block; font-size: 13px; height: 35px;
1510
+ line-height: 36px; margin: 0; padding: 0 20px; text-decoration: none; width: auto;}
1511
+ .product-tabs a:hover { background-color:#ddd; text-decoration:none; color:#444; }
1512
+ .product-tabs li.active a,
1513
+ .product-tabs li.active a:hover { background: none repeat scroll 0 0 #FFFFFF; border-left-width: 1px; border-top-left-radius: 2px; border-top-right-radius: 2px; color: #111111; height: 36px; margin: 0 0 0 -1px; padding-top: 4px; position: relative; top: -4px;}
1514
+ .product-tabs-content h2 { display:none; font-size:12px; font-weight:bold; }
1515
+
1516
+ /* Mini Products Grid */
1517
+ .mini-products-grid { margin: 18px -20px; }
1518
+ .mini-products-grid li { float: left; margin-left: 20px; width: 160px; }
1519
+ .mini-products-grid .product-image { display:block; margin:0 0 18px; }
1520
+ .mini-products-grid .product-name { overflow:hidden; margin-bottom: 0;}
1521
+ .mini-products-grid .product-name a { color:#444; text-decoration:underline; }
1522
+ .mini-products-grid .product-name a:hover { text-decoration:none; }
1523
+ .mini-products-grid li.empty {}
1524
+ .mini-products-grid li.last { padding-right:0; }
1525
+ .mini-products-grid .ratings .rating-box { float:none; display:block; margin:0 0 3px; }
1526
+
1527
+ /* Block: Description */
1528
+ .product-view .box-description {}
1529
+
1530
+ /* Block: Additional */
1531
+ .product-view .box-additional .data-table th,
1532
+ .product-view .box-additional .data-table td { line-height:1.25; }
1533
+
1534
+ /* Block: Upsell */
1535
+ .product-view .box-up-sell h2 { margin:0 0 8px; }
1536
+ #product_tabs_upsell_products_contents h2 { display:block; }
1537
+
1538
+ /* Block: Tags */
1539
+ .product-view .box-tags { margin:0; }
1540
+ .product-view .box-tags h3 { font-size:12px; }
1541
+ .product-view .box-tags .product-tags { display:block; margin:0 0 15px; }
1542
+ .product-view .box-tags .product-tags li { display:inline; background:url(../images/bkg_pipe3.gif) 100% 4px no-repeat; padding:0 7px 0 4px; }
1543
+ .product-view .box-tags .product-tags li.first { padding-left:0; }
1544
+ .product-view .box-tags .product-tags li.last { background:none; padding-right:0; }
1545
+ .product-view .box-tags .form-add label { display:block; font-size:12px; font-weight:bold; margin:0 0 3px; }
1546
+ .product-view .box-tags .form-add .input-box { margin:9px 0; width: 460px; }
1547
+ .product-view .box-tags .form-add { width:100%; }
1548
+ .product-view .box-tags .form-add input.input-text { }
1549
+ .product-view .box-tags .form-add button.button { clear: both; }
1550
+ .product-view .box-tags .form-add button.button span { }
1551
+ .product-view .box-tags .note { margin:2px 0 0; font-size:10px; }
1552
+
1553
+ /* Block: Reviews */
1554
+ .product-view .box-reviews dl { margin:18px 0; }
1555
+ .product-view .box-reviews dt a,
1556
+ .product-view .box-reviews dt span { font-weight:bold; }
1557
+ .product-view .box-reviews dd { margin:0 0 18px; }
1558
+ .product-view .box-reviews dd small { font-style:italic; }
1559
+ .product-view .box-reviews .form-add { margin:18px 0 0; }
1560
+ .product-view .box-reviews .form-add h3 { font-size:13px; font-weight:normal; }
1561
+ .product-view .box-reviews .form-add h3 span { font-weight:bold; }
1562
+ .product-view .box-reviews .form-add h4 { font-size:12px; }
1563
+ .product-view .box-reviews .form-add .data-table td { text-align:center; }
1564
+ .product-view .box-reviews .form-add .form-list { }
1565
+ .product-view .box-reviews .form-add .form-list .input-box { }
1566
+ .product-view .box-reviews .form-add .form-list input.input-text,
1567
+ .product-view .box-reviews .form-add .form-list textarea { }
1568
+
1569
+ /* Send a Friend */
1570
+ .send-friend .form-list { overflow:hidden; }
1571
+ .send-friend .form-list li { margin-right:-15px; }
1572
+ .send-friend .form-list li p { margin:9px 0; }
1573
+ .send-friend .buttons-set .limit { float:right; margin:0 7px 0 0; font-size:11px; line-height:25px; }
1574
+ /* ======================================================================================= */
1575
+
1576
+
1577
+ /* Content Styles ================================================================= */
1578
+ .product-name { font-family: colaborateregular, helvetica, arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 1.5;}
1579
+ /*.product-name a { color:#444; }*/
1580
+
1581
+ /* Product Tags */
1582
+ .tags-list { display:block; font-size:13px; border:1px solid #ddd; background:#f6f6f6; padding:10px; }
1583
+ .tags-list li { display:inline !important; margin:0 4px 0 0; }
1584
+ .tags-list li a { color:#1b2d3b; }
1585
+
1586
+ /* Advanced Search */
1587
+ .advanced-search .form-list label { }
1588
+ .advanced-search .form-list .input-box,
1589
+ .advanced-search .form-list .input-range {}
1590
+ .advanced-search-amount { margin:0 0 10px; }
1591
+ .advanced-search-summary { margin:10px 0; border:1px solid #ddd; background:#ecf9ea; padding:10px; }
1592
+ .advanced-search-summary ul { float:left; width:49%; }
1593
+ .advanced-search-summary strong { color:#E17C24; }
1594
+ .advanced-search-summary li { margin:2px 0; }
1595
+ .advanced-search-summary p { clear:both; font-weight:bold; margin:9px 0; }
1596
+
1597
+ /* CMS Home Page */
1598
+ .cms-home .main { }
1599
+ .cms-home .subtitle {}
1600
+ .cms-index-index .subtitle {}
1601
+ .cms-home .home-tabs { margin-top: 36px; clear: both; }
1602
+ .cms-home .product-tabs { }
1603
+ .cms-home .products-grid .product-name { display: block; font-family: ColaborateRegular, helvetica, arial, sans-serif; font-weight: normal; line-height: 18px; }
1604
+ .cms-home .products-grid li.item { position: relative; }
1605
+ .cms-home .products-grid .price-box { color: #000; }
1606
+ .cms-home .products-grid .minimal-price-link { color: #fff; }
1607
+ .cms-home .home-tabs .tabs-title { }
1608
+ .cms-home .home-tabs .tabs-title strong { float: left; font-size: 36px; font-weight: normal; margin-right: 20px; font-family: ColaborateThinRegular, helvetica, arial, sans-serif; line-height: 36px;}
1609
+
1610
+ /* Sitemap */
1611
+ .page-sitemap .links { text-align:right; margin:0 8px -22px 0; }
1612
+ .page-sitemap .links a { text-decoration:none; position:relative; }
1613
+ .page-sitemap .links a:hover { text-decoration:underline; }
1614
+ .page-sitemap .sitemap { margin:12px; }
1615
+ .page-sitemap .sitemap a { color:#444; }
1616
+ .page-sitemap .sitemap li { margin:3px 0; }
1617
+ .page-sitemap .sitemap li.level-0 { margin:10px 0 0; font-weight:bold; }
1618
+ .page-sitemap .sitemap li.level-0 a { color:#4f8100; }
1619
+
1620
+ /* RSS */
1621
+ .rss-title h1 { background:url(../images/i_rss-big.png) 0 3px no-repeat; padding-left:27px; }
1622
+ .rss-table .link-rss { display:block; line-height:1.55; background-position:0 4px; }
1623
+ /* ======================================================================================= */
1624
+
1625
+
1626
+ /* Shopping Cart ========================================================================= */
1627
+ .cart .page-title {}
1628
+ .cart > .checkout-types { text-align: right;margin-bottom:10px; }
1629
+ .chk_cartbtn {margin:10px 0;float:right;}
1630
+ /* Checkout Types */
1631
+ .cart .page-title .checkout-types { display:none !important; }
1632
+ .cart .checkout-types .paypal-or { margin:0 8px; line-height:2.3; }
1633
+ .cart .totals .checkout-types .paypal-or { clear:both; display:block; padding:8px 55px 0 0; line-height:1.0; font-size:11px; }
1634
+
1635
+ /* Shopping Cart Table */
1636
+ .cart-table-wrap { overflow: auto; }
1637
+ .cart-table th { padding:9px 10px; }
1638
+ .cart-table td { padding:9px; }
1639
+ .cart-table .product-name { font-weight:bold; margin:0; color:#444; }
1640
+ .cart-table .item-msg { margin:9px 0; font-size:11px; font-weight:bold; color:#df280a; line-height: 1.6363636363}
1641
+ .cart-table tfoot td { padding:9px 10px; }
1642
+ .cart-table .btn-continue { float:left; }
1643
+ .cart-table .btn-continue span { }
1644
+ .cart-table .btn-continue:hover span { }
1645
+ .cart-table .btn-update span {}
1646
+
1647
+ /* Shopping Cart Collateral boxes */
1648
+ .cart .cart-collaterals { padding:18px 0 0; }
1649
+ .cart .cart-collaterals .col2-set .col-1 { width:222px; }
1650
+ .cart .cart-collaterals .col2-set .col-2 { width:655px; background:#e6f7d7; }
1651
+
1652
+
1653
+ ul.crosssell-products-list { margin: 10px auto; }
1654
+ .cart .crosssell { border:1px solid #ddd; background:#f7f7f7; padding:10px; clear: both;}
1655
+ .cart .crosssell h2 { font-size:12px; font-weight:bold; }
1656
+ .cart .crosssell .product-image { float:left; width:120px; height:120px; }
1657
+ .cart .crosssell .product-details { }
1658
+ .cart .crosssell .product-name { font-weight:bold;min-height:36px; }
1659
+ .cart .crosssell li.item { margin:0 0 8px; padding-bottom:5px; display: inline-block; vertical-align: top; width: 220px; }
1660
+ .cart .crosssell li.last { border-bottom:0; padding-bottom:0; margin:0; }
1661
+ .cart .crosssell .link-compare { font-weight:normal; }
1662
+ .cart .no-crosssell { width:100%; overflow:hidden; }
1663
+ .cart .no-crosssell img { display:block; margin:0 0 10px; }
1664
+
1665
+ /* Discount Codes & Estimate Shipping and Tax Boxes */
1666
+ .collat-wrap { float: left; width: 100%; }
1667
+
1668
+ .cart div.discount,
1669
+ .cart div.shipping { }
1670
+ .cart .discount h2,
1671
+ .cart .shipping h2 { width:225px; font:normal 14px/16px Arial, Helvetica, sans-serif; text-transform: uppercase; font-weight: bold; }
1672
+ .cart .discount .discount-form,
1673
+ .cart .shipping .shipping-form { }
1674
+ .cart .discount .buttons-set,
1675
+ .cart .shipping .buttons-set { }
1676
+ .cart .discount .buttons-set button.button,
1677
+ .cart .shipping .buttons-set button.button { float:none; margin:0; }
1678
+ .cart .discount .buttons-set button.button span,
1679
+ .cart .shipping .buttons-set button.button span { }
1680
+ .cart .discount .buttons-set button.button span span,
1681
+ .cart .shipping .buttons-set button.button span span { }
1682
+
1683
+ .cart .discount { border-bottom:1px solid #c0d2af ; margin-right: 24px; }
1684
+ .cart .discount label { font-weight:bold; color:#555; }
1685
+ .cart .discount .input-box { }
1686
+ .cart .discount input.input-text { width: 85%; }
1687
+
1688
+ .cart .shipping p { margin:9px 0; }
1689
+ .cart .shipping .sp-methods { margin:10px 0 0; padding:6px 0 0; border-top:1px solid #c0d2af; }
1690
+ .cart .shipping .form-list .input-box { }
1691
+ .cart .shipping .form-list input.input-text { }
1692
+ .cart .shipping .form-list select { }
1693
+
1694
+ /* Shopping Cart Totals */
1695
+ .crosssell-wrap {}
1696
+
1697
+ .cart .totals { width:265px !important;}
1698
+ .cart .totals table { float:right; margin:9px 0; width: 100%; }
1699
+ .cart .totals td { border-bottom: 1px solid; margin: 9px 0 8px 15px; padding: 9px 10px 8px 0; }
1700
+ .cart .totals tr.last td {}
1701
+ .cart .totals tfoot td {}
1702
+ .cart .totals tfoot th strong,
1703
+ .cart .totals tfoot td strong { font-size:14px; line-height: 1.285714286; font-weight:bold; }
1704
+ .cart .totals .checkout-types { text-align:right; }
1705
+ .cart .totals .checkout-types li { clear:both; margin:9px 0; }
1706
+
1707
+ /* Options Tool Tip */
1708
+ .item-options dt { font-weight:bold; font-style:italic; }
1709
+ .item-options dd { padding-left:10px; }
1710
+ .truncated { cursor:help; }
1711
+ .truncated a.dots { cursor:help; text-decoration:none !important; }
1712
+ .truncated a.details { cursor:help; text-decoration:none !important; display:inline-block; border-bottom:1px dotted #4f8100; }
1713
+ .truncated .truncated_full_value { position:relative; z-index:999; }
1714
+ .truncated .truncated_full_value .item-options { position:absolute; top:-99999em; z-index:999; width:250px; padding:8px; border:2px solid #ddd; border-bottom-color:#666; background-color:#f6f6f6; }
1715
+ .truncated .truncated_full_value .item-options dt { margin-top:0; }
1716
+ .truncated .truncated_full_value .item-options > p { font-weight:bold; text-transform:uppercase; }
1717
+ .truncated .show .item-options { top:-20px; left:50%; }
1718
+ .col-left .truncated .show .item-options { left:30px; top:10px; }
1719
+ .col-right .truncated .show .item-options { left:-240px; top:10px; }
1720
+ /* ======================================================================================= */
1721
+
1722
+
1723
+ /* Checkout ============================================================================== */
1724
+ /********** < Common Checkout Styles */
1725
+ /* Shipping and Payment methods */
1726
+ .sp-methods { margin:0 0 8px; }
1727
+ .sp-methods dt { margin:13px 0 5px; font-weight:bold; }
1728
+ .sp-methods dd {}
1729
+ .sp-methods dd li { margin:9px 0; }
1730
+ .sp-methods label { font-weight:bold; color:#555; }
1731
+ .sp-methods .price { font-weight:bold; }
1732
+ .sp-methods .form-list { padding-left:20px; }
1733
+ .sp-methods .form-list li { margin: 0 10px 8px 0; }
1734
+ .sp-methods select.month { width:154px; margin-right:10px; }
1735
+ .sp-methods select.year { width:96px; }
1736
+ .sp-methods input.cvv { width:3em !important; }
1737
+
1738
+ .sp-methods .checkmo-list li { margin:0 0 5px; }
1739
+ .sp-methods .checkmo-list label { width:135px; padding-right:10px; text-align:right; }
1740
+ .sp-methods .checkmo-list address { float:left; }
1741
+
1742
+ .sp-methods .centinel-logos a { margin-right:3px; }
1743
+ .sp-methods .centinel-logos img { vertical-align:middle; }
1744
+
1745
+ .sp-methods .release-amounts { margin:1.5em 0 2em; }
1746
+ .sp-methods .release-amounts button { float:left; margin:5px 10px 0 0; }
1747
+
1748
+ .please-wait { float:right; }
1749
+ .please-wait img { vertical-align:middle; }
1750
+ .cvv-what-is-this { font-size:11px; cursor:help; margin-left:10px; }
1751
+
1752
+ /* Tooltip */
1753
+ .tool-tip { border:2px solid #ddd; border-bottom-color:#666; background:#f6f6f6; padding:15px 20px; position:absolute; z-index:9999; }
1754
+ .tool-tip .btn-close { margin:-9px -14px 0; text-align:right; }
1755
+ .tool-tip .btn-close a { display:block; margin:0 0 0 auto; width:12px; height:12px; background:url(../images/btn_window_close.gif) 100% 0 no-repeat; text-align:left; text-indent:-999em; overflow:hidden; }
1756
+ .tool-tip .tool-tip-content { padding:5px; }
1757
+
1758
+ /* Gift Messages */
1759
+ .gift-messages h3 { font-size:12px; font-weight:bold; color:#e87403; }
1760
+ .gift-messages p.control { color:#8e8d8b; }
1761
+ .gift-messages-form { position:relative; }
1762
+ .gift-messages-form label { float:none !important; position:static !important; }
1763
+ .gift-messages-form h4 { font-size:12px; font-weight:bold; color:#e87403; }
1764
+ .gift-messages-form .whole-order { margin:0 0 25px; }
1765
+ .gift-messages-form .item { margin:0 0 10px; }
1766
+ .gift-messages-form .item .product-img-box { float:left; width:75px; }
1767
+ .gift-messages-form .item .product-image { margin:0 0 7px; }
1768
+ .gift-messages-form .item .number { margin:0; font-weight:bold; text-align:center; color:#8a8987; }
1769
+ .gift-messages-form .item .details { margin-left:90px; }
1770
+ .gift-messages-form .item .details .product-name { font-size:13px; font-weight:bold; margin:0 0 10px; }
1771
+ .gift-messages-form .item .details .form-list .field { width:255px; }
1772
+ .gift-messages-form .item .details .form-list .input-box { width:240px; }
1773
+ .gift-messages-form .item .details .form-list input.input-text { width:234px; }
1774
+ .gift-messages-form .item .details .form-list li.wide .input-box { width:500px; }
1775
+ .gift-messages-form .item .details .form-list li.wide textarea { width:494px; }
1776
+
1777
+ .gift-message-link { font-size:11px; background:url(../images/bkg_collapse-gm.gif) 100% 6px no-repeat; padding-right:7px; }
1778
+ .gift-message-link.expanded { background-position:100% -40px; }
1779
+ .gift-message-row { background:#f2efe9; }
1780
+ .gift-message-row .btn-close { float:right; width:12px; height:12px; background:url(../images/btn_remove.gif) 0 0 no-repeat; font-size:0; line-height:0; text-indent:-999em; overflow:hidden; }
1781
+
1782
+ /* Checkout Agreements */
1783
+ .checkout-agreements li { margin:30px 0; }
1784
+ .checkout-agreements .agreement-content { overflow:auto; height:12em; padding:10px; background:#fbfbfb; border:1px solid #e4e4e4; }
1785
+ .checkout-agreements .agree { margin:0; padding:10px 0 10px 11px; }
1786
+ .checkout-agreements .agree input.checkbox { margin-right:6px; }
1787
+ .checkout-agreements .agree label { font-weight:bold; color:#555; }
1788
+
1789
+ .opc .checkout-agreements { padding:5px 30px; }
1790
+ .opc .checkout-agreements li { margin:20px 0 0; }
1791
+ .opc .checkout-agreements .agreement-content { background:#fff; padding:5px; }
1792
+ .opc .checkout-agreements .agree { padding-left:6px; }
1793
+
1794
+ /* Centinel */
1795
+ .centinel {}
1796
+ .centinel .authentication { border:1px solid #ddd; background:#fff; }
1797
+ .centinel .authentication iframe { width:99%; height:400px; background:transparent !important; margin:0 !important; padding:0 !important; border:0 !important; }
1798
+
1799
+ .opc .centinel { padding:10px 30px; }
1800
+
1801
+ /* Generic Info Set */
1802
+ .info-set { background:#fbfbfb; border:1px solid #ddd; margin:0 0 25px; padding:20px; }
1803
+ .info-set h2 { font-size:12px; font-weight:bold; margin:0 0 10px; }
1804
+ .info-set h3,
1805
+ .info-set h4 { font-size:12px; font-weight:bold; }
1806
+ .info-set h2 a,
1807
+ .info-set h3 a,
1808
+ .info-set h4 a { font-weight:normal; }
1809
+ .info-set h2.legend { margin:-20px -20px 15px; padding:3px 10px; background:#777; border-bottom:1px solid #777; position:relative; color:#fff; }
1810
+ .info-set h2.legend a { color:#fff; }
1811
+ .info-set h3.legend { margin:0 0 10px; }
1812
+ .info-set .divider { margin:0 -20px; padding:25px 0; position:relative; }
1813
+ .info-set .box { margin:0 0 15px; }
1814
+ .info-set .box h2 { color:#e26703; }
1815
+ .info-set .data-table .product-name { font-size:1em !important; font-weight:bold !important; color:#4f8100 !important; }
1816
+ .info-set .data-table .product-name a { font-weight:bold !important; }
1817
+ .info-set .data-table .item-options { margin:5px 0 0; }
1818
+ /********** Common Checkout Styles > */
1819
+
1820
+ /* One Page Checkout */
1821
+
1822
+ .checkout-onepage-index .col-main { float: left; }
1823
+ .checkout-onepage-index .col-left { float: right; margin-left; 20px; }
1824
+
1825
+
1826
+ .block-progress { /*border:0; margin:0;*/ }
1827
+ .block-progress .block-title {/* background:none; border:0; padding:0;*/ }
1828
+ .block-progress .block-title strong { font-size:12px; }
1829
+ .block-progress .block-content { /*background:none; padding:0;*/ }
1830
+ .block-progress dt { font-size:14px; line-height:1.285714286; margin:9px 0; text-transform:uppercase; }
1831
+ .block-progress dt:before { content: "// "; }
1832
+
1833
+ .block-progress dd { border-top:0; padding:9px 10px; margin:9px 0; }
1834
+ .block-progress dt.complete {}
1835
+ .block-progress dt.complete a { text-transform:none; }
1836
+ .block-progress dd.complete {}
1837
+ .block-progress p { margin:9px 0; }
1838
+ .block-progress .cards-list dt { background:none; border:0 none; color:inherit; font-size:11px; line-height: 1.636363636; font-weight:bold; margin:9px 0; padding:0; text-transform:none; }
1839
+ .block-progress .cards-list dd { border:0 none; margin:0; padding:0; }
1840
+ .block-progress .cards-list .info-table th { font-weight:normal; }
1841
+
1842
+ .opc .buttons-set { }
1843
+ .opc .buttons-set p.required { margin:0; padding:0 10px 0; }
1844
+ .opc .buttons-set.disabled button.button { display:none; }
1845
+ .opc .buttons-set .please-wait { height:36px; line-height:36px; }
1846
+ .opc .ul { list-style:disc outside; padding-left:18px; }
1847
+
1848
+ .opc { position:relative; }
1849
+ .opc li.section {}
1850
+
1851
+ .opc .step-title { padding:9px 8px; text-align:right; border-bottom: 1px solid #ccc; }
1852
+ .opc .step-title .number { float:left; padding:0 3px; margin:0 5px 0 0; font:normal 11px/1.63636363636 arial, helvetica, sans-serif; color:#444; position: relative;
1853
+ top: 25px; }
1854
+ .opc .step-title h2 { color: #999999; float: left; font-family: colaboratethinregular, helvetica, arial, sans-serif; font-size: 24px; letter-spacing: 0.1em; line-height: 1.5; margin: 0; text-transform: uppercase; margin-left: 20px;}
1855
+ .opc .step-title a { display:none; float:right; font-size:11px; line-height:16px; }
1856
+
1857
+ .opc .allow .step-title { cursor:pointer; }
1858
+ .opc .allow .step-title .number {}
1859
+ .opc .allow .step-title h2 { }
1860
+ .opc .allow .step-title a { display:block; margin-top: 12px; text-transform:uppercase; }
1861
+
1862
+ .opc .active .step-title { padding-bottom:9px; color:inherit; cursor:default; border-bottom: 1px solid #000; }
1863
+ .opc .active .step-title .number {}
1864
+ .opc .active .step-title h2 { color: #000; }
1865
+ .opc .active .step-title a { display:none; }
1866
+
1867
+ .opc .step { padding:18px 0; position:relative; }
1868
+ .opc .step .tool-tip { right:30px; }
1869
+
1870
+ #checkout-step-login .col2-set .col-1 { float: right; }
1871
+ #checkout-step-login .col2-set .col-2 { float: left; }
1872
+
1873
+ #opc-login h3 { font-size:13px; border-bottom:1px solid #e4e4e4; padding-bottom:2px; text-transform:uppercase; }
1874
+ #opc-login h4 { font-size:1em; font-weight:bold; margin:0; color:#2f2f2f; }
1875
+
1876
+ #opc-shipping_method .buttons-set { border-top:0; }
1877
+ .opc .gift-messages-form { margin:0 -30px; background:#f4f4f4; border:1px solid #ddd; border-width:1px 0; padding:22px 24px 22px 30px; }
1878
+ .opc .gift-messages-form .inner-box { padding:5px; height:260px; overflow:auto; }
1879
+
1880
+ #opc-review .step { padding:0; }
1881
+ #opc-review .product-name { font-weight:bold; }
1882
+ #opc-review .item-options { margin:5px 0 0; }
1883
+ #opc-review .buttons-set { border:1px solid ##F2F2F2; padding:9px; }
1884
+ #opc-review .buttons-set p { margin:9px 5px 0 0; line-height:28px; }
1885
+ #opc-review .buttons-set .please-wait { height:28px; line-height:28px; }
1886
+ #opc-review .authentication { margin:0 auto; width:570px; }
1887
+ #opc-review .warning-message { color:#222; font-weight:bold; text-align:center; padding:10px 10px 0; }
1888
+
1889
+ /* Multiple Addresses Checkout */
1890
+ .checkout-progress { padding:0 90px; margin:0 0 20px; }
1891
+ .checkout-progress li { float:left; width:19%; margin:0 3px 0 0; border-top:6px solid #999; padding:2px 0 0; font-weight:bold; text-align:center; color:#888; }
1892
+ .checkout-progress li.active { border-top-color:#e96200; color:#e96200; }
1893
+
1894
+ .multiple-checkout h2 { font-size:12px; font-weight:bold; margin:0 0 10px; }
1895
+ .multiple-checkout h3,
1896
+ .multiple-checkout h4 { font-size:12px; font-weight:bold; }
1897
+ .multiple-checkout h2 a,
1898
+ .multiple-checkout h3 a,
1899
+ .multiple-checkout h4 a { font-weight:normal; }
1900
+ .multiple-checkout .data-table .product-name { font-size:1em !important; font-weight:bold !important; color:#4f8100 !important; }
1901
+ .multiple-checkout .data-table .product-name a { font-weight:bold !important; }
1902
+ .multiple-checkout .data-table .item-options { margin:5px 0 0; }
1903
+
1904
+ .multiple-checkout .gift-messages { margin:15px 0 0; }
1905
+
1906
+ .multiple-checkout .tool-tip { top:50%; margin-top:-120px; right:20px; }
1907
+
1908
+ .multiple-checkout .col2-set,
1909
+ .multiple-checkout .col3-set { background:#fbfbfb; border:1px solid #ddd; margin:0 0 25px; padding:20px; }
1910
+ .multiple-checkout .col2-set h2.legend { margin:-20px -20px 15px; padding:3px 10px; background:#777; border-bottom:1px solid #777; position:relative; color:#fff; }
1911
+ .multiple-checkout .col2-set h3.legend { margin:0 0 10px; }
1912
+ .multiple-checkout .col2-set .divider { margin:0 -20px; padding:25px 0; position:relative; }
1913
+ .multiple-checkout .box { margin:0 0 15px; }
1914
+
1915
+ .multiple-checkout .place-order .please-wait { float:right; padding:5px 10px 0 0; }
1916
+ .multiple-checkout .place-order .grand-total { float:right; }
1917
+ .multiple-checkout .place-order .grand-total .inner {}
1918
+ .multiple-checkout .place-order .grand-total big { float:left; margin-right:12px; font-size:1.5em; font-weight:bold; line-height:28px; color:#e26703; }
1919
+ .multiple-checkout .place-order .grand-total div { float:left; }
1920
+
1921
+ /* Step 1 */
1922
+ #multiship-addresses-table td { padding:10px; }
1923
+ #multiship-addresses-table tfoot td { padding:5px 10px; }
1924
+
1925
+ /* Step 2 */
1926
+ .multiple-checkout .gift-messages-form .item .details .form-list { width:100%; overflow:hidden; }
1927
+ .multiple-checkout .gift-messages-form .item .details .form-list li { margin-right:-15px; }
1928
+ .multiple-checkout .gift-messages-form .item .details .form-list .field { width:230px; }
1929
+ .multiple-checkout .gift-messages-form .item .details .form-list .input-box { width:215px; }
1930
+ .multiple-checkout .gift-messages-form .item .details .form-list input.input-text { width:209px; }
1931
+ .multiple-checkout .gift-messages-form .item .details .form-list li.wide .input-box { width:445px; }
1932
+ .multiple-checkout .gift-messages-form .item .details .form-list li.wide textarea { width:439px; }
1933
+ .checkout-multishipping-shipping .box-sp-methods { border:1px solid #ddd; background:#eee; padding:13px; position:relative; }
1934
+ .checkout-multishipping-shipping .box-sp-methods .pointer { display:none; }
1935
+
1936
+ /* Step 3 */
1937
+ .checkout-multishipping-billing .multiple-checkout { position:relative; }
1938
+ /* ======================================================================================= */
1939
+
1940
+
1941
+ /* Account Login/Create Pages ============================================================ */
1942
+ .account-login .content { min-height:200px; padding:0 10px; }
1943
+ .account-login .content h2 { font-size: 13px; line-height: 1.385; }
1944
+ .account-login .buttons-set {}
1945
+
1946
+ .account-create {}
1947
+ /* Account Login/Create Pages ============================================================ */
1948
+
1949
+
1950
+ /* Remember Me Popup ===================================================================== */
1951
+ .window-overlay { background:url(../images/window_overlay.png) repeat; background:rgba(0, 0, 0, 0.35); position:absolute; top:0; left:0; height:100%; width:100%; z-index:990; }
1952
+
1953
+ .remember-me label { float:none; margin:0 6px; }
1954
+ .remember-me-popup { background:#fff; border:1px solid #888; border-bottom-color:#777; left:50%; top:50%; position:absolute; margin:-85px 0 0 -200px; width:400px; text-align:left; -moz-box-shadow:0 0 6px #999; -webkit-box-shadow:0 0 6px #999; box-shadow:0 0 6px #999; z-index:1000; }
1955
+ .remember-me-popup h3 { background:#dedede; border-bottom:1px solid #ccc; color:#444; font-size:14px; margin:0; padding:7px 10px 5px; }
1956
+ .remember-me-popup .remember-me-popup-head { position:relative; }
1957
+ .remember-me-popup .remember-me-popup-head .remember-me-popup-close { background:url(../images/btn_window_close.gif) no-repeat; display:block; position:absolute; top:9px; right:7px; height:15px; width:15px; text-indent:-9999em; }
1958
+ .remember-me-popup .remember-me-popup-body { border-top:1px solid #e6e6e6; padding:10px; }
1959
+ .remember-me-popup .remember-me-popup-body a,
1960
+ .remember-me-popup .remember-me-popup-body a span { display:inline-block; height:28px; background:transparent url(../images/bkg_btn.png) 0 0 no-repeat; padding:0 0 0 6px; font:bold 11px/25px Tahoma, Verdana, Arial, sans-serif; text-transform:uppercase; text-align:center; white-space:nowrap; color:#555; }
1961
+ .remember-me-popup .remember-me-popup-body a span { background-position:100% 0; padding:0 15px 0 9px; }
1962
+ /* Remember Me Popup ===================================================================== */
1963
+
1964
+
1965
+ /* My Account ============================================================================= */
1966
+ .my-account .title-buttons .link-rss { float:none; margin:0; }
1967
+
1968
+ /********** < Dashboard */
1969
+ .dashboard .welcome-msg { margin:0 8em 1.5em 0; }
1970
+ .dashboard .welcome-msg p { margin:9px 0; }
1971
+ .dashboard .col2-set { margin:0 0 15px; }
1972
+
1973
+ /* General Box */
1974
+ .box-account { margin:0 0 15px; }
1975
+ .box-account .box-head { margin:0 0 5px; text-align:right; }
1976
+ .box-account .box-head h2 { float:left; margin:0; font-size:14px; font-weight:bold; color:#4f8100; }
1977
+ .box-account .box-head a { font-size:10px; text-transform:uppercase; }
1978
+
1979
+ .dashboard .box .box-title { background:#f1f1f1; padding:2px 10px; margin:0 0 12px; text-align:right; }
1980
+ .dashboard .box .box-title h3,
1981
+ .dashboard .box .box-title h4 { float:left; margin:0; font-size:12px; font-weight:bold; line-height:1.35; }
1982
+ .dashboard .box .box-title a { font-size:10px; text-transform:uppercase; }
1983
+ .dashboard .box .box-content { padding:0 10px; }
1984
+
1985
+ /* Block: Recent Orders */
1986
+ .dashboard .box-recent {}
1987
+
1988
+ /* Block: Account Information */
1989
+ .dashboard .box-info {}
1990
+ .dashboard .box-info h4 { font-size:11px; font-weight:bold; }
1991
+
1992
+ /* Block: Reviews */
1993
+ .dashboard .box-reviews .box-head { background:#f1f1f1; padding:2px 10px; margin:0 0 12px; }
1994
+ .dashboard .box-reviews .box-head h2 { font-size:12px; font-weight:bold; line-height:1.35; color:#444; }
1995
+ .dashboard .box-reviews .number { display:none; float:left; font-size:10px; font-weight:bold; line-height:1; color:#fff; margin:3px -20px 0 0; padding:2px 3px; background:#0a263c; }
1996
+ .dashboard .box-reviews .details { padding:0 10px; }
1997
+ .dashboard .box-reviews li.item { margin:0 0 7px; }
1998
+ .dashboard .box-reviews li.item.last { margin:0; }
1999
+ .dashboard .box-reviews .ratings { margin:7px 0 0; }
2000
+
2001
+ /* Block: Tags */
2002
+ .dashboard .box-tags .box-head { background:#f1f1f1; padding:2px 10px; margin:0 0 12px; }
2003
+ .dashboard .box-tags .box-head h2 { font-size:12px; font-weight:bold; line-height:1.35; color:#444; }
2004
+ .dashboard .box-tags .number { display:none; float:left; font-size:10px; font-weight:bold; line-height:1; color:#fff; margin:3px -20px 0 0; padding:2px 3px; background:#0a263c; }
2005
+ .dashboard .box-tags .details { padding:0 10px; }
2006
+ .dashboard .box-tags li.item { margin:0 0 7px; }
2007
+ .dashboard .box-tags li.item.last { margin:0; }
2008
+ .dashboard .box-tags .tags strong,
2009
+ .dashboard .box-tags .tags ul,
2010
+ .dashboard .box-tags .tags ul li { display:inline; }
2011
+ /********** Dashboard > */
2012
+
2013
+ /* Address Book */
2014
+ .addresses-list h2 { background:#f1f1f1; padding:2px 10px; margin:0 0 12px; font-size:13px; font-weight:bold; line-height:1.25; }
2015
+ .addresses-list h3 { font-weight:bold; font-size:12px; }
2016
+ .addresses-list address { margin:0 0 3px; }
2017
+ .addresses-list p { margin:9px 0; }
2018
+ .addresses-list a { font-weight:bold; }
2019
+ .addresses-list .link-remove {}
2020
+ .addresses-list .separator { margin:0 3px; }
2021
+ .addresses-list li.item { padding:0 10px; margin:0 0 12px; }
2022
+ .addresses-list li.empty {}
2023
+ .addresses-list li.empty p { font-weight:bold; }
2024
+ .addresses-list .addresses-additional li.item {}
2025
+
2026
+ /* Order View */
2027
+ .order-info dt { display:none; }
2028
+ .order-info ul { margin-bottom:15px; border-bottom:1px solid #666; background:#f2f2f2 url(../images/bkg_tabs.gif) 0 100% repeat-x; }
2029
+ .order-info li{ float:left; border-right:1px solid #a4a4a4; border-left:1px solid #fff; font-size:1.1em; line-height:1em; }
2030
+ .order-info li.first { border-left:0; }
2031
+ .order-info li.last { border-right:0; }
2032
+ .order-info li a { display:block; padding:6px 15px; color:#444; }
2033
+ .order-info li a:hover { background-color:#ddd; text-decoration:none; color:#444; }
2034
+ .order-info li.current { background-color:#666; font-weight:bold; padding:6px 15px; color:#fff; }
2035
+
2036
+ .order-date { margin:10px 0; }
2037
+
2038
+ .order-info-box { margin:0 0 15px; }
2039
+ .order-info-box h2 { font-size:13px; font-weight:bold; border-bottom:1px solid #ddd; margin:0 0 8px; }
2040
+ .order-info-box .box-payment p { margin:9px 0; }
2041
+ .order-info-box .box-payment th { font-weight:bold; padding-right:7px; }
2042
+
2043
+ .order-items { width:100%; overflow-x:auto; }
2044
+ .order-items h2,
2045
+ .order-items h3 { clear:none; font-weight:bold; font-size:13px; padding:0; margin:0 0 .45em; }
2046
+ .order-items h3 { font-size:12px; }
2047
+ .order-items .product-name { font-weight:bold !important; }
2048
+ .order-items .link-print { font-size:10px; text-transform:uppercase; }
2049
+ .order-items .order-links { text-align:right; }
2050
+ .order-items .order-links .link-print { font-weight:bold; font-size:11px; text-transform:none; }
2051
+
2052
+ .order-additional { margin:15px 0; }
2053
+ /* Order Gift Message */
2054
+ .gift-message dt strong { color:#555; }
2055
+ .gift-message dd { font-size:13px; margin:5px 0 0; }
2056
+ /* Order Comments */
2057
+ .order-about dt { font-weight:bold; }
2058
+ .order-about dd { font-size:13px; margin:0 0 7px; }
2059
+
2060
+ .tracking-table { margin:0 0 15px; }
2061
+ .tracking-table th { font-weight:bold; white-space:nowrap; }
2062
+
2063
+ .tracking-table-popup { width:100%; }
2064
+ .tracking-table-popup th { font-weight:bold; white-space:nowrap; }
2065
+ .tracking-table-popup th,
2066
+ .tracking-table-popup td { padding:1px 8px; }
2067
+
2068
+ /* Order Print Pages */
2069
+ .page-print .print-head { margin:0 0 15px; }
2070
+ .page-print .print-head .logo { float:left; }
2071
+ .page-print .print-head address { float:left; margin-left:15px; }
2072
+ .page-print h1 { font-size:15px; font-weight:bold; font-family: colaborateregular, helvetica, arial, sans-serif; }
2073
+ .page-print h2,
2074
+ .page-print h3 { font-size:12px; font-weight:bold; }
2075
+ .page-print h2.h2 { font-size:15px; font-weight:bold; text-align:right; }
2076
+ .page-print .order-date { border-bottom:1px solid #ccc; padding:0 0 10px; margin:0 0 10px; }
2077
+ .page-print .col2-set { margin:0 0 10px; }
2078
+ /* Price Rewrites */
2079
+ .page-print .gift-message-link { display:none; }
2080
+ .page-print .price-excl-tax,
2081
+ .page-print .price-incl-tax { display:block; white-space:nowrap; }
2082
+ .page-print .cart-price,
2083
+ .page-print .price-excl-tax .label,
2084
+ .page-print .price-incl-tax .label,
2085
+ .page-print .price-excl-tax .price,
2086
+ .page-print .price-incl-tax .price { display:inline; }
2087
+
2088
+ /* My Wishlist */
2089
+ .my-wishlist .data-table td { padding:10px; }
2090
+ .my-wishlist .product-image { display:block; width:113px; height:113px; margin:0 0 5px; }
2091
+ .my-wishlist textarea { display:block; width:90%; height:109px; }
2092
+ .my-wishlist .buttons-set { border:1px solid ##F2F2F2; padding:9px; margin:18px 0; box-shadow: 0 0 7px 5px #F2F2F2 inset; width: 90%; float: left; }
2093
+ .my-wishlist .buttons-set button.button { float:none; }
2094
+ .my-wishlist .buttons-set .btn-add span,
2095
+ .my-wishlist .buttons-set .btn-share span {}
2096
+ #wishlist-table .add-to-links { white-space:nowrap; }
2097
+
2098
+ /* My Tags */
2099
+ .my-tag-edit { float:left; margin:0 0 10px; }
2100
+ .my-tag-edit .btn-remove { float:right; margin:4px 0 0 5px; }
2101
+ #my-tags-table { clear:both; }
2102
+ #my-tags-table td { padding:10px; }
2103
+ #my-tags-table .add-to-links { white-space:nowrap; }
2104
+
2105
+ /* My Reviews */
2106
+ #my-reviews-table td { padding:10px; }
2107
+ #my-reviews-table .rating-box { margin:3px 0 0; }
2108
+
2109
+ .product-review .product-img-box { float:left; width:140px; }
2110
+ .product-review .product-img-box .product-image { display:block; width:125px; height:125px; }
2111
+ .product-review .product-img-box .label { font-size:11px; margin:0 0 3px; }
2112
+ .product-review .product-img-box .ratings .rating-box { float:none; display:block; margin:0 0 3px; }
2113
+ .product-review .product-details { margin-left:150px; }
2114
+ .product-review .product-name { font-size:16px; font-weight:bold; margin:0 0 10px; }
2115
+ .product-review h3 { font-size:12px; margin:0 0 3px; color:#2f2f2f; }
2116
+ .product-review .ratings-table { margin:0 0 10px; }
2117
+ .product-review dt { font-weight:bold; }
2118
+ .product-review dd { font-size:13px; margin:5px 0 0; }
2119
+
2120
+ /* Billing Agreements */
2121
+ .billing-agreements .info-box{ margin:15px 0; }
2122
+ .billing-agreements .info-box p { margin:9px 0; }
2123
+ .billing-agreements .form-list li select { float:left; margin:3px 10px 0 0; }
2124
+ .billing-agreements .table-caption { font-weight:bold; font-size:13px; }
2125
+ /* ======================================================================================= */
2126
+
2127
+
2128
+ /* MAP Popup============================================================================== */
2129
+ .cart-msrp-totals { color:red; font-size:12px !important; font-weight:bold; padding:40px 0 10px; text-align:right; text-transform:uppercase;}
2130
+ .map-cart-sidebar-total { background:#f6f6f6; color:red; display:block; font-size:10px; line-height:14px; font-weight:bold; padding:5px; text-shadow:0 1px 0 #fff; box-shadow:0 0 3px #ccc; border-radius:5px; }
2131
+
2132
+ .map-popup { background:#fff; border:1px solid #aaa; margin:12px 0 0; position:absolute; -moz-box-shadow:0 0 6px #ccc; -webkit-box-shadow:0 0 6px #ccc; box-shadow:0 0 6px #ccc; text-align:left; width:300px; z-index:100; }
2133
+ .map-popup-heading { background:#efefef ; border-bottom:1px solid #ccc; padding:5px 30px 5px 10px; width:260px; }
2134
+ .map-popup-heading h2 { font-size:16px; margin:0; text-shadow:0 1px 0 #f6f6f6; overflow:hidden; white-space:nowrap; word-wrap:break-word; text-align:left; text-overflow:ellipsis; }
2135
+ .map-popup-arrow { background:url(../images/map_popup_arrow.gif) no-repeat; position:absolute; left:50%; top:-10px; height:10px; width:19px; }
2136
+ .map-popup-close { background:url(../images/btn_window_close.gif) no-repeat; display:block; position:absolute; top:9px; right:10px; height:15px; width:15px; text-indent:-9999em; }
2137
+ .map-popup-content { border-top:1px solid #eee; padding:10px; overflow:hidden; text-align:left; width:280px; }
2138
+ .map-popup-checkout { display:inline; float:right; text-align:right; }
2139
+ .map-popup-checkout span { display:block; padding-right:30px; }
2140
+ .map-popup-checkout .paypal-logo { margin:0 0 5px; }
2141
+ .map-popup-price .price-box,
2142
+ .map-popup-price .price-box .special-price { margin:0; padding:0; }
2143
+ .map-popup-price { margin:5px 0 0; }
2144
+ .map-popup-text { clear:right; margin:0 10px; padding:10px 0; text-align:left; word-wrap:break-word; }
2145
+ .map-popup-only-text { border-top:1px solid #ddd; }
2146
+ /* ======================================================================================= */
2147
+
2148
+
2149
+ /* Footer ================================================================================ */
2150
+ .footer-container {}
2151
+ .footer ul.links {
2152
+ clear: both;
2153
+ float: none;
2154
+ list-style-type: none;
2155
+ background:#000;
2156
+ padding:10px;
2157
+ /*border-radius:10px 10px 0 0;
2158
+ -moz-border-radius:10px 10px 0 0;
2159
+ -webkit-border-radius:10px 10px 0 0;*/
2160
+ display:inline-block;
2161
+ width:98%;
2162
+ }
2163
+ .footer ul.links li {
2164
+ float: left;
2165
+ padding:10px 5px;
2166
+ }
2167
+ .footer {}
2168
+ .footer a { color:#444; }
2169
+ .footer strong { color:#444; text-transform: uppercase; letter-spacing: 0.1em; }
2170
+
2171
+ .footer-right { float: right; width: 520px; }
2172
+ .footer-left { float: left; margin-right: 20px; padding-right: 60px; width: 340px;}
2173
+
2174
+ .footer .newsletter-footer {}
2175
+ .footer .social { float: left; padding-bottom: 18px; }
2176
+ .footer .social li { display: inline; margin-right: 20px; }
2177
+
2178
+ .footer .help, .footer .search, .footer .store-options { float: left; width: 160px; margin-right: 20px; }
2179
+ .footer .store-options { }
2180
+ .footer .help { }
2181
+ .footer .search { margin-right: 0; }
2182
+
2183
+ .footer ul {}
2184
+ .footer li {list-style-position:inside;color:#b1b1b1;}
2185
+ .footer .links li.last { }
2186
+ .footer .bugs { margin:0; color:#666; }
2187
+ .footer .bugs a { font-weight:bold; color:#444; }
2188
+ .footer address { clear: both; color:#b1b1b1; padding:10px;}
2189
+ .footer address a { color:#444; }
2190
+ .store-switcher {float:right;display:inline-block;margin-top:-42px;position:relative;margin-right:10px;}
2191
+ .footer .form-subscribe-header { text-transform: capitalize; margin: 9px 0; }
2192
+ .footer .form-subscribe { margin-bottom: 18px;}
2193
+ .footer .form-subscribe label,
2194
+ .footer .form-subscribe .input-box,
2195
+ .footer .form-subscribe button.button { float:left; }
2196
+ .footer .form-subscribe label { position: absolute; overflow: hidden; clip: rect(0 0 0 0); height: 1px; width: 1px; margin: -1px; padding: 0; border: 0; }
2197
+ .footer .form-subscribe .input-box { }
2198
+ .footer .form-subscribe input.input-text { width:196px; background: #f7f7f7; border-top: 1px solid #cbcaca; }
2199
+ .footer .form-subscribe button.button { width: 120px; }
2200
+
2201
+ .footer .footer-callout { }
2202
+
2203
+ .footer .show-on-phones { }
2204
+ .footer .store-options{ color:#555; }
2205
+ .footer .store-options label { font-weight:bold; display: block; }
2206
+ .footer .store-options select { padding:0; vertical-align:middle; }
2207
+
2208
+ .footer-container .bottom-container { margin:0 0 8px; text-align:right; }
2209
+ /* ======================================================================================= */
2210
+
2211
+ /* Sample Data============================================================================ */
2212
+ .home-callout { margin-bottom:12px; }
2213
+ .home-callout img { display:block }
2214
+ /*.home-spot { float:left; width:470px; margin-left:20px; }*/
2215
+ .best-selling h3 { margin:12px 0 6px 0; color:#e25203; font-size:1.2em; }
2216
+ .best-selling table { border-top:1px solid #ccc; }
2217
+ .best-selling tr.odd { background:#eee url(../images/best_selling_tr_odd_bg.gif) 0 100% repeat-x; }
2218
+ .best-selling tr.even { background:#fff url(../images/best_selling_tr_even_bg.gif) 0 100% repeat-x; }
2219
+ .best-selling td { width:50%; border-bottom:1px solid #ccc; padding:8px 10px 8px 8px; font-size:11px; }
2220
+ .best-selling .product-img { float:left; border:2px solid #dcdcdc; }
2221
+ .best-selling .product-description { margin-left:107px; line-height:1.3em; }
2222
+ .best-selling a.product-name,
2223
+ .home-spot .best-selling a.product-name:hover { color:#203548; }
2224
+ /* ======================================================================================= */
2225
+
2226
+
2227
+ /*
2228
+ * jQuery FlexSlider v1.4
2229
+ * http://flex.madebymufffin.com
2230
+ *
2231
+ * Copyright 2011, Tyler Smith
2232
+ * Free to use under the MIT license.
2233
+ * http://www.opensource.org/licenses/mit-license.php
2234
+ */
2235
+
2236
+ /* FlexSlider Necessary Styles
2237
+ *********************************/
2238
+ .flexslider {width: 100%; margin: 0; padding: 0 0 3px;}
2239
+ .flexslider .slides li {display: none;} /* Hide the slides before the JS is loaded. Avoids image jumping */
2240
+ .flexslider .slides img {max-width: 100%; display: block;}
2241
+
2242
+
2243
+ /* FlexSlider Default Theme
2244
+ *********************************/
2245
+ .flexslider {background: #fff ; position: relative; }
2246
+ .flexslider .slides li {position: relative;}
2247
+ /* Suggested container for "Slide" animation setups. Can replace this with your own, if you wish */
2248
+ .flexslider-container {position: relative;margin-bottom:20px;}
2249
+
2250
+
2251
+ /* Caption style */
2252
+ .flex-caption {width: 96%; padding: 2%; position: absolute; left: 0; bottom: 0; background: url("../images/trans-03-16px.png") repeat; color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,.3); font-size: 15px; line-height: 18px;display:none;}
2253
+
2254
+ /* Direction Nav */
2255
+ .flex-direction-nav li a {width: 52px; height: 52px; margin: -13px 0 0; display: block; background: url(../images/slider/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; cursor: pointer; text-indent: -9999px;} /* set negative margin-top equal to half the height on the directional-nav for perfect vertical centering */
2256
+ .flex-direction-nav li a.next {background-position: -52px 0; right: -21px;}
2257
+ .flex-direction-nav li a.prev {background-position: 0 0; left: -21px;}
2258
+
2259
+ /* Control Nav */
2260
+ .flex-control-nav { position: absolute; bottom: 20px; right:5%;} /* set negative margin-left equal to half the width on the control-nav for perfect centering */
2261
+ .flex-control-nav li {margin: 0 0 0 5px; float: left;}
2262
+ .flex-control-nav li:first-child {margin: 0;}
2263
+ .flex-control-nav li a {width: 13px; height: 13px; display: block; background: url(../images/slider/bg_control_nav.png) no-repeat 0 0; cursor: pointer; text-indent: -9999px;}
2264
+ .flex-control-nav li a:hover {background-position: 0 -13px;}
2265
+ .flex-control-nav li a.active {background-position: 0 -26px; cursor: default;}
2266
+
2267
+
2268
+ .header .top-promo1 {
2269
+ background: url("../images/bkg_top-promo1.gif") repeat scroll 0 0 transparent;
2270
+ float: right;
2271
+ height: 44px;
2272
+ margin: 0 0 0;
2273
+ overflow: hidden;
2274
+ width: 183px;
2275
+ }
2276
+ .header .top-promo {
2277
+ background: url("../images/bkg_top-promo.png") repeat scroll 0 0 transparent;
2278
+ float: right;
2279
+ height: 44px;
2280
+ margin: 0 5px 0;
2281
+ overflow: hidden;
2282
+ width: 203px;
2283
+ }
2284
+ .header .logo {
2285
+ float: left;
2286
+ margin-top: 15px;
2287
+ text-decoration: none !important;
2288
+ }
2289
+ .clear {
2290
+ clear:both;
2291
+ height:0;
2292
+ }
2293
+ /* Clears ================================================================================ */
2294
+ .clearer:after,
2295
+ .header-container:after,
2296
+ .header-container .top-container:after,
2297
+ .header:after,
2298
+ .top-bar:after,
2299
+ .quick-access:after,
2300
+ .form-search:after,
2301
+ #nav:after,
2302
+ .main:after,
2303
+ .footer:after,
2304
+ .footer .form-subscribe:after,
2305
+ .footer-container .bottom-container:after,
2306
+ .col-main:after,
2307
+ .col2-set:after,
2308
+ .col3-set:after,
2309
+ .col4-set:after,
2310
+ .search-autocomplete li:after,
2311
+ .block .block-content:after,
2312
+ .block .actions:after,
2313
+ .block li.item:after,
2314
+ .block-poll li:after,
2315
+ .block-layered-nav .currently li:after,
2316
+ .page-title:after,
2317
+ .products-grid:after,
2318
+ .products-list li.item:after,
2319
+ .box-account .box-head:after,
2320
+ .dashboard .box .box-title:after,
2321
+ .order-info ul:after,
2322
+ .box-reviews li.item:after,
2323
+ .box-tags li.item:after,
2324
+ .pager:after,
2325
+ .sorter:after,
2326
+ .ratings:after,
2327
+ .add-to-box:after,
2328
+ .add-to-cart:after,
2329
+ .product-essential:after,
2330
+ .product-collateral:after,
2331
+ .product-tabs:after,
2332
+ .product-view .product-img-box .more-views ul:after,
2333
+ .product-view .box-tags .form-add:after,
2334
+ .product-view .product-shop .short-description:after,
2335
+ .product-view .box-description:after,
2336
+ .product-options .options-list li:after,
2337
+ .product-options-bottom:after,
2338
+ .product-review:after,
2339
+ .cart:after,
2340
+ .cart-collaterals:after,
2341
+ .cart .crosssell li.item:after,
2342
+ .opc .step-title:after,
2343
+ .checkout-progress:after,
2344
+ .multiple-checkout .place-order:after,
2345
+ .group-select li:after,
2346
+ .form-list li:after,
2347
+ .form-list .field:after,
2348
+ .buttons-set:after,
2349
+ .page-print .print-head:after,
2350
+ .advanced-search-summary:after,
2351
+ .gift-messages-form .item:after,
2352
+ .send-friend .form-list li p:after,
2353
+ #checkout-step-login .col2-set .col-1:after,
2354
+ #checkout-step-login .col2-set .col-2:after { display:block; content:"."; clear:both; font-size:0; line-height:0; height:0; overflow:hidden; }
2355
+ /* ======================================================================================= */
2356
+ .cellitem .product-image {
2357
+ float:left;
2358
+ height: 113px;
2359
+ margin:0 10px 5px 0;
2360
+ width: 113px;
2361
+ }
2362
+ .cellitem {border-bottom:1px solid #ccc;display:inline-block;padding-bottom:10px;margin-bottom:10px;}
2363
+ .product-name {display:;}
2364
+ .cellitem .cart-cell {float:left;width:150px;}
2365
+ .cellitem .productdetailscell {float:left;width:350px;margin-right:10px;}
2366
+ .deletecell {float:left;}
2367
+ .headingcell {display:none;}
2368
+ .store-switcher label {color:#fff;}
2369
+ /* Tablet Layout: 768px.
2370
+ Gutters: 20px.
2371
+ Outer margins: 20px.
2372
+ Inherits styles from: Default Layout.
2373
+ -------------------------------------------------------------------------------
2374
+ cols 1 2 3 4 5 6 7 8 9 10 11 12
2375
+ px 40 100 160 220 280 340 400 460 520 580 640 700 */
2376
+
2377
+ @media only screen and (min-width: 768px) and (max-width: 959px) {
2378
+
2379
+ .page {
2380
+ }
2381
+ .row { margin:0 auto; width:740px;padding:0 14px 0 14px; overflow:hidden; }
2382
+ .row .row { margin:0 -14px 0 -14px; width:auto; display:inline-block; }
2383
+
2384
+ .grid_1 { width:36px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2385
+ .grid_2 { width:100px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2386
+ .grid_3 { width:185px; margin:0 0; overflow:hidden; float:left; display:inline; }
2387
+ .grid_4 { width:200px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2388
+ .grid_5 { width:292px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2389
+ .grid_6 { width:356px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2390
+ .grid_7 { width:420px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2391
+ .grid_8 { width:484px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2392
+ .grid_9 { width:548px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2393
+ .grid_10 { width:612px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2394
+ .grid_11 { width:676px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2395
+ .grid_12 { width:740px; margin:0 14px 0 14px; overflow:hidden; float:left; display:inline; }
2396
+
2397
+ .space_1 { margin-left:78px; }
2398
+ .space_2 { margin-left:142px; }
2399
+ .space_3 { margin-left:206px; }
2400
+ .space_4 { margin-left:270px; }
2401
+ .space_5 { margin-left:334px; }
2402
+ .space_6 { margin-left:398px; }
2403
+ .space_7 { margin-left:462px; }
2404
+ .space_8 { margin-left:526px; }
2405
+ .space_9 { margin-left:590px; }
2406
+ .space_10 { margin-left:654px; }
2407
+ .space_11 { margin-left:718px; }
2408
+ .checkout-onepage-index .sidebar {display:none;}
2409
+ .col2-left-layout .col-main { width: 545px; }
2410
+ .col2-left-layout .col-left { width: 160px; float: left; }
2411
+ .checkout-onepage-index .col2-left-layout .col-left { width: 160px; float: left; margin-left: 20px; }
2412
+ .col2-right-layout .col-main { width: 520px; }
2413
+ .col2-right-layout .col-right { float: right; width: 160px; }
2414
+ .show-on-phones{
2415
+ display: inline-block;
2416
+ float: left;
2417
+ margin: 0 10px 0 0 !important; }
2418
+ .pro_topadst {min-height:275px;}
2419
+ .add-to-links .separator {display:none;}
2420
+ .add-to-links li {margin:9px 0 0 0;}
2421
+ .products-grid li.item { }
2422
+ .sorter .view-mode { display: visible; float: left; margin: 0; }
2423
+
2424
+ .cart div.discount, .cart div.shipping { width: 220px; }
2425
+ .cart .totals { width: 220px;}
2426
+ .cart .crosssell li.item { width: 335px; }
2427
+
2428
+ .col1-layout .product-view .product-img-box { width: 340px; }
2429
+ .col1-layout .product-view .product-shop { width: 340px; }
2430
+
2431
+ .product-view .product-shop .add-to-links li { display: block; }
2432
+
2433
+ .cms-home ul.product-tabs { clear: both; }
2434
+ .cms-home .home-tabs .tabs-title strong { font-size: 26px; line-height: 1.38415385; float: none; }
2435
+ .cms-home .product-tabs li { float: none; border-right: none; border-bottom: 1px solid #ccc; }
2436
+ .cms-home .product-tabs li.first a { border: 0; border-radius: 0; }
2437
+ .cms-home .product-tabs li.last a { border: 1px 0; }
2438
+ .cms-home .product-tabs a { border-width: 1px 0; }
2439
+ .cms-home .product-tabs li.active a { border: 1px 0; border-radius: 0; color: #fff; background: #444; text-align: left; }
2440
+
2441
+ .col2-left-layout .product-tabs li, .col2-right-layout .product-tabs li { float: none; border-right: none; border-bottom: 1px solid #ccc; }
2442
+ .col2-left-layout .product-tabs li.first a, .col2-right-layout .product-tabs li.first a, { border: 0; border-radius: 0; }
2443
+ .col2-left-layout .product-tabs li.last a, .col2-right-layout .product-tabs li.last a { border: 1px 0; }
2444
+ .col2-left-layout .product-tabs a, .col2-right-layout .product-tabs a { border-width: 1px 0; }
2445
+ .col2-left-layout .product-tabs li.active a, .col2-left-layout .product-tabs li.active a:hover, .col2-right-layout .product-tabs li.active a,
2446
+ .col2-right-layout .product-tabs li.active a:hover { border: 1px 0; border-radius: 0; color: #fff; background: #444; }
2447
+
2448
+
2449
+ .block-progress dt { font-size: 10px; line-height: 1.8; }
2450
+
2451
+ .footer-left { width: 220px; padding: 0; }
2452
+ .footer-right { width: 400px; }
2453
+ .footer .help, .footer .search, .footer .store-options { width: 120px;}
2454
+ .footer .form-subscribe input.input-text { width: 100%; }
2455
+ .footer .form-subscribe label, .footer .form-subscribe .input-box, .footer .form-subscribe button.button { float: none; display: block; }
2456
+ .footer .form-subscribe button.button { margin-top: 9px; color: #fff; }
2457
+ .form-language {float:none !important;position:relative;top:10px;}
2458
+ .products-grid li.item {width:140px}
2459
+ .cart .discount .discount-form, .cart .shipping .shipping-form {width:210px;}
2460
+ .cart .totals { width:235px !important;}
2461
+
2462
+ }
2463
+
2464
+
2465
+
2466
+ /* Mobile Layout: 320px.
2467
+ Gutters: 20px.
2468
+ Outer margins: 20px.
2469
+ Inherits styles from: Default Layout.
2470
+ -------------------------------------------------------------------------------
2471
+ cols 1 2 3 4 5
2472
+ px 40 100 160 220 280 */
2473
+
2474
+ @media only screen and (max-width: 767px) {
2475
+
2476
+ .page { background:#fff;
2477
+
2478
+ }
2479
+ .row { margin:0 auto; width:300px; overflow:hidden; }
2480
+ .row .row { margin:0; width:auto; display:inline-block; }
2481
+
2482
+ .grid_1,
2483
+ .grid_2,
2484
+ .grid_3,
2485
+ .grid_4,
2486
+ .grid_5,
2487
+ .grid_6,
2488
+ .grid_7,
2489
+ .grid_8,
2490
+ .grid_9,
2491
+ .grid_10,
2492
+ .grid_11,
2493
+ .grid_12 { width:300px; margin:10px 0 0 0; overflow:hidden; float:left; display:inline; }
2494
+
2495
+ .space_1,
2496
+ .space_2,
2497
+ .space_3,
2498
+ .space_4,
2499
+ .space_5,
2500
+ .space_6,
2501
+ .space_7,
2502
+ .space_8,
2503
+ .space_9,
2504
+ .space_10,
2505
+ .space_11, { margin-left:0; }
2506
+ .col2-left-layout .col-left, .col2-left-layout .col-main { float: none !important; width: 100% !important; }
2507
+ .col2-right-layout .col-right, .col2-right-layout .col-main { float: none !important; width: 100% !important; margin-left: 0; }
2508
+ .col1-layout .col-main { float: none !important; width: 100% !important; }
2509
+ .form-search {float:left;}
2510
+ .top-promo1, .top-promo { }
2511
+ .quick-access {float:left;}
2512
+ .header .logo {float:none;margin-bottom:20px;display:inline-block;}
2513
+ ul.products-grid {text-align:center;}
2514
+ .products-grid li.item {margin-left:0;}
2515
+ .ratings {width:150px;float:left;}
2516
+ .add-to-links {display:inline-block;text-align:center;}
2517
+ .sorter .sort-by {float:none;}
2518
+ .top-bar .breadcrumbs {padding:0;}
2519
+ .cart-table .a-center, .cart-table .a-right {display:none;}
2520
+ .a-center.removeitem {display:block !important}
2521
+ .checkout-progress {padding:0;}
2522
+ .checkout-progress li {float:none;width:100%;}
2523
+ #checkout-review-submit .button {margin-top:27px;margin-left:20px;}
2524
+ .form-language label, .store-switcher label {display:none;}
2525
+ .header .top-promo1 {float:left;}
2526
+ /* form elements */
2527
+
2528
+ .form-list, .input-box select { width:96%; }
2529
+ .form-list li, .form-list li .field { width:100%; margin-right:0; }
2530
+ .form-list li .field + .field { margin-top:10px; }
2531
+ .form-list li.street-address .input-box input.input-text { width:92%; }
2532
+ .form-list li.select-address { width:100%; }
2533
+
2534
+ .form-guest { width: 100%; }
2535
+
2536
+ .buttons-set button { float:none; }
2537
+ .buttons-set a { display:block; }
2538
+ .cellitem .productdetailscell {width:280px;}
2539
+ .my-wishlist .buttons-set button.button {margin-bottom:15px;}
2540
+ #multiship-addresses-table select {width:75px;}
2541
+
2542
+ /********************/
2543
+
2544
+
2545
+ .col2-set .col-2, .col2-set .col-1 { float: none !important; width: 100% !important;}
2546
+
2547
+ .header { margin: 0; }
2548
+
2549
+ .quick-access .show-on-phones { }
2550
+ .quick-access { margin: 0; }
2551
+ .quick-access .links, .quick-access .links li { float: none; margin: 0 2px;}
2552
+ .quick-access .links { padding: 9px 0; display: inline-block; text-align: center; width: 100%; padding:0;}
2553
+ .quick-access .links li { }
2554
+ .quick-access .links a { }
2555
+ .quick-access .links li.last a { }
2556
+
2557
+
2558
+ .form-search { display: inline-block; position: static; margin: 18px 0; }
2559
+
2560
+ .nav-container { height: auto; margin: 0; }
2561
+ #nav ul ul, #nav ul div { display: none; }
2562
+
2563
+ .products-grid li.item { width: 240px; }
2564
+ .sorter .view-mode { display: none; float: left; margin: 0; }
2565
+ .product-view .product-shop { clear: both; width: 100%; }
2566
+
2567
+ .block { border: 1px solid #ccc;}
2568
+
2569
+ .sorter .sort-by, .sorter .limiter { margin: 3px 0; }
2570
+ .sorter .sort-by { }
2571
+ .pager .pages { }
2572
+ .pager .limiter { display: none; float: right; }
2573
+
2574
+ .col1-layout .product-view .product-img-box { width: 240px; margin:0 7%;}
2575
+ .col1-layout .product-view .product-shop { clear: both; float: left; width: 100%; }
2576
+ .products-list .product-shop { margin-left: 0; }
2577
+ .product-view .product-shop { clear: both; margin-top: 20px; float: none; }
2578
+ .product-view .box-tags .form-add .input-box { width: 100%; }
2579
+
2580
+ .cart-table .btn-continue { float: left; margin-bottom: 18px; }
2581
+ .cart-table .btn-update { float: right; }
2582
+ .cart div.discount, .cart div.shipping { float: none; }
2583
+ .cart .totals { width: 100%; clear: both; }
2584
+
2585
+ .opc .step-title h2 { font-size: 12px; font-family: Tahoma, Helvetica, Arial, sans-serif; }
2586
+ .opc .step-title .number { top: 18px; }
2587
+ .checkout-onepage-index .col-left { display: none; }
2588
+ .checkout-onepage-index .col2-set .col-1 { float: none; width: 100%; }
2589
+ .checkout-onepage-index .col2-set .col-2 { float: none; width: 100%; margin-top: 20px; }
2590
+ .opc .step { border: none; padding: 15px 0; }
2591
+
2592
+
2593
+ .product-view .product-shop .add-to-links li { display: block; }
2594
+
2595
+
2596
+ .cms-home ul.product-tabs { clear: both; }
2597
+ .cms-home .home-tabs .tabs-title strong { font-size: 26px; line-height: 1.38415385; float: none; }
2598
+
2599
+ .products-grid li.item { position: relative; width: 240px; }
2600
+
2601
+ .add-to-cart label { margin-right: 0; }
2602
+ .add-to-cart button.button { }
2603
+
2604
+ .product-tabs li { float: none; border-right: none; border-bottom: 1px solid #ccc; }
2605
+ .product-tabs li.first a { border: 0; border-radius: 0; }
2606
+ .product-tabs li.last a { border: 1px 0; }
2607
+ .product-tabs a { border-width: 1px 0; }
2608
+ .product-tabs li.active a, .product-tabs li.active a:hover { border: 1px 0; border-radius: 0; color: #fff; background: #444; }
2609
+
2610
+ .product-options ul.options-list li { border: 1px solid #CCCCCC; margin: 9px 0; padding: 8px 5px; text-align: center; }
2611
+ .product-options ul.options-list .label { margin-left: 0; }
2612
+
2613
+ .flex-direction-nav li a { display: none; }
2614
+
2615
+ .footer-left, .footer-right { float: none; width: 100%; }
2616
+ .footer-right { clear: both; }
2617
+ .footer .show-on-phones { display: block; }
2618
+ .footer .help, .footer .search, .footer .store-switch { width: 150px;}
2619
+ .footer .form-subscribe input.input-text { width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
2620
+ .footer .form-subscribe label, .footer .form-subscribe .input-box, .footer .form-subscribe button.button { float: none; display: block; }
2621
+ .footer .form-subscribe button.button { margin-top: 9px; text-shadow: 1px 1px #444; }
2622
+
2623
+ .page-sitemap .links { margin: 18px 0; text-align: left; }
2624
+ .nav-container {background:none;}
2625
+
2626
+ }
2627
+
2628
+
2629
+
2630
+ /* Wide Mobile Layout: 480px.
2631
+ Gutters: 20px.
2632
+ Outer margins: 20px.
2633
+ Inherits styles from: Default Layout, Mobile Layout.
2634
+ -------------------------------------------------------------------------------
2635
+ cols 1 2 3 4 5 6
2636
+ px 40 100 160 220 280 340 */
2637
+
2638
+ @media only screen and (min-width: 480px) and (max-width: 767px) {
2639
+
2640
+ .page{ background:#fff;
2641
+
2642
+ }
2643
+ .row { margin:0 auto; width:456px; overflow:hidden; }
2644
+ .row .row { margin:0; width:auto; display:inline-block; }
2645
+
2646
+ .grid_1,
2647
+ .grid_2,
2648
+ .grid_3,
2649
+ .grid_4,
2650
+ .grid_5,
2651
+ .grid_6,
2652
+ .grid_7,
2653
+ .grid_8,
2654
+ .grid_9,
2655
+ .grid_10,
2656
+ .grid_11,
2657
+ .grid_12 { width:456px; margin:10px 0 0 0; overflow:hidden; float:left; display:inline; }
2658
+ /* form elements */
2659
+ .f-gray .grid_3 {width:228px;}
2660
+ .input-box select { width:97%; }
2661
+ .form-list li.wide { width:100%; }
2662
+
2663
+ .buttons-set button { float:left; }
2664
+ .buttons-set a { display:inline; }
2665
+
2666
+ /************/
2667
+ .form-search input.input-text {width:350px;}
2668
+ .sorter .sort-by, .sorter .limiter { float: right; }
2669
+
2670
+ .products-grid li.item { position: relative; width: 157px; }
2671
+
2672
+ .sorter .view-mode { display: visible; float: left; margin: 0; }
2673
+
2674
+ .col1-layout .product-view .product-img-box { width: 340px; margin:0 10%;}
2675
+
2676
+ .products-list .product-shop { margin-left: 185px; }
2677
+
2678
+ .add-to-cart button.button { float: none;}
2679
+
2680
+ .product-tabs a { border-style: none; }
2681
+ .nav-container {background:none;}
2682
+ .products-grid li.item {margin:10px;}
2683
+ .add-to-links li a {font-size:10px;}
2684
+ }
2685
+
2686
+ /********* END MEDIA QUERIES ************************************/
2687
+
2688
+ /******************** IE FIXES ************************************************/
2689
+
2690
+ /* IE 6 only */
2691
+ .lt-ie7 .validation-advice { height:13px; }
2692
+ .lt-ie7 .main { height:350px; }
2693
+ .lt-ie7 .account-login .content { height:200px; }
2694
+ .lt-ie7 .block li.item,
2695
+ .lt-ie7 .block-poll li,
2696
+ .lt-ie7 .opc li.section { vertical-align:top; }
2697
+
2698
+ .lt-ie7 button.button span { background-image:url(../images/bkg_btn.gif); }
2699
+ .lt-ie7 .form-search button.button span,
2700
+ .lt-ie7 .block button.button span,
2701
+ .lt-ie7 .product-view .box-tags .form-add button.button span,
2702
+ .lt-ie7 .footer .form-subscribe button.button span { background-image:url(../images/bkg_btn-small.gif); }
2703
+ .lt-ie7 .window-overlay { background:#ccc; filter:alpha(opacity=50); }
2704
+
2705
+ /* Doubled Margin Fixes */
2706
+ .lt-ie8 .product-view .product-img-box .more-views li,
2707
+ .lt-ie8 .product-view .box-tags .form-add .input-box,
2708
+ .lt-ie8 .sp-methods select.month,
2709
+ .lt-ie8 .footer .form-subscribe .input-box { display:inline; }
2710
+
2711
+ /* Forms */
2712
+ .lt-ie9 .input-box input.input-text { line-height: 34px; }
2713
+ .lt-ie8 .button { padding: 7px 10px 7px; }
2714
+ .lt-ie8 .footer .form-subscribe button.button { position: relative; top: 1px; }
2715
+
2716
+ .input-box input.input-text
2717
+
2718
+ /********** < Navigation styles */
2719
+ .lt-ie8 .header, .lt-ie8 .nav-container { z-index: 1; }
2720
+ .lt-ie8 #nav ul, .lt-ie8 #nav div { z-index: 1000; }
2721
+ .lt-ie8 #nav li a { zoom:1; }
2722
+ .lt-ie8 #nav li { vertical-align:top; }
2723
+ /********** < Navigation styles */
2724
+
2725
+
2726
+ .lt-ie8 .remember-me-popup .remember-me-popup-body a span, .lt-ie8 .truncated a.details, .lt-ie8 .cart .crosssell li.item, .lt-ie8 .product-options dd .time-picker, .lt-ie8 #nav, .lt-ie8 .form-list li.fields, .lt-ie8 .form-list li.wide, .lt-ie8 .form-list li , .lt-ie8 .form-search, .lt-ie8 .cart .crosssell li.item, .lt-ie8 #nav, .lt-ie8 .products-grid li.item, .lt-ie8 .mini-products-grid td { display: inline-block; zoom: 1; *display: inline; }
2727
+
2728
+ .lt-ie8 table { scrollbar-face-color:expression(runtimeStyle.scrollbarFaceColor = '#fff', cellSpacing = 0); }
2729
+
2730
+ .lt-ie8 .product-view .product-img-box .zoom.disabled { filter:alpha(opacity=30); }
2731
+
2732
+ .lt-ie8 .gift-messages-form { position:relative; zoom:1; }
2733
+
2734
+ .lt-ie8 .tool-tip .btn-close a { margin:0; }
2735
+
2736
+ .lt-ie8 .product-view .box-tags .product-tags li { padding:0 4px 0 7px; }
2737
+ .lt-ie8 .footer li { padding-right:2px; margin-right:6px; }
2738
+
2739
+ .lt-ie8 .product-options dd .time-picker select { margin:0; padding:0; position:relative; top:-1px; }
2740
+
2741
+ /* Clearer */
2742
+ .lt-ie8 .clearer { display:block; clear:both; font-size:0; line-height:0; height:0; overflow:hidden; }
2743
+
2744
+ /* Clears and hasLayout fixes */
2745
+ .lt-ie8 .header-container,
2746
+ .lt-ie8 .header-container .top-container,
2747
+ .lt-ie8 .header,
2748
+ .lt-ie8 .top-bar,
2749
+ .lt-ie8 .quick-access,
2750
+ .lt-ie8 .form-search,
2751
+ .lt-ie8 #nav,
2752
+ .lt-ie8 .main,
2753
+ .lt-ie8 .footer,
2754
+ .lt-ie8 .footer .form-subscribe,
2755
+ .lt-ie8 .footer-container .bottom-container,
2756
+ .lt-ie8 .col-main,
2757
+ .lt-ie8 .col2-set,
2758
+ .lt-ie8 .col3-set,
2759
+ .lt-ie8 .col4-set,
2760
+ .lt-ie8 .messages li,
2761
+ .lt-ie8 .search-autocomplete li,
2762
+ .lt-ie8 .block,
2763
+ .lt-ie8 .block .block-content,
2764
+ .lt-ie8 .block .actions,
2765
+ .lt-ie8 .block li.item,
2766
+ .lt-ie8 .block-poll li,
2767
+ .lt-ie8 .block-poll .label,
2768
+ .lt-ie8 .block-layered-nav .currently li,
2769
+ .lt-ie8 .block-account .block-content li a,
2770
+ .lt-ie8 .mini-products-list .product-details,
2771
+ .lt-ie8 .page-title,
2772
+ .lt-ie8 .rss-title h1,
2773
+ .lt-ie8 .products-grid,
2774
+ .lt-ie8 .products-list li.item,
2775
+ .lt-ie8 .box-account .box-head,
2776
+ .lt-ie8 .dashboard .box .box-title,
2777
+ .lt-ie8 .order-info ul,
2778
+ .lt-ie8 .box-reviews li.item,
2779
+ .lt-ie8 .box-tags li.item,
2780
+ .lt-ie8 .pager,
2781
+ .lt-ie8 .sorter,
2782
+ .lt-ie8 .ratings,
2783
+ .lt-ie8 .add-to-box,
2784
+ .lt-ie8 .add-to-cart,
2785
+ .lt-ie8 .product-essential,
2786
+ .lt-ie8 .product-collateral,
2787
+ .lt-ie8 .product-tabs,
2788
+ .lt-ie8 .product-view .product-img-box .more-views ul,
2789
+ .lt-ie8 .product-view .box-tags .form-add,
2790
+ .lt-ie8 .product-view .product-shop .short-description,
2791
+ .lt-ie8 .product-view .box-description,
2792
+ .lt-ie8 .product-options .options-list li,
2793
+ .lt-ie8 .product-options,
2794
+ .lt-ie8 .product-options-bottom,
2795
+ .lt-ie8 .truncated,
2796
+ .lt-ie8 .truncated .truncated_full_value,
2797
+ .lt-ie8 .product-review,
2798
+ .lt-ie8 .cart,
2799
+ .lt-ie8 .cart-collaterals,
2800
+ .lt-ie8 .cart .crosssell li.item,
2801
+ .lt-ie8 .cart .discount,
2802
+ .lt-ie8 .cart .discount .discount-form,
2803
+ .lt-ie8 .cart .shipping .shipping-form,
2804
+ .lt-ie8 .opc .step-title,
2805
+ .lt-ie8 .opc .step,
2806
+ .lt-ie8 .multiple-checkout,
2807
+ .lt-ie8 .sp-methods,
2808
+ .lt-ie8 .checkout-progress,
2809
+ .lt-ie8 .multiple-checkout .place-order,
2810
+ .lt-ie8 .form-list li,
2811
+ .lt-ie8 .form-list .field,
2812
+ .lt-ie8 .form-list .input-box,
2813
+ .lt-ie8 .group-select li,
2814
+ .lt-ie8 .buttons-set,
2815
+ .lt-ie8 .page-print .print-head,
2816
+ .lt-ie8 .cart-tax-total,
2817
+ .lt-ie8 .advanced-search-summary,
2818
+ .lt-ie8 .advanced-search-summary p,
2819
+ .lt-ie8 .gift-messages-form .item,
2820
+ .lt-ie8 .send-friend .form-list li p,
2821
+ .lt-ie8 .centinel .authentication { zoom:1; }
2822
+
2823
+ /* Hover Fix */
2824
+ .lt-ie8 iframe.hover-fix { position:absolute; left:-1px; top:-1px; z-index:-1; background:transparent; filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0); }
2825
+
2826
+ /***** End IE Fix ******************************/
2827
+
2828
+
2829
+ /* ==|== print styles =======================================================
2830
+ Print styles.
2831
+ Inlined to avoid required HTTP connection: h5bp.com/r
2832
+ ========================================================================== */
2833
+
2834
+ @media print {
2835
+ * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; } /* Black prints faster: h5bp.com/s */
2836
+ a, a:visited { text-decoration: underline; }
2837
+ a[href]:after { content: " (" attr(href) ")"; }
2838
+ abbr[title]:after { content: " (" attr(title) ")"; }
2839
+ .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
2840
+ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
2841
+ thead { display: table-header-group; } /* h5bp.com/t */
2842
+ tr, img { page-break-inside: avoid; }
2843
+ img { max-width: 100% !important; }
2844
+ @page { margin: 0.5cm; }
2845
+ p, h2, h3 { orphans: 3; widows: 3; }
2846
+ h2, h3 { page-break-after: avoid; }
2847
+
2848
+ /** Print styles from Modern Theme *******/
2849
+
2850
+ /* * { background:none !important; text-align:left !important; } */
2851
+ html { margin:0 !important; padding:0 !important; }
2852
+ body { background:#fff !important; font-size:9pt !important; padding:0 !important; margin:10px !important; }
2853
+ a { color:#2976c9 !important; }
2854
+ th,td { color:#2f2f2f !important; border-color:#ccc !important; }
2855
+
2856
+ .header-container,
2857
+ .nav-container,
2858
+ .footer-container,
2859
+ .pager,
2860
+ .toolbar,
2861
+ .actions,
2862
+ .buttons-set { display:none !important; }
2863
+
2864
+ .page-print .data-table .cart-tax-total { background-position:100% -54px; }
2865
+ .page-print .data-table .cart-tax-info { display:block !important; }
2866
+ }
skin/frontend/default/mobileshoppe/css/widgets.css ADDED
@@ -0,0 +1,90 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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_modern
22
+ * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
23
+ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
24
+ */
25
+
26
+ /* Widgets =============================================================================== */
27
+ .widget { display:inline; }
28
+ .widget .widget-title { clear:both; padding:15px 0 0; margin:0 0 7px; }
29
+ .widget .widget-title h2 { font-size:15px; font-weight:bold; color:#e25203; }
30
+
31
+ .widget .mini-products-images-list .product-image { display:block; width:76px; height:76px; border:1px solid #a9a9a9; margin:0 auto; }
32
+ .widget .mini-products-images-list li.item { float:left; width:77px; height:77px; border:0 !important; padding:5px 9px !important; }
33
+
34
+ /* Widget: Catalog New Proructs List */
35
+ .widget-new-products { display:block; }
36
+ .col-main .widget-new-products { margin:7px 0; }
37
+ .widget-new-products .products-grid .product-image,
38
+ .widget-new-products .products-list .product-image { width:85px; height:85px; }
39
+ .widget-new-products .products-list .product-shop { margin-left:100px; }
40
+
41
+ /* Widget: Recently Viewed Proructs */
42
+ .widget-viewed { display:block; }
43
+ .col-main .widget-viewed { margin:7px 0; }
44
+ .widget-viewed .products-grid .product-image,
45
+ .widget-viewed .products-list .product-image { width:85px; height:85px; }
46
+ .widget-viewed .products-list .product-shop { margin-left:100px; }
47
+
48
+ /* Widget: Recently Compared Proructs */
49
+ .widget-compared { display:block;}
50
+ .col-main .widget-compared { margin:7px 0; }
51
+ .widget-compared .products-grid .product-image,
52
+ .widget-compared .products-list .product-image { width:85px; height:85px; }
53
+ .widget-compared .products-list .product-shop { margin-left:100px; }
54
+
55
+ /* Widget: CMS Static Block */
56
+ .widget-static-block {}
57
+ .sidebar .widget-static-block { display:block; margin:0 0 15px; }
58
+
59
+ /* Widgets: Links Common Styles */
60
+ .top-container .widget a { padding:0 0 0 7px; }
61
+
62
+ .bottom-container .widget a { padding:0 3px; }
63
+
64
+ /* Widget: Catalog Product Link */
65
+ .widget-product-link-inline { display:inline; }
66
+
67
+ .col-main .widget-product-link { display:block; font-size:12px; text-align:right; margin:7px 0; }
68
+ .col-main .widget-product-link a { background:url(../images/widgets/i_widget-link.gif) 100% 3px no-repeat; padding-right:15px; }
69
+
70
+ .sidebar .widget-product-link { display:block; margin:0 0 15px; padding:0 10px; }
71
+ .sidebar .widget-product-link a { background:url(../images/widgets/i_widget-link.gif) 100% 3px no-repeat; padding:0 15px 0 0; }
72
+
73
+ /* Widget: Catalog Category Link */
74
+ .widget-category-link-inline { display:inline; }
75
+
76
+ .col-main .widget-category-link { display:block; font-size:12px; text-align:right; margin:7px 0; }
77
+ .col-main .widget-category-link a { background:url(../images/widgets/i_widget-link.gif) 100% 3px no-repeat; padding-right:15px; }
78
+
79
+ .sidebar .widget-category-link { display:block; margin:0 0 15px; padding:0 10px; }
80
+ .sidebar .widget-category-link a { background:url(../images/widgets/i_widget-link.gif) 100% 3px no-repeat; padding:0 15px 0 0; }
81
+
82
+ /* Widget: CMS Page Link */
83
+ .widget-cms-link-inline { display:inline; }
84
+
85
+ .col-main .widget-cms-link { display:block; font-size:12px; text-align:right; margin:7px 0; }
86
+ .col-main .widget-cms-link a { background:url(../images/widgets/i_widget-link.gif) 100% 3px no-repeat; padding-right:15px; }
87
+
88
+ .sidebar .widget-cms-link { display:block; margin:0 0 15px; padding:0 10px; }
89
+ .sidebar .widget-cms-link a { background:url(../images/widgets/i_widget-link.gif) 100% 3px no-repeat; padding:0 15px 0 0; }
90
+ /* ======================================================================================= */
skin/frontend/default/mobileshoppe/favicon.ico ADDED
Binary file
skin/frontend/default/mobileshoppe/images/Find-Us-twitter.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/Thumbs.db ADDED
Binary file
skin/frontend/default/mobileshoppe/images/_bg_footer_social_2.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/_logo.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/baseline18px.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_CARTbtn_L.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_CARTbtn_R.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_UL_bullet.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_btn_L.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_btn_R.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_footer.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_footer_UL_rightline.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_footer_social.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_footer_social_2.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_header.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_nav.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bg_search_btn.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_add-to.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_block-layered-title.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_body.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_btn-green.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_btn-small.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_btn-small.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_btn.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_btn.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_cart-totals.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_collapse-gm.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_collapse.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_grid.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_nav_parent.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_nav_top.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_pipe1.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_pipe2.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_pipe3.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_rating.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_subtotal.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_tabs.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_toolbar.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_top-promo.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_top-promo.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/bkg_top-promo1.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/border_dotted.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/btn-submit-me.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/btn_checkout.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/btn_edit.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/btn_remove.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/btn_trash.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/btn_window_close.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/calendar.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/catalog/product/placeholder/image.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/catalog/product/placeholder/small_image.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/catalog/product/placeholder/thumbnail.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/classic-loader.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/classic-map.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/clients_logo.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/cvv.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/down_arrow.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo1.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo2.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo3.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo4.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo5.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo6.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo7.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo8.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/f_logo9.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/fam_book_open.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/glyphicons-halflings-white.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/glyphicons-halflings.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/grid-cal.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_asc_arrow.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_availability_only.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_availability_only_arrow.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_desc_arrow.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_msg-error.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_msg-note.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_msg-success.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_notice.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_pager-next.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_pager-prev.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_print.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_rss-big.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/i_rss.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/left_arrow.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/linkdin.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/logo.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/logo.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/logo_email.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/logo_print.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/magnifier_handle.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/map_popup_arrow.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/media/callout1.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/media/footer_callout.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/media/fpo_no_crosssell.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/media/home_co_bottom.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/media/home_co_br.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/media/home_co_main.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/media/home_co_tr.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/media/left_col_callout.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/new_prod_1.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/new_prod_2.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/new_prod_3.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/new_prod_4.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/opc-ajax-loader.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/open_arrow.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/pager_arrow_left.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/pager_arrow_right.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/portfolio.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/portfolio2.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/portfolio3.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/portfolio4.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/right_arrow.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/search-icon.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/search_btn.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/signup_pic.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider/bg_control_nav.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider/bg_direction_nav.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider/body.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider/iphone.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider/mcpro.jpg ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider_bg.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider_btn_zoom_in.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider_btn_zoom_out.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider_img_1.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider_selector.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/slider_selector_current.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/spacer.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/special_pic.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/trans-03-16px.png ADDED
Binary file
skin/frontend/default/mobileshoppe/images/validation_advice_bg.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/images/widgets/i_widget-link.gif ADDED
Binary file
skin/frontend/default/mobileshoppe/js/accordion.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // JavaScript Document
2
+ ddaccordion.init({
3
+ headerclass: "expandable", //Shared CSS class name of headers group that are expandable
4
+ contentclass: "categoryitems", //Shared CSS class name of contents group
5
+ revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click", "clickgo", or "mouseover"
6
+ mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
7
+ collapseprev: true, //Collapse previous content (so only one open at any time)? true/false
8
+ defaultexpanded: [0], //index of content(s) open by default [index1, index2, etc]. [] denotes no content
9
+ onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
10
+ animatedefault: false, //Should contents open by default be animated into view?
11
+ persiststate: true, //persist state of opened contents within browser session?
12
+ toggleclass: ["", "openheader"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
13
+ togglehtml: ["prefix", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively ["position", "html1", "html2"] (see docs)
14
+ animatespeed: "fast", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
15
+ oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
16
+ //do nothing
17
+ },
18
+ onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
19
+ //do nothing
20
+ }
21
+ })
skin/frontend/default/mobileshoppe/js/ddaccordion.js ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //** Accordion Content script: By Dynamic Drive, at http://www.dynamicdrive.com
2
+ //** Created: Jan 7th, 08'. Last updated: June 7th, 2010 to v1.9
3
+
4
+ //Version 1.9: June 7th, 2010':
5
+ //**1) Ajax content support added, so a given header's content can be dynamically fetched from an external file and on demand.
6
+ //**2) Optimized script performance by caching header and content container references
7
+
8
+
9
+ var ddaccordion={
10
+ ajaxloadingmsg: '<img src="loading2.gif" /><br />Loading Content...', //customize HTML to output while Ajax content is being fetched (if applicable)
11
+
12
+ headergroup: {}, //object to store corresponding header group based on headerclass value
13
+ contentgroup: {}, //object to store corresponding content group based on headerclass value
14
+
15
+ preloadimages:function($images){
16
+ $images.each(function(){
17
+ var preloadimage=new Image()
18
+ preloadimage.src=this.src
19
+ })
20
+ },
21
+
22
+ expandone:function(headerclass, selected){ //PUBLIC function to expand a particular header
23
+ this.toggleone(headerclass, selected, "expand")
24
+ },
25
+
26
+ collapseone:function(headerclass, selected){ //PUBLIC function to collapse a particular header
27
+ this.toggleone(headerclass, selected, "collapse")
28
+ },
29
+
30
+ expandall:function(headerclass){ //PUBLIC function to expand all headers based on their shared CSS classname
31
+ var $headers=this.headergroup[headerclass]
32
+ this.contentgroup[headerclass].filter(':hidden').each(function(){
33
+ $headers.eq(parseInt($(this).attr('contentindex'))).trigger("evt_accordion")
34
+ })
35
+ },
36
+
37
+ collapseall:function(headerclass){ //PUBLIC function to collapse all headers based on their shared CSS classname
38
+ var $headers=this.headergroup[headerclass]
39
+ this.contentgroup[headerclass].filter(':visible').each(function(){
40
+ $headers.eq(parseInt($(this).attr('contentindex'))).trigger("evt_accordion")
41
+ })
42
+ },
43
+
44
+ toggleone:function(headerclass, selected, optstate){ //PUBLIC function to expand/ collapse a particular header
45
+ var $targetHeader=this.headergroup[headerclass].eq(selected)
46
+ var $subcontent=this.contentgroup[headerclass].eq(selected)
47
+ if (typeof optstate=="undefined" || optstate=="expand" && $subcontent.is(":hidden") || optstate=="collapse" && $subcontent.is(":visible"))
48
+ $targetHeader.trigger("evt_accordion")
49
+ },
50
+
51
+ ajaxloadcontent:function($targetHeader, $targetContent, config, callback){
52
+ var ajaxinfo=$targetHeader.data('ajaxinfo')
53
+
54
+ function handlecontent(content){ //nested function
55
+ if (content){ //if ajax content has loaded
56
+ ajaxinfo.cacheddata=content //remember ajax content
57
+ ajaxinfo.status="cached" //set ajax status to cached
58
+ if ($targetContent.queue("fx").length==0){ //if this content isn't currently expanding or collapsing
59
+ $targetContent.hide().html(content) //hide loading message, then set sub content's HTML to ajax content
60
+ ajaxinfo.status="complete" //set ajax status to complete
61
+ callback() //execute callback function- expand this sub content
62
+ }
63
+ }
64
+ if (ajaxinfo.status!="complete"){
65
+ setTimeout(function(){handlecontent(ajaxinfo.cacheddata)}, 100) //call handlecontent() again until ajax content has loaded (ajaxinfo.cacheddata contains data)
66
+ }
67
+ } //end nested function
68
+
69
+ if (ajaxinfo.status=="none"){ //ajax data hasn't been fetched yet
70
+ $targetContent.html(this.ajaxloadingmsg)
71
+ $targetContent.slideDown(config.animatespeed)
72
+ ajaxinfo.status="loading" //set ajax status to "loading"
73
+ $.ajax({
74
+ url: ajaxinfo.url, //path to external menu file
75
+ error:function(ajaxrequest){
76
+ handlecontent('Error fetching content. Server Response: '+ajaxrequest.responseText)
77
+ },
78
+ success:function(content){
79
+ content=(content=="")? " " : content //if returned content is empty, set it to "space" is content no longer returns false/empty (hasn't loaded yet)
80
+ handlecontent(content)
81
+ }
82
+ })
83
+ }
84
+ else if (ajaxinfo.status=="loading")
85
+ handlecontent(ajaxinfo.cacheddata)
86
+ },
87
+
88
+ expandit:function($targetHeader, $targetContent, config, useractivated, directclick, skipanimation){
89
+ var ajaxinfo=$targetHeader.data('ajaxinfo')
90
+ if (ajaxinfo){ //if this content should be fetched via Ajax
91
+ if (ajaxinfo.status=="none" || ajaxinfo.status=="loading")
92
+ this.ajaxloadcontent($targetHeader, $targetContent, config, function(){ddaccordion.expandit($targetHeader, $targetContent, config, useractivated, directclick)})
93
+ else if (ajaxinfo.status=="cached"){
94
+ $targetContent.html(ajaxinfo.cacheddata)
95
+ ajaxinfo.cacheddata=null
96
+ ajaxinfo.status="complete"
97
+ }
98
+ }
99
+ this.transformHeader($targetHeader, config, "expand")
100
+ $targetContent.slideDown(skipanimation? 0 : config.animatespeed, function(){
101
+ config.onopenclose($targetHeader.get(0), parseInt($targetHeader.attr('headerindex')), $targetContent.css('display'), useractivated)
102
+ if (config.postreveal=="gotourl" && directclick){ //if revealtype is "Go to Header URL upon click", and this is a direct click on the header
103
+ var targetLink=($targetHeader.is("a"))? $targetHeader.get(0) : $targetHeader.find('a:eq(0)').get(0)
104
+ if (targetLink) //if this header is a link
105
+ setTimeout(function(){location=targetLink.href}, 200) //ignore link target, as window.open(targetLink, targetLink.target) doesn't work in FF if popup blocker enabled
106
+ }
107
+ })
108
+ },
109
+
110
+ collapseit:function($targetHeader, $targetContent, config, isuseractivated){
111
+ this.transformHeader($targetHeader, config, "collapse")
112
+ $targetContent.slideUp(config.animatespeed, function(){config.onopenclose($targetHeader.get(0), parseInt($targetHeader.attr('headerindex')), $targetContent.css('display'), isuseractivated)})
113
+ },
114
+
115
+ transformHeader:function($targetHeader, config, state){
116
+ $targetHeader.addClass((state=="expand")? config.cssclass.expand : config.cssclass.collapse) //alternate btw "expand" and "collapse" CSS classes
117
+ .removeClass((state=="expand")? config.cssclass.collapse : config.cssclass.expand)
118
+ if (config.htmlsetting.location=='src'){ //Change header image (assuming header is an image)?
119
+ $targetHeader=($targetHeader.is("img"))? $targetHeader : $targetHeader.find('img').eq(0) //Set target to either header itself, or first image within header
120
+ $targetHeader.attr('src', (state=="expand")? config.htmlsetting.expand : config.htmlsetting.collapse) //change header image
121
+ }
122
+ else if (config.htmlsetting.location=="prefix") //if change "prefix" HTML, locate dynamically added ".accordprefix" span tag and change it
123
+ $targetHeader.find('.accordprefix').html((state=="expand")? config.htmlsetting.expand : config.htmlsetting.collapse)
124
+ else if (config.htmlsetting.location=="suffix")
125
+ $targetHeader.find('.accordsuffix').html((state=="expand")? config.htmlsetting.expand : config.htmlsetting.collapse)
126
+ },
127
+
128
+ urlparamselect:function(headerclass){
129
+ var result=window.location.search.match(new RegExp(headerclass+"=((\\d+)(,(\\d+))*)", "i")) //check for "?headerclass=2,3,4" in URL
130
+ if (result!=null)
131
+ result=RegExp.$1.split(',')
132
+ return result //returns null, [index], or [index1,index2,etc], where index are the desired selected header indices
133
+ },
134
+
135
+ getCookie:function(Name){
136
+ var re=new RegExp(Name+"=[^;]+", "i") //construct RE to search for target name/value pair
137
+ if (document.cookie.match(re)) //if cookie found
138
+ return document.cookie.match(re)[0].split("=")[1] //return its value
139
+ return null
140
+ },
141
+
142
+ setCookie:function(name, value){
143
+ document.cookie = name + "=" + value + "; path=/"
144
+ },
145
+
146
+ init:function(config){
147
+ document.write('<style type="text/css">\n')
148
+ document.write('.'+config.contentclass+'{display: none}\n') //generate CSS to hide contents
149
+ document.write('a.hiddenajaxlink{display: none}\n') //CSS class to hide ajax link
150
+ document.write('<\/style>')
151
+ jQuery(document).ready(function($){
152
+ ddaccordion.urlparamselect(config.headerclass)
153
+ var persistedheaders=ddaccordion.getCookie(config.headerclass)
154
+ ddaccordion.headergroup[config.headerclass]=$('.'+config.headerclass) //remember header group for this accordion
155
+ ddaccordion.contentgroup[config.headerclass]=$('.'+config.contentclass) //remember content group for this accordion
156
+ var $headers=ddaccordion.headergroup[config.headerclass]
157
+ var $subcontents=ddaccordion.contentgroup[config.headerclass]
158
+ config.cssclass={collapse: config.toggleclass[0], expand: config.toggleclass[1]} //store expand and contract CSS classes as object properties
159
+ config.revealtype=config.revealtype || "click"
160
+ config.revealtype=config.revealtype.replace(/mouseover/i, "mouseenter")
161
+ if (config.revealtype=="clickgo"){
162
+ config.postreveal="gotourl" //remember added action
163
+ config.revealtype="click" //overwrite revealtype to "click" keyword
164
+ }
165
+ if (typeof config.togglehtml=="undefined")
166
+ config.htmlsetting={location: "none"}
167
+ else
168
+ config.htmlsetting={location: config.togglehtml[0], collapse: config.togglehtml[1], expand: config.togglehtml[2]} //store HTML settings as object properties
169
+ config.oninit=(typeof config.oninit=="undefined")? function(){} : config.oninit //attach custom "oninit" event handler
170
+ config.onopenclose=(typeof config.onopenclose=="undefined")? function(){} : config.onopenclose //attach custom "onopenclose" event handler
171
+ var lastexpanded={} //object to hold reference to last expanded header and content (jquery objects)
172
+ var expandedindices=ddaccordion.urlparamselect(config.headerclass) || ((config.persiststate && persistedheaders!=null)? persistedheaders : config.defaultexpanded)
173
+ if (typeof expandedindices=='string') //test for string value (exception is config.defaultexpanded, which is an array)
174
+ expandedindices=expandedindices.replace(/c/ig, '').split(',') //transform string value to an array (ie: "c1,c2,c3" becomes [1,2,3]
175
+ if (expandedindices.length==1 && expandedindices[0]=="-1") //check for expandedindices value of [-1], indicating persistence is on and no content expanded
176
+ expandedindices=[]
177
+ if (config["collapseprev"] && expandedindices.length>1) //only allow one content open?
178
+ expandedindices=[expandedindices.pop()] //return last array element as an array (for sake of jQuery.inArray())
179
+ if (config["onemustopen"] && expandedindices.length==0) //if at least one content should be open at all times and none are, open 1st header
180
+ expandedindices=[0]
181
+ $headers.each(function(index){ //loop through all headers
182
+ var $header=$(this)
183
+ if (/(prefix)|(suffix)/i.test(config.htmlsetting.location) && $header.html()!=""){ //add a SPAN element to header depending on user setting and if header is a container tag
184
+ $('<span class="accordprefix"></span>').prependTo(this)
185
+ $('<span class="accordsuffix"></span>').appendTo(this)
186
+ }
187
+ $header.attr('headerindex', index+'h') //store position of this header relative to its peers
188
+ $subcontents.eq(index).attr('contentindex', index+'c') //store position of this content relative to its peers
189
+ var $subcontent=$subcontents.eq(index)
190
+ var $hiddenajaxlink=$subcontent.find('a.hiddenajaxlink:eq(0)') //see if this content should be loaded via ajax
191
+ if ($hiddenajaxlink.length==1){
192
+ $header.data('ajaxinfo', {url:$hiddenajaxlink.attr('href'), cacheddata:null, status:'none'}) //store info about this ajax content inside header
193
+ }
194
+ var needle=(typeof expandedindices[0]=="number")? index : index+'' //check for data type within expandedindices array- index should match that type
195
+ if (jQuery.inArray(needle, expandedindices)!=-1){ //check for headers that should be expanded automatically (convert index to string first)
196
+ ddaccordion.expandit($header, $subcontent, config, false, false, !config.animatedefault) //3rd last param sets 'isuseractivated' parameter, 2nd last sets isdirectclick, last sets skipanimation param
197
+ lastexpanded={$header:$header, $content:$subcontent}
198
+ } //end check
199
+ else{
200
+ $subcontent.hide()
201
+ config.onopenclose($header.get(0), parseInt($header.attr('headerindex')), $subcontent.css('display'), false) //Last Boolean value sets 'isuseractivated' parameter
202
+ ddaccordion.transformHeader($header, config, "collapse")
203
+ }
204
+ })
205
+ $headers.bind("evt_accordion", function(e, isdirectclick){ //assign CUSTOM event handler that expands/ contacts a header
206
+ var $subcontent=$subcontents.eq(parseInt($(this).attr('headerindex'))) //get subcontent that should be expanded/collapsed
207
+ if ($subcontent.css('display')=="none"){
208
+ ddaccordion.expandit($(this), $subcontent, config, true, isdirectclick) //2nd last param sets 'isuseractivated' parameter
209
+ if (config["collapseprev"] && lastexpanded.$header && $(this).get(0)!=lastexpanded.$header.get(0)){ //collapse previous content?
210
+ ddaccordion.collapseit(lastexpanded.$header, lastexpanded.$content, config, true) //Last Boolean value sets 'isuseractivated' parameter
211
+ }
212
+ lastexpanded={$header:$(this), $content:$subcontent}
213
+ }
214
+ else if (!config["onemustopen"] || config["onemustopen"] && lastexpanded.$header && $(this).get(0)!=lastexpanded.$header.get(0)){
215
+ ddaccordion.collapseit($(this), $subcontent, config, true) //Last Boolean value sets 'isuseractivated' parameter
216
+ }
217
+ })
218
+ $headers.bind(config.revealtype, function(){
219
+ if (config.revealtype=="mouseenter"){
220
+ clearTimeout(config.revealdelay)
221
+ var headerindex=parseInt($(this).attr("headerindex"))
222
+ config.revealdelay=setTimeout(function(){ddaccordion.expandone(config["headerclass"], headerindex)}, config.mouseoverdelay || 0)
223
+ }
224
+ else{
225
+ $(this).trigger("evt_accordion", [true]) //last parameter indicates this is a direct click on the header
226
+ return false //cancel default click behavior
227
+ }
228
+ })
229
+ $headers.bind("mouseleave", function(){
230
+ clearTimeout(config.revealdelay)
231
+ })
232
+ config.oninit($headers.get(), expandedindices)
233
+ $(window).bind('unload', function(){ //clean up and persist on page unload
234
+ $headers.unbind()
235
+ var expandedindices=[]
236
+ $subcontents.filter(':visible').each(function(index){ //get indices of expanded headers
237
+ expandedindices.push($(this).attr('contentindex'))
238
+ })
239
+ if (config.persiststate==true && $headers.length>0){ //persist state?
240
+ expandedindices=(expandedindices.length==0)? '-1c' : expandedindices //No contents expanded, indicate that with dummy '-1c' value?
241
+ ddaccordion.setCookie(config.headerclass, expandedindices)
242
+ }
243
+ })
244
+ })
245
+ }
246
+ }
247
+
248
+ //preload any images defined inside ajaxloadingmsg variable
249
+ ddaccordion.preloadimages(jQuery(ddaccordion.ajaxloadingmsg).filter('img'))
skin/frontend/default/mobileshoppe/js/galleria-1.2.7.js ADDED
@@ -0,0 +1,5655 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Galleria v 1.2.7 2012-04-04
3
+ * http://galleria.io
4
+ *
5
+ * Licensed under the MIT license
6
+ * https://raw.github.com/aino/galleria/master/LICENSE
7
+ *
8
+ */
9
+
10
+ (function( $j ) {
11
+
12
+ /*global jQuery, navigator, Galleria:true, Image */
13
+
14
+ // some references
15
+ var undef,
16
+ window = this,
17
+ doc = window.document,
18
+ $jdoc = $j( doc ),
19
+ $jwin = $j( window ),
20
+
21
+ // native prototypes
22
+ protoArray = Array.prototype,
23
+
24
+ // internal constants
25
+ VERSION = 1.27,
26
+ DEBUG = true,
27
+ TIMEOUT = 30000,
28
+ DUMMY = false,
29
+ NAV = navigator.userAgent.toLowerCase(),
30
+ HASH = window.location.hash.replace(/#\//, ''),
31
+ F = function(){},
32
+ FALSE = function() { return false; },
33
+ IE = (function() {
34
+
35
+ var v = 3,
36
+ div = doc.createElement( 'div' ),
37
+ all = div.getElementsByTagName( 'i' );
38
+
39
+ do {
40
+ div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->';
41
+ } while ( all[0] );
42
+
43
+ return v > 4 ? v : undef;
44
+
45
+ }() ),
46
+ DOM = function() {
47
+ return {
48
+ html: doc.documentElement,
49
+ body: doc.body,
50
+ head: doc.getElementsByTagName('head')[0],
51
+ title: doc.title
52
+ };
53
+ },
54
+
55
+ // list of Galleria events
56
+ _eventlist = 'data ready thumbnail loadstart loadfinish image play pause progress ' +
57
+ 'fullscreen_enter fullscreen_exit idle_enter idle_exit rescale ' +
58
+ 'lightbox_open lightbox_close lightbox_image',
59
+
60
+ _events = (function() {
61
+
62
+ var evs = [];
63
+
64
+ $j.each( _eventlist.split(' '), function( i, ev ) {
65
+ evs.push( ev );
66
+
67
+ // legacy events
68
+ if ( /_/.test( ev ) ) {
69
+ evs.push( ev.replace( /_/g, '' ) );
70
+ }
71
+ });
72
+
73
+ return evs;
74
+
75
+ }()),
76
+
77
+ // legacy options
78
+ // allows the old my_setting syntax and converts it to camel case
79
+
80
+ _legacyOptions = function( options ) {
81
+
82
+ var n;
83
+
84
+ if ( typeof options !== 'object' ) {
85
+
86
+ // return whatever it was...
87
+ return options;
88
+ }
89
+
90
+ $j.each( options, function( key, value ) {
91
+ if ( /^[a-z]+_/.test( key ) ) {
92
+ n = '';
93
+ $j.each( key.split('_'), function( i, k ) {
94
+ n += i > 0 ? k.substr( 0, 1 ).toUpperCase() + k.substr( 1 ) : k;
95
+ });
96
+ options[ n ] = value;
97
+ delete options[ key ];
98
+ }
99
+ });
100
+
101
+ return options;
102
+ },
103
+
104
+ _patchEvent = function( type ) {
105
+
106
+ // allow 'image' instead of Galleria.IMAGE
107
+ if ( $j.inArray( type, _events ) > -1 ) {
108
+ return Galleria[ type.toUpperCase() ];
109
+ }
110
+
111
+ return type;
112
+ },
113
+
114
+ // video providers
115
+ _video = {
116
+ youtube: {
117
+ reg: /https?:\/\/(?:[a-zA_Z]{2,3}.)?(?:youtube\.com\/watch\?)((?:[\w\d\-\_\=]+&amp;(?:amp;)?)*v(?:&lt;[A-Z]+&gt;)?=([0-9a-zA-Z\-\_]+))/i,
118
+ embed: function(id) {
119
+ return 'http://www.youtube.com/embed/'+id;
120
+ },
121
+ getThumb: function( id, success, fail ) {
122
+ fail = fail || F;
123
+ $j.getJSON('http://gdata.youtube.com/feeds/api/videos/' + id + '?v=2&alt=json-in-script&callback=?', function(data) {
124
+ try {
125
+ success( data.entry.media$jgroup.media$jthumbnail[0].url );
126
+ } catch(e) {
127
+ fail();
128
+ }
129
+ }).error(fail);
130
+ }
131
+ },
132
+ vimeo: {
133
+ reg: /https?:\/\/(?:www\.)?(vimeo\.com)\/(?:hd#)?([0-9]+)/i,
134
+ embed: function(id) {
135
+ return 'http://player.vimeo.com/video/'+id;
136
+ },
137
+ getThumb: function( id, success, fail ) {
138
+ fail = fail || F;
139
+ $j.getJSON('http://vimeo.com/api/v2/video/' + id + '.json?callback=?', function(data) {
140
+ try {
141
+ success( data[0].thumbnail_medium );
142
+ } catch(e) {
143
+ fail();
144
+ }
145
+ }).error(fail);
146
+ }
147
+ },
148
+ dailymotion: {
149
+ reg: /https?:\/\/(?:www\.)?(dailymotion\.com)\/video\/([^_]+)/,
150
+ embed: function(id) {
151
+ return 'http://www.dailymotion.com/embed/video/'+id;
152
+ },
153
+ getThumb: function( id, success, fail ) {
154
+ fail = fail || F;
155
+ $j.getJSON('https://api.dailymotion.com/video/'+id+'?fields=thumbnail_medium_url&callback=?', function(data) {
156
+ try {
157
+ success( data.thumbnail_medium_url );
158
+ } catch(e) {
159
+ fail();
160
+ }
161
+ }).error(fail);
162
+ }
163
+ }
164
+ },
165
+
166
+ // utility for testing the video URL and getting the video ID
167
+ _videoTest = function( url ) {
168
+ var match;
169
+ for ( var v in _video ) {
170
+ match = url && url.match( _video[v].reg );
171
+ if( match && match.length ) {
172
+ return {
173
+ id: match[2],
174
+ provider: v
175
+ };
176
+ }
177
+ }
178
+ return false;
179
+ },
180
+
181
+ // the internal timeouts object
182
+ // provides helper methods for controlling timeouts
183
+ _timeouts = {
184
+
185
+ trunk: {},
186
+
187
+ add: function( id, fn, delay, loop ) {
188
+ id = id || new Date().getTime();
189
+ loop = loop || false;
190
+ this.clear( id );
191
+ if ( loop ) {
192
+ var old = fn;
193
+ fn = function() {
194
+ old();
195
+ _timeouts.add( id, fn, delay );
196
+ };
197
+ }
198
+ this.trunk[ id ] = window.setTimeout( fn, delay );
199
+ },
200
+
201
+ clear: function( id ) {
202
+
203
+ var del = function( i ) {
204
+ window.clearTimeout( this.trunk[ i ] );
205
+ delete this.trunk[ i ];
206
+ }, i;
207
+
208
+ if ( !!id && id in this.trunk ) {
209
+ del.call( _timeouts, id );
210
+
211
+ } else if ( typeof id === 'undefined' ) {
212
+ for ( i in this.trunk ) {
213
+ if ( this.trunk.hasOwnProperty( i ) ) {
214
+ del.call( _timeouts, i );
215
+ }
216
+ }
217
+ }
218
+ }
219
+ },
220
+
221
+ // the internal gallery holder
222
+ _galleries = [],
223
+
224
+ // the internal instance holder
225
+ _instances = [],
226
+
227
+ // flag for errors
228
+ _hasError = false,
229
+
230
+ // canvas holder
231
+ _canvas = false,
232
+
233
+ // instance pool, holds the galleries until themeLoad is triggered
234
+ _pool = [],
235
+
236
+ // themeLoad trigger
237
+ _themeLoad = function( theme ) {
238
+ Galleria.theme = theme;
239
+
240
+ // run the instances we have in the pool
241
+ $j.each( _pool, function( i, instance ) {
242
+ if ( !instance._initialized ) {
243
+ instance._init.call( instance );
244
+ }
245
+ });
246
+ },
247
+
248
+ // the Utils singleton
249
+ Utils = (function() {
250
+
251
+ return {
252
+
253
+ array : function( obj ) {
254
+ return protoArray.slice.call(obj, 0);
255
+ },
256
+
257
+ create : function( className, nodeName ) {
258
+ nodeName = nodeName || 'div';
259
+ var elem = doc.createElement( nodeName );
260
+ elem.className = className;
261
+ return elem;
262
+ },
263
+
264
+ getScriptPath : function( src ) {
265
+
266
+ // the currently executing script is always the last
267
+ src = src || $j('script:last').attr('src');
268
+ var slices = src.split('/');
269
+
270
+ if (slices.length == 1) {
271
+ return '';
272
+ }
273
+
274
+ slices.pop();
275
+
276
+ return slices.join('/') + '/';
277
+ },
278
+
279
+ // CSS3 transitions, added in 1.2.4
280
+ animate : (function() {
281
+
282
+ // detect transition
283
+ var transition = (function( style ) {
284
+ var props = 'transition WebkitTransition MozTransition OTransition'.split(' '),
285
+ i;
286
+
287
+ // disable css3 animations in opera until stable
288
+ if ( window.opera ) {
289
+ return false;
290
+ }
291
+
292
+ for ( i = 0; props[i]; i++ ) {
293
+ if ( typeof style[ props[ i ] ] !== 'undefined' ) {
294
+ return props[ i ];
295
+ }
296
+ }
297
+ return false;
298
+ }(( doc.body || doc.documentElement).style ));
299
+
300
+ // map transitionend event
301
+ var endEvent = {
302
+ MozTransition: 'transitionend',
303
+ OTransition: 'oTransitionEnd',
304
+ WebkitTransition: 'webkitTransitionEnd',
305
+ transition: 'transitionend'
306
+ }[ transition ];
307
+
308
+ // map bezier easing conversions
309
+ var easings = {
310
+ _default: [0.25, 0.1, 0.25, 1],
311
+ galleria: [0.645, 0.045, 0.355, 1],
312
+ galleriaIn: [0.55, 0.085, 0.68, 0.53],
313
+ galleriaOut: [0.25, 0.46, 0.45, 0.94],
314
+ ease: [0.25, 0, 0.25, 1],
315
+ linear: [0.25, 0.25, 0.75, 0.75],
316
+ 'ease-in': [0.42, 0, 1, 1],
317
+ 'ease-out': [0, 0, 0.58, 1],
318
+ 'ease-in-out': [0.42, 0, 0.58, 1]
319
+ };
320
+
321
+ // function for setting transition css for all browsers
322
+ var setStyle = function( elem, value, suffix ) {
323
+ var css = {};
324
+ suffix = suffix || 'transition';
325
+ $j.each( 'webkit moz ms o'.split(' '), function() {
326
+ css[ '-' + this + '-' + suffix ] = value;
327
+ });
328
+ elem.css( css );
329
+ };
330
+
331
+ // clear styles
332
+ var clearStyle = function( elem ) {
333
+ setStyle( elem, 'none', 'transition' );
334
+ if ( Galleria.WEBKIT && Galleria.TOUCH ) {
335
+ setStyle( elem, 'translate3d(0,0,0)', 'transform' );
336
+ if ( elem.data('revert') ) {
337
+ elem.css( elem.data('revert') );
338
+ elem.data('revert', null);
339
+ }
340
+ }
341
+ };
342
+
343
+ // various variables
344
+ var change, strings, easing, syntax, revert, form, css;
345
+
346
+ // the actual animation method
347
+ return function( elem, to, options ) {
348
+
349
+ // extend defaults
350
+ options = $j.extend({
351
+ duration: 400,
352
+ complete: F,
353
+ stop: false
354
+ }, options);
355
+
356
+ // cache jQuery instance
357
+ elem = $j( elem );
358
+
359
+ if ( !options.duration ) {
360
+ elem.css( to );
361
+ options.complete.call( elem[0] );
362
+ return;
363
+ }
364
+
365
+ // fallback to jQuery's animate if transition is not supported
366
+ if ( !transition ) {
367
+ elem.animate(to, options);
368
+ return;
369
+ }
370
+
371
+ // stop
372
+ if ( options.stop ) {
373
+ // clear the animation
374
+ elem.unbind( endEvent );
375
+ clearStyle( elem );
376
+ }
377
+
378
+ // see if there is a change
379
+ change = false;
380
+ $j.each( to, function( key, val ) {
381
+ css = elem.css( key );
382
+ if ( Utils.parseValue( css ) != Utils.parseValue( val ) ) {
383
+ change = true;
384
+ }
385
+ // also add computed styles for FF
386
+ elem.css( key, css );
387
+ });
388
+ if ( !change ) {
389
+ window.setTimeout( function() {
390
+ options.complete.call( elem[0] );
391
+ }, options.duration );
392
+ return;
393
+ }
394
+
395
+ // the css strings to be applied
396
+ strings = [];
397
+
398
+ // the easing bezier
399
+ easing = options.easing in easings ? easings[ options.easing ] : easings._default;
400
+
401
+ // the syntax
402
+ syntax = ' ' + options.duration + 'ms' + ' cubic-bezier(' + easing.join(',') + ')';
403
+
404
+ // add a tiny timeout so that the browsers catches any css changes before animating
405
+ window.setTimeout( (function(elem, endEvent, to, syntax) {
406
+ return function() {
407
+
408
+ // attach the end event
409
+ elem.one(endEvent, (function( elem ) {
410
+ return function() {
411
+ // clear the animation
412
+ clearStyle(elem);
413
+
414
+ // run the complete method
415
+ options.complete.call(elem[0]);
416
+ };
417
+ }( elem )));
418
+
419
+ // do the webkit translate3d for better performance on iOS
420
+ if( Galleria.WEBKIT && Galleria.TOUCH ) {
421
+
422
+ revert = {};
423
+ form = [0,0,0];
424
+
425
+ $j.each( ['left', 'top'], function(i, m) {
426
+ if ( m in to ) {
427
+ form[ i ] = ( Utils.parseValue( to[ m ] ) - Utils.parseValue(elem.css( m )) ) + 'px';
428
+ revert[ m ] = to[ m ];
429
+ delete to[ m ];
430
+ }
431
+ });
432
+
433
+ if ( form[0] || form[1]) {
434
+
435
+ elem.data('revert', revert);
436
+
437
+ strings.push('-webkit-transform' + syntax);
438
+
439
+ // 3d animate
440
+ setStyle( elem, 'translate3d(' + form.join(',') + ')', 'transform');
441
+ }
442
+ }
443
+
444
+ // push the animation props
445
+ $j.each(to, function( p, val ) {
446
+ strings.push(p + syntax);
447
+ });
448
+
449
+ // set the animation styles
450
+ setStyle( elem, strings.join(',') );
451
+
452
+ // animate
453
+ elem.css( to );
454
+
455
+ };
456
+ }(elem, endEvent, to, syntax)), 2);
457
+ };
458
+ }()),
459
+
460
+ removeAlpha : function( elem ) {
461
+ if ( IE < 9 && elem ) {
462
+
463
+ var style = elem.style,
464
+ currentStyle = elem.currentStyle,
465
+ filter = currentStyle && currentStyle.filter || style.filter || "";
466
+
467
+ if ( /alpha/.test( filter ) ) {
468
+ style.filter = filter.replace( /alpha\([^)]*\)/i, '' );
469
+ }
470
+ }
471
+ },
472
+
473
+ forceStyles : function( elem, styles ) {
474
+ elem = $j(elem);
475
+ if ( elem.attr( 'style' ) ) {
476
+ elem.data( 'styles', elem.attr( 'style' ) ).removeAttr( 'style' );
477
+ }
478
+ elem.css( styles );
479
+ },
480
+
481
+ revertStyles : function() {
482
+ $j.each( Utils.array( arguments ), function( i, elem ) {
483
+
484
+ elem = $j( elem );
485
+ elem.removeAttr( 'style' );
486
+
487
+ elem.attr('style',''); // "fixes" webkit bug
488
+
489
+ if ( elem.data( 'styles' ) ) {
490
+ elem.attr( 'style', elem.data('styles') ).data( 'styles', null );
491
+ }
492
+ });
493
+ },
494
+
495
+ moveOut : function( elem ) {
496
+ Utils.forceStyles( elem, {
497
+ position: 'absolute',
498
+ left: -10000
499
+ });
500
+ },
501
+
502
+ moveIn : function() {
503
+ Utils.revertStyles.apply( Utils, Utils.array( arguments ) );
504
+ },
505
+
506
+ elem : function( elem ) {
507
+ if (elem instanceof $j) {
508
+ return {
509
+ $j: elem,
510
+ dom: elem[0]
511
+ };
512
+ } else {
513
+ return {
514
+ $j: $j(elem),
515
+ dom: elem
516
+ };
517
+ }
518
+ },
519
+
520
+ hide : function( elem, speed, callback ) {
521
+
522
+ callback = callback || F;
523
+
524
+ var el = Utils.elem( elem ),
525
+ $jelem = el.$j;
526
+
527
+ elem = el.dom;
528
+
529
+ // save the value if not exist
530
+ if (! $jelem.data('opacity') ) {
531
+ $jelem.data('opacity', $jelem.css('opacity') );
532
+ }
533
+
534
+ // always hide
535
+ var style = { opacity: 0 };
536
+
537
+ if (speed) {
538
+
539
+ var complete = IE < 9 && elem ? function() {
540
+ Utils.removeAlpha( elem );
541
+ elem.style.visibility = 'hidden';
542
+ callback.call( elem );
543
+ } : callback;
544
+
545
+ Utils.animate( elem, style, {
546
+ duration: speed,
547
+ complete: complete,
548
+ stop: true
549
+ });
550
+ } else {
551
+ if ( IE < 9 && elem ) {
552
+ Utils.removeAlpha( elem );
553
+ elem.style.visibility = 'hidden';
554
+ } else {
555
+ $jelem.css( style );
556
+ }
557
+ }
558
+ },
559
+
560
+ show : function( elem, speed, callback ) {
561
+
562
+ callback = callback || F;
563
+
564
+ var el = Utils.elem( elem ),
565
+ $jelem = el.$j;
566
+
567
+ elem = el.dom;
568
+
569
+ // bring back saved opacity
570
+ var saved = parseFloat( $jelem.data('opacity') ) || 1,
571
+ style = { opacity: saved };
572
+
573
+ // animate or toggle
574
+ if (speed) {
575
+
576
+ if ( IE < 9 ) {
577
+ $jelem.css('opacity', 0);
578
+ elem.style.visibility = 'visible';
579
+ }
580
+
581
+ var complete = IE < 9 && elem ? function() {
582
+ if ( style.opacity == 1 ) {
583
+ Utils.removeAlpha( elem );
584
+ }
585
+ callback.call( elem );
586
+ } : callback;
587
+
588
+ Utils.animate( elem, style, {
589
+ duration: speed,
590
+ complete: complete,
591
+ stop: true
592
+ });
593
+ } else {
594
+ if ( IE < 9 && style.opacity == 1 && elem ) {
595
+ Utils.removeAlpha( elem );
596
+ elem.style.visibility = 'visible';
597
+ } else {
598
+ $jelem.css( style );
599
+ }
600
+ }
601
+ },
602
+
603
+
604
+ // enhanced click for mobile devices
605
+ // we bind a touchend and hijack any click event in the bubble
606
+ // then we execute the click directly and save it in a separate data object for later
607
+ optimizeTouch: (function() {
608
+
609
+ var node,
610
+ evs,
611
+ fakes,
612
+ travel,
613
+ evt = {},
614
+ handler = function( e ) {
615
+ e.preventDefault();
616
+ evt = $j.extend({}, e, true);
617
+ },
618
+ attach = function() {
619
+ this.evt = evt;
620
+ },
621
+ fake = function() {
622
+ this.handler.call(node, this.evt);
623
+ };
624
+
625
+ return function( elem ) {
626
+
627
+ $j(elem).bind('touchend', function( e ) {
628
+
629
+ node = e.target;
630
+ travel = true;
631
+
632
+ while( node.parentNode && node != e.currentTarget && travel ) {
633
+
634
+ evs = $j(node).data('events');
635
+ fakes = $j(node).data('fakes');
636
+
637
+ if (evs && 'click' in evs) {
638
+
639
+ travel = false;
640
+ e.preventDefault();
641
+
642
+ // fake the click and save the event object
643
+ $j(node).click(handler).click();
644
+
645
+ // remove the faked click
646
+ evs.click.pop();
647
+
648
+ // attach the faked event
649
+ $j.each( evs.click, attach);
650
+
651
+ // save the faked clicks in a new data object
652
+ $j(node).data('fakes', evs.click);
653
+
654
+ // remove all clicks
655
+ delete evs.click;
656
+
657
+ } else if ( fakes ) {
658
+
659
+ travel = false;
660
+ e.preventDefault();
661
+
662
+ // fake all clicks
663
+ $j.each( fakes, fake );
664
+ }
665
+
666
+ // bubble
667
+ node = node.parentNode;
668
+ }
669
+ });
670
+ };
671
+ }()),
672
+
673
+ addTimer : function() {
674
+ _timeouts.add.apply( _timeouts, Utils.array( arguments ) );
675
+ return this;
676
+ },
677
+
678
+ clearTimer : function() {
679
+ _timeouts.clear.apply( _timeouts, Utils.array( arguments ) );
680
+ return this;
681
+ },
682
+
683
+ wait : function(options) {
684
+ options = $j.extend({
685
+ until : FALSE,
686
+ success : F,
687
+ error : function() { Galleria.raise('Could not complete wait function.'); },
688
+ timeout: 3000
689
+ }, options);
690
+
691
+ var start = Utils.timestamp(),
692
+ elapsed,
693
+ now,
694
+ fn = function() {
695
+ now = Utils.timestamp();
696
+ elapsed = now - start;
697
+ if ( options.until( elapsed ) ) {
698
+ options.success();
699
+ return false;
700
+ }
701
+
702
+ if (typeof options.timeout == 'number' && now >= start + options.timeout) {
703
+ options.error();
704
+ return false;
705
+ }
706
+ window.setTimeout(fn, 10);
707
+ };
708
+
709
+ window.setTimeout(fn, 10);
710
+ },
711
+
712
+ toggleQuality : function( img, force ) {
713
+
714
+ if ( ( IE !== 7 && IE !== 8 ) || !img || img.nodeName.toUpperCase() != 'IMG' ) {
715
+ return;
716
+ }
717
+
718
+ if ( typeof force === 'undefined' ) {
719
+ force = img.style.msInterpolationMode === 'nearest-neighbor';
720
+ }
721
+
722
+ img.style.msInterpolationMode = force ? 'bicubic' : 'nearest-neighbor';
723
+ },
724
+
725
+ insertStyleTag : function( styles ) {
726
+ var style = doc.createElement( 'style' );
727
+ DOM().head.appendChild( style );
728
+
729
+ if ( style.styleSheet ) { // IE
730
+ style.styleSheet.cssText = styles;
731
+ } else {
732
+ var cssText = doc.createTextNode( styles );
733
+ style.appendChild( cssText );
734
+ }
735
+ },
736
+
737
+ // a loadscript method that works for local scripts
738
+ loadScript: function( url, callback ) {
739
+
740
+ var done = false,
741
+ script = $j('<scr'+'ipt>').attr({
742
+ src: url,
743
+ async: true
744
+ }).get(0);
745
+
746
+ // Attach handlers for all browsers
747
+ script.onload = script.onreadystatechange = function() {
748
+ if ( !done && (!this.readyState ||
749
+ this.readyState === 'loaded' || this.readyState === 'complete') ) {
750
+
751
+ done = true;
752
+
753
+ // Handle memory leak in IE
754
+ script.onload = script.onreadystatechange = null;
755
+
756
+ if (typeof callback === 'function') {
757
+ callback.call( this, this );
758
+ }
759
+ }
760
+ };
761
+
762
+ DOM().head.appendChild( script );
763
+ },
764
+
765
+ // parse anything into a number
766
+ parseValue: function( val ) {
767
+ if (typeof val === 'number') {
768
+ return val;
769
+ } else if (typeof val === 'string') {
770
+ var arr = val.match(/\-?\d|\./g);
771
+ return arr && arr.constructor === Array ? arr.join('')*1 : 0;
772
+ } else {
773
+ return 0;
774
+ }
775
+ },
776
+
777
+ // timestamp abstraction
778
+ timestamp: function() {
779
+ return new Date().getTime();
780
+ },
781
+
782
+ // this is pretty crap, but works for now
783
+ // it will add a callback, but it can't guarantee that the styles can be fetched
784
+ // using getComputedStyle further checking needed, possibly a dummy element
785
+ loadCSS : function( href, id, callback ) {
786
+
787
+ var link,
788
+ ready = false,
789
+ length,
790
+ lastChance = function() {
791
+ var fake = new Image();
792
+ fake.onload = fake.onerror = function(e) {
793
+ fake = null;
794
+ ready = true;
795
+ };
796
+ fake.src = href;
797
+ };
798
+
799
+ // look for manual css
800
+ $j('link[rel=stylesheet]').each(function() {
801
+ if ( new RegExp( href ).test( this.href ) ) {
802
+ link = this;
803
+ return false;
804
+ }
805
+ });
806
+
807
+ if ( typeof id === 'function' ) {
808
+ callback = id;
809
+ id = undef;
810
+ }
811
+
812
+ callback = callback || F; // dirty
813
+
814
+ // if already present, return
815
+ if ( link ) {
816
+ callback.call( link, link );
817
+ return link;
818
+ }
819
+
820
+ // save the length of stylesheets to check against
821
+ length = doc.styleSheets.length;
822
+
823
+ // check for existing id
824
+ if( $j('#'+id).length ) {
825
+ $j('#'+id).attr('href', href);
826
+ length--;
827
+ ready = true;
828
+ } else {
829
+ link = $j( '<link>' ).attr({
830
+ rel: 'stylesheet',
831
+ href: href,
832
+ id: id
833
+ }).get(0);
834
+
835
+ window.setTimeout(function() {
836
+ var styles = $j('link[rel="stylesheet"], style');
837
+ if ( styles.length ) {
838
+ styles.get(0).parentNode.insertBefore( link, styles[0] );
839
+ } else {
840
+ DOM().head.appendChild( link );
841
+ }
842
+
843
+ if ( IE ) {
844
+
845
+ // IE has a limit of 31 stylesheets in one document
846
+ if( length >= 31 ) {
847
+ Galleria.raise( 'You have reached the browser stylesheet limit (31)', true );
848
+ return;
849
+ }
850
+
851
+ link.onreadystatechange = function(e) {
852
+ if ( !ready && (!this.readyState ||
853
+ this.readyState === 'loaded' || this.readyState === 'complete') ) {
854
+ ready = true;
855
+ }
856
+ };
857
+
858
+ } else {
859
+
860
+ // final test via ajax
861
+ var dum = doc.createElement('a'),
862
+ loc = window.location;
863
+
864
+ dum.href = href;
865
+
866
+ if ( !( /file/.test( loc.protocol ) ) &&
867
+ loc.hostname == dum.hostname &&
868
+ loc.port == dum.port &&
869
+ loc.protocol == dum.protocol ) {
870
+
871
+ // Same origin policy should apply
872
+ $j.ajax({
873
+ url: href,
874
+ success: function() {
875
+ ready = true;
876
+ },
877
+ error: lastChance
878
+ });
879
+
880
+ } else {
881
+ lastChance();
882
+ }
883
+ }
884
+ }, 10);
885
+ }
886
+
887
+ if ( typeof callback === 'function' ) {
888
+
889
+ Utils.wait({
890
+ until: function() {
891
+ return ready && doc.styleSheets.length > length;
892
+ },
893
+ success: function() {
894
+ window.setTimeout( function() {
895
+ callback.call( link, link );
896
+ }, 100);
897
+ },
898
+ error: function() {
899
+ Galleria.raise( 'Theme CSS could not load', true );
900
+ },
901
+ timeout: 10000
902
+ });
903
+ }
904
+ return link;
905
+ }
906
+ };
907
+ }()),
908
+
909
+ // the transitions holder
910
+ _transitions = (function() {
911
+
912
+ var _slide = function(params, complete, fade, door) {
913
+
914
+ var easing = this.getOptions('easing'),
915
+ distance = this.getStageWidth(),
916
+ from = { left: distance * ( params.rewind ? -1 : 1 ) },
917
+ to = { left: 0 };
918
+
919
+ if ( fade ) {
920
+ from.opacity = 0;
921
+ to.opacity = 1;
922
+ } else {
923
+ from.opacity = 1;
924
+ }
925
+
926
+ $j(params.next).css(from);
927
+
928
+ Utils.animate(params.next, to, {
929
+ duration: params.speed,
930
+ complete: (function( elems ) {
931
+ return function() {
932
+ complete();
933
+ elems.css({
934
+ left: 0
935
+ });
936
+ };
937
+ }( $j( params.next ).add( params.prev ) )),
938
+ queue: false,
939
+ easing: easing
940
+ });
941
+
942
+ if (door) {
943
+ params.rewind = !params.rewind;
944
+ }
945
+
946
+ if (params.prev) {
947
+
948
+ from = { left: 0 };
949
+ to = { left: distance * ( params.rewind ? 1 : -1 ) };
950
+
951
+ if ( fade ) {
952
+ from.opacity = 1;
953
+ to.opacity = 0;
954
+ }
955
+
956
+ $j(params.prev).css(from);
957
+ Utils.animate(params.prev, to, {
958
+ duration: params.speed,
959
+ queue: false,
960
+ easing: easing,
961
+ complete: function() {
962
+ $j(this).css('opacity', 0);
963
+ }
964
+ });
965
+ }
966
+ };
967
+
968
+ return {
969
+
970
+ fade: function(params, complete) {
971
+ $j(params.next).css({
972
+ opacity: 0,
973
+ left: 0
974
+ }).show();
975
+ Utils.animate(params.next, {
976
+ opacity: 1
977
+ },{
978
+ duration: params.speed,
979
+ complete: complete
980
+ });
981
+ if (params.prev) {
982
+ $j(params.prev).css('opacity',1).show();
983
+ Utils.animate(params.prev, {
984
+ opacity: 0
985
+ },{
986
+ duration: params.speed
987
+ });
988
+ }
989
+ },
990
+
991
+ flash: function(params, complete) {
992
+ $j(params.next).css({
993
+ opacity: 0,
994
+ left: 0
995
+ });
996
+ if (params.prev) {
997
+ Utils.animate( params.prev, {
998
+ opacity: 0
999
+ },{
1000
+ duration: params.speed/2,
1001
+ complete: function() {
1002
+ Utils.animate( params.next, {
1003
+ opacity:1
1004
+ },{
1005
+ duration: params.speed,
1006
+ complete: complete
1007
+ });
1008
+ }
1009
+ });
1010
+ } else {
1011
+ Utils.animate( params.next, {
1012
+ opacity: 1
1013
+ },{
1014
+ duration: params.speed,
1015
+ complete: complete
1016
+ });
1017
+ }
1018
+ },
1019
+
1020
+ pulse: function(params, complete) {
1021
+ if (params.prev) {
1022
+ $j(params.prev).hide();
1023
+ }
1024
+ $j(params.next).css({
1025
+ opacity: 0,
1026
+ left: 0
1027
+ }).show();
1028
+ Utils.animate(params.next, {
1029
+ opacity:1
1030
+ },{
1031
+ duration: params.speed,
1032
+ complete: complete
1033
+ });
1034
+ },
1035
+
1036
+ slide: function(params, complete) {
1037
+ _slide.apply( this, Utils.array( arguments ) );
1038
+ },
1039
+
1040
+ fadeslide: function(params, complete) {
1041
+ _slide.apply( this, Utils.array( arguments ).concat( [true] ) );
1042
+ },
1043
+
1044
+ doorslide: function(params, complete) {
1045
+ _slide.apply( this, Utils.array( arguments ).concat( [false, true] ) );
1046
+ }
1047
+ };
1048
+ }());
1049
+
1050
+ /**
1051
+ The main Galleria class
1052
+
1053
+ @class
1054
+ @constructor
1055
+
1056
+ @example var gallery = new Galleria();
1057
+
1058
+ @author http://aino.se
1059
+
1060
+ @requires jQuery
1061
+
1062
+ */
1063
+
1064
+ Galleria = function() {
1065
+
1066
+ var self = this;
1067
+
1068
+ // internal options
1069
+ this._options = {};
1070
+
1071
+ // flag for controlling play/pause
1072
+ this._playing = false;
1073
+
1074
+ // internal interval for slideshow
1075
+ this._playtime = 5000;
1076
+
1077
+ // internal variable for the currently active image
1078
+ this._active = null;
1079
+
1080
+ // the internal queue, arrayified
1081
+ this._queue = { length: 0 };
1082
+
1083
+ // the internal data array
1084
+ this._data = [];
1085
+
1086
+ // the internal dom collection
1087
+ this._dom = {};
1088
+
1089
+ // the internal thumbnails array
1090
+ this._thumbnails = [];
1091
+
1092
+ // the internal layers array
1093
+ this._layers = [];
1094
+
1095
+ // internal init flag
1096
+ this._initialized = false;
1097
+
1098
+ // internal firstrun flag
1099
+ this._firstrun = false;
1100
+
1101
+ // global stagewidth/height
1102
+ this._stageWidth = 0;
1103
+ this._stageHeight = 0;
1104
+
1105
+ // target holder
1106
+ this._target = undef;
1107
+
1108
+ // instance id
1109
+ this._id = parseInt(Math.random()*10000, 10);
1110
+
1111
+ // add some elements
1112
+ var divs = 'container stage images image-nav image-nav-left image-nav-right ' +
1113
+ 'info info-text info-title info-description ' +
1114
+ 'thumbnails thumbnails-list thumbnails-container thumb-nav-left thumb-nav-right ' +
1115
+ 'loader counter tooltip',
1116
+ spans = 'current total';
1117
+
1118
+ $j.each( divs.split(' '), function( i, elemId ) {
1119
+ self._dom[ elemId ] = Utils.create( 'galleria-' + elemId );
1120
+ });
1121
+
1122
+ $j.each( spans.split(' '), function( i, elemId ) {
1123
+ self._dom[ elemId ] = Utils.create( 'galleria-' + elemId, 'span' );
1124
+ });
1125
+
1126
+ // the internal keyboard object
1127
+ // keeps reference of the keybinds and provides helper methods for binding keys
1128
+ var keyboard = this._keyboard = {
1129
+
1130
+ keys : {
1131
+ 'UP': 38,
1132
+ 'DOWN': 40,
1133
+ 'LEFT': 37,
1134
+ 'RIGHT': 39,
1135
+ 'RETURN': 13,
1136
+ 'ESCAPE': 27,
1137
+ 'BACKSPACE': 8,
1138
+ 'SPACE': 32
1139
+ },
1140
+
1141
+ map : {},
1142
+
1143
+ bound: false,
1144
+
1145
+ press: function(e) {
1146
+ var key = e.keyCode || e.which;
1147
+ if ( key in keyboard.map && typeof keyboard.map[key] === 'function' ) {
1148
+ keyboard.map[key].call(self, e);
1149
+ }
1150
+ },
1151
+
1152
+ attach: function(map) {
1153
+
1154
+ var key, up;
1155
+
1156
+ for( key in map ) {
1157
+ if ( map.hasOwnProperty( key ) ) {
1158
+ up = key.toUpperCase();
1159
+ if ( up in keyboard.keys ) {
1160
+ keyboard.map[ keyboard.keys[up] ] = map[key];
1161
+ } else {
1162
+ keyboard.map[ up ] = map[key];
1163
+ }
1164
+ }
1165
+ }
1166
+ if ( !keyboard.bound ) {
1167
+ keyboard.bound = true;
1168
+ $jdoc.bind('keydown', keyboard.press);
1169
+ }
1170
+ },
1171
+
1172
+ detach: function() {
1173
+ keyboard.bound = false;
1174
+ keyboard.map = {};
1175
+ $jdoc.unbind('keydown', keyboard.press);
1176
+ }
1177
+ };
1178
+
1179
+ // internal controls for keeping track of active / inactive images
1180
+ var controls = this._controls = {
1181
+
1182
+ 0: undef,
1183
+
1184
+ 1: undef,
1185
+
1186
+ active : 0,
1187
+
1188
+ swap : function() {
1189
+ controls.active = controls.active ? 0 : 1;
1190
+ },
1191
+
1192
+ getActive : function() {
1193
+ return controls[ controls.active ];
1194
+ },
1195
+
1196
+ getNext : function() {
1197
+ return controls[ 1 - controls.active ];
1198
+ }
1199
+ };
1200
+
1201
+ // internal carousel object
1202
+ var carousel = this._carousel = {
1203
+
1204
+ // shortcuts
1205
+ next: self.$j('thumb-nav-right'),
1206
+ prev: self.$j('thumb-nav-left'),
1207
+
1208
+ // cache the width
1209
+ width: 0,
1210
+
1211
+ // track the current position
1212
+ current: 0,
1213
+
1214
+ // cache max value
1215
+ max: 0,
1216
+
1217
+ // save all hooks for each width in an array
1218
+ hooks: [],
1219
+
1220
+ // update the carousel
1221
+ // you can run this method anytime, f.ex on window.resize
1222
+ update: function() {
1223
+ var w = 0,
1224
+ h = 0,
1225
+ hooks = [0];
1226
+
1227
+ $j.each( self._thumbnails, function( i, thumb ) {
1228
+ if ( thumb.ready ) {
1229
+ w += thumb.outerWidth || $j( thumb.container ).outerWidth( true );
1230
+ hooks[ i+1 ] = w;
1231
+ h = Math.max( h, thumb.outerHeight || $j( thumb.container).outerHeight( true ) );
1232
+ }
1233
+ });
1234
+
1235
+ self.$j( 'thumbnails' ).css({
1236
+ width: w,
1237
+ height: h
1238
+ });
1239
+
1240
+ carousel.max = w;
1241
+ carousel.hooks = hooks;
1242
+ carousel.width = self.$j( 'thumbnails-list' ).width();
1243
+ carousel.setClasses();
1244
+
1245
+ self.$j( 'thumbnails-container' ).toggleClass( 'galleria-carousel', w > carousel.width );
1246
+
1247
+ // one extra calculation
1248
+ carousel.width = self.$j( 'thumbnails-list' ).width();
1249
+
1250
+ // todo: fix so the carousel moves to the left
1251
+ },
1252
+
1253
+ bindControls: function() {
1254
+
1255
+ var i;
1256
+
1257
+ carousel.next.bind( 'click', function(e) {
1258
+ e.preventDefault();
1259
+
1260
+ if ( self._options.carouselSteps === 'auto' ) {
1261
+
1262
+ for ( i = carousel.current; i < carousel.hooks.length; i++ ) {
1263
+ if ( carousel.hooks[i] - carousel.hooks[ carousel.current ] > carousel.width ) {
1264
+ carousel.set(i - 2);
1265
+ break;
1266
+ }
1267
+ }
1268
+
1269
+ } else {
1270
+ carousel.set( carousel.current + self._options.carouselSteps);
1271
+ }
1272
+ });
1273
+
1274
+ carousel.prev.bind( 'click', function(e) {
1275
+ e.preventDefault();
1276
+
1277
+ if ( self._options.carouselSteps === 'auto' ) {
1278
+
1279
+ for ( i = carousel.current; i >= 0; i-- ) {
1280
+ if ( carousel.hooks[ carousel.current ] - carousel.hooks[i] > carousel.width ) {
1281
+ carousel.set( i + 2 );
1282
+ break;
1283
+ } else if ( i === 0 ) {
1284
+ carousel.set( 0 );
1285
+ break;
1286
+ }
1287
+ }
1288
+ } else {
1289
+ carousel.set( carousel.current - self._options.carouselSteps );
1290
+ }
1291
+ });
1292
+ },
1293
+
1294
+ // calculate and set positions
1295
+ set: function( i ) {
1296
+ i = Math.max( i, 0 );
1297
+ while ( carousel.hooks[i - 1] + carousel.width >= carousel.max && i >= 0 ) {
1298
+ i--;
1299
+ }
1300
+ carousel.current = i;
1301
+ carousel.animate();
1302
+ },
1303
+
1304
+ // get the last position
1305
+ getLast: function(i) {
1306
+ return ( i || carousel.current ) - 1;
1307
+ },
1308
+
1309
+ // follow the active image
1310
+ follow: function(i) {
1311
+
1312
+ //don't follow if position fits
1313
+ if ( i === 0 || i === carousel.hooks.length - 2 ) {
1314
+ carousel.set( i );
1315
+ return;
1316
+ }
1317
+
1318
+ // calculate last position
1319
+ var last = carousel.current;
1320
+ while( carousel.hooks[last] - carousel.hooks[ carousel.current ] <
1321
+ carousel.width && last <= carousel.hooks.length ) {
1322
+ last ++;
1323
+ }
1324
+
1325
+ // set position
1326
+ if ( i - 1 < carousel.current ) {
1327
+ carousel.set( i - 1 );
1328
+ } else if ( i + 2 > last) {
1329
+ carousel.set( i - last + carousel.current + 2 );
1330
+ }
1331
+ },
1332
+
1333
+ // helper for setting disabled classes
1334
+ setClasses: function() {
1335
+ carousel.prev.toggleClass( 'disabled', !carousel.current );
1336
+ carousel.next.toggleClass( 'disabled', carousel.hooks[ carousel.current ] + carousel.width >= carousel.max );
1337
+ },
1338
+
1339
+ // the animation method
1340
+ animate: function(to) {
1341
+ carousel.setClasses();
1342
+ var num = carousel.hooks[ carousel.current ] * -1;
1343
+
1344
+ if ( isNaN( num ) ) {
1345
+ return;
1346
+ }
1347
+
1348
+ Utils.animate(self.get( 'thumbnails' ), {
1349
+ left: num
1350
+ },{
1351
+ duration: self._options.carouselSpeed,
1352
+ easing: self._options.easing,
1353
+ queue: false
1354
+ });
1355
+ }
1356
+ };
1357
+
1358
+ // tooltip control
1359
+ // added in 1.2
1360
+ var tooltip = this._tooltip = {
1361
+
1362
+ initialized : false,
1363
+
1364
+ open: false,
1365
+
1366
+ timer: 'tooltip' + self._id,
1367
+
1368
+ swapTimer: 'swap' + self._id,
1369
+
1370
+ init: function() {
1371
+
1372
+ tooltip.initialized = true;
1373
+
1374
+ var css = '.galleria-tooltip{padding:3px 8px;max-width:50%;background:#ffe;color:#000;z-index:3;position:absolute;font-size:11px;line-height:1.3' +
1375
+ 'opacity:0;box-shadow:0 0 2px rgba(0,0,0,.4);-moz-box-shadow:0 0 2px rgba(0,0,0,.4);-webkit-box-shadow:0 0 2px rgba(0,0,0,.4);}';
1376
+
1377
+ Utils.insertStyleTag(css);
1378
+
1379
+ self.$j( 'tooltip' ).css('opacity', 0.8);
1380
+ Utils.hide( self.get('tooltip') );
1381
+
1382
+ },
1383
+
1384
+ // move handler
1385
+ move: function( e ) {
1386
+ var mouseX = self.getMousePosition(e).x,
1387
+ mouseY = self.getMousePosition(e).y,
1388
+ $jelem = self.$j( 'tooltip' ),
1389
+ x = mouseX,
1390
+ y = mouseY,
1391
+ height = $jelem.outerHeight( true ) + 1,
1392
+ width = $jelem.outerWidth( true ),
1393
+ limitY = height + 15;
1394
+
1395
+ var maxX = self.$j( 'container').width() - width - 2,
1396
+ maxY = self.$j( 'container').height() - height - 2;
1397
+
1398
+ if ( !isNaN(x) && !isNaN(y) ) {
1399
+
1400
+ x += 10;
1401
+ y -= 30;
1402
+
1403
+ x = Math.max( 0, Math.min( maxX, x ) );
1404
+ y = Math.max( 0, Math.min( maxY, y ) );
1405
+
1406
+ if( mouseY < limitY ) {
1407
+ y = limitY;
1408
+ }
1409
+
1410
+ $jelem.css({ left: x, top: y });
1411
+ }
1412
+ },
1413
+
1414
+ // bind elements to the tooltip
1415
+ // you can bind multiple elementIDs using { elemID : function } or { elemID : string }
1416
+ // you can also bind single DOM elements using bind(elem, string)
1417
+ bind: function( elem, value ) {
1418
+
1419
+ // todo: revise if alternative tooltip is needed for mobile devices
1420
+ if (Galleria.TOUCH) {
1421
+ return;
1422
+ }
1423
+
1424
+ if (! tooltip.initialized ) {
1425
+ tooltip.init();
1426
+ }
1427
+
1428
+ var hover = function( elem, value) {
1429
+
1430
+ tooltip.define( elem, value );
1431
+
1432
+ $j( elem ).hover(function() {
1433
+
1434
+ Utils.clearTimer( tooltip.swapTimer );
1435
+ self.$j('container').unbind( 'mousemove', tooltip.move ).bind( 'mousemove', tooltip.move ).trigger( 'mousemove' );
1436
+ tooltip.show( elem );
1437
+
1438
+ Utils.addTimer( tooltip.timer, function() {
1439
+ self.$j( 'tooltip' ).stop().show().animate({
1440
+ opacity:1
1441
+ });
1442
+ tooltip.open = true;
1443
+
1444
+ }, tooltip.open ? 0 : 500);
1445
+
1446
+ }, function() {
1447
+
1448
+ self.$j( 'container' ).unbind( 'mousemove', tooltip.move );
1449
+ Utils.clearTimer( tooltip.timer );
1450
+
1451
+ self.$j( 'tooltip' ).stop().animate({
1452
+ opacity: 0
1453
+ }, 200, function() {
1454
+
1455
+ self.$j( 'tooltip' ).hide();
1456
+
1457
+ Utils.addTimer( tooltip.swapTimer, function() {
1458
+ tooltip.open = false;
1459
+ }, 1000);
1460
+ });
1461
+ }).click(function() {
1462
+ $j( this ).trigger( 'mouseout' );
1463
+ });
1464
+ };
1465
+
1466
+ if ( typeof value === 'string' ) {
1467
+ hover( ( elem in self._dom ? self.get( elem ) : elem ), value );
1468
+ } else {
1469
+ // asume elemID here
1470
+ $j.each( elem, function( elemID, val ) {
1471
+ hover( self.get(elemID), val );
1472
+ });
1473
+ }
1474
+ },
1475
+
1476
+ show: function( elem ) {
1477
+
1478
+ elem = $j( elem in self._dom ? self.get(elem) : elem );
1479
+
1480
+ var text = elem.data( 'tt' ),
1481
+ mouseup = function( e ) {
1482
+
1483
+ // attach a tiny settimeout to make sure the new tooltip is filled
1484
+ window.setTimeout( (function( ev ) {
1485
+ return function() {
1486
+ tooltip.move( ev );
1487
+ };
1488
+ }( e )), 10);
1489
+
1490
+ elem.unbind( 'mouseup', mouseup );
1491
+
1492
+ };
1493
+
1494
+ text = typeof text === 'function' ? text() : text;
1495
+
1496
+ if ( ! text ) {
1497
+ return;
1498
+ }
1499
+
1500
+ self.$j( 'tooltip' ).html( text.replace(/\s/, '&nbsp;') );
1501
+
1502
+ // trigger mousemove on mouseup in case of click
1503
+ elem.bind( 'mouseup', mouseup );
1504
+ },
1505
+
1506
+ define: function( elem, value ) {
1507
+
1508
+ // we store functions, not strings
1509
+ if (typeof value !== 'function') {
1510
+ var s = value;
1511
+ value = function() {
1512
+ return s;
1513
+ };
1514
+ }
1515
+
1516
+ elem = $j( elem in self._dom ? self.get(elem) : elem ).data('tt', value);
1517
+
1518
+ tooltip.show( elem );
1519
+
1520
+ }
1521
+ };
1522
+
1523
+ // internal fullscreen control
1524
+ var fullscreen = this._fullscreen = {
1525
+
1526
+ scrolled: 0,
1527
+
1528
+ crop: undef,
1529
+
1530
+ transition: undef,
1531
+
1532
+ active: false,
1533
+
1534
+ keymap: self._keyboard.map,
1535
+
1536
+ // The native fullscreen handler
1537
+ os: {
1538
+
1539
+ callback: F,
1540
+
1541
+ support: (function() {
1542
+ var html = DOM().html;
1543
+ return html.requestFullscreen || html.mozRequestFullScreen || html.webkitRequestFullScreen;
1544
+ }()),
1545
+
1546
+ enter: function( callback ) {
1547
+ fullscreen.os.callback = callback || F;
1548
+ var html = DOM().html;
1549
+ if ( html.requestFullscreen ) {
1550
+ html.requestFullscreen();
1551
+ }
1552
+ else if ( html.mozRequestFullScreen ) {
1553
+ html.mozRequestFullScreen();
1554
+ }
1555
+ else if ( html.webkitRequestFullScreen ) {
1556
+ html.webkitRequestFullScreen();
1557
+ }
1558
+ },
1559
+
1560
+ exit: function( callback ) {
1561
+ fullscreen.os.callback = callback || F;
1562
+ if ( doc.exitFullscreen ) {
1563
+ doc.exitFullscreen();
1564
+ }
1565
+ else if ( doc.mozCancelFullScreen ) {
1566
+ doc.mozCancelFullScreen();
1567
+ }
1568
+ else if ( doc.webkitCancelFullScreen ) {
1569
+ doc.webkitCancelFullScreen();
1570
+ }
1571
+ },
1572
+
1573
+ listen: function() {
1574
+ if ( !fullscreen.os.support ) {
1575
+ return;
1576
+ }
1577
+ var handler = function() {
1578
+ if ( doc.fullscreen || doc.mozFullScreen || doc.webkitIsFullScreen ) {
1579
+ fullscreen._enter( fullscreen.os.callback );
1580
+ } else {
1581
+ fullscreen._exit( fullscreen.os.callback );
1582
+ }
1583
+ };
1584
+ doc.addEventListener( 'fullscreenchange', handler, false );
1585
+ doc.addEventListener( 'mozfullscreenchange', handler, false );
1586
+ doc.addEventListener( 'webkitfullscreenchange', handler, false );
1587
+ }
1588
+ },
1589
+
1590
+ enter: function( callback ) {
1591
+ if ( self._options.trueFullscreen && fullscreen.os.support ) {
1592
+ fullscreen.os.enter( callback );
1593
+ } else {
1594
+ fullscreen._enter( callback );
1595
+ }
1596
+ },
1597
+
1598
+ _enter: function( callback ) {
1599
+
1600
+ fullscreen.active = true;
1601
+
1602
+ // hide the image until rescale is complete
1603
+ Utils.hide( self.getActiveImage() );
1604
+
1605
+ self.$j( 'container' ).addClass( 'fullscreen' );
1606
+
1607
+ fullscreen.scrolled = $jwin.scrollTop();
1608
+
1609
+ // begin styleforce
1610
+ Utils.forceStyles(self.get('container'), {
1611
+ position: 'fixed',
1612
+ top: 0,
1613
+ left: 0,
1614
+ width: '100%',
1615
+ height: '100%',
1616
+ zIndex: 10000
1617
+ });
1618
+
1619
+ var htmlbody = {
1620
+ height: '100%',
1621
+ overflow: 'hidden',
1622
+ margin:0,
1623
+ padding:0
1624
+ },
1625
+
1626
+ data = self.getData(),
1627
+
1628
+ options = self._options;
1629
+
1630
+ Utils.forceStyles( DOM().html, htmlbody );
1631
+ Utils.forceStyles( DOM().body, htmlbody );
1632
+
1633
+ // temporarily attach some keys
1634
+ // save the old ones first in a cloned object
1635
+ fullscreen.keymap = $j.extend({}, self._keyboard.map);
1636
+
1637
+ self.attachKeyboard({
1638
+ escape: self.exitFullscreen,
1639
+ right: self.next,
1640
+ left: self.prev
1641
+ });
1642
+
1643
+ // temporarily save the crop
1644
+ fullscreen.crop = options.imageCrop;
1645
+
1646
+ // set fullscreen options
1647
+ if ( options.fullscreenCrop != undef ) {
1648
+ options.imageCrop = options.fullscreenCrop;
1649
+ }
1650
+
1651
+ // swap to big image if it's different from the display image
1652
+ if ( data && data.big && data.image !== data.big ) {
1653
+ var big = new Galleria.Picture(),
1654
+ cached = big.isCached( data.big ),
1655
+ index = self.getIndex(),
1656
+ thumb = self._thumbnails[ index ];
1657
+
1658
+ self.trigger( {
1659
+ type: Galleria.LOADSTART,
1660
+ cached: cached,
1661
+ rewind: false,
1662
+ index: index,
1663
+ imageTarget: self.getActiveImage(),
1664
+ thumbTarget: thumb,
1665
+ galleriaData: data
1666
+ });
1667
+
1668
+ big.load( data.big, function( big ) {
1669
+ self._scaleImage( big, {
1670
+ complete: function( big ) {
1671
+ self.trigger({
1672
+ type: Galleria.LOADFINISH,
1673
+ cached: cached,
1674
+ index: index,
1675
+ rewind: false,
1676
+ imageTarget: big.image,
1677
+ thumbTarget: thumb
1678
+ });
1679
+ var image = self._controls.getActive().image;
1680
+ if ( image ) {
1681
+ $j( image ).width( big.image.width ).height( big.image.height )
1682
+ .attr( 'style', $j( big.image ).attr('style') )
1683
+ .attr( 'src', big.image.src );
1684
+ }
1685
+ }
1686
+ });
1687
+ });
1688
+ }
1689
+
1690
+ // init the first rescale and attach callbacks
1691
+ self.rescale(function() {
1692
+
1693
+ Utils.addTimer(false, function() {
1694
+ // show the image after 50 ms
1695
+ Utils.show( self.getActiveImage() );
1696
+
1697
+ if (typeof callback === 'function') {
1698
+ callback.call( self );
1699
+ }
1700
+
1701
+ }, 100);
1702
+
1703
+ self.trigger( Galleria.FULLSCREEN_ENTER );
1704
+ });
1705
+
1706
+ // bind the scaling to the resize event
1707
+ $jwin.resize( function() {
1708
+ fullscreen.scale();
1709
+ } );
1710
+ },
1711
+
1712
+ scale : function() {
1713
+ self.rescale();
1714
+ },
1715
+
1716
+ exit: function( callback ) {
1717
+ if ( self._options.trueFullscreen && fullscreen.os.support ) {
1718
+ fullscreen.os.exit( callback );
1719
+ } else {
1720
+ fullscreen._exit( callback );
1721
+ }
1722
+ },
1723
+
1724
+ _exit: function( callback ) {
1725
+
1726
+ fullscreen.active = false;
1727
+
1728
+ Utils.hide( self.getActiveImage() );
1729
+
1730
+ self.$j('container').removeClass( 'fullscreen' );
1731
+
1732
+ // revert all styles
1733
+ Utils.revertStyles( self.get('container'), DOM().html, DOM().body );
1734
+
1735
+ // scroll back
1736
+ window.scrollTo(0, fullscreen.scrolled);
1737
+
1738
+ // detach all keyboard events and apply the old keymap
1739
+ self.detachKeyboard();
1740
+ self.attachKeyboard( fullscreen.keymap );
1741
+
1742
+ // bring back cached options
1743
+ self._options.imageCrop = fullscreen.crop;
1744
+ //self._options.transition = fullscreen.transition;
1745
+
1746
+ // return to original image
1747
+ var big = self.getData().big,
1748
+ image = self._controls.getActive().image;
1749
+
1750
+ if ( !self.getData().iframe && image && big && big == image.src ) {
1751
+
1752
+ window.setTimeout(function(src) {
1753
+ return function() {
1754
+ image.src = src;
1755
+ };
1756
+ }( self.getData().image ), 1 );
1757
+
1758
+ }
1759
+
1760
+ self.rescale(function() {
1761
+ Utils.addTimer(false, function() {
1762
+
1763
+ // show the image after 50 ms
1764
+ Utils.show( self.getActiveImage() );
1765
+
1766
+ if ( typeof callback === 'function' ) {
1767
+ callback.call( self );
1768
+ }
1769
+
1770
+ $jwin.trigger( 'resize' );
1771
+
1772
+ }, 50);
1773
+ self.trigger( Galleria.FULLSCREEN_EXIT );
1774
+ });
1775
+
1776
+
1777
+ $jwin.unbind('resize', fullscreen.scale);
1778
+ }
1779
+ };
1780
+
1781
+ // invoke the native listeners
1782
+ fullscreen.os.listen();
1783
+
1784
+ // the internal idle object for controlling idle states
1785
+ var idle = this._idle = {
1786
+
1787
+ timer: 'idle' + self._id,
1788
+
1789
+ trunk: [],
1790
+
1791
+ bound: false,
1792
+
1793
+ add: function(elem, to) {
1794
+ if (!elem) {
1795
+ return;
1796
+ }
1797
+ if (!idle.bound) {
1798
+ idle.addEvent();
1799
+ }
1800
+ elem = $j(elem);
1801
+
1802
+ var from = {},
1803
+ style;
1804
+
1805
+ for ( style in to ) {
1806
+ if ( to.hasOwnProperty( style ) ) {
1807
+ from[ style ] = elem.css( style );
1808
+ }
1809
+ }
1810
+ elem.data('idle', {
1811
+ from: from,
1812
+ to: to,
1813
+ complete: true,
1814
+ busy: false
1815
+ });
1816
+ idle.addTimer();
1817
+ idle.trunk.push(elem);
1818
+ },
1819
+
1820
+ remove: function(elem) {
1821
+
1822
+ elem = jQuery(elem);
1823
+
1824
+ $j.each(idle.trunk, function(i, el) {
1825
+ if ( el && el.length && !el.not(elem).length ) {
1826
+ self._idle.show(elem);
1827
+ self._idle.trunk.splice(i, 1);
1828
+ }
1829
+ });
1830
+
1831
+ if (!idle.trunk.length) {
1832
+ idle.removeEvent();
1833
+ Utils.clearTimer( idle.timer );
1834
+ }
1835
+ },
1836
+
1837
+ addEvent : function() {
1838
+ idle.bound = true;
1839
+ self.$j('container').bind('mousemove click', idle.showAll );
1840
+ },
1841
+
1842
+ removeEvent : function() {
1843
+ idle.bound = false;
1844
+ self.$j('container').unbind('mousemove click', idle.showAll );
1845
+ },
1846
+
1847
+ addTimer : function() {
1848
+ Utils.addTimer( idle.timer, function() {
1849
+ idle.hide();
1850
+ }, self._options.idleTime );
1851
+ },
1852
+
1853
+ hide : function() {
1854
+
1855
+ if ( !self._options.idleMode || self.getIndex() === false || self.getData().iframe ) {
1856
+ return;
1857
+ }
1858
+
1859
+ self.trigger( Galleria.IDLE_ENTER );
1860
+
1861
+ $j.each( idle.trunk, function(i, elem) {
1862
+
1863
+ var data = elem.data('idle');
1864
+
1865
+ if (! data) {
1866
+ return;
1867
+ }
1868
+
1869
+ elem.data('idle').complete = false;
1870
+
1871
+ Utils.animate( elem, data.to, {
1872
+ duration: self._options.idleSpeed
1873
+ });
1874
+ });
1875
+ },
1876
+
1877
+ showAll : function() {
1878
+
1879
+ Utils.clearTimer( idle.timer );
1880
+
1881
+ $j.each( idle.trunk, function( i, elem ) {
1882
+ idle.show( elem );
1883
+ });
1884
+ },
1885
+
1886
+ show: function(elem) {
1887
+
1888
+ var data = elem.data('idle');
1889
+
1890
+ if (!data.busy && !data.complete) {
1891
+
1892
+ data.busy = true;
1893
+
1894
+ self.trigger( Galleria.IDLE_EXIT );
1895
+
1896
+ Utils.clearTimer( idle.timer );
1897
+
1898
+ Utils.animate( elem, data.from, {
1899
+ duration: self._options.idleSpeed/2,
1900
+ complete: function() {
1901
+ $j(this).data('idle').busy = false;
1902
+ $j(this).data('idle').complete = true;
1903
+ }
1904
+ });
1905
+
1906
+ }
1907
+ idle.addTimer();
1908
+ }
1909
+ };
1910
+
1911
+ // internal lightbox object
1912
+ // creates a predesigned lightbox for simple popups of images in galleria
1913
+ var lightbox = this._lightbox = {
1914
+
1915
+ width : 0,
1916
+
1917
+ height : 0,
1918
+
1919
+ initialized : false,
1920
+
1921
+ active : null,
1922
+
1923
+ image : null,
1924
+
1925
+ elems : {},
1926
+
1927
+ keymap: false,
1928
+
1929
+ init : function() {
1930
+
1931
+ // trigger the event
1932
+ self.trigger( Galleria.LIGHTBOX_OPEN );
1933
+
1934
+ if ( lightbox.initialized ) {
1935
+ return;
1936
+ }
1937
+ lightbox.initialized = true;
1938
+
1939
+ // create some elements to work with
1940
+ var elems = 'overlay box content shadow title info close prevholder prev nextholder next counter image',
1941
+ el = {},
1942
+ op = self._options,
1943
+ css = '',
1944
+ abs = 'position:absolute;',
1945
+ prefix = 'lightbox-',
1946
+ cssMap = {
1947
+ overlay: 'position:fixed;display:none;opacity:'+op.overlayOpacity+';filter:alpha(opacity='+(op.overlayOpacity*100)+
1948
+ ');top:0;left:0;width:100%;height:100%;background:'+op.overlayBackground+';z-index:99990',
1949
+ box: 'position:fixed;display:none;width:400px;height:400px;top:50%;left:50%;margin-top:-200px;margin-left:-200px;z-index:99991',
1950
+ shadow: abs+'background:#000;width:100%;height:100%;',
1951
+ content: abs+'background-color:#fff;top:10px;left:10px;right:10px;bottom:10px;overflow:hidden',
1952
+ info: abs+'bottom:10px;left:10px;right:10px;color:#444;font:11px/13px arial,sans-serif;height:13px',
1953
+ close: abs+'top:10px;right:10px;height:20px;width:20px;background:#fff;text-align:center;cursor:pointer;color:#444;font:16px/22px arial,sans-serif;z-index:99999',
1954
+ image: abs+'top:10px;left:10px;right:10px;bottom:30px;overflow:hidden;display:block;',
1955
+ prevholder: abs+'width:50%;top:0;bottom:40px;cursor:pointer;',
1956
+ nextholder: abs+'width:50%;top:0;bottom:40px;right:-1px;cursor:pointer;',
1957
+ prev: abs+'top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;left:20px;display:none;text-align:center;color:#000;font:bold 16px/36px arial,sans-serif',
1958
+ next: abs+'top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;right:20px;left:auto;display:none;font:bold 16px/36px arial,sans-serif;text-align:center;color:#000',
1959
+ title: 'float:left',
1960
+ counter: 'float:right;margin-left:8px;'
1961
+ },
1962
+ hover = function(elem) {
1963
+ return elem.hover(
1964
+ function() { $j(this).css( 'color', '#bbb' ); },
1965
+ function() { $j(this).css( 'color', '#444' ); }
1966
+ );
1967
+ },
1968
+ appends = {};
1969
+
1970
+ // IE8 fix for IE's transparent background event "feature"
1971
+ if ( IE && IE > 7 ) {
1972
+ cssMap.nextholder += 'background:#000;filter:alpha(opacity=0);';
1973
+ cssMap.prevholder += 'background:#000;filter:alpha(opacity=0);';
1974
+ }
1975
+
1976
+ // create and insert CSS
1977
+ $j.each(cssMap, function( key, value ) {
1978
+ css += '.galleria-'+prefix+key+'{'+value+'}';
1979
+ });
1980
+
1981
+ css += '.galleria-'+prefix+'box.iframe .galleria-'+prefix+'prevholder,'+
1982
+ '.galleria-'+prefix+'box.iframe .galleria-'+prefix+'nextholder{'+
1983
+ 'width:100px;height:100px;top:50%;margin-top:-70px}';
1984
+
1985
+ Utils.insertStyleTag( css );
1986
+
1987
+ // create the elements
1988
+ $j.each(elems.split(' '), function( i, elemId ) {
1989
+ self.addElement( 'lightbox-' + elemId );
1990
+ el[ elemId ] = lightbox.elems[ elemId ] = self.get( 'lightbox-' + elemId );
1991
+ });
1992
+
1993
+ // initiate the image
1994
+ lightbox.image = new Galleria.Picture();
1995
+
1996
+ // append the elements
1997
+ $j.each({
1998
+ box: 'shadow content close prevholder nextholder',
1999
+ info: 'title counter',
2000
+ content: 'info image',
2001
+ prevholder: 'prev',
2002
+ nextholder: 'next'
2003
+ }, function( key, val ) {
2004
+ var arr = [];
2005
+ $j.each( val.split(' '), function( i, prop ) {
2006
+ arr.push( prefix + prop );
2007
+ });
2008
+ appends[ prefix+key ] = arr;
2009
+ });
2010
+
2011
+ self.append( appends );
2012
+
2013
+ $j( el.image ).append( lightbox.image.container );
2014
+
2015
+ $j( DOM().body ).append( el.overlay, el.box );
2016
+
2017
+ Utils.optimizeTouch( el.box );
2018
+
2019
+ // add the prev/next nav and bind some controls
2020
+
2021
+ hover( $j( el.close ).bind( 'click', lightbox.hide ).html('&#215;') );
2022
+
2023
+ $j.each( ['Prev','Next'], function(i, dir) {
2024
+
2025
+ var $jd = $j( el[ dir.toLowerCase() ] ).html( /v/.test( dir ) ? '&#8249;&nbsp;' : '&nbsp;&#8250;' ),
2026
+ $je = $j( el[ dir.toLowerCase()+'holder'] );
2027
+
2028
+ $je.bind( 'click', function() {
2029
+ lightbox[ 'show' + dir ]();
2030
+ });
2031
+
2032
+ // IE7 and touch devices will simply show the nav
2033
+ if ( IE < 8 || Galleria.TOUCH ) {
2034
+ $jd.show();
2035
+ return;
2036
+ }
2037
+
2038
+ $je.hover( function() {
2039
+ $jd.show();
2040
+ }, function(e) {
2041
+ $jd.stop().fadeOut( 200 );
2042
+ });
2043
+
2044
+ });
2045
+ $j( el.overlay ).bind( 'click', lightbox.hide );
2046
+
2047
+ // the lightbox animation is slow on ipad
2048
+ if ( Galleria.IPAD ) {
2049
+ self._options.lightboxTransitionSpeed = 0;
2050
+ }
2051
+
2052
+ },
2053
+
2054
+ rescale: function(event) {
2055
+
2056
+ // calculate
2057
+ var width = Math.min( $jwin.width()-40, lightbox.width ),
2058
+ height = Math.min( $jwin.height()-60, lightbox.height ),
2059
+ ratio = Math.min( width / lightbox.width, height / lightbox.height ),
2060
+ destWidth = Math.round( lightbox.width * ratio ) + 40,
2061
+ destHeight = Math.round( lightbox.height * ratio ) + 60,
2062
+ to = {
2063
+ width: destWidth,
2064
+ height: destHeight,
2065
+ 'margin-top': Math.ceil( destHeight / 2 ) *- 1,
2066
+ 'margin-left': Math.ceil( destWidth / 2 ) *- 1
2067
+ };
2068
+
2069
+ // if rescale event, don't animate
2070
+ if ( event ) {
2071
+ $j( lightbox.elems.box ).css( to );
2072
+ } else {
2073
+ $j( lightbox.elems.box ).animate( to, {
2074
+ duration: self._options.lightboxTransitionSpeed,
2075
+ easing: self._options.easing,
2076
+ complete: function() {
2077
+ var image = lightbox.image,
2078
+ speed = self._options.lightboxFadeSpeed;
2079
+
2080
+ self.trigger({
2081
+ type: Galleria.LIGHTBOX_IMAGE,
2082
+ imageTarget: image.image
2083
+ });
2084
+
2085
+ $j( image.container ).show();
2086
+
2087
+ $j( image.image ).animate({ opacity: 1 }, speed);
2088
+ Utils.show( lightbox.elems.info, speed );
2089
+ }
2090
+ });
2091
+ }
2092
+ },
2093
+
2094
+ hide: function() {
2095
+
2096
+ // remove the image
2097
+ lightbox.image.image = null;
2098
+
2099
+ $jwin.unbind('resize', lightbox.rescale);
2100
+
2101
+ $j( lightbox.elems.box ).hide();
2102
+
2103
+ Utils.hide( lightbox.elems.info );
2104
+
2105
+ self.detachKeyboard();
2106
+ self.attachKeyboard( lightbox.keymap );
2107
+
2108
+ lightbox.keymap = false;
2109
+
2110
+ Utils.hide( lightbox.elems.overlay, 200, function() {
2111
+ $j( this ).hide().css( 'opacity', self._options.overlayOpacity );
2112
+ self.trigger( Galleria.LIGHTBOX_CLOSE );
2113
+ });
2114
+ },
2115
+
2116
+ showNext: function() {
2117
+ lightbox.show( self.getNext( lightbox.active ) );
2118
+ },
2119
+
2120
+ showPrev: function() {
2121
+ lightbox.show( self.getPrev( lightbox.active ) );
2122
+ },
2123
+
2124
+ show: function(index) {
2125
+
2126
+ lightbox.active = index = typeof index === 'number' ? index : self.getIndex() || 0;
2127
+
2128
+ if ( !lightbox.initialized ) {
2129
+ lightbox.init();
2130
+ }
2131
+
2132
+ // temporarily attach some keys
2133
+ // save the old ones first in a cloned object
2134
+ if ( !lightbox.keymap ) {
2135
+
2136
+ lightbox.keymap = $j.extend({}, self._keyboard.map);
2137
+
2138
+ self.attachKeyboard({
2139
+ escape: lightbox.hide,
2140
+ right: lightbox.showNext,
2141
+ left: lightbox.showPrev
2142
+ });
2143
+ }
2144
+
2145
+ $jwin.unbind('resize', lightbox.rescale );
2146
+
2147
+ var data = self.getData(index),
2148
+ total = self.getDataLength(),
2149
+ n = self.getNext( index ),
2150
+ ndata, p, i;
2151
+
2152
+ Utils.hide( lightbox.elems.info );
2153
+
2154
+ try {
2155
+ for ( i = self._options.preload; i > 0; i-- ) {
2156
+ p = new Galleria.Picture();
2157
+ ndata = self.getData( n );
2158
+ p.preload( 'big' in ndata ? ndata.big : ndata.image );
2159
+ n = self.getNext( n );
2160
+ }
2161
+ } catch(e) {}
2162
+
2163
+ lightbox.image.isIframe = !!data.iframe;
2164
+
2165
+ $j(lightbox.elems.box).toggleClass( 'iframe', !!data.iframe );
2166
+
2167
+ lightbox.image.load( data.iframe || data.big || data.image, function( image ) {
2168
+
2169
+ lightbox.width = image.isIframe ? $j(window).width() : image.original.width;
2170
+ lightbox.height = image.isIframe ? $j(window).height() : image.original.height;
2171
+
2172
+ $j( image.image ).css({
2173
+ width: image.isIframe ? '100%' : '100.1%',
2174
+ height: image.isIframe ? '100%' : '100.1%',
2175
+ top: 0,
2176
+ zIndex: 99998,
2177
+ opacity: 0,
2178
+ visibility: 'visible'
2179
+ });
2180
+
2181
+ lightbox.elems.title.innerHTML = data.title || '';
2182
+ lightbox.elems.counter.innerHTML = (index + 1) + ' / ' + total;
2183
+ $jwin.resize( lightbox.rescale );
2184
+ lightbox.rescale();
2185
+ });
2186
+
2187
+ $j( lightbox.elems.overlay ).show().css( 'visibility', 'visible' );
2188
+ $j( lightbox.elems.box ).show();
2189
+ }
2190
+ };
2191
+
2192
+ return this;
2193
+ };
2194
+
2195
+ // end Galleria constructor
2196
+
2197
+ Galleria.prototype = {
2198
+
2199
+ // bring back the constructor reference
2200
+
2201
+ constructor: Galleria,
2202
+
2203
+ /**
2204
+ Use this function to initialize the gallery and start loading.
2205
+ Should only be called once per instance.
2206
+
2207
+ @param {HTMLElement} target The target element
2208
+ @param {Object} options The gallery options
2209
+
2210
+ @returns Instance
2211
+ */
2212
+
2213
+ init: function( target, options ) {
2214
+
2215
+ var self = this;
2216
+
2217
+ options = _legacyOptions( options );
2218
+
2219
+ // save the original ingredients
2220
+ this._original = {
2221
+ target: target,
2222
+ options: options,
2223
+ data: null
2224
+ };
2225
+
2226
+ // save the target here
2227
+ this._target = this._dom.target = target.nodeName ? target : $j( target ).get(0);
2228
+
2229
+ // save the original content for destruction
2230
+ this._original.html = this._target.innerHTML;
2231
+
2232
+ // push the instance
2233
+ _instances.push( this );
2234
+
2235
+ // raise error if no target is detected
2236
+ if ( !this._target ) {
2237
+ Galleria.raise('Target not found', true);
2238
+ return;
2239
+ }
2240
+
2241
+ // apply options
2242
+ this._options = {
2243
+ autoplay: false,
2244
+ carousel: true,
2245
+ carouselFollow: true,
2246
+ carouselSpeed: 400,
2247
+ carouselSteps: 'auto',
2248
+ clicknext: false,
2249
+ dailymotion: {
2250
+ foreground: '%23EEEEEE',
2251
+ highlight: '%235BCEC5',
2252
+ background: '%23222222',
2253
+ logo: 0,
2254
+ hideInfos: 1
2255
+ },
2256
+ dataConfig : function( elem ) { return {}; },
2257
+ dataSelector: 'img',
2258
+ dataSource: this._target,
2259
+ debug: undef,
2260
+ dummy: undef, // 1.2.5
2261
+ easing: 'galleria',
2262
+ extend: function(options) {},
2263
+ fullscreenCrop: undef, // 1.2.5
2264
+ fullscreenDoubleTap: true, // 1.2.4 toggles fullscreen on double-tap for touch devices
2265
+ fullscreenTransition: undef, // 1.2.6
2266
+ height: 0,
2267
+ idleMode: true, // 1.2.4 toggles idleMode
2268
+ idleTime: 3000,
2269
+ idleSpeed: 200,
2270
+ imageCrop: false,
2271
+ imageMargin: 0,
2272
+ imagePan: false,
2273
+ imagePanSmoothness: 12,
2274
+ imagePosition: '50%',
2275
+ imageTimeout: undef, // 1.2.5
2276
+ initialTransition: undef, // 1.2.4, replaces transitionInitial
2277
+ keepSource: false,
2278
+ layerFollow: true, // 1.2.5
2279
+ lightbox: false, // 1.2.3
2280
+ lightboxFadeSpeed: 200,
2281
+ lightboxTransitionSpeed: 200,
2282
+ linkSourceImages: true,
2283
+ maxScaleRatio: undef,
2284
+ minScaleRatio: undef,
2285
+ overlayOpacity: 0.85,
2286
+ overlayBackground: '#0b0b0b',
2287
+ pauseOnInteraction: true,
2288
+ popupLinks: false,
2289
+ preload: 2,
2290
+ queue: true,
2291
+ responsive: false,
2292
+ show: 0,
2293
+ showInfo: true,
2294
+ showCounter: true,
2295
+ showImagenav: true,
2296
+ swipe: true, // 1.2.4
2297
+ thumbCrop: true,
2298
+ thumbEventType: 'click',
2299
+ thumbFit: true,
2300
+ thumbMargin: 0,
2301
+ thumbQuality: 'auto',
2302
+ thumbnails: true,
2303
+ touchTransition: undef, // 1.2.6
2304
+ transition: 'fade',
2305
+ transitionInitial: undef, // legacy, deprecate in 1.3. Use initialTransition instead.
2306
+ transitionSpeed: 400,
2307
+ trueFullscreen: true, // 1.2.7
2308
+ useCanvas: false, // 1.2.4
2309
+ vimeo: {
2310
+ title: 0,
2311
+ byline: 0,
2312
+ portrait: 0,
2313
+ color: 'aaaaaa'
2314
+ },
2315
+ wait: 5000, // 1.2.7
2316
+ width: 'auto',
2317
+ youtube: {
2318
+ modestbranding: 1,
2319
+ autohide: 1,
2320
+ color: 'white',
2321
+ hd: 1,
2322
+ rel: 0,
2323
+ showinfo: 0
2324
+ }
2325
+ };
2326
+
2327
+ // legacy support for transitionInitial
2328
+ this._options.initialTransition = this._options.initialTransition || this._options.transitionInitial;
2329
+
2330
+ // turn off debug
2331
+ if ( options && options.debug === false ) {
2332
+ DEBUG = false;
2333
+ }
2334
+
2335
+ // set timeout
2336
+ if ( options && typeof options.imageTimeout === 'number' ) {
2337
+ TIMEOUT = options.imageTimeout;
2338
+ }
2339
+
2340
+ // set dummy
2341
+ if ( options && typeof options.dummy === 'string' ) {
2342
+ DUMMY = options.dummy;
2343
+ }
2344
+
2345
+ // hide all content
2346
+ $j( this._target ).children().hide();
2347
+
2348
+ // now we just have to wait for the theme...
2349
+ if ( typeof Galleria.theme === 'object' ) {
2350
+ this._init();
2351
+ } else {
2352
+ // push the instance into the pool and run it when the theme is ready
2353
+ _pool.push( this );
2354
+ }
2355
+
2356
+ return this;
2357
+ },
2358
+
2359
+ // this method should only be called once per instance
2360
+ // for manipulation of data, use the .load method
2361
+
2362
+ _init: function() {
2363
+
2364
+ var self = this,
2365
+ options = this._options;
2366
+
2367
+ if ( this._initialized ) {
2368
+ Galleria.raise( 'Init failed: Gallery instance already initialized.' );
2369
+ return this;
2370
+ }
2371
+
2372
+ this._initialized = true;
2373
+
2374
+ if ( !Galleria.theme ) {
2375
+ Galleria.raise( 'Init failed: No theme found.', true );
2376
+ return this;
2377
+ }
2378
+
2379
+ // merge the theme & caller options
2380
+ $j.extend( true, options, Galleria.theme.defaults, this._original.options, Galleria.configure.options );
2381
+
2382
+ // check for canvas support
2383
+ (function( can ) {
2384
+
2385
+ if ( !( 'getContext' in can ) ) {
2386
+ can = null;
2387
+ return;
2388
+ }
2389
+
2390
+ _canvas = _canvas || {
2391
+ elem: can,
2392
+ context: can.getContext( '2d' ),
2393
+ cache: {},
2394
+ length: 0
2395
+ };
2396
+
2397
+ }( doc.createElement( 'canvas' ) ) );
2398
+
2399
+ // bind the gallery to run when data is ready
2400
+ this.bind( Galleria.DATA, function() {
2401
+
2402
+ // Warn for quirks mode
2403
+ if ( Galleria.QUIRK ) {
2404
+ Galleria.raise('Your page is in Quirks mode, Galleria may not render correctly. Please validate your HTML.');
2405
+ }
2406
+
2407
+ // save the new data
2408
+ this._original.data = this._data;
2409
+
2410
+ // lets show the counter here
2411
+ this.get('total').innerHTML = this.getDataLength();
2412
+
2413
+ // cache the container
2414
+ var $jcontainer = this.$j( 'container' );
2415
+
2416
+ // the gallery is ready, let's just wait for the css
2417
+ var num = { width: 0, height: 0 };
2418
+ var testHeight = function() {
2419
+ return self.$j( 'stage' ).height();
2420
+ };
2421
+
2422
+ // check container and thumbnail height
2423
+ Utils.wait({
2424
+ until: function() {
2425
+
2426
+ // keep trying to get the value
2427
+ num = self._getWH();
2428
+ $jcontainer.width( num.width ).height( num.height );
2429
+ return testHeight() && num.width && num.height > 50;
2430
+
2431
+ },
2432
+ success: function() {
2433
+
2434
+ self._width = num.width;
2435
+ self._height = num.height;
2436
+
2437
+ // for some strange reason, webkit needs a single setTimeout to play ball
2438
+ if ( Galleria.WEBKIT ) {
2439
+ window.setTimeout( function() {
2440
+ self._run();
2441
+ }, 1);
2442
+ } else {
2443
+ self._run();
2444
+ }
2445
+ },
2446
+ error: function() {
2447
+
2448
+ // Height was probably not set, raise hard errors
2449
+
2450
+ if ( testHeight() ) {
2451
+ Galleria.raise('Could not extract sufficient width/height of the gallery container. Traced measures: width:' + num.width + 'px, height: ' + num.height + 'px.', true);
2452
+ } else {
2453
+ Galleria.raise('Could not extract a stage height from the CSS. Traced height: ' + testHeight() + 'px.', true);
2454
+ }
2455
+ },
2456
+ timeout: typeof this._options.wait == 'number' ? this._options.wait : false
2457
+ });
2458
+ });
2459
+
2460
+ // build the gallery frame
2461
+ this.append({
2462
+ 'info-text' :
2463
+ ['info-title', 'info-description'],
2464
+ 'info' :
2465
+ ['info-text'],
2466
+ 'image-nav' :
2467
+ ['image-nav-right', 'image-nav-left'],
2468
+ 'stage' :
2469
+ ['images', 'loader', 'counter', 'image-nav'],
2470
+ 'thumbnails-list' :
2471
+ ['thumbnails'],
2472
+ 'thumbnails-container' :
2473
+ ['thumb-nav-left', 'thumbnails-list', 'thumb-nav-right'],
2474
+ 'container' :
2475
+ ['stage', 'thumbnails-container', 'info', 'tooltip']
2476
+ });
2477
+
2478
+ Utils.hide( this.$j( 'counter' ).append(
2479
+ this.get( 'current' ),
2480
+ doc.createTextNode(' / '),
2481
+ this.get( 'total' )
2482
+ ) );
2483
+
2484
+ this.setCounter('&#8211;');
2485
+
2486
+ Utils.hide( self.get('tooltip') );
2487
+
2488
+ // add a notouch class on the container to prevent unwanted :hovers on touch devices
2489
+ this.$j( 'container' ).addClass( Galleria.TOUCH ? 'touch' : 'notouch' );
2490
+
2491
+ // add images to the controls
2492
+ $j.each( new Array(2), function( i ) {
2493
+
2494
+ // create a new Picture instance
2495
+ var image = new Galleria.Picture();
2496
+
2497
+ // apply some styles, create & prepend overlay
2498
+ $j( image.container ).css({
2499
+ position: 'absolute',
2500
+ top: 0,
2501
+ left: 0
2502
+ }).prepend( self._layers[i] = $j( Utils.create('galleria-layer') ).css({
2503
+ position: 'absolute',
2504
+ top:0, left:0, right:0, bottom:0,
2505
+ zIndex:2
2506
+ })[0] );
2507
+
2508
+ // append the image
2509
+ self.$j( 'images' ).append( image.container );
2510
+
2511
+ // reload the controls
2512
+ self._controls[i] = image;
2513
+
2514
+ });
2515
+
2516
+ // some forced generic styling
2517
+ this.$j( 'images' ).css({
2518
+ position: 'relative',
2519
+ top: 0,
2520
+ left: 0,
2521
+ width: '100%',
2522
+ height: '100%'
2523
+ });
2524
+
2525
+ this.$j( 'thumbnails, thumbnails-list' ).css({
2526
+ overflow: 'hidden',
2527
+ position: 'relative'
2528
+ });
2529
+
2530
+ // bind image navigation arrows
2531
+ this.$j( 'image-nav-right, image-nav-left' ).bind( 'click', function(e) {
2532
+
2533
+ // tune the clicknext option
2534
+ if ( options.clicknext ) {
2535
+ e.stopPropagation();
2536
+ }
2537
+
2538
+ // pause if options is set
2539
+ if ( options.pauseOnInteraction ) {
2540
+ self.pause();
2541
+ }
2542
+
2543
+ // navigate
2544
+ var fn = /right/.test( this.className ) ? 'next' : 'prev';
2545
+ self[ fn ]();
2546
+
2547
+ });
2548
+
2549
+ // hide controls if chosen to
2550
+ $j.each( ['info','counter','image-nav'], function( i, el ) {
2551
+ if ( options[ 'show' + el.substr(0,1).toUpperCase() + el.substr(1).replace(/-/,'') ] === false ) {
2552
+ Utils.moveOut( self.get( el.toLowerCase() ) );
2553
+ }
2554
+ });
2555
+
2556
+ // load up target content
2557
+ this.load();
2558
+
2559
+ // now it's usually safe to remove the content
2560
+ // IE will never stop loading if we remove it, so let's keep it hidden for IE (it's usually fast enough anyway)
2561
+ if ( !options.keepSource && !IE ) {
2562
+ this._target.innerHTML = '';
2563
+ }
2564
+
2565
+ // re-append the errors, if they happened before clearing
2566
+ if ( this.get( 'errors' ) ) {
2567
+ this.appendChild( 'target', 'errors' );
2568
+ }
2569
+
2570
+ // append the gallery frame
2571
+ this.appendChild( 'target', 'container' );
2572
+
2573
+ // parse the carousel on each thumb load
2574
+ if ( options.carousel ) {
2575
+ var count = 0,
2576
+ show = options.show;
2577
+ this.bind( Galleria.THUMBNAIL, function() {
2578
+ this.updateCarousel();
2579
+ if ( ++count == this.getDataLength() && typeof show == 'number' && show > 0 ) {
2580
+ this._carousel.follow( show );
2581
+ }
2582
+ });
2583
+ }
2584
+
2585
+ // bind window resize for responsiveness
2586
+ if ( options.responsive ) {
2587
+ $jwin.bind( 'resize', function() {
2588
+ if ( !self.isFullscreen() ) {
2589
+ self.resize();
2590
+ }
2591
+ });
2592
+ }
2593
+
2594
+ // bind swipe gesture
2595
+ if ( options.swipe ) {
2596
+
2597
+ (function( images ) {
2598
+
2599
+ var swipeStart = [0,0],
2600
+ swipeStop = [0,0],
2601
+ limitX = 30,
2602
+ limitY = 100,
2603
+ multi = false,
2604
+ tid = 0,
2605
+ data,
2606
+ ev = {
2607
+ start: 'touchstart',
2608
+ move: 'touchmove',
2609
+ stop: 'touchend'
2610
+ },
2611
+ getData = function(e) {
2612
+ return e.originalEvent.touches ? e.originalEvent.touches[0] : e;
2613
+ },
2614
+ moveHandler = function( e ) {
2615
+
2616
+ if ( e.originalEvent.touches && e.originalEvent.touches.length > 1 ) {
2617
+ return;
2618
+ }
2619
+
2620
+ data = getData( e );
2621
+ swipeStop = [ data.pageX, data.pageY ];
2622
+
2623
+ if ( !swipeStart[0] ) {
2624
+ swipeStart = swipeStop;
2625
+ }
2626
+
2627
+ if ( Math.abs( swipeStart[0] - swipeStop[0] ) > 10 ) {
2628
+ e.preventDefault();
2629
+ }
2630
+ },
2631
+ upHandler = function( e ) {
2632
+
2633
+ images.unbind( ev.move, moveHandler );
2634
+
2635
+ // if multitouch (possibly zooming), abort
2636
+ if ( ( e.originalEvent.touches && e.originalEvent.touches.length ) || multi ) {
2637
+ multi = !multi;
2638
+ return;
2639
+ }
2640
+
2641
+ if ( Utils.timestamp() - tid < 1000 &&
2642
+ Math.abs( swipeStart[0] - swipeStop[0] ) > limitX &&
2643
+ Math.abs( swipeStart[1] - swipeStop[1] ) < limitY ) {
2644
+
2645
+ e.preventDefault();
2646
+ self[ swipeStart[0] > swipeStop[0] ? 'next' : 'prev' ]();
2647
+ }
2648
+
2649
+ swipeStart = swipeStop = [0,0];
2650
+ };
2651
+
2652
+ images.bind(ev.start, function(e) {
2653
+
2654
+ if ( e.originalEvent.touches && e.originalEvent.touches.length > 1 ) {
2655
+ return;
2656
+ }
2657
+
2658
+ data = getData(e);
2659
+ tid = Utils.timestamp();
2660
+ swipeStart = swipeStop = [ data.pageX, data.pageY ];
2661
+ images.bind(ev.move, moveHandler ).one(ev.stop, upHandler);
2662
+
2663
+ });
2664
+
2665
+ }( self.$j( 'images' ) ));
2666
+
2667
+ // double-tap/click fullscreen toggle
2668
+
2669
+ if ( options.fullscreenDoubleTap ) {
2670
+
2671
+ this.$j( 'stage' ).bind( 'touchstart', (function() {
2672
+ var last, cx, cy, lx, ly, now,
2673
+ getData = function(e) {
2674
+ return e.originalEvent.touches ? e.originalEvent.touches[0] : e;
2675
+ };
2676
+ return function(e) {
2677
+ now = Galleria.utils.timestamp();
2678
+ cx = getData(e).pageX;
2679
+ cy = getData(e).pageY;
2680
+ if ( ( now - last < 500 ) && ( cx - lx < 20) && ( cy - ly < 20) ) {
2681
+ self.toggleFullscreen();
2682
+ e.preventDefault();
2683
+ self.$j( 'stage' ).unbind( 'touchend', arguments.callee );
2684
+ return;
2685
+ }
2686
+ last = now;
2687
+ lx = cx;
2688
+ ly = cy;
2689
+ };
2690
+ }()));
2691
+ }
2692
+
2693
+ }
2694
+
2695
+ // optimize touch for container
2696
+ Utils.optimizeTouch( this.get( 'container' ) );
2697
+
2698
+ // bind the ons
2699
+ $j.each( Galleria.on.binds, function(i, bind) {
2700
+ self.bind( bind.type, bind.callback );
2701
+ });
2702
+
2703
+ return this;
2704
+ },
2705
+
2706
+ // parse width & height from CSS or options
2707
+
2708
+ _getWH : function() {
2709
+
2710
+ var $jcontainer = this.$j( 'container' ),
2711
+ $jtarget = this.$j( 'target' ),
2712
+ self = this,
2713
+ num = {},
2714
+ arr;
2715
+
2716
+ $j.each(['width', 'height'], function( i, m ) {
2717
+
2718
+ // first check if options is set
2719
+ if ( self._options[ m ] && typeof self._options[ m ] === 'number') {
2720
+ num[ m ] = self._options[ m ];
2721
+ } else {
2722
+
2723
+ arr = [
2724
+ Utils.parseValue( $jcontainer.css( m ) ), // the container css height
2725
+ Utils.parseValue( $jtarget.css( m ) ), // the target css height
2726
+ $jcontainer[ m ](), // the container jQuery method
2727
+ $jtarget[ m ]() // the target jQuery method
2728
+ ];
2729
+
2730
+ // if first time, include the min-width & min-height
2731
+ if ( !self[ '_'+m ] ) {
2732
+ arr.splice(arr.length,
2733
+ Utils.parseValue( $jcontainer.css( 'min-'+m ) ),
2734
+ Utils.parseValue( $jtarget.css( 'min-'+m ) )
2735
+ );
2736
+ }
2737
+
2738
+ // else extract the measures from different sources and grab the highest value
2739
+ num[ m ] = Math.max.apply( Math, arr );
2740
+ }
2741
+ });
2742
+
2743
+ // allow setting a height ratio instead of exact value
2744
+ // useful when doing responsive galleries
2745
+ if ( self._options.height && self._options.height < 2 ) {
2746
+ num.height = num.width * self._options.height;
2747
+ }
2748
+
2749
+ return num;
2750
+ },
2751
+
2752
+ // Creates the thumbnails and carousel
2753
+ // can be used at any time, f.ex when the data object is manipulated
2754
+
2755
+ _createThumbnails : function() {
2756
+
2757
+ this.get( 'total' ).innerHTML = this.getDataLength();
2758
+
2759
+ var i,
2760
+ src,
2761
+ thumb,
2762
+ data,
2763
+ special,
2764
+
2765
+ $jcontainer,
2766
+
2767
+ self = this,
2768
+ o = this._options,
2769
+
2770
+ // get previously active thumbnail, if exists
2771
+ active = (function() {
2772
+ var a = self.$j('thumbnails').find('.active');
2773
+ if ( !a.length ) {
2774
+ return false;
2775
+ }
2776
+ return a.find('img').attr('src');
2777
+ }()),
2778
+
2779
+ // cache the thumbnail option
2780
+ optval = typeof o.thumbnails === 'string' ? o.thumbnails.toLowerCase() : null,
2781
+
2782
+ // move some data into the instance
2783
+ // for some reason, jQuery cant handle css(property) when zooming in FF, breaking the gallery
2784
+ // so we resort to getComputedStyle for browsers who support it
2785
+ getStyle = function( prop ) {
2786
+ return doc.defaultView && doc.defaultView.getComputedStyle ?
2787
+ doc.defaultView.getComputedStyle( thumb.container, null )[ prop ] :
2788
+ $jcontainer.css( prop );
2789
+ },
2790
+
2791
+ fake = function(image, index, container) {
2792
+ return function() {
2793
+ $j( container ).append( image );
2794
+ self.trigger({
2795
+ type: Galleria.THUMBNAIL,
2796
+ thumbTarget: image,
2797
+ index: index,
2798
+ galleriaData: self.getData( index )
2799
+ });
2800
+ };
2801
+ },
2802
+
2803
+ onThumbEvent = function( e ) {
2804
+
2805
+ // pause if option is set
2806
+ if ( o.pauseOnInteraction ) {
2807
+ self.pause();
2808
+ }
2809
+
2810
+ // extract the index from the data
2811
+ var index = $j( e.currentTarget ).data( 'index' );
2812
+ if ( self.getIndex() !== index ) {
2813
+ self.show( index );
2814
+ }
2815
+
2816
+ e.preventDefault();
2817
+ },
2818
+
2819
+ onThumbLoad = function( thumb ) {
2820
+
2821
+ // scale when ready
2822
+ thumb.scale({
2823
+ width: thumb.data.width,
2824
+ height: thumb.data.height,
2825
+ crop: o.thumbCrop,
2826
+ margin: o.thumbMargin,
2827
+ canvas: o.useCanvas,
2828
+ complete: function( thumb ) {
2829
+
2830
+ // shrink thumbnails to fit
2831
+ var top = ['left', 'top'],
2832
+ arr = ['Width', 'Height'],
2833
+ m,
2834
+ css,
2835
+ data = self.getData( thumb.index ),
2836
+ special = data.thumb.split(':');
2837
+
2838
+ // calculate shrinked positions
2839
+ $j.each(arr, function( i, measure ) {
2840
+ m = measure.toLowerCase();
2841
+ if ( (o.thumbCrop !== true || o.thumbCrop === m ) && o.thumbFit ) {
2842
+ css = {};
2843
+ css[ m ] = thumb[ m ];
2844
+ $j( thumb.container ).css( css );
2845
+ css = {};
2846
+ css[ top[ i ] ] = 0;
2847
+ $j( thumb.image ).css( css );
2848
+ }
2849
+
2850
+ // cache outer measures
2851
+ thumb[ 'outer' + measure ] = $j( thumb.container )[ 'outer' + measure ]( true );
2852
+ });
2853
+
2854
+ // set high quality if downscale is moderate
2855
+ Utils.toggleQuality( thumb.image,
2856
+ o.thumbQuality === true ||
2857
+ ( o.thumbQuality === 'auto' && thumb.original.width < thumb.width * 3 )
2858
+ );
2859
+
2860
+ // get "special" thumbs from provider
2861
+ if( data.iframe && special.length == 2 && special[0] in _video ) {
2862
+ _video[ special[0] ].getThumb( special[1], (function(img) {
2863
+ return function(src) {
2864
+ img.src = src;
2865
+ };
2866
+ }( thumb.image ) ));
2867
+ }
2868
+
2869
+ // trigger the THUMBNAIL event
2870
+ self.trigger({
2871
+ type: Galleria.THUMBNAIL,
2872
+ thumbTarget: thumb.image,
2873
+ index: thumb.data.order,
2874
+ galleriaData: self.getData( thumb.data.order )
2875
+ });
2876
+ }
2877
+ });
2878
+ };
2879
+
2880
+ this._thumbnails = [];
2881
+
2882
+ this.$j( 'thumbnails' ).empty();
2883
+
2884
+ // loop through data and create thumbnails
2885
+ for( i = 0; this._data[ i ]; i++ ) {
2886
+
2887
+ data = this._data[ i ];
2888
+
2889
+ if ( o.thumbnails === true && (data.thumb || data.image) ) {
2890
+
2891
+ // add a new Picture instance
2892
+ thumb = new Galleria.Picture(i);
2893
+
2894
+ // save the index
2895
+ thumb.index = i;
2896
+
2897
+ // get source from thumb or image
2898
+ src = data.thumb || data.image;
2899
+
2900
+ // append the thumbnail
2901
+ this.$j( 'thumbnails' ).append( thumb.container );
2902
+
2903
+ // cache the container
2904
+ $jcontainer = $j( thumb.container );
2905
+
2906
+ thumb.data = {
2907
+ width : Utils.parseValue( getStyle( 'width' ) ),
2908
+ height : Utils.parseValue( getStyle( 'height' ) ),
2909
+ order : i
2910
+ };
2911
+
2912
+ // grab & reset size for smoother thumbnail loads
2913
+ if ( o.thumbFit && o.thumbCrop !== true ) {
2914
+ $jcontainer.css( { width: 'auto', height: 'auto' } );
2915
+ } else {
2916
+ $jcontainer.css( { width: thumb.data.width, height: thumb.data.height } );
2917
+ }
2918
+
2919
+ // load the thumbnail
2920
+ special = src.split(':');
2921
+ if ( special.length == 2 && special[0] in _video ) {
2922
+ thumb.load('data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw%3D%3D', {
2923
+ height: thumb.data.height,
2924
+ width: thumb.data.height*1.25
2925
+ }, onThumbLoad);
2926
+ } else {
2927
+ thumb.load( src, onThumbLoad );
2928
+ }
2929
+
2930
+ // preload all images here
2931
+ if ( o.preload === 'all' ) {
2932
+ thumb.preload( data.image );
2933
+ }
2934
+
2935
+ // create empty spans if thumbnails is set to 'empty'
2936
+ } else if ( data.iframe || optval === 'empty' || optval === 'numbers' ) {
2937
+
2938
+ thumb = {
2939
+ container: Utils.create( 'galleria-image' ),
2940
+ image: Utils.create( 'img', 'span' ),
2941
+ ready: true
2942
+ };
2943
+
2944
+
2945
+ // create numbered thumbnails
2946
+ if ( optval === 'numbers' ) {
2947
+ $j( thumb.image ).text( i + 1 );
2948
+ }
2949
+
2950
+ if( data.iframe ) {
2951
+ $j( thumb.image ).addClass('iframe');
2952
+ }
2953
+
2954
+ this.$j( 'thumbnails' ).append( thumb.container );
2955
+
2956
+ // we need to "fake" a loading delay before we append and trigger
2957
+ // 50+ should be enough
2958
+
2959
+ window.setTimeout( ( fake )( thumb.image, i, thumb.container ), 50 + ( i*20 ) );
2960
+
2961
+ // create null object to silent errors
2962
+ } else {
2963
+ thumb = {
2964
+ container: null,
2965
+ image: null
2966
+ };
2967
+ }
2968
+
2969
+ // add events for thumbnails
2970
+ // you can control the event type using thumb_event_type
2971
+ // we'll add the same event to the source if it's kept
2972
+
2973
+ $j( thumb.container ).add( o.keepSource && o.linkSourceImages ? data.original : null )
2974
+ .data('index', i).bind( o.thumbEventType, onThumbEvent );
2975
+
2976
+ if (active === src) {
2977
+ $j( thumb.container ).addClass( 'active' );
2978
+ }
2979
+
2980
+ this._thumbnails.push( thumb );
2981
+ }
2982
+ },
2983
+
2984
+ // the internal _run method should be called after loading data into galleria
2985
+ // makes sure the gallery has proper measurements before postrun & ready
2986
+ _run : function() {
2987
+
2988
+ var self = this;
2989
+
2990
+ self._createThumbnails();
2991
+
2992
+ // make sure we have a stageHeight && stageWidth
2993
+
2994
+ Utils.wait({
2995
+
2996
+ timeout: 10000,
2997
+
2998
+ until: function() {
2999
+
3000
+ // Opera crap
3001
+ if ( Galleria.OPERA ) {
3002
+ self.$j( 'stage' ).css( 'display', 'inline-block' );
3003
+ }
3004
+
3005
+ self._stageWidth = self.$j( 'stage' ).width();
3006
+ self._stageHeight = self.$j( 'stage' ).height();
3007
+
3008
+ return( self._stageWidth &&
3009
+ self._stageHeight > 50 ); // what is an acceptable height?
3010
+ },
3011
+
3012
+ success: function() {
3013
+
3014
+ // save the instance
3015
+ _galleries.push( self );
3016
+
3017
+ // postrun some stuff after the gallery is ready
3018
+
3019
+ // show counter
3020
+ Utils.show( self.get('counter') );
3021
+
3022
+ // bind carousel nav
3023
+ if ( self._options.carousel ) {
3024
+ self._carousel.bindControls();
3025
+ }
3026
+
3027
+ // start autoplay
3028
+ if ( self._options.autoplay ) {
3029
+
3030
+ self.pause();
3031
+
3032
+ if ( typeof self._options.autoplay === 'number' ) {
3033
+ self._playtime = self._options.autoplay;
3034
+ }
3035
+
3036
+ self.trigger( Galleria.PLAY );
3037
+ self._playing = true;
3038
+ }
3039
+ // if second load, just do the show and return
3040
+ if ( self._firstrun ) {
3041
+ if ( typeof self._options.show === 'number' ) {
3042
+ self.show( self._options.show );
3043
+ }
3044
+ return;
3045
+ }
3046
+
3047
+ self._firstrun = true;
3048
+
3049
+ // initialize the History plugin
3050
+ if ( Galleria.History ) {
3051
+
3052
+ // bind the show method
3053
+ Galleria.History.change(function( value ) {
3054
+
3055
+ // if ID is NaN, the user pressed back from the first image
3056
+ // return to previous address
3057
+ if ( isNaN( value ) ) {
3058
+ window.history.go(-1);
3059
+
3060
+ // else show the image
3061
+ } else {
3062
+ self.show( value, undef, true );
3063
+ }
3064
+ });
3065
+ }
3066
+
3067
+ self.trigger( Galleria.READY );
3068
+
3069
+ // call the theme init method
3070
+ Galleria.theme.init.call( self, self._options );
3071
+
3072
+ // Trigger Galleria.ready
3073
+ $j.each( Galleria.ready.callbacks, function() {
3074
+ this.call( self, self._options );
3075
+ });
3076
+
3077
+ // call the extend option
3078
+ self._options.extend.call( self, self._options );
3079
+
3080
+ // show the initial image
3081
+ // first test for permalinks in history
3082
+ if ( /^[0-9]{1,4}$j/.test( HASH ) && Galleria.History ) {
3083
+ self.show( HASH, undef, true );
3084
+
3085
+ } else if( self._data[ self._options.show ] ) {
3086
+ self.show( self._options.show );
3087
+ }
3088
+ },
3089
+
3090
+ error: function() {
3091
+ Galleria.raise('Stage width or height is too small to show the gallery. Traced measures: width:' + self._stageWidth + 'px, height: ' + self._stageHeight + 'px.', true);
3092
+ }
3093
+
3094
+ });
3095
+ },
3096
+
3097
+ /**
3098
+ Loads data into the gallery.
3099
+ You can call this method on an existing gallery to reload the gallery with new data.
3100
+
3101
+ @param {Array|string} [source] Optional JSON array of data or selector of where to find data in the document.
3102
+ Defaults to the Galleria target or dataSource option.
3103
+
3104
+ @param {string} [selector] Optional element selector of what elements to parse.
3105
+ Defaults to 'img'.
3106
+
3107
+ @param {Function} [config] Optional function to modify the data extraction proceedure from the selector.
3108
+ See the dataConfig option for more information.
3109
+
3110
+ @returns Instance
3111
+ */
3112
+
3113
+ load : function( source, selector, config ) {
3114
+
3115
+ var self = this;
3116
+
3117
+ // empty the data array
3118
+ this._data = [];
3119
+
3120
+ // empty the thumbnails
3121
+ this._thumbnails = [];
3122
+ this.$j('thumbnails').empty();
3123
+
3124
+ // shorten the arguments
3125
+ if ( typeof selector === 'function' ) {
3126
+ config = selector;
3127
+ selector = null;
3128
+ }
3129
+
3130
+ // use the source set by target
3131
+ source = source || this._options.dataSource;
3132
+
3133
+ // use selector set by option
3134
+ selector = selector || this._options.dataSelector;
3135
+
3136
+ // use the dataConfig set by option
3137
+ config = config || this._options.dataConfig;
3138
+
3139
+ // if source is a true object, make it into an array
3140
+ if( /^function Object/.test( source.constructor ) ) {
3141
+ source = [source];
3142
+ }
3143
+
3144
+ // check if the data is an array already
3145
+ if ( source.constructor === Array ) {
3146
+ if ( this.validate( source ) ) {
3147
+
3148
+ this._data = source;
3149
+ this._parseData().trigger( Galleria.DATA );
3150
+
3151
+ } else {
3152
+ Galleria.raise( 'Load failed: JSON Array not valid.' );
3153
+ }
3154
+ return this;
3155
+ }
3156
+
3157
+ // add .video and .iframe to the selector (1.2.7)
3158
+ selector += ',.video,.iframe';
3159
+
3160
+ // loop through images and set data
3161
+ $j( source ).find( selector ).each( function( i, elem ) {
3162
+
3163
+ elem = $j( elem );
3164
+ var data = {},
3165
+ parent = elem.parent(),
3166
+ href = parent.attr( 'href' ),
3167
+ rel = parent.attr( 'rel' );
3168
+
3169
+ if( href && ( elem[0].nodeName == 'IMG' || elem.hasClass('video') ) && _videoTest( href ) ) {
3170
+ data.video = href;
3171
+ } else if( href && elem.hasClass('iframe') ) {
3172
+ data.iframe = href;
3173
+ } else {
3174
+ data.image = data.big = href;
3175
+ }
3176
+
3177
+ if ( rel ) {
3178
+ data.big = rel;
3179
+ }
3180
+
3181
+ // alternative extraction from HTML5 data attribute, added in 1.2.7
3182
+ $j.each( 'big title description link layer'.split(' '), function( i, val ) {
3183
+ if ( elem.data(val) ) {
3184
+ data[ val ] = elem.data(val);
3185
+ }
3186
+ });
3187
+
3188
+ // mix default extractions with the hrefs and config
3189
+ // and push it into the data array
3190
+ self._data.push( $j.extend({
3191
+
3192
+ title: elem.attr('title') || '',
3193
+ thumb: elem.attr('src'),
3194
+ image: elem.attr('src'),
3195
+ big: elem.attr('src'),
3196
+ description: elem.attr('alt') || '',
3197
+ link: elem.attr('longdesc'),
3198
+ original: elem.get(0) // saved as a reference
3199
+
3200
+ }, data, config( elem ) ) );
3201
+
3202
+ });
3203
+ // trigger the DATA event and return
3204
+ if ( this.getDataLength() ) {
3205
+ this._parseData().trigger( Galleria.DATA );
3206
+ } else {
3207
+ Galleria.raise('Load failed: no data found.');
3208
+ }
3209
+ return this;
3210
+
3211
+ },
3212
+
3213
+ // make sure the data works properly
3214
+ _parseData : function() {
3215
+
3216
+ var self = this,
3217
+ current;
3218
+
3219
+ $j.each( this._data, function( i, data ) {
3220
+
3221
+ current = self._data[ i ];
3222
+
3223
+ // copy image as thumb if no thumb exists
3224
+ if ( 'thumb' in data === false ) {
3225
+ current.thumb = data.image;
3226
+ }
3227
+ // copy image as big image if no biggie exists
3228
+ if ( !'big' in data ) {
3229
+ current.big = data.image;
3230
+ }
3231
+ // parse video
3232
+ if ( 'video' in data ) {
3233
+ var result = _videoTest( data.video );
3234
+
3235
+ if ( result ) {
3236
+ current.iframe = _video[ result.provider ].embed( result.id ) + (function() {
3237
+
3238
+ // add options
3239
+ if ( typeof self._options[ result.provider ] == 'object' ) {
3240
+ var str = '?', arr = [];
3241
+ $j.each( self._options[ result.provider ], function( key, val ) {
3242
+ arr.push( key + '=' + val );
3243
+ });
3244
+
3245
+ // small youtube specifics, perhaps move to _video later
3246
+ if ( result.provider == 'youtube' ) {
3247
+ arr = ['wmode=opaque'].concat(arr);
3248
+ }
3249
+ return str + arr.join('&');
3250
+ }
3251
+ return '';
3252
+ }());
3253
+ delete current.video;
3254
+ if( !('thumb' in current) || !current.thumb ) {
3255
+ current.thumb = result.provider+':'+result.id;
3256
+ }
3257
+ }
3258
+ }
3259
+ });
3260
+
3261
+ return this;
3262
+ },
3263
+
3264
+ /**
3265
+ Destroy the Galleria instance and recover the original content
3266
+
3267
+ @example this.destroy();
3268
+
3269
+ @returns Instance
3270
+ */
3271
+
3272
+ destroy: function() {
3273
+ this.get('target').innerHTML = this._original.html;
3274
+ return this;
3275
+ },
3276
+
3277
+ /**
3278
+ Adds and/or removes images from the gallery
3279
+ Works just like Array.splice
3280
+ https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice
3281
+
3282
+ @example this.splice( 2, 4 ); // removes 4 images after the second image
3283
+
3284
+ @returns Instance
3285
+ */
3286
+
3287
+ splice: function() {
3288
+ var self = this,
3289
+ args = Utils.array( arguments );
3290
+ window.setTimeout(function() {
3291
+ protoArray.splice.apply( self._data, args );
3292
+ self._parseData()._createThumbnails();
3293
+ },2);
3294
+ return self;
3295
+ },
3296
+
3297
+ /**
3298
+ Append images to the gallery
3299
+ Works just like Array.push
3300
+ https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/push
3301
+
3302
+ @example this.push({ image: 'image1.jpg' }); // appends the image to the gallery
3303
+
3304
+ @returns Instance
3305
+ */
3306
+
3307
+ push: function() {
3308
+ var self = this,
3309
+ args = Utils.array( arguments );
3310
+ window.setTimeout(function() {
3311
+ protoArray.push.apply( self._data, args );
3312
+ self._parseData()._createThumbnails();
3313
+ },2);
3314
+ return self;
3315
+ },
3316
+
3317
+ _getActive: function() {
3318
+ return this._controls.getActive();
3319
+ },
3320
+
3321
+ validate : function( data ) {
3322
+ // todo: validate a custom data array
3323
+ return true;
3324
+ },
3325
+
3326
+ /**
3327
+ Bind any event to Galleria
3328
+
3329
+ @param {string} type The Event type to listen for
3330
+ @param {Function} fn The function to execute when the event is triggered
3331
+
3332
+ @example this.bind( 'image', function() { Galleria.log('image shown') });
3333
+
3334
+ @returns Instance
3335
+ */
3336
+
3337
+ bind : function(type, fn) {
3338
+
3339
+ // allow 'image' instead of Galleria.IMAGE
3340
+ type = _patchEvent( type );
3341
+
3342
+ this.$j( 'container' ).bind( type, this.proxy(fn) );
3343
+ return this;
3344
+ },
3345
+
3346
+ /**
3347
+ Unbind any event to Galleria
3348
+
3349
+ @param {string} type The Event type to forget
3350
+
3351
+ @returns Instance
3352
+ */
3353
+
3354
+ unbind : function(type) {
3355
+
3356
+ type = _patchEvent( type );
3357
+
3358
+ this.$j( 'container' ).unbind( type );
3359
+ return this;
3360
+ },
3361
+
3362
+ /**
3363
+ Manually trigger a Galleria event
3364
+
3365
+ @param {string} type The Event to trigger
3366
+
3367
+ @returns Instance
3368
+ */
3369
+
3370
+ trigger : function( type ) {
3371
+
3372
+ type = typeof type === 'object' ?
3373
+ $j.extend( type, { scope: this } ) :
3374
+ { type: _patchEvent( type ), scope: this };
3375
+
3376
+ this.$j( 'container' ).trigger( type );
3377
+
3378
+ return this;
3379
+ },
3380
+
3381
+ /**
3382
+ Assign an "idle state" to any element.
3383
+ The idle state will be applied after a certain amount of idle time
3384
+ Useful to hide f.ex navigation when the gallery is inactive
3385
+
3386
+ @param {HTMLElement|string} elem The Dom node or selector to apply the idle state to
3387
+ @param {Object} styles the CSS styles to apply
3388
+
3389
+ @example addIdleState( this.get('image-nav'), { opacity: 0 });
3390
+ @example addIdleState( '.galleria-image-nav', { top: -200 });
3391
+
3392
+ @returns Instance
3393
+ */
3394
+
3395
+ addIdleState: function( elem, styles ) {
3396
+ this._idle.add.apply( this._idle, Utils.array( arguments ) );
3397
+ return this;
3398
+ },
3399
+
3400
+ /**
3401
+ Removes any idle state previously set using addIdleState()
3402
+
3403
+ @param {HTMLElement|string} elem The Dom node or selector to remove the idle state from.
3404
+
3405
+ @returns Instance
3406
+ */
3407
+
3408
+ removeIdleState: function( elem ) {
3409
+ this._idle.remove.apply( this._idle, Utils.array( arguments ) );
3410
+ return this;
3411
+ },
3412
+
3413
+ /**
3414
+ Force Galleria to enter idle mode.
3415
+
3416
+ @returns Instance
3417
+ */
3418
+
3419
+ enterIdleMode: function() {
3420
+ this._idle.hide();
3421
+ return this;
3422
+ },
3423
+
3424
+ /**
3425
+ Force Galleria to exit idle mode.
3426
+
3427
+ @returns Instance
3428
+ */
3429
+
3430
+ exitIdleMode: function() {
3431
+ this._idle.showAll();
3432
+ return this;
3433
+ },
3434
+
3435
+ /**
3436
+ Enter FullScreen mode
3437
+
3438
+ @param {Function} callback the function to be executed when the fullscreen mode is fully applied.
3439
+
3440
+ @returns Instance
3441
+ */
3442
+
3443
+ enterFullscreen: function( callback ) {
3444
+ this._fullscreen.enter.apply( this, Utils.array( arguments ) );
3445
+ return this;
3446
+ },
3447
+
3448
+ /**
3449
+ Exits FullScreen mode
3450
+
3451
+ @param {Function} callback the function to be executed when the fullscreen mode is fully applied.
3452
+
3453
+ @returns Instance
3454
+ */
3455
+
3456
+ exitFullscreen: function( callback ) {
3457
+ this._fullscreen.exit.apply( this, Utils.array( arguments ) );
3458
+ return this;
3459
+ },
3460
+
3461
+ /**
3462
+ Toggle FullScreen mode
3463
+
3464
+ @param {Function} callback the function to be executed when the fullscreen mode is fully applied or removed.
3465
+
3466
+ @returns Instance
3467
+ */
3468
+
3469
+ toggleFullscreen: function( callback ) {
3470
+ this._fullscreen[ this.isFullscreen() ? 'exit' : 'enter'].apply( this, Utils.array( arguments ) );
3471
+ return this;
3472
+ },
3473
+
3474
+ /**
3475
+ Adds a tooltip to any element.
3476
+ You can also call this method with an object as argument with elemID:value pairs to apply tooltips to (see examples)
3477
+
3478
+ @param {HTMLElement} elem The DOM Node to attach the event to
3479
+ @param {string|Function} value The tooltip message. Can also be a function that returns a string.
3480
+
3481
+ @example this.bindTooltip( this.get('thumbnails'), 'My thumbnails');
3482
+ @example this.bindTooltip( this.get('thumbnails'), function() { return 'My thumbs' });
3483
+ @example this.bindTooltip( { image_nav: 'Navigation' });
3484
+
3485
+ @returns Instance
3486
+ */
3487
+
3488
+ bindTooltip: function( elem, value ) {
3489
+ this._tooltip.bind.apply( this._tooltip, Utils.array(arguments) );
3490
+ return this;
3491
+ },
3492
+
3493
+ /**
3494
+ Note: this method is deprecated. Use refreshTooltip() instead.
3495
+
3496
+ Redefine a tooltip.
3497
+ Use this if you want to re-apply a tooltip value to an already bound tooltip element.
3498
+
3499
+ @param {HTMLElement} elem The DOM Node to attach the event to
3500
+ @param {string|Function} value The tooltip message. Can also be a function that returns a string.
3501
+
3502
+ @returns Instance
3503
+ */
3504
+
3505
+ defineTooltip: function( elem, value ) {
3506
+ this._tooltip.define.apply( this._tooltip, Utils.array(arguments) );
3507
+ return this;
3508
+ },
3509
+
3510
+ /**
3511
+ Refresh a tooltip value.
3512
+ Use this if you want to change the tooltip value at runtime, f.ex if you have a play/pause toggle.
3513
+
3514
+ @param {HTMLElement} elem The DOM Node that has a tooltip that should be refreshed
3515
+
3516
+ @returns Instance
3517
+ */
3518
+
3519
+ refreshTooltip: function( elem ) {
3520
+ this._tooltip.show.apply( this._tooltip, Utils.array(arguments) );
3521
+ return this;
3522
+ },
3523
+
3524
+ /**
3525
+ Open a pre-designed lightbox with the currently active image.
3526
+ You can control some visuals using gallery options.
3527
+
3528
+ @returns Instance
3529
+ */
3530
+
3531
+ openLightbox: function() {
3532
+ this._lightbox.show.apply( this._lightbox, Utils.array( arguments ) );
3533
+ return this;
3534
+ },
3535
+
3536
+ /**
3537
+ Close the lightbox.
3538
+
3539
+ @returns Instance
3540
+ */
3541
+
3542
+ closeLightbox: function() {
3543
+ this._lightbox.hide.apply( this._lightbox, Utils.array( arguments ) );
3544
+ return this;
3545
+ },
3546
+
3547
+ /**
3548
+ Get the currently active image element.
3549
+
3550
+ @returns {HTMLElement} The image element
3551
+ */
3552
+
3553
+ getActiveImage: function() {
3554
+ return this._getActive().image || undef;
3555
+ },
3556
+
3557
+ /**
3558
+ Get the currently active thumbnail element.
3559
+
3560
+ @returns {HTMLElement} The thumbnail element
3561
+ */
3562
+
3563
+ getActiveThumb: function() {
3564
+ return this._thumbnails[ this._active ].image || undef;
3565
+ },
3566
+
3567
+ /**
3568
+ Get the mouse position relative to the gallery container
3569
+
3570
+ @param e The mouse event
3571
+
3572
+ @example
3573
+
3574
+ var gallery = this;
3575
+ $j(document).mousemove(function(e) {
3576
+ console.log( gallery.getMousePosition(e).x );
3577
+ });
3578
+
3579
+ @returns {Object} Object with x & y of the relative mouse postion
3580
+ */
3581
+
3582
+ getMousePosition : function(e) {
3583
+ return {
3584
+ x: e.pageX - this.$j( 'container' ).offset().left,
3585
+ y: e.pageY - this.$j( 'container' ).offset().top
3586
+ };
3587
+ },
3588
+
3589
+ /**
3590
+ Adds a panning effect to the image
3591
+
3592
+ @param [img] The optional image element. If not specified it takes the currently active image
3593
+
3594
+ @returns Instance
3595
+ */
3596
+
3597
+ addPan : function( img ) {
3598
+
3599
+ if ( this._options.imageCrop === false ) {
3600
+ return;
3601
+ }
3602
+
3603
+ img = $j( img || this.getActiveImage() );
3604
+
3605
+ // define some variables and methods
3606
+ var self = this,
3607
+ x = img.width() / 2,
3608
+ y = img.height() / 2,
3609
+ destX = parseInt( img.css( 'left' ), 10 ),
3610
+ destY = parseInt( img.css( 'top' ), 10 ),
3611
+ curX = destX || 0,
3612
+ curY = destY || 0,
3613
+ distX = 0,
3614
+ distY = 0,
3615
+ active = false,
3616
+ ts = Utils.timestamp(),
3617
+ cache = 0,
3618
+ move = 0,
3619
+
3620
+ // positions the image
3621
+ position = function( dist, cur, pos ) {
3622
+ if ( dist > 0 ) {
3623
+ move = Math.round( Math.max( dist * -1, Math.min( 0, cur ) ) );
3624
+ if ( cache !== move ) {
3625
+
3626
+ cache = move;
3627
+
3628
+ if ( IE === 8 ) { // scroll is faster for IE
3629
+ img.parent()[ 'scroll' + pos ]( move * -1 );
3630
+ } else {
3631
+ var css = {};
3632
+ css[ pos.toLowerCase() ] = move;
3633
+ img.css(css);
3634
+ }
3635
+ }
3636
+ }
3637
+ },
3638
+
3639
+ // calculates mouse position after 50ms
3640
+ calculate = function(e) {
3641
+ if (Utils.timestamp() - ts < 50) {
3642
+ return;
3643
+ }
3644
+ active = true;
3645
+ x = self.getMousePosition(e).x;
3646
+ y = self.getMousePosition(e).y;
3647
+ },
3648
+
3649
+ // the main loop to check
3650
+ loop = function(e) {
3651
+
3652
+ if (!active) {
3653
+ return;
3654
+ }
3655
+
3656
+ distX = img.width() - self._stageWidth;
3657
+ distY = img.height() - self._stageHeight;
3658
+ destX = x / self._stageWidth * distX * -1;
3659
+ destY = y / self._stageHeight * distY * -1;
3660
+ curX += ( destX - curX ) / self._options.imagePanSmoothness;
3661
+ curY += ( destY - curY ) / self._options.imagePanSmoothness;
3662
+
3663
+ position( distY, curY, 'Top' );
3664
+ position( distX, curX, 'Left' );
3665
+
3666
+ };
3667
+
3668
+ // we need to use scroll in IE8 to speed things up
3669
+ if ( IE === 8 ) {
3670
+
3671
+ img.parent().scrollTop( curY * -1 ).scrollLeft( curX * -1 );
3672
+ img.css({
3673
+ top: 0,
3674
+ left: 0
3675
+ });
3676
+
3677
+ }
3678
+
3679
+ // unbind and bind event
3680
+ this.$j( 'stage' ).unbind( 'mousemove', calculate ).bind( 'mousemove', calculate );
3681
+
3682
+ // loop the loop
3683
+ Utils.addTimer( 'pan' + self._id, loop, 50, true);
3684
+
3685
+ return this;
3686
+ },
3687
+
3688
+ /**
3689
+ Brings the scope into any callback
3690
+
3691
+ @param fn The callback to bring the scope into
3692
+ @param [scope] Optional scope to bring
3693
+
3694
+ @example $j('#fullscreen').click( this.proxy(function() { this.enterFullscreen(); }) )
3695
+
3696
+ @returns {Function} Return the callback with the gallery scope
3697
+ */
3698
+
3699
+ proxy : function( fn, scope ) {
3700
+ if ( typeof fn !== 'function' ) {
3701
+ return F;
3702
+ }
3703
+ scope = scope || this;
3704
+ return function() {
3705
+ return fn.apply( scope, Utils.array( arguments ) );
3706
+ };
3707
+ },
3708
+
3709
+ /**
3710
+ Removes the panning effect set by addPan()
3711
+
3712
+ @returns Instance
3713
+ */
3714
+
3715
+ removePan: function() {
3716
+
3717
+ // todo: doublecheck IE8
3718
+
3719
+ this.$j( 'stage' ).unbind( 'mousemove' );
3720
+
3721
+ Utils.clearTimer( 'pan' + this._id );
3722
+
3723
+ return this;
3724
+ },
3725
+
3726
+ /**
3727
+ Adds an element to the Galleria DOM array.
3728
+ When you add an element here, you can access it using element ID in many API calls
3729
+
3730
+ @param {string} id The element ID you wish to use. You can add many elements by adding more arguments.
3731
+
3732
+ @example addElement('mybutton');
3733
+ @example addElement('mybutton','mylink');
3734
+
3735
+ @returns Instance
3736
+ */
3737
+
3738
+ addElement : function( id ) {
3739
+
3740
+ var dom = this._dom;
3741
+
3742
+ $j.each( Utils.array(arguments), function( i, blueprint ) {
3743
+ dom[ blueprint ] = Utils.create( 'galleria-' + blueprint );
3744
+ });
3745
+
3746
+ return this;
3747
+ },
3748
+
3749
+ /**
3750
+ Attach keyboard events to Galleria
3751
+
3752
+ @param {Object} map The map object of events.
3753
+ Possible keys are 'UP', 'DOWN', 'LEFT', 'RIGHT', 'RETURN', 'ESCAPE', 'BACKSPACE', and 'SPACE'.
3754
+
3755
+ @example
3756
+
3757
+ this.attachKeyboard({
3758
+ right: this.next,
3759
+ left: this.prev,
3760
+ up: function() {
3761
+ console.log( 'up key pressed' )
3762
+ }
3763
+ });
3764
+
3765
+ @returns Instance
3766
+ */
3767
+
3768
+ attachKeyboard : function( map ) {
3769
+ this._keyboard.attach.apply( this._keyboard, Utils.array( arguments ) );
3770
+ return this;
3771
+ },
3772
+
3773
+ /**
3774
+ Detach all keyboard events to Galleria
3775
+
3776
+ @returns Instance
3777
+ */
3778
+
3779
+ detachKeyboard : function() {
3780
+ this._keyboard.detach.apply( this._keyboard, Utils.array( arguments ) );
3781
+ return this;
3782
+ },
3783
+
3784
+ /**
3785
+ Fast helper for appending galleria elements that you added using addElement()
3786
+
3787
+ @param {string} parentID The parent element ID where the element will be appended
3788
+ @param {string} childID the element ID that should be appended
3789
+
3790
+ @example this.addElement('myElement');
3791
+ this.appendChild( 'info', 'myElement' );
3792
+
3793
+ @returns Instance
3794
+ */
3795
+
3796
+ appendChild : function( parentID, childID ) {
3797
+ this.$j( parentID ).append( this.get( childID ) || childID );
3798
+ return this;
3799
+ },
3800
+
3801
+ /**
3802
+ Fast helper for prepending galleria elements that you added using addElement()
3803
+
3804
+ @param {string} parentID The parent element ID where the element will be prepended
3805
+ @param {string} childID the element ID that should be prepended
3806
+
3807
+ @example
3808
+
3809
+ this.addElement('myElement');
3810
+ this.prependChild( 'info', 'myElement' );
3811
+
3812
+ @returns Instance
3813
+ */
3814
+
3815
+ prependChild : function( parentID, childID ) {
3816
+ this.$j( parentID ).prepend( this.get( childID ) || childID );
3817
+ return this;
3818
+ },
3819
+
3820
+ /**
3821
+ Remove an element by blueprint
3822
+
3823
+ @param {string} elemID The element to be removed.
3824
+ You can remove multiple elements by adding arguments.
3825
+
3826
+ @returns Instance
3827
+ */
3828
+
3829
+ remove : function( elemID ) {
3830
+ this.$j( Utils.array( arguments ).join(',') ).remove();
3831
+ return this;
3832
+ },
3833
+
3834
+ // a fast helper for building dom structures
3835
+ // leave this out of the API for now
3836
+
3837
+ append : function( data ) {
3838
+ var i, j;
3839
+ for( i in data ) {
3840
+ if ( data.hasOwnProperty( i ) ) {
3841
+ if ( data[i].constructor === Array ) {
3842
+ for( j = 0; data[i][j]; j++ ) {
3843
+ this.appendChild( i, data[i][j] );
3844
+ }
3845
+ } else {
3846
+ this.appendChild( i, data[i] );
3847
+ }
3848
+ }
3849
+ }
3850
+ return this;
3851
+ },
3852
+
3853
+ // an internal helper for scaling according to options
3854
+ _scaleImage : function( image, options ) {
3855
+
3856
+ image = image || this._controls.getActive();
3857
+
3858
+ // janpub (JH) fix:
3859
+ // image might be unselected yet
3860
+ // e.g. when external logics rescales the gallery on window resize events
3861
+ if( !image ) {
3862
+ return;
3863
+ }
3864
+
3865
+ var self = this,
3866
+
3867
+ complete,
3868
+
3869
+ scaleLayer = function( img ) {
3870
+ $j( img.container ).children(':first').css({
3871
+ top: Math.max(0, Utils.parseValue( img.image.style.top )),
3872
+ left: Math.max(0, Utils.parseValue( img.image.style.left )),
3873
+ width: Utils.parseValue( img.image.width ),
3874
+ height: Utils.parseValue( img.image.height )
3875
+ });
3876
+ };
3877
+
3878
+ options = $j.extend({
3879
+ width: this._stageWidth,
3880
+ height: this._stageHeight,
3881
+ crop: this._options.imageCrop,
3882
+ max: this._options.maxScaleRatio,
3883
+ min: this._options.minScaleRatio,
3884
+ margin: this._options.imageMargin,
3885
+ position: this._options.imagePosition
3886
+ }, options );
3887
+
3888
+ if ( this._options.layerFollow && this._options.imageCrop !== true ) {
3889
+
3890
+ if ( typeof options.complete == 'function' ) {
3891
+ complete = options.complete;
3892
+ options.complete = function() {
3893
+ complete.call( image, image );
3894
+ scaleLayer( image );
3895
+ };
3896
+ } else {
3897
+ options.complete = scaleLayer;
3898
+ }
3899
+
3900
+ } else {
3901
+ $j( image.container ).children(':first').css({ top: 0, left: 0 });
3902
+ }
3903
+
3904
+ image.scale( options );
3905
+ return this;
3906
+ },
3907
+
3908
+ /**
3909
+ Updates the carousel,
3910
+ useful if you resize the gallery and want to re-check if the carousel nav is needed.
3911
+
3912
+ @returns Instance
3913
+ */
3914
+
3915
+ updateCarousel : function() {
3916
+ this._carousel.update();
3917
+ return this;
3918
+ },
3919
+
3920
+ /**
3921
+ Resize the entire gallery container
3922
+
3923
+ @param {Object} [measures] Optional object with width/height specified
3924
+ @param {Function} [complete] The callback to be called when the scaling is complete
3925
+
3926
+ @returns Instance
3927
+ */
3928
+
3929
+ resize : function( measures, complete ) {
3930
+
3931
+ if ( typeof measures == 'function' ) {
3932
+ complete = measures;
3933
+ measures = undef;
3934
+ }
3935
+
3936
+ measures = $j.extend( { width:0, height:0 }, measures );
3937
+
3938
+ var self = this,
3939
+ $jcontainer = this.$j( 'container' ),
3940
+ aspect = this._options.responsive == 'aspect' && ( !measures.width || !measures.height ),
3941
+ ratio;
3942
+
3943
+ $j.each( measures, function( m, val ) {
3944
+ if ( !val ) {
3945
+ $jcontainer[ m ]( 'auto' );
3946
+ measures[ m ] = self._getWH()[ m ];
3947
+ }
3948
+ });
3949
+
3950
+ // experimental aspect option, not documented yet. Use ratio-based height instead!
3951
+ if ( aspect ) {
3952
+ ratio = Math.min( measures.width/this._width, measures.height/this._height );
3953
+ }
3954
+
3955
+ $j.each( measures, function( m, val ) {
3956
+ $jcontainer[ m ]( ratio ? ratio * self[ '_' + m ] : val );
3957
+ });
3958
+
3959
+ return this.rescale( complete );
3960
+
3961
+ },
3962
+
3963
+ /**
3964
+ Rescales the gallery
3965
+
3966
+ @param {number} width The target width
3967
+ @param {number} height The target height
3968
+ @param {Function} complete The callback to be called when the scaling is complete
3969
+
3970
+ @returns Instance
3971
+ */
3972
+
3973
+ rescale : function( width, height, complete ) {
3974
+
3975
+ var self = this;
3976
+
3977
+ // allow rescale(fn)
3978
+ if ( typeof width === 'function' ) {
3979
+ complete = width;
3980
+ width = undef;
3981
+ }
3982
+
3983
+ var scale = function() {
3984
+
3985
+ // set stagewidth
3986
+ self._stageWidth = width || self.$j( 'stage' ).width();
3987
+ self._stageHeight = height || self.$j( 'stage' ).height();
3988
+
3989
+ // scale the active image
3990
+ self._scaleImage();
3991
+
3992
+ if ( self._options.carousel ) {
3993
+ self.updateCarousel();
3994
+ }
3995
+
3996
+ self.trigger( Galleria.RESCALE );
3997
+
3998
+ if ( typeof complete === 'function' ) {
3999
+ complete.call( self );
4000
+ }
4001
+ };
4002
+
4003
+
4004
+ if ( Galleria.WEBKIT && !Galleria.TOUCH && !width && !height ) {
4005
+ Utils.addTimer( false, scale, 10 );// webkit is too fast
4006
+ } else {
4007
+ scale.call( self );
4008
+ }
4009
+
4010
+ return this;
4011
+ },
4012
+
4013
+ /**
4014
+ Refreshes the gallery.
4015
+ Useful if you change image options at runtime and want to apply the changes to the active image.
4016
+
4017
+ @returns Instance
4018
+ */
4019
+
4020
+ refreshImage : function() {
4021
+ this._scaleImage();
4022
+ if ( this._options.imagePan ) {
4023
+ this.addPan();
4024
+ }
4025
+ return this;
4026
+ },
4027
+
4028
+ /**
4029
+ Shows an image by index
4030
+
4031
+ @param {number|boolean} index The index to show
4032
+ @param {Boolean} rewind A boolean that should be true if you want the transition to go back
4033
+
4034
+ @returns Instance
4035
+ */
4036
+
4037
+ show : function( index, rewind, _history ) {
4038
+
4039
+ // do nothing if index is false or queue is false and transition is in progress
4040
+ if ( index === false || ( !this._options.queue && this._queue.stalled ) ) {
4041
+ return;
4042
+ }
4043
+
4044
+ index = Math.max( 0, Math.min( parseInt( index, 10 ), this.getDataLength() - 1 ) );
4045
+
4046
+ rewind = typeof rewind !== 'undefined' ? !!rewind : index < this.getIndex();
4047
+
4048
+ _history = _history || false;
4049
+
4050
+ // do the history thing and return
4051
+ if ( !_history && Galleria.History ) {
4052
+ Galleria.History.set( index.toString() );
4053
+ return;
4054
+ }
4055
+
4056
+ this._active = index;
4057
+
4058
+ protoArray.push.call( this._queue, {
4059
+ index : index,
4060
+ rewind : rewind
4061
+ });
4062
+ if ( !this._queue.stalled ) {
4063
+ this._show();
4064
+ }
4065
+
4066
+ return this;
4067
+ },
4068
+
4069
+ // the internal _show method does the actual showing
4070
+ _show : function() {
4071
+
4072
+ // shortcuts
4073
+ var self = this,
4074
+ queue = this._queue[ 0 ],
4075
+ data = this.getData( queue.index );
4076
+
4077
+ if ( !data ) {
4078
+ return;
4079
+ }
4080
+
4081
+ var src = data.iframe || ( this.isFullscreen() && 'big' in data ? data.big : data.image ), // use big image if fullscreen mode
4082
+ active = this._controls.getActive(),
4083
+ next = this._controls.getNext(),
4084
+ cached = next.isCached( src ),
4085
+ thumb = this._thumbnails[ queue.index ],
4086
+ mousetrigger = function() {
4087
+ $j( next.image ).trigger( 'mouseup' );
4088
+ };
4089
+
4090
+ // to be fired when loading & transition is complete:
4091
+ var complete = (function( data, next, active, queue, thumb ) {
4092
+
4093
+ return function() {
4094
+
4095
+ var win;
4096
+
4097
+ // remove stalled
4098
+ self._queue.stalled = false;
4099
+
4100
+ // optimize quality
4101
+ Utils.toggleQuality( next.image, self._options.imageQuality );
4102
+
4103
+ // remove old layer
4104
+ self._layers[ self._controls.active ].innerHTML = '';
4105
+
4106
+ // swap
4107
+ $j( active.container ).css({
4108
+ zIndex: 0,
4109
+ opacity: 0
4110
+ }).show();
4111
+
4112
+ if( active.isIframe ) {
4113
+ $j( active.container ).find( 'iframe' ).remove();
4114
+ }
4115
+
4116
+ self.$j('container').toggleClass('iframe', !!data.iframe);
4117
+
4118
+ $j( next.container ).css({
4119
+ zIndex: 1,
4120
+ left: 0,
4121
+ top: 0
4122
+ }).show();
4123
+
4124
+ self._controls.swap();
4125
+
4126
+ // add pan according to option
4127
+ if ( self._options.imagePan ) {
4128
+ self.addPan( next.image );
4129
+ }
4130
+
4131
+ // make the image link or add lightbox
4132
+ // link takes precedence over lightbox if both are detected
4133
+ if ( data.link || self._options.lightbox || self._options.clicknext ) {
4134
+
4135
+ $j( next.image ).css({
4136
+ cursor: 'pointer'
4137
+ }).bind( 'mouseup', function() {
4138
+
4139
+ // clicknext
4140
+ if ( self._options.clicknext && !Galleria.TOUCH ) {
4141
+ if ( self._options.pauseOnInteraction ) {
4142
+ self.pause();
4143
+ }
4144
+ self.next();
4145
+ return;
4146
+ }
4147
+
4148
+ // popup link
4149
+ if ( data.link ) {
4150
+ if ( self._options.popupLinks ) {
4151
+ win = window.open( data.link, '_blank' );
4152
+ } else {
4153
+ window.location.href = data.link;
4154
+ }
4155
+ return;
4156
+ }
4157
+
4158
+ if ( self._options.lightbox ) {
4159
+ self.openLightbox();
4160
+ }
4161
+
4162
+ });
4163
+ }
4164
+
4165
+ // remove the queued image
4166
+ protoArray.shift.call( self._queue );
4167
+
4168
+ // if we still have images in the queue, show it
4169
+ if ( self._queue.length ) {
4170
+ self._show();
4171
+ }
4172
+
4173
+ // check if we are playing
4174
+ self._playCheck();
4175
+
4176
+ // trigger IMAGE event
4177
+ self.trigger({
4178
+ type: Galleria.IMAGE,
4179
+ index: queue.index,
4180
+ imageTarget: next.image,
4181
+ thumbTarget: thumb.image,
4182
+ galleriaData: data
4183
+ });
4184
+ };
4185
+ }( data, next, active, queue, thumb ));
4186
+
4187
+ // let the carousel follow
4188
+ if ( this._options.carousel && this._options.carouselFollow ) {
4189
+ this._carousel.follow( queue.index );
4190
+ }
4191
+
4192
+ // preload images
4193
+ if ( this._options.preload ) {
4194
+
4195
+ var p, i,
4196
+ n = this.getNext(),
4197
+ ndata;
4198
+
4199
+ try {
4200
+ for ( i = this._options.preload; i > 0; i-- ) {
4201
+ p = new Galleria.Picture();
4202
+ ndata = self.getData( n );
4203
+ p.preload( this.isFullscreen() && 'big' in ndata ? ndata.big : ndata.image );
4204
+ n = self.getNext( n );
4205
+ }
4206
+ } catch(e) {}
4207
+ }
4208
+
4209
+ // show the next image, just in case
4210
+ Utils.show( next.container );
4211
+
4212
+ next.isIframe = !!data.iframe;
4213
+
4214
+ // add active classes
4215
+ $j( self._thumbnails[ queue.index ].container )
4216
+ .addClass( 'active' )
4217
+ .siblings( '.active' )
4218
+ .removeClass( 'active' );
4219
+
4220
+ // trigger the LOADSTART event
4221
+ self.trigger( {
4222
+ type: Galleria.LOADSTART,
4223
+ cached: cached,
4224
+ index: queue.index,
4225
+ rewind: queue.rewind,
4226
+ imageTarget: next.image,
4227
+ thumbTarget: thumb.image,
4228
+ galleriaData: data
4229
+ });
4230
+
4231
+ // begin loading the next image
4232
+ next.load( src, function( next ) {
4233
+
4234
+ // add layer HTML
4235
+ var layer = $j( self._layers[ 1-self._controls.active ] ).html( data.layer || '' ).hide();
4236
+
4237
+ self._scaleImage( next, {
4238
+
4239
+ complete: function( next ) {
4240
+
4241
+ // toggle low quality for IE
4242
+ if ( 'image' in active ) {
4243
+ Utils.toggleQuality( active.image, false );
4244
+ }
4245
+ Utils.toggleQuality( next.image, false );
4246
+
4247
+ // stall the queue
4248
+ self._queue.stalled = true;
4249
+
4250
+ // remove the image panning, if applied
4251
+ // TODO: rethink if this is necessary
4252
+ self.removePan();
4253
+
4254
+ // set the captions and counter
4255
+ self.setInfo( queue.index );
4256
+ self.setCounter( queue.index );
4257
+
4258
+ // show the layer now
4259
+ if ( data.layer ) {
4260
+ layer.show();
4261
+ // inherit click events set on image
4262
+ if ( data.link || self._options.lightbox || self._options.clicknext ) {
4263
+ layer.css( 'cursor', 'pointer' ).unbind( 'mouseup' ).mouseup( mousetrigger );
4264
+ }
4265
+ }
4266
+
4267
+ // trigger the LOADFINISH event
4268
+ self.trigger({
4269
+ type: Galleria.LOADFINISH,
4270
+ cached: cached,
4271
+ index: queue.index,
4272
+ rewind: queue.rewind,
4273
+ imageTarget: next.image,
4274
+ thumbTarget: self._thumbnails[ queue.index ].image,
4275
+ galleriaData: self.getData( queue.index )
4276
+ });
4277
+
4278
+ var transition = self._options.transition;
4279
+
4280
+ // can JavaScript loop through objects in order? yes.
4281
+ $j.each({
4282
+ initial: active.image === null,
4283
+ touch: Galleria.TOUCH,
4284
+ fullscreen: self.isFullscreen()
4285
+ }, function( type, arg ) {
4286
+ if ( arg && self._options[ type + 'Transition' ] !== undef ) {
4287
+ transition = self._options[ type + 'Transition' ];
4288
+ return false;
4289
+ }
4290
+ });
4291
+
4292
+ // validate the transition
4293
+ if ( transition in _transitions === false ) {
4294
+ complete();
4295
+ } else {
4296
+ var params = {
4297
+ prev: active.container,
4298
+ next: next.container,
4299
+ rewind: queue.rewind,
4300
+ speed: self._options.transitionSpeed || 400
4301
+ };
4302
+
4303
+ // call the transition function and send some stuff
4304
+ _transitions[ transition ].call(self, params, complete );
4305
+
4306
+ }
4307
+ }
4308
+ });
4309
+ });
4310
+ },
4311
+
4312
+ /**
4313
+ Gets the next index
4314
+
4315
+ @param {number} [base] Optional starting point
4316
+
4317
+ @returns {number} the next index, or the first if you are at the first (looping)
4318
+ */
4319
+
4320
+ getNext : function( base ) {
4321
+ base = typeof base === 'number' ? base : this.getIndex();
4322
+ return base === this.getDataLength() - 1 ? 0 : base + 1;
4323
+ },
4324
+
4325
+ /**
4326
+ Gets the previous index
4327
+
4328
+ @param {number} [base] Optional starting point
4329
+
4330
+ @returns {number} the previous index, or the last if you are at the first (looping)
4331
+ */
4332
+
4333
+ getPrev : function( base ) {
4334
+ base = typeof base === 'number' ? base : this.getIndex();
4335
+ return base === 0 ? this.getDataLength() - 1 : base - 1;
4336
+ },
4337
+
4338
+ /**
4339
+ Shows the next image in line
4340
+
4341
+ @returns Instance
4342
+ */
4343
+
4344
+ next : function() {
4345
+ if ( this.getDataLength() > 1 ) {
4346
+ this.show( this.getNext(), false );
4347
+ }
4348
+ return this;
4349
+ },
4350
+
4351
+ /**
4352
+ Shows the previous image in line
4353
+
4354
+ @returns Instance
4355
+ */
4356
+
4357
+ prev : function() {
4358
+ if ( this.getDataLength() > 1 ) {
4359
+ this.show( this.getPrev(), true );
4360
+ }
4361
+ return this;
4362
+ },
4363
+
4364
+ /**
4365
+ Retrieve a DOM element by element ID
4366
+
4367
+ @param {string} elemId The delement ID to fetch
4368
+
4369
+ @returns {HTMLElement} The elements DOM node or null if not found.
4370
+ */
4371
+
4372
+ get : function( elemId ) {
4373
+ return elemId in this._dom ? this._dom[ elemId ] : null;
4374
+ },
4375
+
4376
+ /**
4377
+ Retrieve a data object
4378
+
4379
+ @param {number} index The data index to retrieve.
4380
+ If no index specified it will take the currently active image
4381
+
4382
+ @returns {Object} The data object
4383
+ */
4384
+
4385
+ getData : function( index ) {
4386
+ return index in this._data ?
4387
+ this._data[ index ] : this._data[ this._active ];
4388
+ },
4389
+
4390
+ /**
4391
+ Retrieve the number of data items
4392
+
4393
+ @returns {number} The data length
4394
+ */
4395
+ getDataLength : function() {
4396
+ return this._data.length;
4397
+ },
4398
+
4399
+ /**
4400
+ Retrieve the currently active index
4401
+
4402
+ @returns {number|boolean} The active index or false if none found
4403
+ */
4404
+
4405
+ getIndex : function() {
4406
+ return typeof this._active === 'number' ? this._active : false;
4407
+ },
4408
+
4409
+ /**
4410
+ Retrieve the stage height
4411
+
4412
+ @returns {number} The stage height
4413
+ */
4414
+
4415
+ getStageHeight : function() {
4416
+ return this._stageHeight;
4417
+ },
4418
+
4419
+ /**
4420
+ Retrieve the stage width
4421
+
4422
+ @returns {number} The stage width
4423
+ */
4424
+
4425
+ getStageWidth : function() {
4426
+ return this._stageWidth;
4427
+ },
4428
+
4429
+ /**
4430
+ Retrieve the option
4431
+
4432
+ @param {string} key The option key to retrieve. If no key specified it will return all options in an object.
4433
+
4434
+ @returns option or options
4435
+ */
4436
+
4437
+ getOptions : function( key ) {
4438
+ return typeof key === 'undefined' ? this._options : this._options[ key ];
4439
+ },
4440
+
4441
+ /**
4442
+ Set options to the instance.
4443
+ You can set options using a key & value argument or a single object argument (see examples)
4444
+
4445
+ @param {string} key The option key
4446
+ @param {string} value the the options value
4447
+
4448
+ @example setOptions( 'autoplay', true )
4449
+ @example setOptions({ autoplay: true });
4450
+
4451
+ @returns Instance
4452
+ */
4453
+
4454
+ setOptions : function( key, value ) {
4455
+ if ( typeof key === 'object' ) {
4456
+ $j.extend( this._options, key );
4457
+ } else {
4458
+ this._options[ key ] = value;
4459
+ }
4460
+ return this;
4461
+ },
4462
+
4463
+ /**
4464
+ Starts playing the slideshow
4465
+
4466
+ @param {number} delay Sets the slideshow interval in milliseconds.
4467
+ If you set it once, you can just call play() and get the same interval the next time.
4468
+
4469
+ @returns Instance
4470
+ */
4471
+
4472
+ play : function( delay ) {
4473
+
4474
+ this._playing = true;
4475
+
4476
+ this._playtime = delay || this._playtime;
4477
+
4478
+ this._playCheck();
4479
+
4480
+ this.trigger( Galleria.PLAY );
4481
+
4482
+ return this;
4483
+ },
4484
+
4485
+ /**
4486
+ Stops the slideshow if currently playing
4487
+
4488
+ @returns Instance
4489
+ */
4490
+
4491
+ pause : function() {
4492
+
4493
+ this._playing = false;
4494
+
4495
+ this.trigger( Galleria.PAUSE );
4496
+
4497
+ return this;
4498
+ },
4499
+
4500
+ /**
4501
+ Toggle between play and pause events.
4502
+
4503
+ @param {number} delay Sets the slideshow interval in milliseconds.
4504
+
4505
+ @returns Instance
4506
+ */
4507
+
4508
+ playToggle : function( delay ) {
4509
+ return ( this._playing ) ? this.pause() : this.play( delay );
4510
+ },
4511
+
4512
+ /**
4513
+ Checks if the gallery is currently playing
4514
+
4515
+ @returns {Boolean}
4516
+ */
4517
+
4518
+ isPlaying : function() {
4519
+ return this._playing;
4520
+ },
4521
+
4522
+ /**
4523
+ Checks if the gallery is currently in fullscreen mode
4524
+
4525
+ @returns {Boolean}
4526
+ */
4527
+
4528
+ isFullscreen : function() {
4529
+ return this._fullscreen.active;
4530
+ },
4531
+
4532
+ _playCheck : function() {
4533
+ var self = this,
4534
+ played = 0,
4535
+ interval = 20,
4536
+ now = Utils.timestamp(),
4537
+ timer_id = 'play' + this._id;
4538
+
4539
+ if ( this._playing ) {
4540
+
4541
+ Utils.clearTimer( timer_id );
4542
+
4543
+ var fn = function() {
4544
+
4545
+ played = Utils.timestamp() - now;
4546
+ if ( played >= self._playtime && self._playing ) {
4547
+ Utils.clearTimer( timer_id );
4548
+ self.next();
4549
+ return;
4550
+ }
4551
+ if ( self._playing ) {
4552
+
4553
+ // trigger the PROGRESS event
4554
+ self.trigger({
4555
+ type: Galleria.PROGRESS,
4556
+ percent: Math.ceil( played / self._playtime * 100 ),
4557
+ seconds: Math.floor( played / 1000 ),
4558
+ milliseconds: played
4559
+ });
4560
+
4561
+ Utils.addTimer( timer_id, fn, interval );
4562
+ }
4563
+ };
4564
+ Utils.addTimer( timer_id, fn, interval );
4565
+ }
4566
+ },
4567
+
4568
+ /**
4569
+ Modify the slideshow delay
4570
+
4571
+ @param {number} delay the number of milliseconds between slides,
4572
+
4573
+ @returns Instance
4574
+ */
4575
+
4576
+ setPlaytime: function( delay ) {
4577
+ this._playtime = delay;
4578
+ return this;
4579
+ },
4580
+
4581
+ setIndex: function( val ) {
4582
+ this._active = val;
4583
+ return this;
4584
+ },
4585
+
4586
+ /**
4587
+ Manually modify the counter
4588
+
4589
+ @param {number} [index] Optional data index to fectch,
4590
+ if no index found it assumes the currently active index
4591
+
4592
+ @returns Instance
4593
+ */
4594
+
4595
+ setCounter: function( index ) {
4596
+
4597
+ if ( typeof index === 'number' ) {
4598
+ index++;
4599
+ } else if ( typeof index === 'undefined' ) {
4600
+ index = this.getIndex()+1;
4601
+ }
4602
+
4603
+ this.get( 'current' ).innerHTML = index;
4604
+
4605
+ if ( IE ) { // weird IE bug
4606
+
4607
+ var count = this.$j( 'counter' ),
4608
+ opacity = count.css( 'opacity' );
4609
+
4610
+ if ( parseInt( opacity, 10 ) === 1) {
4611
+ Utils.removeAlpha( count[0] );
4612
+ } else {
4613
+ this.$j( 'counter' ).css( 'opacity', opacity );
4614
+ }
4615
+
4616
+ }
4617
+
4618
+ return this;
4619
+ },
4620
+
4621
+ /**
4622
+ Manually set captions
4623
+
4624
+ @param {number} [index] Optional data index to fectch and apply as caption,
4625
+ if no index found it assumes the currently active index
4626
+
4627
+ @returns Instance
4628
+ */
4629
+
4630
+ setInfo : function( index ) {
4631
+
4632
+ var self = this,
4633
+ data = this.getData( index );
4634
+
4635
+ $j.each( ['title','description'], function( i, type ) {
4636
+
4637
+ var elem = self.$j( 'info-' + type );
4638
+
4639
+ if ( !!data[type] ) {
4640
+ elem[ data[ type ].length ? 'show' : 'hide' ]().html( data[ type ] );
4641
+ } else {
4642
+ elem.empty().hide();
4643
+ }
4644
+ });
4645
+
4646
+ return this;
4647
+ },
4648
+
4649
+ /**
4650
+ Checks if the data contains any captions
4651
+
4652
+ @param {number} [index] Optional data index to fectch,
4653
+ if no index found it assumes the currently active index.
4654
+
4655
+ @returns {boolean}
4656
+ */
4657
+
4658
+ hasInfo : function( index ) {
4659
+
4660
+ var check = 'title description'.split(' '),
4661
+ i;
4662
+
4663
+ for ( i = 0; check[i]; i++ ) {
4664
+ if ( !!this.getData( index )[ check[i] ] ) {
4665
+ return true;
4666
+ }
4667
+ }
4668
+ return false;
4669
+
4670
+ },
4671
+
4672
+ jQuery : function( str ) {
4673
+
4674
+ var self = this,
4675
+ ret = [];
4676
+
4677
+ $j.each( str.split(','), function( i, elemId ) {
4678
+ elemId = $j.trim( elemId );
4679
+
4680
+ if ( self.get( elemId ) ) {
4681
+ ret.push( elemId );
4682
+ }
4683
+ });
4684
+
4685
+ var jQ = $j( self.get( ret.shift() ) );
4686
+
4687
+ $j.each( ret, function( i, elemId ) {
4688
+ jQ = jQ.add( self.get( elemId ) );
4689
+ });
4690
+
4691
+ return jQ;
4692
+
4693
+ },
4694
+
4695
+ /**
4696
+ Converts element IDs into a jQuery collection
4697
+ You can call for multiple IDs separated with commas.
4698
+
4699
+ @param {string} str One or more element IDs (comma-separated)
4700
+
4701
+ @returns jQuery
4702
+
4703
+ @example this.$j('info,container').hide();
4704
+ */
4705
+
4706
+ $j : function( str ) {
4707
+ return this.jQuery.apply( this, Utils.array( arguments ) );
4708
+ }
4709
+
4710
+ };
4711
+
4712
+ // End of Galleria prototype
4713
+
4714
+ // Add events as static variables
4715
+ $j.each( _events, function( i, ev ) {
4716
+
4717
+ // legacy events
4718
+ var type = /_/.test( ev ) ? ev.replace( /_/g, '' ) : ev;
4719
+
4720
+ Galleria[ ev.toUpperCase() ] = 'galleria.'+type;
4721
+
4722
+ } );
4723
+
4724
+ $j.extend( Galleria, {
4725
+
4726
+ // Browser helpers
4727
+ IE9: IE === 9,
4728
+ IE8: IE === 8,
4729
+ IE7: IE === 7,
4730
+ IE6: IE === 6,
4731
+ IE: IE,
4732
+ WEBKIT: /webkit/.test( NAV ),
4733
+ CHROME: /chrome/.test( NAV ),
4734
+ SAFARI: /safari/.test( NAV ) && !(/chrome/.test( NAV )),
4735
+ QUIRK: ( IE && doc.compatMode && doc.compatMode === "BackCompat" ),
4736
+ MAC: /mac/.test( navigator.platform.toLowerCase() ),
4737
+ OPERA: !!window.opera,
4738
+ IPHONE: /iphone/.test( NAV ),
4739
+ IPAD: /ipad/.test( NAV ),
4740
+ ANDROID: /android/.test( NAV ),
4741
+ TOUCH: ('ontouchstart' in doc)
4742
+
4743
+ });
4744
+
4745
+ // Galleria static methods
4746
+
4747
+ /**
4748
+ Adds a theme that you can use for your Gallery
4749
+
4750
+ @param {Object} theme Object that should contain all your theme settings.
4751
+ <ul>
4752
+ <li>name - name of the theme</li>
4753
+ <li>author - name of the author</li>
4754
+ <li>css - css file name (not path)</li>
4755
+ <li>defaults - default options to apply, including theme-specific options</li>
4756
+ <li>init - the init function</li>
4757
+ </ul>
4758
+
4759
+ @returns {Object} theme
4760
+ */
4761
+
4762
+ Galleria.addTheme = function( theme ) {
4763
+
4764
+ // make sure we have a name
4765
+ if ( !theme.name ) {
4766
+ Galleria.raise('No theme name specified');
4767
+ }
4768
+
4769
+ if ( typeof theme.defaults !== 'object' ) {
4770
+ theme.defaults = {};
4771
+ } else {
4772
+ theme.defaults = _legacyOptions( theme.defaults );
4773
+ }
4774
+
4775
+ var css = false,
4776
+ reg;
4777
+
4778
+ if ( typeof theme.css === 'string' ) {
4779
+
4780
+ // look for manually added CSS
4781
+ $j('link').each(function( i, link ) {
4782
+ reg = new RegExp( theme.css );
4783
+ if ( reg.test( link.href ) ) {
4784
+
4785
+ // we found the css
4786
+ css = true;
4787
+
4788
+ // the themeload trigger
4789
+ _themeLoad( theme );
4790
+
4791
+ return false;
4792
+ }
4793
+ });
4794
+
4795
+ // else look for the absolute path and load the CSS dynamic
4796
+ if ( !css ) {
4797
+
4798
+ $j('script').each(function( i, script ) {
4799
+
4800
+ // look for the theme script
4801
+ reg = new RegExp( 'galleria\\.' + theme.name.toLowerCase() + '\\.' );
4802
+ if( reg.test( script.src )) {
4803
+
4804
+ // we have a match
4805
+ css = script.src.replace(/[^\/]*$j/, '') + theme.css;
4806
+
4807
+ Utils.addTimer( "css", function() {
4808
+ Utils.loadCSS( css, 'galleria-theme', function() {
4809
+
4810
+ // the themeload trigger
4811
+ _themeLoad( theme );
4812
+
4813
+ });
4814
+ }, 1);
4815
+
4816
+ }
4817
+ });
4818
+ }
4819
+
4820
+ if ( !css ) {
4821
+ Galleria.raise('No theme CSS loaded');
4822
+ }
4823
+ } else {
4824
+
4825
+ // pass
4826
+ _themeLoad( theme );
4827
+ }
4828
+ return theme;
4829
+ };
4830
+
4831
+ /**
4832
+ loadTheme loads a theme js file and attaches a load event to Galleria
4833
+
4834
+ @param {string} src The relative path to the theme source file
4835
+
4836
+ @param {Object} [options] Optional options you want to apply
4837
+
4838
+ @returns Galleria
4839
+ */
4840
+
4841
+ Galleria.loadTheme = function( src, options ) {
4842
+
4843
+ var loaded = false,
4844
+ length = _galleries.length,
4845
+ err = window.setTimeout( function() {
4846
+ Galleria.raise( "Theme at " + src + " could not load, check theme path.", true );
4847
+ }, 5000 );
4848
+
4849
+ // first clear the current theme, if exists
4850
+ Galleria.theme = undef;
4851
+
4852
+ // load the theme
4853
+ Utils.loadScript( src, function() {
4854
+
4855
+ window.clearTimeout( err );
4856
+
4857
+ // check for existing galleries and reload them with the new theme
4858
+ if ( length ) {
4859
+
4860
+ // temporary save the new galleries
4861
+ var refreshed = [];
4862
+
4863
+ // refresh all instances
4864
+ // when adding a new theme to an existing gallery, all options will be resetted but the data will be kept
4865
+ // you can apply new options as a second argument
4866
+ $j.each( Galleria.get(), function(i, instance) {
4867
+
4868
+ // mix the old data and options into the new instance
4869
+ var op = $j.extend( instance._original.options, {
4870
+ data_source: instance._data
4871
+ }, options);
4872
+
4873
+ // remove the old container
4874
+ instance.$j('container').remove();
4875
+
4876
+ // create a new instance
4877
+ var g = new Galleria();
4878
+
4879
+ // move the id
4880
+ g._id = instance._id;
4881
+
4882
+ // initialize the new instance
4883
+ g.init( instance._original.target, op );
4884
+
4885
+ // push the new instance
4886
+ refreshed.push( g );
4887
+ });
4888
+
4889
+ // now overwrite the old holder with the new instances
4890
+ _galleries = refreshed;
4891
+ }
4892
+
4893
+ });
4894
+
4895
+ return Galleria;
4896
+ };
4897
+
4898
+ /**
4899
+ Retrieves a Galleria instance.
4900
+
4901
+ @param {number} [index] Optional index to retrieve.
4902
+ If no index is supplied, the method will return all instances in an array.
4903
+
4904
+ @returns Instance or Array of instances
4905
+ */
4906
+
4907
+ Galleria.get = function( index ) {
4908
+ if ( !!_instances[ index ] ) {
4909
+ return _instances[ index ];
4910
+ } else if ( typeof index !== 'number' ) {
4911
+ return _instances;
4912
+ } else {
4913
+ Galleria.raise('Gallery index ' + index + ' not found');
4914
+ }
4915
+ };
4916
+
4917
+ /**
4918
+
4919
+ Configure Galleria options via a static function.
4920
+ The options will be applied to all instances
4921
+
4922
+ @param {string|object} key The options to apply or a key
4923
+
4924
+ @param [value] If key is a string, this is the value
4925
+
4926
+ @returns Galleria
4927
+
4928
+ */
4929
+
4930
+ Galleria.configure = function( key, value ) {
4931
+
4932
+ var opts = {};
4933
+
4934
+ if( typeof key == 'string' && value ) {
4935
+ opts[key] = value;
4936
+ key = opts;
4937
+ } else {
4938
+ $j.extend( opts, key );
4939
+ }
4940
+
4941
+ Galleria.configure.options = opts;
4942
+
4943
+ $j.each( Galleria.get(), function(i, instance) {
4944
+ instance.setOptions( opts );
4945
+ });
4946
+
4947
+ return Galleria;
4948
+ };
4949
+
4950
+ Galleria.configure.options = {};
4951
+
4952
+ /**
4953
+
4954
+ Bind a Galleria event to the gallery
4955
+
4956
+ @param {string} type A string representing the galleria event
4957
+
4958
+ @param {function} callback The function that should run when the event is triggered
4959
+
4960
+ @returns Galleria
4961
+
4962
+ */
4963
+
4964
+ Galleria.on = function( type, callback ) {
4965
+ if ( !type ) {
4966
+ return;
4967
+ }
4968
+ Galleria.on.binds.push({
4969
+ type: type,
4970
+ callback: callback || F
4971
+ });
4972
+ $j.each( Galleria.get(), function(i, instance) {
4973
+ instance.bind( type, callback );
4974
+ });
4975
+ return Galleria;
4976
+ };
4977
+
4978
+ Galleria.on.binds = [];
4979
+
4980
+ /**
4981
+
4982
+ Run Galleria
4983
+ Alias for $j(selector).galleria(options)
4984
+
4985
+ @param {string} selector A selector of element(s) to intialize galleria to
4986
+
4987
+ @param {object} options The options to apply
4988
+
4989
+ @returns Galleria
4990
+
4991
+ */
4992
+
4993
+ Galleria.run = function( selector, options ) {
4994
+ $j( selector || '#galleria' ).galleria( options );
4995
+ return Galleria;
4996
+ };
4997
+
4998
+ /**
4999
+ Creates a transition to be used in your gallery
5000
+
5001
+ @param {string} name The name of the transition that you will use as an option
5002
+
5003
+ @param {Function} fn The function to be executed in the transition.
5004
+ The function contains two arguments, params and complete.
5005
+ Use the params Object to integrate the transition, and then call complete when you are done.
5006
+
5007
+ @returns Galleria
5008
+
5009
+ */
5010
+
5011
+ Galleria.addTransition = function( name, fn ) {
5012
+ _transitions[name] = fn;
5013
+ return Galleria;
5014
+ };
5015
+
5016
+ /**
5017
+ The Galleria utilites
5018
+ */
5019
+
5020
+ Galleria.utils = Utils;
5021
+
5022
+ /**
5023
+ A helper metod for cross-browser logging.
5024
+ It uses the console log if available otherwise it falls back to alert
5025
+
5026
+ @example Galleria.log("hello", document.body, [1,2,3]);
5027
+ */
5028
+
5029
+ Galleria.log = (function() {
5030
+ if( 'console' in window && 'log' in window.console ) {
5031
+ return window.console.log;
5032
+ } else {
5033
+ return function() {
5034
+ window.alert( Utils.array( arguments ).join(', ') );
5035
+ };
5036
+ }
5037
+ }());
5038
+
5039
+ /**
5040
+ A ready method for adding callbacks when a gallery is ready
5041
+ Each method is call before the extend option for every instance
5042
+
5043
+ @param {function} callback The function to call
5044
+
5045
+ @returns Galleria
5046
+ */
5047
+
5048
+ Galleria.ready = function( fn ) {
5049
+ $j.each( _galleries, function( i, gallery ) {
5050
+ fn.call( gallery, gallery._options );
5051
+ });
5052
+ Galleria.ready.callbacks.push( fn );
5053
+ return Galleria;
5054
+ };
5055
+
5056
+ Galleria.ready.callbacks = [];
5057
+
5058
+ /**
5059
+ Method for raising errors
5060
+
5061
+ @param {string} msg The message to throw
5062
+
5063
+ @param {boolean} [fatal] Set this to true to override debug settings and display a fatal error
5064
+ */
5065
+
5066
+ Galleria.raise = function( msg, fatal ) {
5067
+
5068
+ var type = fatal ? 'Fatal error' : 'Error',
5069
+
5070
+ self = this,
5071
+
5072
+ css = {
5073
+ color: '#fff',
5074
+ position: 'absolute',
5075
+ top: 0,
5076
+ left: 0,
5077
+ zIndex: 100000
5078
+ },
5079
+
5080
+ echo = function( msg ) {
5081
+
5082
+ var html = '<div style="padding:4px;margin:0 0 2px;background:#' +
5083
+ ( fatal ? '811' : '222' ) + '";>' +
5084
+ ( fatal ? '<strong>' + type + ': </strong>' : '' ) +
5085
+ msg + '</div>';
5086
+
5087
+ $j.each( _instances, function() {
5088
+
5089
+ var cont = this.$j( 'errors' ),
5090
+ target = this.$j( 'target' );
5091
+
5092
+ if ( !cont.length ) {
5093
+
5094
+ target.css( 'position', 'relative' );
5095
+
5096
+ cont = this.addElement( 'errors' ).appendChild( 'target', 'errors' ).$j( 'errors' ).css(css);
5097
+ }
5098
+ cont.append( html );
5099
+
5100
+ });
5101
+
5102
+ if ( !_instances.length ) {
5103
+ $j('<div>').css( $j.extend( css, { position: 'fixed' } ) ).append( html ).appendTo( DOM().body );
5104
+ }
5105
+ };
5106
+
5107
+ // if debug is on, display errors and throw exception if fatal
5108
+ if ( DEBUG ) {
5109
+ echo( msg );
5110
+ if ( fatal ) {
5111
+ throw new Error(type + ': ' + msg);
5112
+ }
5113
+
5114
+ // else just echo a silent generic error if fatal
5115
+ } else if ( fatal ) {
5116
+ if ( _hasError ) {
5117
+ return;
5118
+ }
5119
+ _hasError = true;
5120
+ fatal = false;
5121
+ echo( 'Gallery could not load.' );
5122
+ }
5123
+ };
5124
+
5125
+ // Add the version
5126
+ Galleria.version = VERSION;
5127
+
5128
+ /**
5129
+ A method for checking what version of Galleria the user has installed and throws a readable error if the user needs to upgrade.
5130
+ Useful when building plugins that requires a certain version to function.
5131
+
5132
+ @param {number} version The minimum version required
5133
+
5134
+ @param {string} [msg] Optional message to display. If not specified, Galleria will throw a generic error.
5135
+
5136
+ @returns Galleria
5137
+ */
5138
+
5139
+ Galleria.requires = function( version, msg ) {
5140
+ msg = msg || 'You need to upgrade Galleria to version ' + version + ' to use one or more components.';
5141
+ if ( Galleria.version < version ) {
5142
+ Galleria.raise(msg, true);
5143
+ }
5144
+ return Galleria;
5145
+ };
5146
+
5147
+ /**
5148
+ Adds preload, cache, scale and crop functionality
5149
+
5150
+ @constructor
5151
+
5152
+ @requires jQuery
5153
+
5154
+ @param {number} [id] Optional id to keep track of instances
5155
+ */
5156
+
5157
+ Galleria.Picture = function( id ) {
5158
+
5159
+ // save the id
5160
+ this.id = id || null;
5161
+
5162
+ // the image should be null until loaded
5163
+ this.image = null;
5164
+
5165
+ // Create a new container
5166
+ this.container = Utils.create('galleria-image');
5167
+
5168
+ // add container styles
5169
+ $j( this.container ).css({
5170
+ overflow: 'hidden',
5171
+ position: 'relative' // for IE Standards mode
5172
+ });
5173
+
5174
+ // saves the original measurements
5175
+ this.original = {
5176
+ width: 0,
5177
+ height: 0
5178
+ };
5179
+
5180
+ // flag when the image is ready
5181
+ this.ready = false;
5182
+
5183
+ // flag for iframe Picture
5184
+ this.isIframe = false;
5185
+
5186
+ };
5187
+
5188
+ Galleria.Picture.prototype = {
5189
+
5190
+ // the inherited cache object
5191
+ cache: {},
5192
+
5193
+ // show the image on stage
5194
+ show: function() {
5195
+ Utils.show( this.image );
5196
+ },
5197
+
5198
+ // hide the image
5199
+ hide: function() {
5200
+ Utils.moveOut( this.image );
5201
+ },
5202
+
5203
+ clear: function() {
5204
+ this.image = null;
5205
+ },
5206
+
5207
+ /**
5208
+ Checks if an image is in cache
5209
+
5210
+ @param {string} src The image source path, ex '/path/to/img.jpg'
5211
+
5212
+ @returns {boolean}
5213
+ */
5214
+
5215
+ isCached: function( src ) {
5216
+ return !!this.cache[src];
5217
+ },
5218
+
5219
+ /**
5220
+ Preloads an image into the cache
5221
+
5222
+ @param {string} src The image source path, ex '/path/to/img.jpg'
5223
+
5224
+ @returns Galleria.Picture
5225
+ */
5226
+
5227
+ preload: function( src ) {
5228
+ $j( new Image() ).load((function(src, cache) {
5229
+ return function() {
5230
+ cache[ src ] = src;
5231
+ };
5232
+ }( src, this.cache ))).attr( 'src', src );
5233
+ },
5234
+
5235
+ /**
5236
+ Loads an image and call the callback when ready.
5237
+ Will also add the image to cache.
5238
+
5239
+ @param {string} src The image source path, ex '/path/to/img.jpg'
5240
+ @param {Object} [size] The forced size of the image, defined as an object { width: xx, height:xx }
5241
+ @param {Function} callback The function to be executed when the image is loaded & scaled
5242
+
5243
+ @returns The image container (jQuery object)
5244
+ */
5245
+
5246
+ load: function(src, size, callback) {
5247
+
5248
+ if ( typeof size == 'function' ) {
5249
+ callback = size;
5250
+ size = null;
5251
+ }
5252
+
5253
+ if( this.isIframe ) {
5254
+ var id = 'if'+new Date().getTime();
5255
+
5256
+ this.image = $j('<iframe>', {
5257
+ src: src,
5258
+ frameborder: 0,
5259
+ id: id,
5260
+ allowfullscreen: true,
5261
+ css: { visibility: 'hidden' }
5262
+ })[0];
5263
+
5264
+ $j( this.container ).find( 'iframe,img' ).remove();
5265
+
5266
+ this.container.appendChild( this.image );
5267
+
5268
+ $j('#'+id).load( (function( self, callback ) {
5269
+ return function() {
5270
+ window.setTimeout(function() {
5271
+ $j( self.image ).css( 'visibility', 'visible' );
5272
+ if( typeof callback == 'function' ) {
5273
+ callback.call( self, self );
5274
+ }
5275
+ }, 10);
5276
+ };
5277
+ }( this, callback )));
5278
+
5279
+ return this.container;
5280
+ }
5281
+
5282
+ this.image = new Image();
5283
+
5284
+ var i = 0,
5285
+ reload = false,
5286
+ resort = false,
5287
+
5288
+ // some jquery cache
5289
+ $jcontainer = $j( this.container ),
5290
+ $jimage = $j( this.image ),
5291
+
5292
+ // the onload method
5293
+ onload = (function( self, callback, src ) {
5294
+
5295
+ return function() {
5296
+
5297
+ var complete = function() {
5298
+
5299
+ $j( this ).unbind( 'load' );
5300
+
5301
+ // save the original size
5302
+ self.original = size || {
5303
+ height: this.height,
5304
+ width: this.width
5305
+ };
5306
+
5307
+ self.container.appendChild( this );
5308
+
5309
+ self.cache[ src ] = src; // will override old cache
5310
+
5311
+ if (typeof callback == 'function' ) {
5312
+ window.setTimeout(function() {
5313
+ callback.call( self, self );
5314
+ },1);
5315
+ }
5316
+ };
5317
+
5318
+ // Delay the callback to "fix" the Adblock Bug
5319
+ // http://code.google.com/p/adblockforchrome/issues/detail?id=3701
5320
+ if ( ( !this.width || !this.height ) ) {
5321
+ window.setTimeout( (function( img ) {
5322
+ return function() {
5323
+ if ( img.width && img.height ) {
5324
+ complete.call( img );
5325
+ } else {
5326
+ // last resort, this should never happen but just in case it does...
5327
+ if ( !resort ) {
5328
+ $j(new Image()).load( onload ).attr( 'src', img.src );
5329
+ resort = true;
5330
+ } else {
5331
+ Galleria.raise('Could not extract width/height from image: ' + img.src +
5332
+ '. Traced measures: width:' + img.width + 'px, height: ' + img.height + 'px.');
5333
+ }
5334
+ }
5335
+ };
5336
+ }( this )), 2);
5337
+ } else {
5338
+ complete.call( this );
5339
+ }
5340
+ };
5341
+ }( this, callback, src ));
5342
+
5343
+ // remove any previous images
5344
+ $jcontainer.find( 'iframe,img' ).remove();
5345
+
5346
+ // append the image
5347
+ $jimage.css( 'display', 'block');
5348
+
5349
+ // hide it for now
5350
+ Utils.hide( this.image );
5351
+
5352
+ // remove any max/min scaling
5353
+ $j.each('minWidth minHeight maxWidth maxHeight'.split(' '), function(i, prop) {
5354
+ $jimage.css(prop, (/min/.test(prop) ? '0' : 'none'));
5355
+ });
5356
+
5357
+ if ( this.cache[ src ] ) {
5358
+
5359
+ // quick load on cache
5360
+ $jimage.load( onload ).attr( 'src', src );
5361
+
5362
+ return this.container;
5363
+ }
5364
+
5365
+ // begin load and insert in cache when done
5366
+ $jimage.load( onload ).error( function() {
5367
+ if ( !reload ) {
5368
+ reload = true;
5369
+ // reload the image with a timestamp
5370
+ window.setTimeout((function(image, src) {
5371
+ return function() {
5372
+ image.attr('src', src + '?' + Utils.timestamp() );
5373
+ };
5374
+ }( $j(this), src )), 50);
5375
+ } else {
5376
+ // apply the dummy image if it exists
5377
+ if ( DUMMY ) {
5378
+ $j( this ).attr( 'src', DUMMY );
5379
+ } else {
5380
+ Galleria.raise('Image not found: ' + src);
5381
+ }
5382
+ }
5383
+ }).attr( 'src', src );
5384
+
5385
+ // return the container
5386
+ return this.container;
5387
+ },
5388
+
5389
+ /**
5390
+ Scales and crops the image
5391
+
5392
+ @param {Object} options The method takes an object with a number of options:
5393
+
5394
+ <ul>
5395
+ <li>width - width of the container</li>
5396
+ <li>height - height of the container</li>
5397
+ <li>min - minimum scale ratio</li>
5398
+ <li>max - maximum scale ratio</li>
5399
+ <li>margin - distance in pixels from the image border to the container</li>
5400
+ <li>complete - a callback that fires when scaling is complete</li>
5401
+ <li>position - positions the image, works like the css background-image property.</li>
5402
+ <li>crop - defines how to crop. Can be true, false, 'width' or 'height'</li>
5403
+ <li>canvas - set to true to try a canvas-based rescale</li>
5404
+ </ul>
5405
+
5406
+ @returns The image container object (jQuery)
5407
+ */
5408
+
5409
+ scale: function( options ) {
5410
+
5411
+ var self = this;
5412
+
5413
+ // extend some defaults
5414
+ options = $j.extend({
5415
+ width: 0,
5416
+ height: 0,
5417
+ min: undef,
5418
+ max: undef,
5419
+ margin: 0,
5420
+ complete: F,
5421
+ position: 'center',
5422
+ crop: false,
5423
+ canvas: false
5424
+ }, options);
5425
+
5426
+ if( this.isIframe ) {
5427
+ $j( this.image ).width( options.width ).height( options.height ).removeAttr( 'width' ).removeAttr( 'height' );
5428
+ $j( this.container ).width( options.width ).height( options.height) ;
5429
+ options.complete.call(self, self);
5430
+ try {
5431
+ if( this.image.contentWindow ) {
5432
+ $j( this.image.contentWindow ).trigger('resize');
5433
+ }
5434
+ } catch(e) {}
5435
+ return this.container;
5436
+ }
5437
+
5438
+ // return the element if no image found
5439
+ if (!this.image) {
5440
+ return this.container;
5441
+ }
5442
+
5443
+ // store locale variables
5444
+ var width,
5445
+ height,
5446
+ $jcontainer = $j( self.container ),
5447
+ data;
5448
+
5449
+ // wait for the width/height
5450
+ Utils.wait({
5451
+ until: function() {
5452
+ width = options.width ||
5453
+ $jcontainer.width() ||
5454
+ Utils.parseValue( $jcontainer.css('width') );
5455
+
5456
+ height = options.height ||
5457
+ $jcontainer.height() ||
5458
+ Utils.parseValue( $jcontainer.css('height') );
5459
+
5460
+ return width && height;
5461
+ },
5462
+ success: function() {
5463
+
5464
+ // calculate some cropping
5465
+ var newWidth = ( width - options.margin * 2 ) / self.original.width,
5466
+ newHeight = ( height - options.margin * 2 ) / self.original.height,
5467
+ min = Math.min( newWidth, newHeight ),
5468
+ max = Math.max( newWidth, newHeight ),
5469
+ cropMap = {
5470
+ 'true' : max,
5471
+ 'width' : newWidth,
5472
+ 'height': newHeight,
5473
+ 'false' : min,
5474
+ 'landscape': self.original.width > self.original.height ? max : min,
5475
+ 'portrait': self.original.width < self.original.height ? max : min
5476
+ },
5477
+ ratio = cropMap[ options.crop.toString() ],
5478
+ canvasKey = '';
5479
+
5480
+ // allow max_scale_ratio
5481
+ if ( options.max ) {
5482
+ ratio = Math.min( options.max, ratio );
5483
+ }
5484
+
5485
+ // allow min_scale_ratio
5486
+ if ( options.min ) {
5487
+ ratio = Math.max( options.min, ratio );
5488
+ }
5489
+
5490
+ $j.each( ['width','height'], function( i, m ) {
5491
+ $j( self.image )[ m ]( self[ m ] = self.image[ m ] = Math.round( self.original[ m ] * ratio ) );
5492
+ });
5493
+
5494
+ $j( self.container ).width( width ).height( height );
5495
+
5496
+ if ( options.canvas && _canvas ) {
5497
+
5498
+ _canvas.elem.width = self.width;
5499
+ _canvas.elem.height = self.height;
5500
+
5501
+ canvasKey = self.image.src + ':' + self.width + 'x' + self.height;
5502
+
5503
+ self.image.src = _canvas.cache[ canvasKey ] || (function( key ) {
5504
+
5505
+ _canvas.context.drawImage(self.image, 0, 0, self.original.width*ratio, self.original.height*ratio);
5506
+
5507
+ try {
5508
+
5509
+ data = _canvas.elem.toDataURL();
5510
+ _canvas.length += data.length;
5511
+ _canvas.cache[ key ] = data;
5512
+ return data;
5513
+
5514
+ } catch( e ) {
5515
+ return self.image.src;
5516
+ }
5517
+
5518
+ }( canvasKey ) );
5519
+
5520
+ }
5521
+
5522
+ // calculate image_position
5523
+ var pos = {},
5524
+ mix = {},
5525
+ getPosition = function(value, measure, margin) {
5526
+ var result = 0;
5527
+ if (/\%/.test(value)) {
5528
+ var flt = parseInt( value, 10 ) / 100,
5529
+ m = self.image[ measure ] || $j( self.image )[ measure ]();
5530
+
5531
+ result = Math.ceil( m * -1 * flt + margin * flt );
5532
+ } else {
5533
+ result = Utils.parseValue( value );
5534
+ }
5535
+ return result;
5536
+ },
5537
+ positionMap = {
5538
+ 'top': { top: 0 },
5539
+ 'left': { left: 0 },
5540
+ 'right': { left: '100%' },
5541
+ 'bottom': { top: '100%' }
5542
+ };
5543
+
5544
+ $j.each( options.position.toLowerCase().split(' '), function( i, value ) {
5545
+ if ( value === 'center' ) {
5546
+ value = '50%';
5547
+ }
5548
+ pos[i ? 'top' : 'left'] = value;
5549
+ });
5550
+
5551
+ $j.each( pos, function( i, value ) {
5552
+ if ( positionMap.hasOwnProperty( value ) ) {
5553
+ $j.extend( mix, positionMap[ value ] );
5554
+ }
5555
+ });
5556
+
5557
+ pos = pos.top ? $j.extend( pos, mix ) : mix;
5558
+
5559
+ pos = $j.extend({
5560
+ top: '50%',
5561
+ left: '50%'
5562
+ }, pos);
5563
+
5564
+ // apply position
5565
+ $j( self.image ).css({
5566
+ position : 'absolute',
5567
+ top : getPosition(pos.top, 'height', height),
5568
+ left : getPosition(pos.left, 'width', width)
5569
+ });
5570
+
5571
+ // show the image
5572
+ self.show();
5573
+
5574
+ // flag ready and call the callback
5575
+ self.ready = true;
5576
+ options.complete.call( self, self );
5577
+
5578
+ },
5579
+ error: function() {
5580
+ Galleria.raise('Could not scale image: '+self.image.src);
5581
+ },
5582
+ timeout: 1000
5583
+ });
5584
+ return this;
5585
+ }
5586
+ };
5587
+
5588
+ // our own easings
5589
+ $j.extend( $j.easing, {
5590
+
5591
+ galleria: function (_, t, b, c, d) {
5592
+ if ((t/=d/2) < 1) {
5593
+ return c/2*t*t*t + b;
5594
+ }
5595
+ return c/2*((t-=2)*t*t + 2) + b;
5596
+ },
5597
+
5598
+ galleriaIn: function (_, t, b, c, d) {
5599
+ return c*(t/=d)*t + b;
5600
+ },
5601
+
5602
+ galleriaOut: function (_, t, b, c, d) {
5603
+ return -c *(t/=d)*(t-2) + b;
5604
+ }
5605
+
5606
+ });
5607
+
5608
+ // the plugin initializer
5609
+ $j.fn.galleria = function( options ) {
5610
+
5611
+ var selector = this.selector;
5612
+
5613
+ // try domReady if element not found
5614
+ if ( !$j(this).length ) {
5615
+
5616
+ $j(function() {
5617
+ if ( $j( selector ).length ) {
5618
+
5619
+ // if found on domReady, go ahead
5620
+ $j( selector ).galleria( options );
5621
+
5622
+ } else {
5623
+
5624
+ // if not, try fetching the element for 5 secs, then raise a warning.
5625
+ Galleria.utils.wait({
5626
+ until: function() {
5627
+ return $j( selector ).length;
5628
+ },
5629
+ success: function() {
5630
+ $j( selector ).galleria( options );
5631
+ },
5632
+ error: function() {
5633
+ Galleria.raise('Init failed: Galleria could not find the element "'+selector+'".');
5634
+ },
5635
+ timeout: 5000
5636
+ });
5637
+
5638
+ }
5639
+ });
5640
+ return this;
5641
+ }
5642
+
5643
+ return this.each(function() {
5644
+
5645
+ // fail silent if already run
5646
+ if ( !$j.data(this, 'galleria') ) {
5647
+ $j.data( this, 'galleria', new Galleria().init( this, options ) );
5648
+ }
5649
+ });
5650
+
5651
+ };
5652
+
5653
+ // phew
5654
+
5655
+ }( jQuery ) );
skin/frontend/default/mobileshoppe/js/galleria-1.2.7.min.js ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Galleria v 1.2.7 2012-04-04
3
+ * http://galleria.io
4
+ *
5
+ * Licensed under the MIT license
6
+ * https://raw.github.com/aino/galleria/master/LICENSE
7
+ *
8
+ */(function(a){var b,c=this,d=c.document,e=a(d),f=a(c),g=Array.prototype,h=1.27,i=!0,j=3e4,k=!1,l=navigator.userAgent.toLowerCase(),m=c.location.hash.replace(/#\//,""),n=function(){},o=function(){return!1},p=function(){var a=3,c=d.createElement("div"),e=c.getElementsByTagName("i");do c.innerHTML="<!--[if gt IE "+ ++a+"]><i></i><![endif]-->";while(e[0]);return a>4?a:b}(),q=function(){return{html:d.documentElement,body:d.body,head:d.getElementsByTagName("head")[0],title:d.title}},r="data ready thumbnail loadstart loadfinish image play pause progress fullscreen_enter fullscreen_exit idle_enter idle_exit rescale lightbox_open lightbox_close lightbox_image",s=function(){var b=[];return a.each(r.split(" "),function(a,c){b.push(c),/_/.test(c)&&b.push(c.replace(/_/g,""))}),b}(),t=function(b){var c;return typeof b!="object"?b:(a.each(b,function(d,e){/^[a-z]+_/.test(d)&&(c="",a.each(d.split("_"),function(a,b){c+=a>0?b.substr(0,1).toUpperCase()+b.substr(1):b}),b[c]=e,delete b[d])}),b)},u=function(b){return a.inArray(b,s)>-1?Galleria[b.toUpperCase()]:b},v={youtube:{reg:/https?:\/\/(?:[a-zA_Z]{2,3}.)?(?:youtube\.com\/watch\?)((?:[\w\d\-\_\=]+&amp;(?:amp;)?)*v(?:&lt;[A-Z]+&gt;)?=([0-9a-zA-Z\-\_]+))/i,embed:function(a){return"http://www.youtube.com/embed/"+a},getThumb:function(b,c,d){d=d||n,a.getJSON("http://gdata.youtube.com/feeds/api/videos/"+b+"?v=2&alt=json-in-script&callback=?",function(a){try{c(a.entry.media$jgroup.media$jthumbnail[0].url)}catch(b){d()}}).error(d)}},vimeo:{reg:/https?:\/\/(?:www\.)?(vimeo\.com)\/(?:hd#)?([0-9]+)/i,embed:function(a){return"http://player.vimeo.com/video/"+a},getThumb:function(b,c,d){d=d||n,a.getJSON("http://vimeo.com/api/v2/video/"+b+".json?callback=?",function(a){try{c(a[0].thumbnail_medium)}catch(b){d()}}).error(d)}},dailymotion:{reg:/https?:\/\/(?:www\.)?(dailymotion\.com)\/video\/([^_]+)/,embed:function(a){return"http://www.dailymotion.com/embed/video/"+a},getThumb:function(b,c,d){d=d||n,a.getJSON("https://api.dailymotion.com/video/"+b+"?fields=thumbnail_medium_url&callback=?",function(a){try{c(a.thumbnail_medium_url)}catch(b){d()}}).error(d)}}},w=function(a){var b;for(var c in v){b=a&&a.match(v[c].reg);if(b&&b.length)return{id:b[2],provider:c}}return!1},x={trunk:{},add:function(a,b,d,e){a=a||(new Date).getTime(),e=e||!1,this.clear(a);if(e){var f=b;b=function(){f(),x.add(a,b,d)}}this.trunk[a]=c.setTimeout(b,d)},clear:function(a){var b=function(a){c.clearTimeout(this.trunk[a]),delete this.trunk[a]},d;if(!!a&&a in this.trunk)b.call(x,a);else if(typeof a=="undefined")for(d in this.trunk)this.trunk.hasOwnProperty(d)&&b.call(x,d)}},y=[],z=[],A=!1,B=!1,C=[],D=function(b){Galleria.theme=b,a.each(C,function(a,b){b._initialized||b._init.call(b)})},E=function(){return{array:function(a){return g.slice.call(a,0)},create:function(a,b){b=b||"div";var c=d.createElement(b);return c.className=a,c},getScriptPath:function(b){b=b||a("script:last").attr("src");var c=b.split("/");return c.length==1?"":(c.pop(),c.join("/")+"/")},animate:function(){var b=function(a){var b="transition WebkitTransition MozTransition OTransition".split(" "),d;if(c.opera)return!1;for(d=0;b[d];d++)if(typeof a[b[d]]!="undefined")return b[d];return!1}((d.body||d.documentElement).style),e={MozTransition:"transitionend",OTransition:"oTransitionEnd",WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[b],f={_default:[.25,.1,.25,1],galleria:[.645,.045,.355,1],galleriaIn:[.55,.085,.68,.53],galleriaOut:[.25,.46,.45,.94],ease:[.25,0,.25,1],linear:[.25,.25,.75,.75],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},g=function(b,c,d){var e={};d=d||"transition",a.each("webkit moz ms o".split(" "),function(){e["-"+this+"-"+d]=c}),b.css(e)},h=function(a){g(a,"none","transition"),Galleria.WEBKIT&&Galleria.TOUCH&&(g(a,"translate3d(0,0,0)","transform"),a.data("revert")&&(a.css(a.data("revert")),a.data("revert",null)))},i,j,k,l,m,o,p;return function(d,q,r){r=a.extend({duration:400,complete:n,stop:!1},r),d=a(d);if(!r.duration){d.css(q),r.complete.call(d[0]);return}if(!b){d.animate(q,r);return}r.stop&&(d.unbind(e),h(d)),i=!1,a.each(q,function(a,b){p=d.css(a),E.parseValue(p)!=E.parseValue(b)&&(i=!0),d.css(a,p)});if(!i){c.setTimeout(function(){r.complete.call(d[0])},r.duration);return}j=[],k=r.easing in f?f[r.easing]:f._default,l=" "+r.duration+"ms"+" cubic-bezier("+k.join(",")+")",c.setTimeout(function(b,c,d,e){return function(){b.one(c,function(a){return function(){h(a),r.complete.call(a[0])}}(b));if(Galleria.WEBKIT&&Galleria.TOUCH){m={},o=[0,0,0],a.each(["left","top"],function(a,c){c in d&&(o[a]=E.parseValue(d[c])-E.parseValue(b.css(c))+"px",m[c]=d[c],delete d[c])});if(o[0]||o[1])b.data("revert",m),j.push("-webkit-transform"+e),g(b,"translate3d("+o.join(",")+")","transform")}a.each(d,function(a,b){j.push(a+e)}),g(b,j.join(",")),b.css(d)}}(d,e,q,l),2)}}(),removeAlpha:function(a){if(p<9&&a){var b=a.style,c=a.currentStyle,d=c&&c.filter||b.filter||"";/alpha/.test(d)&&(b.filter=d.replace(/alpha\([^)]*\)/i,""))}},forceStyles:function(b,c){b=a(b),b.attr("style")&&b.data("styles",b.attr("style")).removeAttr("style"),b.css(c)},revertStyles:function(){a.each(E.array(arguments),function(b,c){c=a(c),c.removeAttr("style"),c.attr("style",""),c.data("styles")&&c.attr("style",c.data("styles")).data("styles",null)})},moveOut:function(a){E.forceStyles(a,{position:"absolute",left:-1e4})},moveIn:function(){E.revertStyles.apply(E,E.array(arguments))},elem:function(b){return b instanceof a?{$j:b,dom:b[0]}:{$j:a(b),dom:b}},hide:function(a,b,c){c=c||n;var d=E.elem(a),e=d.$j;a=d.dom,e.data("opacity")||e.data("opacity",e.css("opacity"));var f={opacity:0};if(b){var g=p<9&&a?function(){E.removeAlpha(a),a.style.visibility="hidden",c.call(a)}:c;E.animate(a,f,{duration:b,complete:g,stop:!0})}else p<9&&a?(E.removeAlpha(a),a.style.visibility="hidden"):e.css(f)},show:function(a,b,c){c=c||n;var d=E.elem(a),e=d.$j;a=d.dom;var f=parseFloat(e.data("opacity"))||1,g={opacity:f};if(b){p<9&&(e.css("opacity",0),a.style.visibility="visible");var h=p<9&&a?function(){g.opacity==1&&E.removeAlpha(a),c.call(a)}:c;E.animate(a,g,{duration:b,complete:h,stop:!0})}else p<9&&g.opacity==1&&a?(E.removeAlpha(a),a.style.visibility="visible"):e.css(g)},optimizeTouch:function(){var b,c,d,e,f={},g=function(b){b.preventDefault(),f=a.extend({},b,!0)},h=function(){this.evt=f},i=function(){this.handler.call(b,this.evt)};return function(f){a(f).bind("touchend",function(f){b=f.target,e=!0;while(b.parentNode&&b!=f.currentTarget&&e)c=a(b).data("events"),d=a(b).data("fakes"),c&&"click"in c?(e=!1,f.preventDefault(),a(b).click(g).click(),c.click.pop(),a.each(c.click,h),a(b).data("fakes",c.click),delete c.click):d&&(e=!1,f.preventDefault(),a.each(d,i)),b=b.parentNode})}}(),addTimer:function(){return x.add.apply(x,E.array(arguments)),this},clearTimer:function(){return x.clear.apply(x,E.array(arguments)),this},wait:function(b){b=a.extend({until:o,success:n,error:function(){Galleria.raise("Could not complete wait function.")},timeout:3e3},b);var d=E.timestamp(),e,f,g=function(){f=E.timestamp(),e=f-d;if(b.until(e))return b.success(),!1;if(typeof b.timeout=="number"&&f>=d+b.timeout)return b.error(),!1;c.setTimeout(g,10)};c.setTimeout(g,10)},toggleQuality:function(a,b){if(p!==7&&p!==8||!a||a.nodeName.toUpperCase()!="IMG")return;typeof b=="undefined"&&(b=a.style.msInterpolationMode==="nearest-neighbor"),a.style.msInterpolationMode=b?"bicubic":"nearest-neighbor"},insertStyleTag:function(a){var b=d.createElement("style");q().head.appendChild(b);if(b.styleSheet)b.styleSheet.cssText=a;else{var c=d.createTextNode(a);b.appendChild(c)}},loadScript:function(b,c){var d=!1,e=a("<script>").attr({src:b,async:!0}).get(0);e.onload=e.onreadystatechange=function(){!d&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")&&(d=!0,e.onload=e.onreadystatechange=null,typeof c=="function"&&c.call(this,this))},q().head.appendChild(e)},parseValue:function(a){if(typeof a=="number")return a;if(typeof a=="string"){var b=a.match(/\-?\d|\./g);return b&&b.constructor===Array?b.join("")*1:0}return 0},timestamp:function(){return(new Date).getTime()},loadCSS:function(e,f,g){var h,i=!1,j,k=function(){var a=new Image;a.onload=a.onerror=function(b){a=null,i=!0},a.src=e};return a("link[rel=stylesheet]").each(function(){if((new RegExp(e)).test(this.href))return h=this,!1}),typeof f=="function"&&(g=f,f=b),g=g||n,h?(g.call(h,h),h):(j=d.styleSheets.length,a("#"+f).length?(a("#"+f).attr("href",e),j--,i=!0):(h=a("<link>").attr({rel:"stylesheet",href:e,id:f}).get(0),c.setTimeout(function(){var b=a('link[rel="stylesheet"], style');b.length?b.get(0).parentNode.insertBefore(h,b[0]):q().head.appendChild(h);if(p){if(j>=31){Galleria.raise("You have reached the browser stylesheet limit (31)",!0);return}h.onreadystatechange=function(a){!i&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")&&(i=!0)}}else{var f=d.createElement("a"),g=c.location;f.href=e,!/file/.test(g.protocol)&&g.hostname==f.hostname&&g.port==f.port&&g.protocol==f.protocol?a.ajax({url:e,success:function(){i=!0},error:k}):k()}},10)),typeof g=="function"&&E.wait({until:function(){return i&&d.styleSheets.length>j},success:function(){c.setTimeout(function(){g.call(h,h)},100)},error:function(){Galleria.raise("Theme CSS could not load",!0)},timeout:1e4}),h)}}}(),F=function(){var b=function(b,c,d,e){var f=this.getOptions("easing"),g=this.getStageWidth(),h={left:g*(b.rewind?-1:1)},i={left:0};d?(h.opacity=0,i.opacity=1):h.opacity=1,a(b.next).css(h),E.animate(b.next,i,{duration:b.speed,complete:function(a){return function(){c(),a.css({left:0})}}(a(b.next).add(b.prev)),queue:!1,easing:f}),e&&(b.rewind=!b.rewind),b.prev&&(h={left:0},i={left:g*(b.rewind?1:-1)},d&&(h.opacity=1,i.opacity=0),a(b.prev).css(h),E.animate(b.prev,i,{duration:b.speed,queue:!1,easing:f,complete:function(){a(this).css("opacity",0)}}))};return{fade:function(b,c){a(b.next).css({opacity:0,left:0}).show(),E.animate(b.next,{opacity:1},{duration:b.speed,complete:c}),b.prev&&(a(b.prev).css("opacity",1).show(),E.animate(b.prev,{opacity:0},{duration:b.speed}))},flash:function(b,c){a(b.next).css({opacity:0,left:0}),b.prev?E.animate(b.prev,{opacity:0},{duration:b.speed/2,complete:function(){E.animate(b.next,{opacity:1},{duration:b.speed,complete:c})}}):E.animate(b.next,{opacity:1},{duration:b.speed,complete:c})},pulse:function(b,c){b.prev&&a(b.prev).hide(),a(b.next).css({opacity:0,left:0}).show(),E.animate(b.next,{opacity:1},{duration:b.speed,complete:c})},slide:function(a,c){b.apply(this,E.array(arguments))},fadeslide:function(a,c){b.apply(this,E.array(arguments).concat([!0]))},doorslide:function(a,c){b.apply(this,E.array(arguments).concat([!1,!0]))}}}();Galleria=function(){var g=this;this._options={},this._playing=!1,this._playtime=5e3,this._active=null,this._queue={length:0},this._data=[],this._dom={},this._thumbnails=[],this._layers=[],this._initialized=!1,this._firstrun=!1,this._stageWidth=0,this._stageHeight=0,this._target=b,this._id=parseInt(Math.random()*1e4,10);var h="container stage images image-nav image-nav-left image-nav-right info info-text info-title info-description thumbnails thumbnails-list thumbnails-container thumb-nav-left thumb-nav-right loader counter tooltip",i="current total";a.each(h.split(" "),function(a,b){g._dom[b]=E.create("galleria-"+b)}),a.each(i.split(" "),function(a,b){g._dom[b]=E.create("galleria-"+b,"span")});var j=this._keyboard={keys:{UP:38,DOWN:40,LEFT:37,RIGHT:39,RETURN:13,ESCAPE:27,BACKSPACE:8,SPACE:32},map:{},bound:!1,press:function(a){var b=a.keyCode||a.which;b in j.map&&typeof j.map[b]=="function"&&j.map[b].call(g,a)},attach:function(a){var b,c;for(b in a)a.hasOwnProperty(b)&&(c=b.toUpperCase(),c in j.keys?j.map[j.keys[c]]=a[b]:j.map[c]=a[b]);j.bound||(j.bound=!0,e.bind("keydown",j.press))},detach:function(){j.bound=!1,j.map={},e.unbind("keydown",j.press)}},k=this._controls={0:b,1:b,active:0,swap:function(){k.active=k.active?0:1},getActive:function(){return k[k.active]},getNext:function(){return k[1-k.active]}},l=this._carousel={next:g.$j("thumb-nav-right"),prev:g.$j("thumb-nav-left"),width:0,current:0,max:0,hooks:[],update:function(){var b=0,c=0,d=[0];a.each(g._thumbnails,function(e,f){f.ready&&(b+=f.outerWidth||a(f.container).outerWidth(!0),d[e+1]=b,c=Math.max(c,f.outerHeight||a(f.container).outerHeight(!0)))}),g.$j("thumbnails").css({width:b,height:c}),l.max=b,l.hooks=d,l.width=g.$j("thumbnails-list").width(),l.setClasses(),g.$j("thumbnails-container").toggleClass("galleria-carousel",b>l.width),l.width=g.$j("thumbnails-list").width()},bindControls:function(){var a;l.next.bind("click",function(b){b.preventDefault();if(g._options.carouselSteps==="auto"){for(a=l.current;a<l.hooks.length;a++)if(l.hooks[a]-l.hooks[l.current]>l.width){l.set(a-2);break}}else l.set(l.current+g._options.carouselSteps)}),l.prev.bind("click",function(b){b.preventDefault();if(g._options.carouselSteps==="auto")for(a=l.current;a>=0;a--){if(l.hooks[l.current]-l.hooks[a]>l.width){l.set(a+2);break}if(a===0){l.set(0);break}}else l.set(l.current-g._options.carouselSteps)})},set:function(a){a=Math.max(a,0);while(l.hooks[a-1]+l.width>=l.max&&a>=0)a--;l.current=a,l.animate()},getLast:function(a){return(a||l.current)-1},follow:function(a){if(a===0||a===l.hooks.length-2){l.set(a);return}var b=l.current;while(l.hooks[b]-l.hooks[l.current]<l.width&&b<=l.hooks.length)b++;a-1<l.current?l.set(a-1):a+2>b&&l.set(a-b+l.current+2)},setClasses:function(){l.prev.toggleClass("disabled",!l.current),l.next.toggleClass("disabled",l.hooks[l.current]+l.width>=l.max)},animate:function(a){l.setClasses();var b=l.hooks[l.current]*-1;if(isNaN(b))return;E.animate(g.get("thumbnails"),{left:b},{duration:g._options.carouselSpeed,easing:g._options.easing,queue:!1})}},m=this._tooltip={initialized:!1,open:!1,timer:"tooltip"+g._id,swapTimer:"swap"+g._id,init:function(){m.initialized=!0;var a=".galleria-tooltip{padding:3px 8px;max-width:50%;background:#ffe;color:#000;z-index:3;position:absolute;font-size:11px;line-height:1.3opacity:0;box-shadow:0 0 2px rgba(0,0,0,.4);-moz-box-shadow:0 0 2px rgba(0,0,0,.4);-webkit-box-shadow:0 0 2px rgba(0,0,0,.4);}";E.insertStyleTag(a),g.$j("tooltip").css("opacity",.8),E.hide(g.get("tooltip"))},move:function(a){var b=g.getMousePosition(a).x,c=g.getMousePosition(a).y,d=g.$j("tooltip"),e=b,f=c,h=d.outerHeight(!0)+1,i=d.outerWidth(!0),j=h+15,k=g.$j("container").width()-i-2,l=g.$j("container").height()-h-2;!isNaN(e)&&!isNaN(f)&&(e+=10,f-=30,e=Math.max(0,Math.min(k,e)),f=Math.max(0,Math.min(l,f)),c<j&&(f=j),d.css({left:e,top:f}))},bind:function(b,c){if(Galleria.TOUCH)return;m.initialized||m.init();var d=function(b,c){m.define(b,c),a(b).hover(function(){E.clearTimer(m.swapTimer),g.$j("container").unbind("mousemove",m.move).bind("mousemove",m.move).trigger("mousemove"),m.show(b),E.addTimer(m.timer,function(){g.$j("tooltip").stop().show().animate({opacity:1}),m.open=!0},m.open?0:500)},function(){g.$j("container").unbind("mousemove",m.move),E.clearTimer(m.timer),g.$j("tooltip").stop().animate({opacity:0},200,function(){g.$j("tooltip").hide(),E.addTimer(m.swapTimer,function(){m.open=!1},1e3)})}).click(function(){a(this).trigger("mouseout")})};typeof c=="string"?d(b in g._dom?g.get(b):b,c):a.each(b,function(a,b){d(g.get(a),b)})},show:function(b){b=a(b in g._dom?g.get(b):b);var d=b.data("tt"),e=function(a){c.setTimeout(function(a){return function(){m.move(a)}}(a),10),b.unbind("mouseup",e)};d=typeof d=="function"?d():d;if(!d)return;g.$j("tooltip").html(d.replace(/\s/,"&nbsp;")),b.bind("mouseup",e)},define:function(b,c){if(typeof c!="function"){var d=c;c=function(){return d}}b=a(b in g._dom?g.get(b):b).data("tt",c),m.show(b)}},o=this._fullscreen={scrolled:0,crop:b,transition:b,active:!1,keymap:g._keyboard.map,os:{callback:n,support:function(){var a=q().html;return a.requestFullscreen||a.mozRequestFullScreen||a.webkitRequestFullScreen}(),enter:function(a){o.os.callback=a||n;var b=q().html;b.requestFullscreen?b.requestFullscreen():b.mozRequestFullScreen?b.mozRequestFullScreen():b.webkitRequestFullScreen&&b.webkitRequestFullScreen()},exit:function(a){o.os.callback=a||n,d.exitFullscreen?d.exitFullscreen():d.mozCancelFullScreen?d.mozCancelFullScreen():d.webkitCancelFullScreen&&d.webkitCancelFullScreen()},listen:function(){if(!o.os.support)return;var a=function(){d.fullscreen||d.mozFullScreen||d.webkitIsFullScreen?o._enter(o.os.callback):o._exit(o.os.callback)};d.addEventListener("fullscreenchange",a,!1),d.addEventListener("mozfullscreenchange",a,!1),d.addEventListener("webkitfullscreenchange",a,!1)}},enter:function(a){g._options.trueFullscreen&&o.os.support?o.os.enter(a):o._enter(a)},_enter:function(c){o.active=!0,E.hide(g.getActiveImage()),g.$j("container").addClass("fullscreen"),o.scrolled=f.scrollTop(),E.forceStyles(g.get("container"),{position:"fixed",top:0,left:0,width:"100%",height:"100%",zIndex:1e4});var d={height:"100%",overflow:"hidden",margin:0,padding:0},e=g.getData(),h=g._options;E.forceStyles(q().html,d),E.forceStyles(q().body,d),o.keymap=a.extend({},g._keyboard.map),g.attachKeyboard({escape:g.exitFullscreen,right:g.next,left:g.prev}),o.crop=h.imageCrop,h.fullscreenCrop!=b&&(h.imageCrop=h.fullscreenCrop);if(e&&e.big&&e.image!==e.big){var i=new Galleria.Picture,j=i.isCached(e.big),k=g.getIndex(),l=g._thumbnails[k];g.trigger({type:Galleria.LOADSTART,cached:j,rewind:!1,index:k,imageTarget:g.getActiveImage(),thumbTarget:l,galleriaData:e}),i.load(e.big,function(b){g._scaleImage(b,{complete:function(b){g.trigger({type:Galleria.LOADFINISH,cached:j,index:k,rewind:!1,imageTarget:b.image,thumbTarget:l});var c=g._controls.getActive().image;c&&a(c).width(b.image.width).height(b.image.height).attr("style",a(b.image).attr("style")).attr("src",b.image.src)}})})}g.rescale(function(){E.addTimer(!1,function(){E.show(g.getActiveImage()),typeof c=="function"&&c.call(g)},100),g.trigger(Galleria.FULLSCREEN_ENTER)}),f.resize(function(){o.scale()})},scale:function(){g.rescale()},exit:function(a){g._options.trueFullscreen&&o.os.support?o.os.exit(a):o._exit(a)},_exit:function(a){o.active=!1,E.hide(g.getActiveImage()),g.$j("container").removeClass("fullscreen"),E.revertStyles(g.get("container"),q().html,q().body),c.scrollTo(0,o.scrolled),g.detachKeyboard(),g.attachKeyboard(o.keymap),g._options.imageCrop=o.crop;var b=g.getData().big,d=g._controls.getActive().image;!g.getData().iframe&&d&&b&&b==d.src&&c.setTimeout(function(a){return function(){d.src=a}}(g.getData().image),1),g.rescale(function(){E.addTimer(!1,function(){E.show(g.getActiveImage()),typeof a=="function"&&a.call(g),f.trigger("resize")},50),g.trigger(Galleria.FULLSCREEN_EXIT)}),f.unbind("resize",o.scale)}};o.os.listen();var r=this._idle={timer:"idle"+g._id,trunk:[],bound:!1,add:function(b,c){if(!b)return;r.bound||r.addEvent(),b=a(b);var d={},e;for(e in c)c.hasOwnProperty(e)&&(d[e]=b.css(e));b.data("idle",{from:d,to:c,complete:!0,busy:!1}),r.addTimer(),r.trunk.push(b)},remove:function(b){b=jQuery(b),a.each(r.trunk,function(a,c){c&&c.length&&!c.not(b).length&&(g._idle.show(b),g._idle.trunk.splice(a,1))}),r.trunk.length||(r.removeEvent(),E.clearTimer(r.timer))},addEvent:function(){r.bound=!0,g.$j("container").bind("mousemove click",r.showAll)},removeEvent:function(){r.bound=!1,g.$j("container").unbind("mousemove click",r.showAll)},addTimer:function(){E.addTimer(r.timer,function(){r.hide()},g._options.idleTime)},hide:function(){if(!g._options.idleMode||g.getIndex()===!1||g.getData().iframe)return;g.trigger(Galleria.IDLE_ENTER),a.each(r.trunk,function(a,b){var c=b.data("idle");if(!c)return;b.data("idle").complete=!1,E.animate(b,c.to,{duration:g._options.idleSpeed})})},showAll:function(){E.clearTimer(r.timer),a.each(r.trunk,function(a,b){r.show(b)})},show:function(b){var c=b.data("idle");!c.busy&&!c.complete&&(c.busy=!0,g.trigger(Galleria.IDLE_EXIT),E.clearTimer(r.timer),E.animate(b,c.from,{duration:g._options.idleSpeed/2,complete:function(){a(this).data("idle").busy=!1,a(this).data("idle").complete=!0}})),r.addTimer()}},s=this._lightbox={width:0,height:0,initialized:!1,active:null,image:null,elems:{},keymap:!1,init:function(){g.trigger(Galleria.LIGHTBOX_OPEN);if(s.initialized)return;s.initialized=!0;var b="overlay box content shadow title info close prevholder prev nextholder next counter image",c={},d=g._options,e="",f="position:absolute;",h="lightbox-",i={overlay:"position:fixed;display:none;opacity:"+d.overlayOpacity+";filter:alpha(opacity="+d.overlayOpacity*100+");top:0;left:0;width:100%;height:100%;background:"+d.overlayBackground+";z-index:99990",box:"position:fixed;display:none;width:400px;height:400px;top:50%;left:50%;margin-top:-200px;margin-left:-200px;z-index:99991",shadow:f+"background:#000;width:100%;height:100%;",content:f+"background-color:#fff;top:10px;left:10px;right:10px;bottom:10px;overflow:hidden",info:f+"bottom:10px;left:10px;right:10px;color:#444;font:11px/13px arial,sans-serif;height:13px",close:f+"top:10px;right:10px;height:20px;width:20px;background:#fff;text-align:center;cursor:pointer;color:#444;font:16px/22px arial,sans-serif;z-index:99999",image:f+"top:10px;left:10px;right:10px;bottom:30px;overflow:hidden;display:block;",prevholder:f+"width:50%;top:0;bottom:40px;cursor:pointer;",nextholder:f+"width:50%;top:0;bottom:40px;right:-1px;cursor:pointer;",prev:f+"top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;left:20px;display:none;text-align:center;color:#000;font:bold 16px/36px arial,sans-serif",next:f+"top:50%;margin-top:-20px;height:40px;width:30px;background:#fff;right:20px;left:auto;display:none;font:bold 16px/36px arial,sans-serif;text-align:center;color:#000",title:"float:left",counter:"float:right;margin-left:8px;"},j=function(b){return b.hover(function(){a(this).css("color","#bbb")},function(){a(this).css("color","#444")})},k={};p&&p>7&&(i.nextholder+="background:#000;filter:alpha(opacity=0);",i.prevholder+="background:#000;filter:alpha(opacity=0);"),a.each(i,function(a,b){e+=".galleria-"+h+a+"{"+b+"}"}),e+=".galleria-"+h+"box.iframe .galleria-"+h+"prevholder,"+".galleria-"+h+"box.iframe .galleria-"+h+"nextholder{"+"width:100px;height:100px;top:50%;margin-top:-70px}",E.insertStyleTag(e),a.each(b.split(" "),function(a,b){g.addElement("lightbox-"+b),c[b]=s.elems[b]=g.get("lightbox-"+b)}),s.image=new Galleria.Picture,a.each({box:"shadow content close prevholder nextholder",info:"title counter",content:"info image",prevholder:"prev",nextholder:"next"},function(b,c){var d=[];a.each(c.split(" "),function(a,b){d.push(h+b)}),k[h+b]=d}),g.append(k),a(c.image).append(s.image.container),a(q().body).append(c.overlay,c.box),E.optimizeTouch(c.box),j(a(c.close).bind("click",s.hide).html("&#215;")),a.each(["Prev","Next"],function(b,d){var e=a(c[d.toLowerCase()]).html(/v/.test(d)?"&#8249;&nbsp;":"&nbsp;&#8250;"),f=a(c[d.toLowerCase()+"holder"]);f.bind("click",function(){s["show"+d]()});if(p<8||Galleria.TOUCH){e.show();return}f.hover(function(){e.show()},function(a){e.stop().fadeOut(200)})}),a(c.overlay).bind("click",s.hide),Galleria.IPAD&&(g._options.lightboxTransitionSpeed=0)},rescale:function(b){var c=Math.min(f.width()-40,s.width),d=Math.min(f.height()-60,s.height),e=Math.min(c/s.width,d/s.height),h=Math.round(s.width*e)+40,i=Math.round(s.height*e)+60,j={width:h,height:i,"margin-top":Math.ceil(i/2)*-1,"margin-left":Math.ceil(h/2)*-1};b?a(s.elems.box).css(j):a(s.elems.box).animate(j,{duration:g._options.lightboxTransitionSpeed,easing:g._options.easing,complete:function(){var b=s.image,c=g._options.lightboxFadeSpeed;g.trigger({type:Galleria.LIGHTBOX_IMAGE,imageTarget:b.image}),a(b.container).show(),a(b.image).animate({opacity:1},c),E.show(s.elems.info,c)}})},hide:function(){s.image.image=null,f.unbind("resize",s.rescale),a(s.elems.box).hide(),E.hide(s.elems.info),g.detachKeyboard(),g.attachKeyboard(s.keymap),s.keymap=!1,E.hide(s.elems.overlay,200,function(){a(this).hide().css("opacity",g._options.overlayOpacity),g.trigger(Galleria.LIGHTBOX_CLOSE)})},showNext:function(){s.show(g.getNext(s.active))},showPrev:function(){s.show(g.getPrev(s.active))},show:function(b){s.active=b=typeof b=="number"?b:g.getIndex()||0,s.initialized||s.init(),s.keymap||(s.keymap=a.extend({},g._keyboard.map),g.attachKeyboard({escape:s.hide,right:s.showNext,left:s.showPrev})),f.unbind("resize",s.rescale);var d=g.getData(b),e=g.getDataLength(),h=g.getNext(b),i,j,k;E.hide(s.elems.info);try{for(k=g._options.preload;k>0;k--)j=new Galleria.Picture,i=g.getData(h),j.preload("big"in i?i.big:i.image),h=g.getNext(h)}catch(l){}s.image.isIframe=!!d.iframe,a(s.elems.box).toggleClass("iframe",!!d.iframe),s.image.load(d.iframe||d.big||d.image,function(g){s.width=g.isIframe?a(c).width():g.original.width,s.height=g.isIframe?a(c).height():g.original.height,a(g.image).css({width:g.isIframe?"100%":"100.1%",height:g.isIframe?"100%":"100.1%",top:0,zIndex:99998,opacity:0,visibility:"visible"}),s.elems.title.innerHTML=d.title||"",s.elems.counter.innerHTML=b+1+" / "+e,f.resize(s.rescale),s.rescale()}),a(s.elems.overlay).show().css("visibility","visible"),a(s.elems.box).show()}};return this},Galleria.prototype={constructor:Galleria,init:function(c,d){var e=this;d=t(d),this._original={target:c,options:d,data:null},this._target=this._dom.target=c.nodeName?c:a(c).get(0),this._original.html=this._target.innerHTML,z.push(this);if(!this._target){Galleria.raise("Target not found",!0);return}return this._options={autoplay:!1,carousel:!0,carouselFollow:!0,carouselSpeed:400,carouselSteps:"auto",clicknext:!1,dailymotion:{foreground:"%23EEEEEE",highlight:"%235BCEC5",background:"%23222222",logo:0,hideInfos:1},dataConfig:function(a){return{}},dataSelector:"img",dataSource:this._target,debug:b,dummy:b,easing:"galleria",extend:function(a){},fullscreenCrop:b,fullscreenDoubleTap:!0,fullscreenTransition:b,height:0,idleMode:!0,idleTime:3e3,idleSpeed:200,imageCrop:!1,imageMargin:0,imagePan:!1,imagePanSmoothness:12,imagePosition:"50%",imageTimeout:b,initialTransition:b,keepSource:!1,layerFollow:!0,lightbox:!1,lightboxFadeSpeed:200,lightboxTransitionSpeed:200,linkSourceImages:!0,maxScaleRatio:b,minScaleRatio:b,overlayOpacity:.85,overlayBackground:"#0b0b0b",pauseOnInteraction:!0,popupLinks:!1,preload:2,queue:!0,responsive:!1,show:0,showInfo:!0,showCounter:!0,showImagenav:!0,swipe:!0,thumbCrop:!0,thumbEventType:"click",thumbFit:!0,thumbMargin:0,thumbQuality:"auto",thumbnails:!0,touchTransition:b,transition:"fade",transitionInitial:b,transitionSpeed:400,trueFullscreen:!0,useCanvas:!1,vimeo:{title:0,byline:0,portrait:0,color:"aaaaaa"},wait:5e3,width:"auto",youtube:{modestbranding:1,autohide:1,color:"white",hd:1,rel:0,showinfo:0}},this._options.initialTransition=this._options.initialTransition||this._options.transitionInitial,d&&d.debug===!1&&(i=!1),d&&typeof d.imageTimeout=="number"&&(j=d.imageTimeout),d&&typeof d.dummy=="string"&&(k=d.dummy),a(this._target).children().hide(),typeof Galleria.theme=="object"?this._init():C.push(this),this},_init:function(){var b=this,e=this._options;if(this._initialized)return Galleria.raise("Init failed: Gallery instance already initialized."),this;this._initialized=!0;if(!Galleria.theme)return Galleria.raise("Init failed: No theme found.",!0),this;a.extend(!0,e,Galleria.theme.defaults,this._original.options,Galleria.configure.options),function(a){if(!("getContext"in a)){a=null;return}B=B||{elem:a,context:a.getContext("2d"),cache:{},length:0}}(d.createElement("canvas")),this.bind(Galleria.DATA,function(){Galleria.QUIRK&&Galleria.raise("Your page is in Quirks mode, Galleria may not render correctly. Please validate your HTML."),this._original.data=this._data,this.get("total").innerHTML=this.getDataLength();var a=this.$j("container"),d={width:0,height:0},e=function(){return b.$j("stage").height()};E.wait({until:function(){return d=b._getWH(),a.width(d.width).height(d.height),e()&&d.width&&d.height>50},success:function(){b._width=d.width,b._height=d.height,Galleria.WEBKIT?c.setTimeout(function(){b._run()},1):b._run()},error:function(){e()?Galleria.raise("Could not extract sufficient width/height of the gallery container. Traced measures: width:"+d.width+"px, height: "+d.height+"px.",!0):Galleria.raise("Could not extract a stage height from the CSS. Traced height: "+e()+"px.",!0)},timeout:typeof this._options.wait=="number"?this._options.wait:!1})}),this.append({"info-text":["info-title","info-description"],info:["info-text"],"image-nav":["image-nav-right","image-nav-left"],stage:["images","loader","counter","image-nav"],"thumbnails-list":["thumbnails"],"thumbnails-container":["thumb-nav-left","thumbnails-list","thumb-nav-right"],container:["stage","thumbnails-container","info","tooltip"]}),E.hide(this.$j("counter").append(this.get("current"),d.createTextNode(" / "),this.get("total"))),this.setCounter("&#8211;"),E.hide(b.get("tooltip")),this.$j("container").addClass(Galleria.TOUCH?"touch":"notouch"),a.each(new Array(2),function(c){var d=new Galleria.Picture;a(d.container).css({position:"absolute",top:0,left:0}).prepend(b._layers[c]=a(E.create("galleria-layer")).css({position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:2})[0]),b.$j("images").append(d.container),b._controls[c]=d}),this.$j("images").css({position:"relative",top:0,left:0,width:"100%",height:"100%"}),this.$j("thumbnails, thumbnails-list").css({overflow:"hidden",position:"relative"}),this.$j("image-nav-right, image-nav-left").bind("click",function(a){e.clicknext&&a.stopPropagation(),e.pauseOnInteraction&&b.pause();var c=/right/.test(this.className)?"next":"prev";b[c]()}),a.each(["info","counter","image-nav"],function(a,c){e["show"+c.substr(0,1).toUpperCase()+c.substr(1).replace(/-/,"")]===!1&&E.moveOut(b.get(c.toLowerCase()))}),this.load(),!e.keepSource&&!p&&(this._target.innerHTML=""),this.get("errors")&&this.appendChild("target","errors"),this.appendChild("target","container");if(e.carousel){var g=0,h=e.show;this.bind(Galleria.THUMBNAIL,function(){this.updateCarousel(),++g==this.getDataLength()&&typeof h=="number"&&h>0&&this._carousel.follow(h)})}return e.responsive&&f.bind("resize",function(){b.isFullscreen()||b.resize()}),e.swipe&&(function(a){var c=[0,0],d=[0,0],e=30,f=100,g=!1,h=0,i,j={start:"touchstart",move:"touchmove",stop:"touchend"},k=function(a){return a.originalEvent.touches?a.originalEvent.touches[0]:a},l=function(a){if(a.originalEvent.touches&&a.originalEvent.touches.length>1)return;i=k(a),d=[i.pageX,i.pageY],c[0]||(c=d),Math.abs(c[0]-d[0])>10&&a.preventDefault()},m=function(i){a.unbind(j.move,l);if(i.originalEvent.touches&&i.originalEvent.touches.length||g){g=!g;return}E.timestamp()-h<1e3&&Math.abs(c[0]-d[0])>e&&Math.abs(c[1]-d[1])<f&&(i.preventDefault(),b[c[0]>d[0]?"next":"prev"]()),c=d=[0,0]};a.bind(j.start,function(b){if(b.originalEvent.touches&&b.originalEvent.touches.length>1)return;i=k(b),h=E.timestamp(),c=d=[i.pageX,i.pageY],a.bind(j.move,l).one(j.stop,m)})}(b.$j("images")),e.fullscreenDoubleTap&&this.$j("stage").bind("touchstart",function(){var a,c,d,e,f,g,h=function(a){return a.originalEvent.touches?a.originalEvent.touches[0]:a};return function(i){g=Galleria.utils.timestamp(),c=h(i).pageX,d=h(i).pageY;if(g-a<500&&c-e<20&&d-f<20){b.toggleFullscreen(),i.preventDefault(),b.$j("stage").unbind("touchend",arguments.callee);return}a=g,e=c,f=d}}())),E.optimizeTouch(this.get("container")),a.each(Galleria.on.binds,function(a,c){b.bind(c.type,c.callback)}),this},_getWH:function(){var b=this.$j("container"),c=this.$j("target"),d=this,e={},f;return a.each(["width","height"],function(a,g){d._options[g]&&typeof d._options[g]=="number"?e[g]=d._options[g]:(f=[E.parseValue(b.css(g)),E.parseValue(c.css(g)),b[g](),c[g]()],d["_"+g]||f.splice(f.length,E.parseValue(b.css("min-"+g)),E.parseValue(c.css("min-"+g))),e[g]=Math.max.apply(Math,f))}),d._options.height&&d._options.height<2&&(e.height=e.width*d._options.height),e},_createThumbnails:function(){this.get("total").innerHTML=this.getDataLength();var b,e,f,g,h,i,j=this,k=this._options,l=function(){var a=j.$j("thumbnails").find(".active");return a.length?a.find("img").attr("src"):!1}(),m=typeof k.thumbnails=="string"?k.thumbnails.toLowerCase():null,n=function(a){return d.defaultView&&d.defaultView.getComputedStyle?d.defaultView.getComputedStyle(f.container,null)[a]:i.css(a)},o=function(b,c,d){return function(){a(d).append(b),j.trigger({type:Galleria.THUMBNAIL,thumbTarget:b,index:c,galleriaData:j.getData(c)})}},p=function(b){k.pauseOnInteraction&&j.pause();var c=a(b.currentTarget).data("index");j.getIndex()!==c&&j.show(c),b.preventDefault()},q=function(b){b.scale({width:b.data.width,height:b.data.height,crop:k.thumbCrop,margin:k.thumbMargin,canvas:k.useCanvas,complete:function(b){var c=["left","top"],d=["Width","Height"],e,f,g=j.getData(b.index),h=g.thumb.split(":"
9
+ );a.each(d,function(d,g){e=g.toLowerCase(),(k.thumbCrop!==!0||k.thumbCrop===e)&&k.thumbFit&&(f={},f[e]=b[e],a(b.container).css(f),f={},f[c[d]]=0,a(b.image).css(f)),b["outer"+g]=a(b.container)["outer"+g](!0)}),E.toggleQuality(b.image,k.thumbQuality===!0||k.thumbQuality==="auto"&&b.original.width<b.width*3),g.iframe&&h.length==2&&h[0]in v&&v[h[0]].getThumb(h[1],function(a){return function(b){a.src=b}}(b.image)),j.trigger({type:Galleria.THUMBNAIL,thumbTarget:b.image,index:b.data.order,galleriaData:j.getData(b.data.order)})}})};this._thumbnails=[],this.$j("thumbnails").empty();for(b=0;this._data[b];b++)g=this._data[b],k.thumbnails===!0&&(g.thumb||g.image)?(f=new Galleria.Picture(b),f.index=b,e=g.thumb||g.image,this.$j("thumbnails").append(f.container),i=a(f.container),f.data={width:E.parseValue(n("width")),height:E.parseValue(n("height")),order:b},k.thumbFit&&k.thumbCrop!==!0?i.css({width:"auto",height:"auto"}):i.css({width:f.data.width,height:f.data.height}),h=e.split(":"),h.length==2&&h[0]in v?f.load("data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw%3D%3D",{height:f.data.height,width:f.data.height*1.25},q):f.load(e,q),k.preload==="all"&&f.preload(g.image)):g.iframe||m==="empty"||m==="numbers"?(f={container:E.create("galleria-image"),image:E.create("img","span"),ready:!0},m==="numbers"&&a(f.image).text(b+1),g.iframe&&a(f.image).addClass("iframe"),this.$j("thumbnails").append(f.container),c.setTimeout(o(f.image,b,f.container),50+b*20)):f={container:null,image:null},a(f.container).add(k.keepSource&&k.linkSourceImages?g.original:null).data("index",b).bind(k.thumbEventType,p),l===e&&a(f.container).addClass("active"),this._thumbnails.push(f)},_run:function(){var d=this;d._createThumbnails(),E.wait({timeout:1e4,until:function(){return Galleria.OPERA&&d.$j("stage").css("display","inline-block"),d._stageWidth=d.$j("stage").width(),d._stageHeight=d.$j("stage").height(),d._stageWidth&&d._stageHeight>50},success:function(){y.push(d),E.show(d.get("counter")),d._options.carousel&&d._carousel.bindControls(),d._options.autoplay&&(d.pause(),typeof d._options.autoplay=="number"&&(d._playtime=d._options.autoplay),d.trigger(Galleria.PLAY),d._playing=!0);if(d._firstrun){typeof d._options.show=="number"&&d.show(d._options.show);return}d._firstrun=!0,Galleria.History&&Galleria.History.change(function(a){isNaN(a)?c.history.go(-1):d.show(a,b,!0)}),d.trigger(Galleria.READY),Galleria.theme.init.call(d,d._options),a.each(Galleria.ready.callbacks,function(){this.call(d,d._options)}),d._options.extend.call(d,d._options),/^[0-9]{1,4}$j/.test(m)&&Galleria.History?d.show(m,b,!0):d._data[d._options.show]&&d.show(d._options.show)},error:function(){Galleria.raise("Stage width or height is too small to show the gallery. Traced measures: width:"+d._stageWidth+"px, height: "+d._stageHeight+"px.",!0)}})},load:function(b,c,d){var e=this;return this._data=[],this._thumbnails=[],this.$j("thumbnails").empty(),typeof c=="function"&&(d=c,c=null),b=b||this._options.dataSource,c=c||this._options.dataSelector,d=d||this._options.dataConfig,/^function Object/.test(b.constructor)&&(b=[b]),b.constructor===Array?(this.validate(b)?(this._data=b,this._parseData().trigger(Galleria.DATA)):Galleria.raise("Load failed: JSON Array not valid."),this):(c+=",.video,.iframe",a(b).find(c).each(function(b,c){c=a(c);var f={},g=c.parent(),h=g.attr("href"),i=g.attr("rel");h&&(c[0].nodeName=="IMG"||c.hasClass("video"))&&w(h)?f.video=h:h&&c.hasClass("iframe")?f.iframe=h:f.image=f.big=h,i&&(f.big=i),a.each("big title description link layer".split(" "),function(a,b){c.data(b)&&(f[b]=c.data(b))}),e._data.push(a.extend({title:c.attr("title")||"",thumb:c.attr("src"),image:c.attr("src"),big:c.attr("src"),description:c.attr("alt")||"",link:c.attr("longdesc"),original:c.get(0)},f,d(c)))}),this.getDataLength()?this._parseData().trigger(Galleria.DATA):Galleria.raise("Load failed: no data found."),this)},_parseData:function(){var b=this,c;return a.each(this._data,function(d,e){c=b._data[d],"thumb"in e==0&&(c.thumb=e.image),!1 in e&&(c.big=e.image);if("video"in e){var f=w(e.video);if(f){c.iframe=v[f.provider].embed(f.id)+function(){if(typeof b._options[f.provider]=="object"){var c="?",d=[];return a.each(b._options[f.provider],function(a,b){d.push(a+"="+b)}),f.provider=="youtube"&&(d=["wmode=opaque"].concat(d)),c+d.join("&")}return""}(),delete c.video;if(!("thumb"in c)||!c.thumb)c.thumb=f.provider+":"+f.id}}}),this},destroy:function(){return this.get("target").innerHTML=this._original.html,this},splice:function(){var a=this,b=E.array(arguments);return c.setTimeout(function(){g.splice.apply(a._data,b),a._parseData()._createThumbnails()},2),a},push:function(){var a=this,b=E.array(arguments);return c.setTimeout(function(){g.push.apply(a._data,b),a._parseData()._createThumbnails()},2),a},_getActive:function(){return this._controls.getActive()},validate:function(a){return!0},bind:function(a,b){return a=u(a),this.$j("container").bind(a,this.proxy(b)),this},unbind:function(a){return a=u(a),this.$j("container").unbind(a),this},trigger:function(b){return b=typeof b=="object"?a.extend(b,{scope:this}):{type:u(b),scope:this},this.$j("container").trigger(b),this},addIdleState:function(a,b){return this._idle.add.apply(this._idle,E.array(arguments)),this},removeIdleState:function(a){return this._idle.remove.apply(this._idle,E.array(arguments)),this},enterIdleMode:function(){return this._idle.hide(),this},exitIdleMode:function(){return this._idle.showAll(),this},enterFullscreen:function(a){return this._fullscreen.enter.apply(this,E.array(arguments)),this},exitFullscreen:function(a){return this._fullscreen.exit.apply(this,E.array(arguments)),this},toggleFullscreen:function(a){return this._fullscreen[this.isFullscreen()?"exit":"enter"].apply(this,E.array(arguments)),this},bindTooltip:function(a,b){return this._tooltip.bind.apply(this._tooltip,E.array(arguments)),this},defineTooltip:function(a,b){return this._tooltip.define.apply(this._tooltip,E.array(arguments)),this},refreshTooltip:function(a){return this._tooltip.show.apply(this._tooltip,E.array(arguments)),this},openLightbox:function(){return this._lightbox.show.apply(this._lightbox,E.array(arguments)),this},closeLightbox:function(){return this._lightbox.hide.apply(this._lightbox,E.array(arguments)),this},getActiveImage:function(){return this._getActive().image||b},getActiveThumb:function(){return this._thumbnails[this._active].image||b},getMousePosition:function(a){return{x:a.pageX-this.$j("container").offset().left,y:a.pageY-this.$j("container").offset().top}},addPan:function(b){if(this._options.imageCrop===!1)return;b=a(b||this.getActiveImage());var c=this,d=b.width()/2,e=b.height()/2,f=parseInt(b.css("left"),10),g=parseInt(b.css("top"),10),h=f||0,i=g||0,j=0,k=0,l=!1,m=E.timestamp(),n=0,o=0,q=function(a,c,d){if(a>0){o=Math.round(Math.max(a*-1,Math.min(0,c)));if(n!==o){n=o;if(p===8)b.parent()["scroll"+d](o*-1);else{var e={};e[d.toLowerCase()]=o,b.css(e)}}}},r=function(a){if(E.timestamp()-m<50)return;l=!0,d=c.getMousePosition(a).x,e=c.getMousePosition(a).y},s=function(a){if(!l)return;j=b.width()-c._stageWidth,k=b.height()-c._stageHeight,f=d/c._stageWidth*j*-1,g=e/c._stageHeight*k*-1,h+=(f-h)/c._options.imagePanSmoothness,i+=(g-i)/c._options.imagePanSmoothness,q(k,i,"Top"),q(j,h,"Left")};return p===8&&(b.parent().scrollTop(i*-1).scrollLeft(h*-1),b.css({top:0,left:0})),this.$j("stage").unbind("mousemove",r).bind("mousemove",r),E.addTimer("pan"+c._id,s,50,!0),this},proxy:function(a,b){return typeof a!="function"?n:(b=b||this,function(){return a.apply(b,E.array(arguments))})},removePan:function(){return this.$j("stage").unbind("mousemove"),E.clearTimer("pan"+this._id),this},addElement:function(b){var c=this._dom;return a.each(E.array(arguments),function(a,b){c[b]=E.create("galleria-"+b)}),this},attachKeyboard:function(a){return this._keyboard.attach.apply(this._keyboard,E.array(arguments)),this},detachKeyboard:function(){return this._keyboard.detach.apply(this._keyboard,E.array(arguments)),this},appendChild:function(a,b){return this.$j(a).append(this.get(b)||b),this},prependChild:function(a,b){return this.$j(a).prepend(this.get(b)||b),this},remove:function(a){return this.$j(E.array(arguments).join(",")).remove(),this},append:function(a){var b,c;for(b in a)if(a.hasOwnProperty(b))if(a[b].constructor===Array)for(c=0;a[b][c];c++)this.appendChild(b,a[b][c]);else this.appendChild(b,a[b]);return this},_scaleImage:function(b,c){b=b||this._controls.getActive();if(!b)return;var d=this,e,f=function(b){a(b.container).children(":first").css({top:Math.max(0,E.parseValue(b.image.style.top)),left:Math.max(0,E.parseValue(b.image.style.left)),width:E.parseValue(b.image.width),height:E.parseValue(b.image.height)})};return c=a.extend({width:this._stageWidth,height:this._stageHeight,crop:this._options.imageCrop,max:this._options.maxScaleRatio,min:this._options.minScaleRatio,margin:this._options.imageMargin,position:this._options.imagePosition},c),this._options.layerFollow&&this._options.imageCrop!==!0?typeof c.complete=="function"?(e=c.complete,c.complete=function(){e.call(b,b),f(b)}):c.complete=f:a(b.container).children(":first").css({top:0,left:0}),b.scale(c),this},updateCarousel:function(){return this._carousel.update(),this},resize:function(c,d){typeof c=="function"&&(d=c,c=b),c=a.extend({width:0,height:0},c);var e=this,f=this.$j("container"),g=this._options.responsive=="aspect"&&(!c.width||!c.height),h;return a.each(c,function(a,b){b||(f[a]("auto"),c[a]=e._getWH()[a])}),g&&(h=Math.min(c.width/this._width,c.height/this._height)),a.each(c,function(a,b){f[a](h?h*e["_"+a]:b)}),this.rescale(d)},rescale:function(a,c,d){var e=this;typeof a=="function"&&(d=a,a=b);var f=function(){e._stageWidth=a||e.$j("stage").width(),e._stageHeight=c||e.$j("stage").height(),e._scaleImage(),e._options.carousel&&e.updateCarousel(),e.trigger(Galleria.RESCALE),typeof d=="function"&&d.call(e)};return Galleria.WEBKIT&&!Galleria.TOUCH&&!a&&!c?E.addTimer(!1,f,10):f.call(e),this},refreshImage:function(){return this._scaleImage(),this._options.imagePan&&this.addPan(),this},show:function(a,b,c){if(a===!1||!this._options.queue&&this._queue.stalled)return;a=Math.max(0,Math.min(parseInt(a,10),this.getDataLength()-1)),b=typeof b!="undefined"?!!b:a<this.getIndex(),c=c||!1;if(!c&&Galleria.History){Galleria.History.set(a.toString());return}return this._active=a,g.push.call(this._queue,{index:a,rewind:b}),this._queue.stalled||this._show(),this},_show:function(){var d=this,e=this._queue[0],f=this.getData(e.index);if(!f)return;var h=f.iframe||(this.isFullscreen()&&"big"in f?f.big:f.image),i=this._controls.getActive(),j=this._controls.getNext(),k=j.isCached(h),l=this._thumbnails[e.index],m=function(){a(j.image).trigger("mouseup")},n=function(b,e,f,h,i){return function(){var j;d._queue.stalled=!1,E.toggleQuality(e.image,d._options.imageQuality),d._layers[d._controls.active].innerHTML="",a(f.container).css({zIndex:0,opacity:0}).show(),f.isIframe&&a(f.container).find("iframe").remove(),d.$j("container").toggleClass("iframe",!!b.iframe),a(e.container).css({zIndex:1,left:0,top:0}).show(),d._controls.swap(),d._options.imagePan&&d.addPan(e.image),(b.link||d._options.lightbox||d._options.clicknext)&&a(e.image).css({cursor:"pointer"}).bind("mouseup",function(){if(d._options.clicknext&&!Galleria.TOUCH){d._options.pauseOnInteraction&&d.pause(),d.next();return}if(b.link){d._options.popupLinks?j=c.open(b.link,"_blank"):c.location.href=b.link;return}d._options.lightbox&&d.openLightbox()}),g.shift.call(d._queue),d._queue.length&&d._show(),d._playCheck(),d.trigger({type:Galleria.IMAGE,index:h.index,imageTarget:e.image,thumbTarget:i.image,galleriaData:b})}}(f,j,i,e,l);this._options.carousel&&this._options.carouselFollow&&this._carousel.follow(e.index);if(this._options.preload){var o,p,q=this.getNext(),r;try{for(p=this._options.preload;p>0;p--)o=new Galleria.Picture,r=d.getData(q),o.preload(this.isFullscreen()&&"big"in r?r.big:r.image),q=d.getNext(q)}catch(s){}}E.show(j.container),j.isIframe=!!f.iframe,a(d._thumbnails[e.index].container).addClass("active").siblings(".active").removeClass("active"),d.trigger({type:Galleria.LOADSTART,cached:k,index:e.index,rewind:e.rewind,imageTarget:j.image,thumbTarget:l.image,galleriaData:f}),j.load(h,function(c){var g=a(d._layers[1-d._controls.active]).html(f.layer||"").hide();d._scaleImage(c,{complete:function(c){"image"in i&&E.toggleQuality(i.image,!1),E.toggleQuality(c.image,!1),d._queue.stalled=!0,d.removePan(),d.setInfo(e.index),d.setCounter(e.index),f.layer&&(g.show(),(f.link||d._options.lightbox||d._options.clicknext)&&g.css("cursor","pointer").unbind("mouseup").mouseup(m)),d.trigger({type:Galleria.LOADFINISH,cached:k,index:e.index,rewind:e.rewind,imageTarget:c.image,thumbTarget:d._thumbnails[e.index].image,galleriaData:d.getData(e.index)});var h=d._options.transition;a.each({initial:i.image===null,touch:Galleria.TOUCH,fullscreen:d.isFullscreen()},function(a,c){if(c&&d._options[a+"Transition"]!==b)return h=d._options[a+"Transition"],!1});if(h in F==0)n();else{var j={prev:i.container,next:c.container,rewind:e.rewind,speed:d._options.transitionSpeed||400};F[h].call(d,j,n)}}})})},getNext:function(a){return a=typeof a=="number"?a:this.getIndex(),a===this.getDataLength()-1?0:a+1},getPrev:function(a){return a=typeof a=="number"?a:this.getIndex(),a===0?this.getDataLength()-1:a-1},next:function(){return this.getDataLength()>1&&this.show(this.getNext(),!1),this},prev:function(){return this.getDataLength()>1&&this.show(this.getPrev(),!0),this},get:function(a){return a in this._dom?this._dom[a]:null},getData:function(a){return a in this._data?this._data[a]:this._data[this._active]},getDataLength:function(){return this._data.length},getIndex:function(){return typeof this._active=="number"?this._active:!1},getStageHeight:function(){return this._stageHeight},getStageWidth:function(){return this._stageWidth},getOptions:function(a){return typeof a=="undefined"?this._options:this._options[a]},setOptions:function(b,c){return typeof b=="object"?a.extend(this._options,b):this._options[b]=c,this},play:function(a){return this._playing=!0,this._playtime=a||this._playtime,this._playCheck(),this.trigger(Galleria.PLAY),this},pause:function(){return this._playing=!1,this.trigger(Galleria.PAUSE),this},playToggle:function(a){return this._playing?this.pause():this.play(a)},isPlaying:function(){return this._playing},isFullscreen:function(){return this._fullscreen.active},_playCheck:function(){var a=this,b=0,c=20,d=E.timestamp(),e="play"+this._id;if(this._playing){E.clearTimer(e);var f=function(){b=E.timestamp()-d;if(b>=a._playtime&&a._playing){E.clearTimer(e),a.next();return}a._playing&&(a.trigger({type:Galleria.PROGRESS,percent:Math.ceil(b/a._playtime*100),seconds:Math.floor(b/1e3),milliseconds:b}),E.addTimer(e,f,c))};E.addTimer(e,f,c)}},setPlaytime:function(a){return this._playtime=a,this},setIndex:function(a){return this._active=a,this},setCounter:function(a){typeof a=="number"?a++:typeof a=="undefined"&&(a=this.getIndex()+1),this.get("current").innerHTML=a;if(p){var b=this.$j("counter"),c=b.css("opacity");parseInt(c,10)===1?E.removeAlpha(b[0]):this.$j("counter").css("opacity",c)}return this},setInfo:function(b){var c=this,d=this.getData(b);return a.each(["title","description"],function(a,b){var e=c.$j("info-"+b);d[b]?e[d[b].length?"show":"hide"]().html(d[b]):e.empty().hide()}),this},hasInfo:function(a){var b="title description".split(" "),c;for(c=0;b[c];c++)if(!!this.getData(a)[b[c]])return!0;return!1},jQuery:function(b){var c=this,d=[];a.each(b.split(","),function(b,e){e=a.trim(e),c.get(e)&&d.push(e)});var e=a(c.get(d.shift()));return a.each(d,function(a,b){e=e.add(c.get(b))}),e},$j:function(a){return this.jQuery.apply(this,E.array(arguments))}},a.each(s,function(a,b){var c=/_/.test(b)?b.replace(/_/g,""):b;Galleria[b.toUpperCase()]="galleria."+c}),a.extend(Galleria,{IE9:p===9,IE8:p===8,IE7:p===7,IE6:p===6,IE:p,WEBKIT:/webkit/.test(l),CHROME:/chrome/.test(l),SAFARI:/safari/.test(l)&&!/chrome/.test(l),QUIRK:p&&d.compatMode&&d.compatMode==="BackCompat",MAC:/mac/.test(navigator.platform.toLowerCase()),OPERA:!!c.opera,IPHONE:/iphone/.test(l),IPAD:/ipad/.test(l),ANDROID:/android/.test(l),TOUCH:"ontouchstart"in d}),Galleria.addTheme=function(b){b.name||Galleria.raise("No theme name specified"),typeof b.defaults!="object"?b.defaults={}:b.defaults=t(b.defaults);var c=!1,d;return typeof b.css=="string"?(a("link").each(function(a,e){d=new RegExp(b.css);if(d.test(e.href))return c=!0,D(b),!1}),c||a("script").each(function(a,e){d=new RegExp("galleria\\."+b.name.toLowerCase()+"\\."),d.test(e.src)&&(c=e.src.replace(/[^\/]*$j/,"")+b.css,E.addTimer("css",function(){E.loadCSS(c,"galleria-theme",function(){D(b)})},1))}),c||Galleria.raise("No theme CSS loaded")):D(b),b},Galleria.loadTheme=function(d,e){var f=!1,g=y.length,h=c.setTimeout(function(){Galleria.raise("Theme at "+d+" could not load, check theme path.",!0)},5e3);return Galleria.theme=b,E.loadScript(d,function(){c.clearTimeout(h);if(g){var b=[];a.each(Galleria.get(),function(c,d){var f=a.extend(d._original.options,{data_source:d._data},e);d.$j("container").remove();var g=new Galleria;g._id=d._id,g.init(d._original.target,f),b.push(g)}),y=b}}),Galleria},Galleria.get=function(a){if(!!z[a])return z[a];if(typeof a!="number")return z;Galleria.raise("Gallery index "+a+" not found")},Galleria.configure=function(b,c){var d={};return typeof b=="string"&&c?(d[b]=c,b=d):a.extend(d,b),Galleria.configure.options=d,a.each(Galleria.get(),function(a,b){b.setOptions(d)}),Galleria},Galleria.configure.options={},Galleria.on=function(b,c){if(!b)return;return Galleria.on.binds.push({type:b,callback:c||n}),a.each(Galleria.get(),function(a,d){d.bind(b,c)}),Galleria},Galleria.on.binds=[],Galleria.run=function(b,c){return a(b||"#galleria").galleria(c),Galleria},Galleria.addTransition=function(a,b){return F[a]=b,Galleria},Galleria.utils=E,Galleria.log=function(){return"console"in c&&"log"in c.console?c.console.log:function(){c.alert(E.array(arguments).join(", "))}}(),Galleria.ready=function(b){return a.each(y,function(a,c){b.call(c,c._options)}),Galleria.ready.callbacks.push(b),Galleria},Galleria.ready.callbacks=[],Galleria.raise=function(b,c){var d=c?"Fatal error":"Error",e=this,f={color:"#fff",position:"absolute",top:0,left:0,zIndex:1e5},g=function(b){var e='<div style="padding:4px;margin:0 0 2px;background:#'+(c?"811":"222")+'";>'+(c?"<strong>"+d+": </strong>":"")+b+"</div>";a.each(z,function(){var a=this.$j("errors"),b=this.$j("target");a.length||(b.css("position","relative"),a=this.addElement("errors").appendChild("target","errors").$j("errors").css(f)),a.append(e)}),z.length||a("<div>").css(a.extend(f,{position:"fixed"})).append(e).appendTo(q().body)};if(i){g(b);if(c)throw new Error(d+": "+b)}else if(c){if(A)return;A=!0,c=!1,g("Gallery could not load.")}},Galleria.version=h,Galleria.requires=function(a,b){return b=b||"You need to upgrade Galleria to version "+a+" to use one or more components.",Galleria.version<a&&Galleria.raise(b,!0),Galleria},Galleria.Picture=function(b){this.id=b||null,this.image=null,this.container=E.create("galleria-image"),a(this.container).css({overflow:"hidden",position:"relative"}),this.original={width:0,height:0},this.ready=!1,this.isIframe=!1},Galleria.Picture.prototype={cache:{},show:function(){E.show(this.image)},hide:function(){E.moveOut(this.image)},clear:function(){this.image=null},isCached:function(a){return!!this.cache[a]},preload:function(b){a(new Image).load(function(a,b){return function(){b[a]=a}}(b,this.cache)).attr("src",b)},load:function(b,d,e){typeof d=="function"&&(e=d,d=null);if(this.isIframe){var f="if"+(new Date).getTime();return this.image=a("<iframe>",{src:b,frameborder:0,id:f,allowfullscreen:!0,css:{visibility:"hidden"}})[0],a(this.container).find("iframe,img").remove(),this.container.appendChild(this.image),a("#"+f).load(function(b,d){return function(){c.setTimeout(function(){a(b.image).css("visibility","visible"),typeof d=="function"&&d.call(b,b)},10)}}(this,e)),this.container}this.image=new Image;var g=0,h=!1,i=!1,j=a(this.container),l=a(this.image),m=function(b,e,f){return function(){var g=function(){a(this).unbind("load"),b.original=d||{height:this.height,width:this.width},b.container.appendChild(this),b.cache[f]=f,typeof e=="function"&&c.setTimeout(function(){e.call(b,b)},1)};!this.width||!this.height?c.setTimeout(function(b){return function(){b.width&&b.height?g.call(b):i?Galleria.raise("Could not extract width/height from image: "+b.src+". Traced measures: width:"+b.width+"px, height: "+b.height+"px."):(a(new Image).load(m).attr("src",b.src),i=!0)}}(this),2):g.call(this)}}(this,e,b);return j.find("iframe,img").remove(),l.css("display","block"),E.hide(this.image),a.each("minWidth minHeight maxWidth maxHeight".split(" "),function(a,b){l.css(b,/min/.test(b)?"0":"none")}),this.cache[b]?(l.load(m).attr("src",b),this.container):(l.load(m).error(function(){h?k?a(this).attr("src",k):Galleria.raise("Image not found: "+b):(h=!0,c.setTimeout(function(a,b){return function(){a.attr("src",b+"?"+E.timestamp())}}(a(this),b),50))}).attr("src",b),this.container)},scale:function(c){var d=this;c=a.extend({width:0,height:0,min:b,max:b,margin:0,complete:n,position:"center",crop:!1,canvas:!1},c);if(this.isIframe){a(this.image).width(c.width).height(c.height).removeAttr("width").removeAttr("height"),a(this.container).width(c.width).height(c.height),c.complete.call(d,d);try{this.image.contentWindow&&a(this.image.contentWindow).trigger("resize")}catch(e){}return this.container}if(!this.image)return this.container;var f,g,h=a(d.container),i;return E.wait({until:function(){return f=c.width||h.width()||E.parseValue(h.css("width")),g=c.height||h.height()||E.parseValue(h.css("height")),f&&g},success:function(){var b=(f-c.margin*2)/d.original.width,e=(g-c.margin*2)/d.original.height,h=Math.min(b,e),j=Math.max(b,e),k={"true":j,width:b,height:e,"false":h,landscape:d.original.width>d.original.height?j:h,portrait:d.original.width<d.original.height?j:h},l=k[c.crop.toString()],m="";c.max&&(l=Math.min(c.max,l)),c.min&&(l=Math.max(c.min,l)),a.each(["width","height"],function(b,c){a(d.image)[c](d[c]=d.image[c]=Math.round(d.original[c]*l))}),a(d.container).width(f).height(g),c.canvas&&B&&(B.elem.width=d.width,B.elem.height=d.height,m=d.image.src+":"+d.width+"x"+d.height,d.image.src=B.cache[m]||function(a){B.context.drawImage(d.image,0,0,d.original.width*l,d.original.height*l);try{return i=B.elem.toDataURL(),B.length+=i.length,B.cache[a]=i,i}catch(b){return d.image.src}}(m));var n={},o={},p=function(b,c,e){var f=0;if(/\%/.test(b)){var g=parseInt(b,10)/100,h=d.image[c]||a(d.image)[c]();f=Math.ceil(h*-1*g+e*g)}else f=E.parseValue(b);return f},q={top:{top:0},left:{left:0},right:{left:"100%"},bottom:{top:"100%"}};a.each(c.position.toLowerCase().split(" "),function(a,b){b==="center"&&(b="50%"),n[a?"top":"left"]=b}),a.each(n,function(b,c){q.hasOwnProperty(c)&&a.extend(o,q[c])}),n=n.top?a.extend(n,o):o,n=a.extend({top:"50%",left:"50%"},n),a(d.image).css({position:"absolute",top:p(n.top,"height",g),left:p(n.left,"width",f)}),d.show(),d.ready=!0,c.complete.call(d,d)},error:function(){Galleria.raise("Could not scale image: "+d.image.src)},timeout:1e3}),this}},a.extend(a.easing,{galleria:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},galleriaIn:function(a,b,c,d,e){return d*(b/=e)*b+c},galleriaOut:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c}}),a.fn.galleria=function(b){var c=this.selector;return a(this).length?this.each(function(){a.data(this,"galleria")||a.data(this,"galleria",(new Galleria).init(this,b))}):(a(function(){a(c).length?a(c).galleria(b):Galleria.utils.wait({until:function(){return a(c).length},success:function(){a(c).galleria(b)},error:function(){Galleria.raise('Init failed: Galleria could not find the element "'+c+'".')},timeout:5e3})}),this)}})(jQuery);
skin/frontend/default/mobileshoppe/js/galleria.classic.js ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Galleria Classic Theme 2012-04-04
3
+ * http://galleria.io
4
+ *
5
+ * Licensed under the MIT license
6
+ * https://raw.github.com/aino/galleria/master/LICENSE
7
+ *
8
+ */
9
+
10
+ (function($j) {
11
+
12
+ /*global jQuery, Galleria */
13
+
14
+ Galleria.addTheme({
15
+ name: 'classic',
16
+ author: 'Galleria',
17
+ css: 'galleria.classic.css',
18
+ defaults: {
19
+ transition: 'slide',
20
+ thumbCrop: 'height',
21
+
22
+ // set this to false if you want to show the caption all the time:
23
+ _toggleInfo: true
24
+ },
25
+ init: function(options) {
26
+
27
+ Galleria.requires(1.25, 'This version of Classic theme requires Galleria 1.2.5 or later');
28
+
29
+ // add some elements
30
+ this.addElement('info-link','info-close');
31
+ this.append({
32
+ 'info' : ['info-link','info-close']
33
+ });
34
+
35
+ // cache some stuff
36
+ var info = this.$j('info-link,info-close,info-text'),
37
+ touch = Galleria.TOUCH,
38
+ click = touch ? 'touchstart' : 'click';
39
+
40
+ // show loader & counter with opacity
41
+ this.$j('loader,counter').show().css('opacity', 0.4);
42
+
43
+ // some stuff for non-touch browsers
44
+ if (! touch ) {
45
+ this.addIdleState( this.get('image-nav-left'), { left:-50 });
46
+ this.addIdleState( this.get('image-nav-right'), { right:-50 });
47
+ this.addIdleState( this.get('counter'), { opacity:0 });
48
+ }
49
+
50
+ // toggle info
51
+ if ( options._toggleInfo === true ) {
52
+ info.bind( click, function() {
53
+ info.toggle();
54
+ });
55
+ } else {
56
+ info.show();
57
+ this.$j('info-link, info-close').hide();
58
+ }
59
+
60
+ // bind some stuff
61
+ this.bind('thumbnail', function(e) {
62
+
63
+ if (! touch ) {
64
+ // fade thumbnails
65
+ $j(e.thumbTarget).css('opacity', 0.6).parent().hover(function() {
66
+ $j(this).not('.active').children().stop().fadeTo(100, 1);
67
+ }, function() {
68
+ $j(this).not('.active').children().stop().fadeTo(400, 0.6);
69
+ });
70
+
71
+ if ( e.index === this.getIndex() ) {
72
+ $j(e.thumbTarget).css('opacity',1);
73
+ }
74
+ } else {
75
+ $j(e.thumbTarget).css('opacity', this.getIndex() ? 1 : 0.6);
76
+ }
77
+ });
78
+
79
+ this.bind('loadstart', function(e) {
80
+ if (!e.cached) {
81
+ this.$j('loader').show().fadeTo(200, 0.4);
82
+ }
83
+
84
+ this.$j('info').toggle( this.hasInfo() );
85
+
86
+ $j(e.thumbTarget).css('opacity',1).parent().siblings().children().css('opacity', 0.6);
87
+ });
88
+
89
+ this.bind('loadfinish', function(e) {
90
+ this.$j('loader').fadeOut(200);
91
+ });
92
+ }
93
+ });
94
+
95
+ }(jQuery));
skin/frontend/default/mobileshoppe/js/galleria.classic.min.js ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Galleria Classic Theme 2012-04-04
3
+ * http://galleria.io
4
+ *
5
+ * Licensed under the MIT license
6
+ * https://raw.github.com/aino/galleria/master/LICENSE
7
+ *
8
+ */(function(a){Galleria.addTheme({name:"classic",author:"Galleria",css:"galleria.classic.css",defaults:{transition:"slide",thumbCrop:"height",_toggleInfo:!0},init:function(b){Galleria.requires(1.25,"This version of Classic theme requires Galleria 1.2.5 or later"),this.addElement("info-link","info-close"),this.append({info:["info-link","info-close"]});var c=this.$j("info-link,info-close,info-text"),d=Galleria.TOUCH,e=d?"touchstart":"click";this.$j("loader,counter").show().css("opacity",.4),d||(this.addIdleState(this.get("image-nav-left"),{left:-50}),this.addIdleState(this.get("image-nav-right"),{right:-50}),this.addIdleState(this.get("counter"),{opacity:0})),b._toggleInfo===!0?c.bind(e,function(){c.toggle()}):(c.show(),this.$j("info-link, info-close").hide()),this.bind("thumbnail",function(b){d?a(b.thumbTarget).css("opacity",this.getIndex()?1:.6):(a(b.thumbTarget).css("opacity",.6).parent().hover(function(){a(this).not(".active").children().stop().fadeTo(100,1)},function(){a(this).not(".active").children().stop().fadeTo(400,.6)}),b.index===this.getIndex()&&a(b.thumbTarget).css("opacity",1))}),this.bind("loadstart",function(b){b.cached||this.$j("loader").show().fadeTo(200,.4),this.$j("info").toggle(this.hasInfo()),a(b.thumbTarget).css("opacity",1).parent().siblings().children().css("opacity",.6)}),this.bind("loadfinish",function(a){this.$j("loader").fadeOut(200)})}})})(jQuery);
skin/frontend/default/mobileshoppe/js/jquery-1.7.2.min.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /*! jQuery v1.7.2 jquery.com | jquery.org/license */
2
+ (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},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(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
3
+ a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.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(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.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(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={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,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
4
+ .clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[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","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);var $j = jQuery.noConflict();
skin/frontend/default/mobileshoppe/js/jquery.flexslider-min.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery FlexSlider v1.4
3
+ * http://flex.madebymufffin.com
4
+ *
5
+ * Copyright 2011, Tyler Smith
6
+ * Free to use under the MIT license.
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ *
9
+ * TouchWipe gesture credits: http://www.netcu.de/jquery-touchwipe-iphone-ipad-library
10
+ */
11
+ (function(a){a.fn.extend({flexslider:function(q){var k={animation:"fade",slideshow:true,slideshowSpeed:7000,animationDuration:500,directionNav:true,controlNav:true,keyboardNav:true,touchSwipe:true,prevText:"Previous",nextText:"Next",randomize:false,slideToStart:0,pauseOnAction:true,pauseOnHover:false,controlsContainer:"",manualControls:""};var q=a.extend(k,q),d=this,c=a(".slides",d),b=a(".slides li",d),f=b.length;ANIMATING=false,currentSlide=q.slideToStart;if(q.randomize&&f>1){b.sort(function(){return(Math.round(Math.random())-0.5)});c.empty().append(b)}if(q.animation.toLowerCase()=="slide"&&f>1){d.css({overflow:"hidden"});c.append(b.filter(":first").clone().addClass("clone")).prepend(b.filter(":last").clone().addClass("clone"));c.width(((f+2)*d.width())+2000);var g=a(".slides li",d);setTimeout(function(){g.width(d.width()).css({"float":"left"}).show()},100);c.css({marginLeft:(-1*(currentSlide+1))*d.width()+"px"})}else{b.hide().eq(currentSlide).fadeIn(400)}function o(i){if(!ANIMATING){ANIMATING=true;if(q.animation.toLowerCase()=="slide"){if(currentSlide==0&&i==f-1){c.animate({marginLeft:"0px"},q.animationDuration,function(){c.css({marginLeft:(-1*f)*b.filter(":first").width()+"px"});ANIMATING=false;currentSlide=i})}else{if(currentSlide==f-1&&i==0){c.animate({marginLeft:(-1*(f+1))*b.filter(":first").width()+"px"},q.animationDuration,function(){c.css({marginLeft:-1*b.filter(":first").width()+"px"});ANIMATING=false;currentSlide=i})}else{c.animate({marginLeft:(-1*(i+1))*b.filter(":first").width()+"px"},q.animationDuration,function(){ANIMATING=false;currentSlide=i})}}}else{if(q.animation.toLowerCase()=="show"){b.eq(currentSlide).hide();b.eq(i).show();ANIMATING=false;currentSlide=i}else{d.css({minHeight:b.eq(currentSlide).height()});b.eq(currentSlide).fadeOut(q.animationDuration,function(){b.eq(i).fadeIn(q.animationDuration,function(){ANIMATING=false;currentSlide=i});d.css({minHeight:"inherit"})})}}}}if(q.controlNav&&f>1){if(q.manualControls!=""&&a(q.manualControls).length>0){var e=a(q.manualControls)}else{var e=a('<ol class="flex-control-nav"></ol>');var l=1;for(var m=0;m<f;m++){e.append("<li><a>"+l+"</a></li>");l++}if(q.controlsContainer!=""&&a(q.controlsContainer).length>0){a(q.controlsContainer).append(e)}else{d.append(e)}e=a(".flex-control-nav li a")}e.eq(currentSlide).addClass("active");e.click(function(j){j.preventDefault();if(a(this).hasClass("active")||ANIMATING){return}else{e.removeClass("active");a(this).addClass("active");var i=e.index(a(this));o(i);if(q.pauseOnAction){clearInterval(n)}}})}if(q.directionNav&&f>1){if(q.controlsContainer!=""&&a(q.controlsContainer).length>0){a(q.controlsContainer).append(a('<ul class="flex-direction-nav"><li><a class="prev" href="#">'+q.prevText+'</a></li><li><a class="next" href="#">'+q.nextText+"</a></li></ul>"))}else{d.append(a('<ul class="flex-direction-nav"><li><a class="prev" href="#">'+q.prevText+'</a></li><li><a class="next" href="#">'+q.nextText+"</a></li></ul>"))}a(".flex-direction-nav li a").click(function(i){i.preventDefault();if(ANIMATING){return}else{if(a(this).hasClass("next")){var j=(currentSlide==f-1)?0:currentSlide+1}else{var j=(currentSlide==0)?f-1:currentSlide-1}if(q.controlNav){e.removeClass("active");e.eq(j).addClass("active")}o(j);if(q.pauseOnAction){clearInterval(n)}}})}if(q.keyboardNav&&f>1){a(document).keyup(function(i){if(ANIMATING){return}else{if(i.keyCode!=39&&i.keyCode!=37){return}else{if(i.keyCode==39){var j=(currentSlide==f-1)?0:currentSlide+1}else{if(i.keyCode==37){var j=(currentSlide==0)?f-1:currentSlide-1}}if(q.controlNav){e.removeClass("active");e.eq(j).addClass("active")}o(j);if(q.pauseOnAction){clearInterval(n)}}}})}if(q.slideshow&&f>1){var n;function p(){if(ANIMATING){return}else{var i=(currentSlide==f-1)?0:currentSlide+1;if(q.controlNav){e.removeClass("active");e.eq(i).addClass("active")}o(i)}}if(q.pauseOnHover){d.hover(function(){clearInterval(n)},function(){n=setInterval(p,q.slideshowSpeed)})}if(f>1){n=setInterval(p,q.slideshowSpeed)}}if(q.touchSwipe&&"ontouchstart" in document.documentElement&&f>1){d.each(function(){var i,j=20;isMoving=false;function t(){this.removeEventListener("touchmove",r);i=null;isMoving=false}function r(y){if(isMoving){var u=y.touches[0].pageX,v=i-u;if(Math.abs(v)>=j){t();if(v>0){var w=(currentSlide==f-1)?0:currentSlide+1}else{var w=(currentSlide==0)?f-1:currentSlide-1}if(q.controlNav){e.removeClass("active");e.eq(w).addClass("active")}o(w);if(q.pauseOnAction){clearInterval(n)}}}}function s(u){if(u.touches.length==1){i=u.touches[0].pageX;isMoving=true;this.addEventListener("touchmove",r,false)}}if("ontouchstart" in document.documentElement){this.addEventListener("touchstart",s,false)}})}if(q.animation.toLowerCase()=="slide"&&f>1){var h;a(window).resize(function(){g.width(d.width());c.width(((f+2)*d.width())+2000);clearTimeout(h);h=setTimeout(function(){o(currentSlide)},300)})}}})})(jQuery);
skin/frontend/default/mobileshoppe/js/jquery.flexslider.js ADDED
@@ -0,0 +1,340 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery FlexSlider v1.4
3
+ * http://flex.madebymufffin.com
4
+ *
5
+ * Copyright 2011, Tyler Smith
6
+ * Free to use under the MIT license.
7
+ * http://www.opensource.org/licenses/mit-license.php
8
+ *
9
+ * TouchWipe gesture credits: http://www.netcu.de/jquery-touchwipe-iphone-ipad-library
10
+ */
11
+
12
+
13
+ (function ($j) {
14
+ $j.fn.extend({
15
+ flexslider: function(options) {
16
+ //Plugin options and their default values
17
+ var defaults = {
18
+ animation: "fade", //Select your animation type (fade/slide/show)
19
+ slideshow: true, //Should the slider animate automatically by default? (true/false)
20
+ slideshowSpeed: 7000, //Set the speed of the slideshow cycling, in milliseconds
21
+ animationDuration: 500, //Set the speed of animations, in milliseconds
22
+ directionNav: true, //Create navigation for previous/next navigation? (true/false)
23
+ controlNav: true, //Create navigation for paging control of each clide? (true/false)
24
+ keyboardNav: true, //Allow for keyboard navigation using left/right keys (true/false)
25
+ touchSwipe: true, //Touch swipe gestures for left/right slide navigation (true/false)
26
+ prevText: "Previous", //Set the text for the "previous" directionNav item
27
+ nextText: "Next", //Set the text for the "next" directionNav item
28
+ randomize: false, //Randomize slide order on page load? (true/false)
29
+ slideToStart: 0, //The slide that the slider should start on. Array notation (0 = first slide)
30
+ pauseOnAction: true, //Pause the slideshow when interacting with control elements, highly recommended. (true/false)
31
+ pauseOnHover: false, //Pause the slideshow when hovering over slider, then resume when no longer hovering (true/false)
32
+ controlsContainer: "", //Advanced property: Can declare which container the navigation elements should be appended too. Default container is the flexSlider element. Example use would be ".flexslider-container", "#container", etc. If the given element is not found, the default action will be taken.
33
+ manualControls: "" //Advanced property: Can declare custom control navigation. Example would be ".flex-control-nav" or "#tabs-nav", etc. The number of elements in your controlNav should match the number of slides/tabs (obviously).
34
+ }
35
+
36
+ //Get slider, slides, and other useful variables
37
+ var options = $j.extend(defaults, options),
38
+ slider = this,
39
+ container = $j('.slides', slider),
40
+ slides = $j('.slides li', slider),
41
+ length = slides.length;
42
+ ANIMATING = false,
43
+ currentSlide = options.slideToStart;
44
+
45
+
46
+ ///////////////////////////////////////////////////////////////////
47
+ // FLEXSLIDER: RANDOMIZE SLIDES
48
+ if (options.randomize && length > 1) {
49
+ slides.sort(function() { return (Math.round(Math.random())-0.5); });
50
+ container.empty().append(slides);
51
+ }
52
+ ///////////////////////////////////////////////////////////////////
53
+
54
+
55
+ //Slider animation initialize
56
+ if (options.animation.toLowerCase() == "slide" && length > 1) {
57
+ slider.css({"overflow": "hidden"});
58
+
59
+ container.append(slides.filter(':first').clone().addClass('clone')).prepend(slides.filter(':last').clone().addClass('clone'));
60
+ container.width(((length + 2) * slider.width()) + 2000); //extra width to account for quirks
61
+
62
+ //Timeout function to give browser enough time to get proper width initially
63
+ var newSlides = $j('.slides li', slider);
64
+ setTimeout(function() {
65
+ newSlides.width(slider.width()).css({"float": "left"}).show();
66
+ }, 100);
67
+
68
+ container.css({"marginLeft": (-1 * (currentSlide + 1))* slider.width() + "px"});
69
+
70
+ } else { //Default to fade
71
+ slides.hide().eq(currentSlide).fadeIn(400);
72
+ }
73
+
74
+ ///////////////////////////////////////////////////////////////////
75
+ // FLEXSLIDER: ANIMATION TYPE
76
+ function flexAnimate(target) {
77
+ if (!ANIMATING) {
78
+ ANIMATING = true;
79
+ if (options.animation.toLowerCase() == "slide") {
80
+ if (currentSlide == 0 && target == length - 1) {
81
+ container.animate({"marginLeft": "0px"}, options.animationDuration, function(){
82
+ container.css({"marginLeft": (-1 * length) * slides.filter(':first').width() + "px"});
83
+ ANIMATING = false;
84
+ currentSlide = target;
85
+ });
86
+ } else if (currentSlide == length - 1 && target == 0) {
87
+ container.animate({"marginLeft": (-1 * (length + 1)) * slides.filter(':first').width() + "px"}, options.animationDuration, function(){
88
+ container.css({"marginLeft": -1 * slides.filter(':first').width() + "px"});
89
+ ANIMATING = false;
90
+ currentSlide = target;
91
+ });
92
+ } else {
93
+ container.animate({"marginLeft": (-1 * (target + 1)) * slides.filter(':first').width() + "px"}, options.animationDuration, function(){
94
+ ANIMATING = false;
95
+ currentSlide = target;
96
+ });
97
+ }
98
+ } else if (options.animation.toLowerCase() == "show") {
99
+
100
+ slides.eq(currentSlide).hide();
101
+ slides.eq(target).show();
102
+ ANIMATING = false;
103
+ currentSlide = target;
104
+
105
+ } else { //Default to Fade
106
+ slider.css({"minHeight": slides.eq(currentSlide).height()});
107
+ slides.eq(currentSlide).fadeOut(options.animationDuration, function() {
108
+ slides.eq(target).fadeIn(options.animationDuration, function() {
109
+ ANIMATING = false;
110
+ currentSlide = target;
111
+ });
112
+ slider.css({"minHeight": "inherit"});
113
+ });
114
+ }
115
+ }
116
+ }
117
+ ///////////////////////////////////////////////////////////////////
118
+
119
+ ///////////////////////////////////////////////////////////////////
120
+ // FLEXSLIDER: CONTROL NAV
121
+ if (options.controlNav && length > 1) {
122
+ if (options.manualControls != "" && $j(options.manualControls).length > 0) {
123
+ var controlNav = $j(options.manualControls);
124
+ } else {
125
+ var controlNav = $j('<ol class="flex-control-nav"></ol>');
126
+ var j = 1;
127
+ for (var i = 0; i < length; i++) {
128
+ controlNav.append('<li><a>' + j + '</a></li>');
129
+ j++;
130
+ }
131
+
132
+ //extra children check for jquery 1.3.2 - Drupal 6
133
+ if (options.controlsContainer != "" && $j(options.controlsContainer).length > 0) {
134
+ $j(options.controlsContainer).append(controlNav);
135
+ } else {
136
+ slider.append(controlNav);
137
+ }
138
+
139
+ controlNav = $j('.flex-control-nav li a');
140
+ }
141
+
142
+ controlNav.eq(currentSlide).addClass('active');
143
+
144
+ controlNav.click(function(event) {
145
+ event.preventDefault();
146
+
147
+ if ($j(this).hasClass('active') || ANIMATING) {
148
+ return;
149
+ } else {
150
+
151
+ controlNav.removeClass('active');
152
+ $j(this).addClass('active');
153
+
154
+ var selected = controlNav.index($j(this));
155
+ flexAnimate(selected);
156
+ if (options.pauseOnAction) {
157
+ clearInterval(animatedSlides);
158
+ }
159
+ }
160
+ });
161
+ }
162
+ ///////////////////////////////////////////////////////////////////
163
+
164
+ //////////////////////////////////////////////////////////////////
165
+ //FLEXSLIDER: DIRECTION NAV
166
+ if (options.directionNav && length > 1) {
167
+ //Create and append the nav
168
+ if (options.controlsContainer != "" && $j(options.controlsContainer).length > 0) {
169
+ $j(options.controlsContainer).append($j('<ul class="flex-direction-nav"><li><a class="prev" href="#">' + options.prevText + '</a></li><li><a class="next" href="#">' + options.nextText + '</a></li></ul>'));
170
+ } else {
171
+ slider.append($j('<ul class="flex-direction-nav"><li><a class="prev" href="#">' + options.prevText + '</a></li><li><a class="next" href="#">' + options.nextText + '</a></li></ul>'));
172
+ }
173
+
174
+ $j('.flex-direction-nav li a').click(function(event) {
175
+ event.preventDefault();
176
+ if (ANIMATING) {
177
+ return;
178
+ } else {
179
+
180
+ if ($j(this).hasClass('next')) {
181
+ var target = (currentSlide == length - 1) ? 0 : currentSlide + 1;
182
+ } else {
183
+ var target = (currentSlide == 0) ? length - 1 : currentSlide - 1;
184
+ }
185
+
186
+ if (options.controlNav) {
187
+ controlNav.removeClass('active');
188
+ controlNav.eq(target).addClass('active');
189
+ }
190
+
191
+ flexAnimate(target);
192
+ if (options.pauseOnAction) {
193
+ clearInterval(animatedSlides);
194
+ }
195
+ }
196
+ });
197
+ }
198
+ //////////////////////////////////////////////////////////////////
199
+
200
+ //////////////////////////////////////////////////////////////////
201
+ //FLEXSLIDER: KEYBOARD NAV
202
+ if (options.keyboardNav && length > 1) {
203
+ $j(document).keyup(function(event) {
204
+ if (ANIMATING) {
205
+ return;
206
+ } else if (event.keyCode != 39 && event.keyCode != 37){
207
+ return;
208
+ } else {
209
+
210
+ if (event.keyCode == 39) {
211
+ var target = (currentSlide == length - 1) ? 0 : currentSlide + 1;
212
+ } else if (event.keyCode == 37){
213
+ var target = (currentSlide == 0) ? length - 1 : currentSlide - 1;
214
+ }
215
+
216
+ if (options.controlNav) {
217
+ controlNav.removeClass('active');
218
+ controlNav.eq(target).addClass('active');
219
+ }
220
+
221
+ flexAnimate(target);
222
+ if (options.pauseOnAction) {
223
+ clearInterval(animatedSlides);
224
+ }
225
+ }
226
+ });
227
+ }
228
+ //////////////////////////////////////////////////////////////////
229
+
230
+ //////////////////////////////////////////////////////////////////
231
+ //FLEXSLIDER: ANIMATION SLIDESHOW
232
+ if (options.slideshow && length > 1) {
233
+ var animatedSlides;
234
+
235
+ function animateSlides() {
236
+ if (ANIMATING) {
237
+ return;
238
+ } else {
239
+ var target = (currentSlide == length - 1) ? 0 : currentSlide + 1;
240
+
241
+ if (options.controlNav) {
242
+ controlNav.removeClass('active');
243
+ controlNav.eq(target).addClass('active');
244
+ }
245
+
246
+ flexAnimate(target);
247
+ }
248
+ }
249
+
250
+ //pauseOnHover
251
+ if (options.pauseOnHover) {
252
+ slider.hover(function() {
253
+ clearInterval(animatedSlides);
254
+ }, function() {
255
+ animatedSlides = setInterval(animateSlides, options.slideshowSpeed);
256
+ });
257
+ }
258
+
259
+ //Initialize animation
260
+ if (length > 1) {
261
+ animatedSlides = setInterval(animateSlides, options.slideshowSpeed);
262
+ }
263
+ }
264
+ //////////////////////////////////////////////////////////////////
265
+
266
+ //////////////////////////////////////////////////////////////////
267
+ //FLEXSLIDER: TOUCHSWIPE GESTURES
268
+ //Credit of concept: TouchSwipe - http://www.netcu.de/jquery-touchwipe-iphone-ipad-library
269
+ if (options.touchSwipe && 'ontouchstart' in document.documentElement && length > 1) {
270
+ slider.each(function() {
271
+ var startX,
272
+ min_move_x = 20;
273
+ isMoving = false;
274
+
275
+ function cancelTouch() {
276
+ this.removeEventListener('touchmove', onTouchMove);
277
+ startX = null;
278
+ isMoving = false;
279
+ }
280
+ function onTouchMove(e) {
281
+ if (isMoving) {
282
+ var x = e.touches[0].pageX,
283
+ dx = startX - x;
284
+
285
+ if(Math.abs(dx) >= min_move_x) {
286
+ cancelTouch();
287
+ if(dx > 0) {
288
+ var target = (currentSlide == length - 1) ? 0 : currentSlide + 1;
289
+ }
290
+ else {
291
+ var target = (currentSlide == 0) ? length - 1 : currentSlide - 1;
292
+ }
293
+
294
+ if (options.controlNav) {
295
+ controlNav.removeClass('active');
296
+ controlNav.eq(target).addClass('active');
297
+ }
298
+
299
+ flexAnimate(target);
300
+ if (options.pauseOnAction) {
301
+ clearInterval(animatedSlides);
302
+ }
303
+ }
304
+ }
305
+ }
306
+ function onTouchStart(e) {
307
+ if (e.touches.length == 1) {
308
+ startX = e.touches[0].pageX;
309
+ isMoving = true;
310
+ this.addEventListener('touchmove', onTouchMove, false);
311
+ }
312
+ }
313
+ if ('ontouchstart' in document.documentElement) {
314
+ this.addEventListener('touchstart', onTouchStart, false);
315
+ }
316
+ });
317
+ }
318
+ //////////////////////////////////////////////////////////////////
319
+
320
+ //////////////////////////////////////////////////////////////////
321
+ //FLEXSLIDER: RESIZE FUNCTIONS (If necessary)
322
+ if (options.animation.toLowerCase() == "slide" && length > 1) {
323
+ var sliderTimer;
324
+ $j(window).resize(function(){
325
+ newSlides.width(slider.width());
326
+ //clones.width(slider.width());
327
+ container.width(((length + 2) * slider.width()) + 2000); //extra width to account for quirks
328
+
329
+ //slider resize reset
330
+ clearTimeout(sliderTimer);
331
+ sliderTimer = setTimeout(function(){
332
+ flexAnimate(currentSlide);
333
+ }, 300);
334
+ });
335
+ }
336
+ //////////////////////////////////////////////////////////////////
337
+ }
338
+ });
339
+
340
+ })(jQuery);
skin/frontend/default/mobileshoppe/js/jquery.mobile-1.1.0.min.js ADDED
@@ -0,0 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery Mobile v1.1.0 db342b1f315c282692791aa870455901fdb46a55 jquerymobile.com | jquery.org/license */
2
+ (function(D,s,k){typeof define==="function"&&define.amd?define(["jquery"],function(a){k(a,D,s);return a.mobile}):k(D.jQuery,D,s)})(this,document,function(D,s,k){(function(a,c,b,e){function f(a){for(;a&&typeof a.originalEvent!=="undefined";)a=a.originalEvent;return a}function d(b){for(var d={},f,g;b;){f=a.data(b,t);for(g in f)if(f[g])d[g]=d.hasVirtualBinding=true;b=b.parentNode}return d}function g(){y&&(clearTimeout(y),y=0);y=setTimeout(function(){F=y=0;C.length=0;z=false;G=true},a.vmouse.resetTimerDuration)}
3
+ function h(b,d,g){var c,h;if(!(h=g&&g[b])){if(g=!g)a:{for(g=d.target;g;){if((h=a.data(g,t))&&(!b||h[b]))break a;g=g.parentNode}g=null}h=g}if(h){c=d;var g=c.type,z,j;c=a.Event(c);c.type=b;h=c.originalEvent;z=a.event.props;g.search(/^(mouse|click)/)>-1&&(z=w);if(h)for(j=z.length;j;)b=z[--j],c[b]=h[b];if(g.search(/mouse(down|up)|click/)>-1&&!c.which)c.which=1;if(g.search(/^touch/)!==-1&&(b=f(h),g=b.touches,b=b.changedTouches,g=g&&g.length?g[0]:b&&b.length?b[0]:e))for(h=0,len=u.length;h<len;h++)b=u[h],
4
+ c[b]=g[b];a(d.target).trigger(c)}return c}function j(b){var d=a.data(b.target,x);if(!z&&(!F||F!==d))if(d=h("v"+b.type,b))d.isDefaultPrevented()&&b.preventDefault(),d.isPropagationStopped()&&b.stopPropagation(),d.isImmediatePropagationStopped()&&b.stopImmediatePropagation()}function o(b){var g=f(b).touches,c;if(g&&g.length===1&&(c=b.target,g=d(c),g.hasVirtualBinding))F=L++,a.data(c,x,F),y&&(clearTimeout(y),y=0),A=G=false,c=f(b).touches[0],s=c.pageX,E=c.pageY,h("vmouseover",b,g),h("vmousedown",b,g)}
5
+ function m(a){G||(A||h("vmousecancel",a,d(a.target)),A=true,g())}function p(b){if(!G){var c=f(b).touches[0],e=A,z=a.vmouse.moveDistanceThreshold;A=A||Math.abs(c.pageX-s)>z||Math.abs(c.pageY-E)>z;flags=d(b.target);A&&!e&&h("vmousecancel",b,flags);h("vmousemove",b,flags);g()}}function l(a){if(!G){G=true;var b=d(a.target),c;h("vmouseup",a,b);if(!A&&(c=h("vclick",a,b))&&c.isDefaultPrevented())c=f(a).changedTouches[0],C.push({touchID:F,x:c.clientX,y:c.clientY}),z=true;h("vmouseout",a,b);A=false;g()}}function r(b){var b=
6
+ a.data(b,t),d;if(b)for(d in b)if(b[d])return true;return false}function n(){}function k(b){var d=b.substr(1);return{setup:function(){r(this)||a.data(this,t,{});a.data(this,t)[b]=true;v[b]=(v[b]||0)+1;v[b]===1&&H.bind(d,j);a(this).bind(d,n);if(K)v.touchstart=(v.touchstart||0)+1,v.touchstart===1&&H.bind("touchstart",o).bind("touchend",l).bind("touchmove",p).bind("scroll",m)},teardown:function(){--v[b];v[b]||H.unbind(d,j);K&&(--v.touchstart,v.touchstart||H.unbind("touchstart",o).unbind("touchmove",p).unbind("touchend",
7
+ l).unbind("scroll",m));var f=a(this),g=a.data(this,t);g&&(g[b]=false);f.unbind(d,n);r(this)||f.removeData(t)}}}var t="virtualMouseBindings",x="virtualTouchID",c="vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split(" "),u="clientX clientY pageX pageY screenX screenY".split(" "),w=a.event.props.concat(a.event.mouseHooks?a.event.mouseHooks.props:[]),v={},y=0,s=0,E=0,A=false,C=[],z=false,G=false,K="addEventListener"in b,H=a(b),L=1,F=0;a.vmouse={moveDistanceThreshold:10,clickDistanceThreshold:10,
8
+ resetTimerDuration:1500};for(var I=0;I<c.length;I++)a.event.special[c[I]]=k(c[I]);K&&b.addEventListener("click",function(b){var d=C.length,f=b.target,g,c,e,h,z;if(d){g=b.clientX;c=b.clientY;threshold=a.vmouse.clickDistanceThreshold;for(e=f;e;){for(h=0;h<d;h++)if(z=C[h],e===f&&Math.abs(z.x-g)<threshold&&Math.abs(z.y-c)<threshold||a.data(e,x)===z.touchID){b.preventDefault();b.stopPropagation();return}e=e.parentNode}}},true)})(jQuery,s,k);(function(a,c,b){function e(a){a=a||location.href;return"#"+a.replace(/^[^#]*#?(.*)$/,
9
+ "$1")}var f="hashchange",d=k,g,h=a.event.special,j=d.documentMode,o="on"+f in c&&(j===b||j>7);a.fn[f]=function(a){return a?this.bind(f,a):this.trigger(f)};a.fn[f].delay=50;h[f]=a.extend(h[f],{setup:function(){if(o)return false;a(g.start)},teardown:function(){if(o)return false;a(g.stop)}});g=function(){function g(){var b=e(),d=t(r);if(b!==r)k(r=b,d),a(c).trigger(f);else if(d!==r)location.href=location.href.replace(/#.*/,"")+d;j=setTimeout(g,a.fn[f].delay)}var h={},j,r=e(),n=function(a){return a},k=
10
+ n,t=n;h.start=function(){j||g()};h.stop=function(){j&&clearTimeout(j);j=b};a.browser.msie&&!o&&function(){var b,c;h.start=function(){if(!b)c=(c=a.fn[f].src)&&c+e(),b=a('<iframe tabindex="-1" title="empty"/>').hide().one("load",function(){c||k(e());g()}).attr("src",c||"javascript:0").insertAfter("body")[0].contentWindow,d.onpropertychange=function(){try{if(event.propertyName==="title")b.document.title=d.title}catch(a){}}};h.stop=n;t=function(){return e(b.location.href)};k=function(g,c){var e=b.document,
11
+ h=a.fn[f].domain;if(g!==c)e.title=d.title,e.open(),h&&e.write('<script>document.domain="'+h+'"<\/script>'),e.close(),b.location.hash=g}}();return h}()})(jQuery,this);(function(a,c){if(a.cleanData){var b=a.cleanData;a.cleanData=function(f){for(var d=0,g;(g=f[d])!=null;d++)a(g).triggerHandler("remove");b(f)}}else{var e=a.fn.remove;a.fn.remove=function(b,d){return this.each(function(){d||(!b||a.filter(b,[this]).length)&&a("*",this).add([this]).each(function(){a(this).triggerHandler("remove")});return e.call(a(this),
12
+ b,d)})}}a.widget=function(b,d,g){var c=b.split(".")[0],e,b=b.split(".")[1];e=c+"-"+b;if(!g)g=d,d=a.Widget;a.expr[":"][e]=function(d){return!!a.data(d,b)};a[c]=a[c]||{};a[c][b]=function(a,b){arguments.length&&this._createWidget(a,b)};d=new d;d.options=a.extend(true,{},d.options);a[c][b].prototype=a.extend(true,d,{namespace:c,widgetName:b,widgetEventPrefix:a[c][b].prototype.widgetEventPrefix||b,widgetBaseClass:e},g);a.widget.bridge(b,a[c][b])};a.widget.bridge=function(b,d){a.fn[b]=function(g){var e=
13
+ typeof g==="string",j=Array.prototype.slice.call(arguments,1),o=this,g=!e&&j.length?a.extend.apply(null,[true,g].concat(j)):g;if(e&&g.charAt(0)==="_")return o;e?this.each(function(){var d=a.data(this,b);if(!d)throw"cannot call methods on "+b+" prior to initialization; attempted to call method '"+g+"'";if(!a.isFunction(d[g]))throw"no such method '"+g+"' for "+b+" widget instance";var e=d[g].apply(d,j);if(e!==d&&e!==c)return o=e,false}):this.each(function(){var c=a.data(this,b);c?c.option(g||{})._init():
14
+ a.data(this,b,new d(g,this))});return o}};a.Widget=function(a,b){arguments.length&&this._createWidget(a,b)};a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(b,d){a.data(d,this.widgetName,this);this.element=a(d);this.options=a.extend(true,{},this.options,this._getCreateOptions(),b);var g=this;this.element.bind("remove."+this.widgetName,function(){g.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){var b=
15
+ {};a.metadata&&(b=a.metadata.get(element)[this.widgetName]);return b},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(b,d){var g=b;if(arguments.length===0)return a.extend({},this.options);if(typeof b==="string"){if(d===c)return this.options[b];
16
+ g={};g[b]=d}this._setOptions(g);return this},_setOptions:function(b){var d=this;a.each(b,function(a,b){d._setOption(a,b)});return this},_setOption:function(a,b){this.options[a]=b;a==="disabled"&&this.widget()[b?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",b);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(b,d,g){var c=this.options[b],d=a.Event(d);
17
+ d.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase();g=g||{};if(d.originalEvent)for(var b=a.event.props.length,e;b;)e=a.event.props[--b],d[e]=d.originalEvent[e];this.element.trigger(d,g);return!(a.isFunction(c)&&c.call(this.element[0],d,g)===false||d.isDefaultPrevented())}}})(jQuery);(function(a,c){a.widget("mobile.widget",{_createWidget:function(){a.Widget.prototype._createWidget.apply(this,arguments);this._trigger("init")},_getCreateOptions:function(){var b=this.element,
18
+ e={};a.each(this.options,function(a){var d=b.jqmData(a.replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()}));d!==c&&(e[a]=d)});return e},enhanceWithin:function(b,c){this.enhance(a(this.options.initSelector,a(b)),c)},enhance:function(b,c){var f,d=a(b),d=a.mobile.enhanceable(d);c&&d.length&&(f=(f=a.mobile.closestPageData(d))&&f.keepNativeSelector()||"",d=d.not(f));d[this.widgetName]()},raise:function(a){throw"Widget ["+this.widgetName+"]: "+a;}})})(jQuery);(function(a,c){var b={};a.mobile=a.extend({},
19
+ {version:"1.1.0",ns:"",subPageUrlKey:"ui-page",activePageClass:"ui-page-active",activeBtnClass:"ui-btn-active",focusClass:"ui-focus",ajaxEnabled:true,hashListeningEnabled:true,linkBindingEnabled:true,defaultPageTransition:"fade",maxTransitionWidth:false,minScrollBack:250,touchOverflowEnabled:false,defaultDialogTransition:"pop",loadingMessage:"loading",pageLoadErrorMessage:"Error Loading Page",loadingMessageTextVisible:false,loadingMessageTheme:"a",pageLoadErrorMessageTheme:"e",autoInitializePage:true,
20
+ pushStateEnabled:true,ignoreContentEnabled:false,orientationChangeEnabled:true,buttonMarkup:{hoverDelay:200},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91},silentScroll:function(b){if(a.type(b)!==
21
+ "number")b=a.mobile.defaultHomeScroll;a.event.special.scrollstart.enabled=false;setTimeout(function(){c.scrollTo(0,b);a(k).trigger("silentscroll",{x:0,y:b})},20);setTimeout(function(){a.event.special.scrollstart.enabled=true},150)},nsNormalizeDict:b,nsNormalize:function(d){return!d?void 0:b[d]||(b[d]=a.camelCase(a.mobile.ns+d))},getInheritedTheme:function(a,b){for(var c=a[0],e="",f=/ui-(bar|body|overlay)-([a-z])\b/,m,p;c;){m=c.className||"";if((p=f.exec(m))&&(e=p[2]))break;c=c.parentNode}return e||
22
+ b||"a"},closestPageData:function(a){return a.closest(':jqmData(role="page"), :jqmData(role="dialog")').data("page")},enhanceable:function(a){return this.haveParents(a,"enhance")},hijackable:function(a){return this.haveParents(a,"ajax")},haveParents:function(b,c){if(!a.mobile.ignoreContentEnabled)return b;for(var e=b.length,f=a(),o,m,p,l=0;l<e;l++){m=b.eq(l);p=false;for(o=b[l];o;){if((o.getAttribute?o.getAttribute("data-"+a.mobile.ns+c):"")==="false"){p=true;break}o=o.parentNode}p||(f=f.add(m))}return f}},
23
+ a.mobile);a.fn.jqmData=function(b,c){var f;typeof b!="undefined"&&(b&&(b=a.mobile.nsNormalize(b)),f=this.data.apply(this,arguments.length<2?[b]:[b,c]));return f};a.jqmData=function(b,c,f){var e;typeof c!="undefined"&&(e=a.data(b,c?a.mobile.nsNormalize(c):c,f));return e};a.fn.jqmRemoveData=function(b){return this.removeData(a.mobile.nsNormalize(b))};a.jqmRemoveData=function(b,c){return a.removeData(b,a.mobile.nsNormalize(c))};a.fn.removeWithDependents=function(){a.removeWithDependents(this)};a.removeWithDependents=
24
+ function(b){b=a(b);(b.jqmData("dependents")||a()).remove();b.remove()};a.fn.addDependents=function(b){a.addDependents(a(this),b)};a.addDependents=function(b,c){var f=a(b).jqmData("dependents")||a();a(b).jqmData("dependents",a.merge(f,c))};a.fn.getEncodedText=function(){return a("<div/>").text(a(this).text()).html()};a.fn.jqmEnhanceable=function(){return a.mobile.enhanceable(this)};a.fn.jqmHijackable=function(){return a.mobile.hijackable(this)};var e=a.find,f=/:jqmData\(([^)]*)\)/g;a.find=function(b,
25
+ c,h,j){b=b.replace(f,"[data-"+(a.mobile.ns||"")+"$1]");return e.call(this,b,c,h,j)};a.extend(a.find,e);a.find.matches=function(b,c){return a.find(b,null,null,c)};a.find.matchesSelector=function(b,c){return a.find(c,null,null,[b]).length>0}})(jQuery,this);(function(a){a(s);var c=a("html");a.mobile.media=function(){var b={},e=a("<div id='jquery-mediatest'>"),f=a("<body>").append(e);return function(a){if(!(a in b)){var g=k.createElement("style"),h="@media "+a+" { #jquery-mediatest { position:absolute; } }";
26
+ g.type="text/css";g.styleSheet?g.styleSheet.cssText=h:g.appendChild(k.createTextNode(h));c.prepend(f).prepend(g);b[a]=e.css("position")==="absolute";f.add(g).remove()}return b[a]}}()})(jQuery);(function(a,c){function b(a){var b=a.charAt(0).toUpperCase()+a.substr(1),a=(a+" "+g.join(b+" ")+b).split(" "),f;for(f in a)if(d[a[f]]!==c)return true}function e(a,b,c){var d=k.createElement("div"),c=c?[c]:g,f;for(i=0;i<c.length;i++){var e=c[i],h="-"+e.charAt(0).toLowerCase()+e.substr(1)+"-"+a+": "+b+";",e=e.charAt(0).toUpperCase()+
27
+ e.substr(1)+(a.charAt(0).toUpperCase()+a.substr(1));d.setAttribute("style",h);d.style[e]&&(f=true)}return!!f}var f=a("<body>").prependTo("html"),d=f[0].style,g=["Webkit","Moz","O"],h="palmGetResource"in s,j=s.operamini&&{}.toString.call(s.operamini)==="[object OperaMini]",o=s.blackberry;a.extend(a.mobile,{browser:{}});a.mobile.browser.ie=function(){for(var a=3,b=k.createElement("div"),c=b.all||[];b.innerHTML="<\!--[if gt IE "+ ++a+"]><br><![endif]--\>",c[0];);return a>4?a:!a}();a.extend(a.support,
28
+ {orientation:"orientation"in s&&"onorientationchange"in s,touch:"ontouchend"in k,cssTransitions:"WebKitTransitionEvent"in s||e("transition","height 100ms linear"),pushState:"pushState"in history&&"replaceState"in history,mediaquery:a.mobile.media("only all"),cssPseudoElement:!!b("content"),touchOverflow:!!b("overflowScrolling"),cssTransform3d:e("perspective","10px","moz")||a.mobile.media("(-"+g.join("-transform-3d),(-")+"-transform-3d),(transform-3d)"),boxShadow:!!b("boxShadow")&&!o,scrollTop:("pageXOffset"in
29
+ s||"scrollTop"in k.documentElement||"scrollTop"in f[0])&&!h&&!j,dynamicBaseTag:function(){var b=location.protocol+"//"+location.host+location.pathname+"ui-dir/",c=a("head base"),d=null,e="",g;c.length?e=c.attr("href"):c=d=a("<base>",{href:b}).appendTo("head");g=a("<a href='testurl' />").prependTo(f)[0].href;c[0].href=e||location.pathname;d&&d.remove();return g.indexOf(b)===0}()});f.remove();h=function(){var a=s.navigator.userAgent;return a.indexOf("Nokia")>-1&&(a.indexOf("Symbian/3")>-1||a.indexOf("Series60/5")>
30
+ -1)&&a.indexOf("AppleWebKit")>-1&&a.match(/(BrowserNG|NokiaBrowser)\/7\.[0-3]/)}();a.mobile.gradeA=function(){return a.support.mediaquery||a.mobile.browser.ie&&a.mobile.browser.ie>=7};a.mobile.ajaxBlacklist=s.blackberry&&!s.WebKitPoint||j||h;h&&a(function(){a("head link[rel='stylesheet']").attr("rel","alternate stylesheet").attr("rel","stylesheet")});a.support.boxShadow||a("html").addClass("ui-mobile-nosupport-boxshadow")})(jQuery);(function(a,c,b){function e(b,c,d){var f=d.type;d.type=c;a.event.handle.call(b,
31
+ d);d.type=f}a.each("touchstart touchmove touchend orientationchange throttledresize tap taphold swipe swipeleft swiperight scrollstart scrollstop".split(" "),function(b,c){a.fn[c]=function(a){return a?this.bind(c,a):this.trigger(c)};a.attrFn[c]=true});var f=a.support.touch,d=f?"touchstart":"mousedown",g=f?"touchend":"mouseup",h=f?"touchmove":"mousemove";a.event.special.scrollstart={enabled:true,setup:function(){function b(a,f){d=f;e(c,d?"scrollstart":"scrollstop",a)}var c=this,d,f;a(c).bind("touchmove scroll",
32
+ function(c){a.event.special.scrollstart.enabled&&(d||b(c,true),clearTimeout(f),f=setTimeout(function(){b(c,false)},50))})}};a.event.special.tap={setup:function(){var b=this,c=a(b);c.bind("vmousedown",function(d){function f(){clearTimeout(q)}function g(){f();c.unbind("vclick",h).unbind("vmouseup",f);a(k).unbind("vmousecancel",g)}function h(a){g();n==a.target&&e(b,"tap",a)}if(d.which&&d.which!==1)return false;var n=d.target,q;c.bind("vmouseup",f).bind("vclick",h);a(k).bind("vmousecancel",g);q=setTimeout(function(){e(b,
33
+ "taphold",a.Event("taphold",{target:n}))},750)})}};a.event.special.swipe={scrollSupressionThreshold:10,durationThreshold:1E3,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,setup:function(){var c=a(this);c.bind(d,function(d){function f(b){if(l){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b;k={time:(new Date).getTime(),coords:[c.pageX,c.pageY]};Math.abs(l.coords[0]-k.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}}var e=d.originalEvent.touches?
34
+ d.originalEvent.touches[0]:d,l={time:(new Date).getTime(),coords:[e.pageX,e.pageY],origin:a(d.target)},k;c.bind(h,f).one(g,function(){c.unbind(h,f);l&&k&&k.time-l.time<a.event.special.swipe.durationThreshold&&Math.abs(l.coords[0]-k.coords[0])>a.event.special.swipe.horizontalDistanceThreshold&&Math.abs(l.coords[1]-k.coords[1])<a.event.special.swipe.verticalDistanceThreshold&&l.origin.trigger("swipe").trigger(l.coords[0]>k.coords[0]?"swipeleft":"swiperight");l=k=b})})}};(function(a,b){function c(){var a=
35
+ f();a!==e&&(e=a,d.trigger("orientationchange"))}var d=a(b),f,e,g,h,t={0:true,180:true};if(a.support.orientation&&(g=b.innerWidth||a(b).width(),h=b.innerHeight||a(b).height(),g=g>h&&g-h>50,h=t[b.orientation],g&&h||!g&&!h))t={"-90":true,90:true};a.event.special.orientationchange={setup:function(){if(a.support.orientation&&a.mobile.orientationChangeEnabled)return false;e=f();d.bind("throttledresize",c)},teardown:function(){if(a.support.orientation&&a.mobile.orientationChangeEnabled)return false;d.unbind("throttledresize",
36
+ c)},add:function(a){var b=a.handler;a.handler=function(a){a.orientation=f();return b.apply(this,arguments)}}};a.event.special.orientationchange.orientation=f=function(){var c=true,c=k.documentElement;return(c=a.support.orientation?t[b.orientation]:c&&c.clientWidth/c.clientHeight<1.1)?"portrait":"landscape"}})(jQuery,c);(function(){a.event.special.throttledresize={setup:function(){a(this).bind("resize",b)},teardown:function(){a(this).unbind("resize",b)}};var b=function(){f=(new Date).getTime();g=f-
37
+ c;g>=250?(c=f,a(this).trigger("throttledresize")):(d&&clearTimeout(d),d=setTimeout(b,250-g))},c=0,d,f,g})();a.each({scrollstop:"scrollstart",taphold:"tap",swipeleft:"swipe",swiperight:"swipe"},function(b,c){a.event.special[b]={setup:function(){a(this).bind(c,a.noop)}}})})(jQuery,this);(function(a){a.widget("mobile.page",a.mobile.widget,{options:{theme:"c",domCache:false,keepNativeDefault:":jqmData(role='none'), :jqmData(role='nojs')"},_create:function(){var a=this;if(a._trigger("beforecreate")===
38
+ false)return false;a.element.attr("tabindex","0").addClass("ui-page ui-body-"+a.options.theme).bind("pagebeforehide",function(){a.removeContainerBackground()}).bind("pagebeforeshow",function(){a.setContainerBackground()})},removeContainerBackground:function(){a.mobile.pageContainer.removeClass("ui-overlay-"+a.mobile.getInheritedTheme(this.element.parent()))},setContainerBackground:function(c){this.options.theme&&a.mobile.pageContainer.addClass("ui-overlay-"+(c||this.options.theme))},keepNativeSelector:function(){var c=
39
+ this.options;return c.keepNative&&a.trim(c.keepNative)&&c.keepNative!==c.keepNativeDefault?[c.keepNative,c.keepNativeDefault].join(", "):c.keepNativeDefault}})})(jQuery);(function(a,c,b){var e=function(d){d===b&&(d=true);return function(b,f,e,o){var k=new a.Deferred,p=f?" reverse":"",l=a.mobile.urlHistory.getActive().lastScroll||a.mobile.defaultHomeScroll,r=a.mobile.getScreenHeight(),n=a.mobile.maxTransitionWidth!==false&&a(c).width()>a.mobile.maxTransitionWidth,q=!a.support.cssTransitions||n||!b||
40
+ b==="none",t=function(){a.mobile.pageContainer.toggleClass("ui-mobile-viewport-transitioning viewport-"+b)},x=function(){a.event.special.scrollstart.enabled=false;c.scrollTo(0,l);setTimeout(function(){a.event.special.scrollstart.enabled=true},150)},u=function(){o.removeClass(a.mobile.activePageClass+" out in reverse "+b).height("")},n=function(){o&&d&&u();e.addClass(a.mobile.activePageClass);a.mobile.focusPage(e);e.height(r+l);x();q||e.animationComplete(w);e.addClass(b+" in"+p);q&&w()},w=function(){d||
41
+ o&&u();e.removeClass("out in reverse "+b).height("");t();a(c).scrollTop()!==l&&x();k.resolve(b,f,e,o,true)};t();o&&!q?(d?o.animationComplete(n):n(),o.height(r+a(c).scrollTop()).addClass(b+" out"+p)):n();return k.promise()}},f=e(),e=e(false);a.mobile.defaultTransitionHandler=f;a.mobile.transitionHandlers={"default":a.mobile.defaultTransitionHandler,sequential:f,simultaneous:e};a.mobile.transitionFallbacks={}})(jQuery,this);(function(a,c){function b(b){r&&(!r.closest(".ui-page-active").length||b)&&
42
+ r.removeClass(a.mobile.activeBtnClass);r=null}function e(){t=false;q.length>0&&a.mobile.changePage.apply(null,q.pop())}function f(b,c,d,f){c&&c.data("page")._trigger("beforehide",null,{nextPage:b});b.data("page")._trigger("beforeshow",null,{prevPage:c||a("")});a.mobile.hidePageLoadingMsg();d&&!a.support.cssTransform3d&&a.mobile.transitionFallbacks[d]&&(d=a.mobile.transitionFallbacks[d]);d=(a.mobile.transitionHandlers[d||"default"]||a.mobile.defaultTransitionHandler)(d,f,b,c);d.done(function(){c&&
43
+ c.data("page")._trigger("hide",null,{nextPage:b});b.data("page")._trigger("show",null,{prevPage:c||a("")})});return d}function d(){return s.innerHeight||a(s).height()}function g(){var b=a("."+a.mobile.activePageClass),c=parseFloat(b.css("padding-top")),f=parseFloat(b.css("padding-bottom"));b.css("min-height",d()-c-f)}function h(b,c){c&&b.attr("data-"+a.mobile.ns+"role",c);b.page()}function j(a){for(;a;){if(typeof a.nodeName==="string"&&a.nodeName.toLowerCase()=="a")break;a=a.parentNode}return a}function o(b){var b=
44
+ a(b).closest(".ui-page").jqmData("url"),c=v.hrefNoHash;if(!b||!l.isPath(b))b=c;return l.makeUrlAbsolute(b,c)}var m=a(s);a("html");var p=a("head"),l={urlParseRE:/^(((([^:\/#\?]+:)?(?:(\/\/)((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?\]\[]+|\[[^\/\]@#?]+\])(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/,parseUrl:function(b){if(a.type(b)==="object")return b;b=l.urlParseRE.exec(b||"")||[];return{href:b[0]||"",hrefNoHash:b[1]||"",hrefNoSearch:b[2]||"",domain:b[3]||"",
45
+ protocol:b[4]||"",doubleSlash:b[5]||"",authority:b[6]||"",username:b[8]||"",password:b[9]||"",host:b[10]||"",hostname:b[11]||"",port:b[12]||"",pathname:b[13]||"",directory:b[14]||"",filename:b[15]||"",search:b[16]||"",hash:b[17]||""}},makePathAbsolute:function(a,b){if(a&&a.charAt(0)==="/")return a;for(var a=a||"",c=(b=b?b.replace(/^\/|(\/[^\/]*|[^\/]+)$/g,""):"")?b.split("/"):[],d=a.split("/"),f=0;f<d.length;f++){var e=d[f];switch(e){case ".":break;case "..":c.length&&c.pop();break;default:c.push(e)}}return"/"+
46
+ c.join("/")},isSameDomain:function(a,b){return l.parseUrl(a).domain===l.parseUrl(b).domain},isRelativeUrl:function(a){return l.parseUrl(a).protocol===""},isAbsoluteUrl:function(a){return l.parseUrl(a).protocol!==""},makeUrlAbsolute:function(a,b){if(!l.isRelativeUrl(a))return a;var c=l.parseUrl(a),d=l.parseUrl(b),f=c.protocol||d.protocol,e=c.protocol?c.doubleSlash:c.doubleSlash||d.doubleSlash,g=c.authority||d.authority,h=c.pathname!=="",j=l.makePathAbsolute(c.pathname||d.filename,d.pathname);return f+
47
+ e+g+j+(c.search||!h&&d.search||"")+c.hash},addSearchParams:function(b,c){var d=l.parseUrl(b),f=typeof c==="object"?a.param(c):c,e=d.search||"?";return d.hrefNoSearch+e+(e.charAt(e.length-1)!=="?"?"&":"")+f+(d.hash||"")},convertUrlToDataUrl:function(a){var b=l.parseUrl(a);if(l.isEmbeddedPage(b))return b.hash.split(x)[0].replace(/^#/,"");else if(l.isSameDomain(b,v))return b.hrefNoHash.replace(v.domain,"");return a},get:function(a){if(a===c)a=location.hash;return l.stripHash(a).replace(/[^\/]*\.[^\/*]+$/,
48
+ "")},getFilePath:function(b){var c="&"+a.mobile.subPageUrlKey;return b&&b.split(c)[0].split(x)[0]},set:function(a){location.hash=a},isPath:function(a){return/\//.test(a)},clean:function(a){return a.replace(v.domain,"")},stripHash:function(a){return a.replace(/^#/,"")},cleanHash:function(a){return l.stripHash(a.replace(/\?.*$/,"").replace(x,""))},isExternal:function(a){a=l.parseUrl(a);return a.protocol&&a.domain!==w.domain?true:false},hasProtocol:function(a){return/^(:?\w+:)/.test(a)},isFirstPageUrl:function(b){var b=
49
+ l.parseUrl(l.makeUrlAbsolute(b,v)),d=a.mobile.firstPage,d=d&&d[0]?d[0].id:c;return(b.hrefNoHash===w.hrefNoHash||y&&b.hrefNoHash===v.hrefNoHash)&&(!b.hash||b.hash==="#"||d&&b.hash.replace(/^#/,"")===d)},isEmbeddedPage:function(a){a=l.parseUrl(a);return a.protocol!==""?a.hash&&(a.hrefNoHash===w.hrefNoHash||y&&a.hrefNoHash===v.hrefNoHash):/^#/.test(a.href)}},r=null,n={stack:[],activeIndex:0,getActive:function(){return n.stack[n.activeIndex]},getPrev:function(){return n.stack[n.activeIndex-1]},getNext:function(){return n.stack[n.activeIndex+
50
+ 1]},addNew:function(a,b,c,d,f){n.getNext()&&n.clearForward();n.stack.push({url:a,transition:b,title:c,pageUrl:d,role:f});n.activeIndex=n.stack.length-1},clearForward:function(){n.stack=n.stack.slice(0,n.activeIndex+1)},directHashChange:function(b){var d,f,e;this.getActive();a.each(n.stack,function(a,c){b.currentUrl===c.url&&(d=a<n.activeIndex,f=!d,e=a)});this.activeIndex=e!==c?e:this.activeIndex;d?(b.either||b.isBack)(true):f&&(b.either||b.isForward)(false)},ignoreNextHashChange:false},q=[],t=false,
51
+ x="&ui-state=dialog",u=p.children("base"),w=l.parseUrl(location.href),v=u.length?l.parseUrl(l.makeUrlAbsolute(u.attr("href"),w.href)):w,y=w.hrefNoHash!==v.hrefNoHash,B=a.support.dynamicBaseTag?{element:u.length?u:a("<base>",{href:v.hrefNoHash}).prependTo(p),set:function(a){B.element.attr("href",l.makeUrlAbsolute(a,v))},reset:function(){B.element.attr("href",v.hrefNoHash)}}:c;a.mobile.focusPage=function(a){var b=a.find("[autofocus]"),c=a.find(".ui-title:eq(0)");b.length?b.focus():c.length?c.focus():
52
+ a.focus()};var E=true,A,C;A=function(){if(E){var b=a.mobile.urlHistory.getActive();if(b){var c=m.scrollTop();b.lastScroll=c<a.mobile.minScrollBack?a.mobile.defaultHomeScroll:c}}};C=function(){setTimeout(A,100)};m.bind(a.support.pushState?"popstate":"hashchange",function(){E=false});m.one(a.support.pushState?"popstate":"hashchange",function(){E=true});m.one("pagecontainercreate",function(){a.mobile.pageContainer.bind("pagechange",function(){E=true;m.unbind("scrollstop",C);m.bind("scrollstop",C)})});
53
+ m.bind("scrollstop",C);a.mobile.getScreenHeight=d;a.fn.animationComplete=function(b){return a.support.cssTransitions?a(this).one("webkitAnimationEnd animationend",b):(setTimeout(b,0),a(this))};a.mobile.path=l;a.mobile.base=B;a.mobile.urlHistory=n;a.mobile.dialogHashKey=x;a.mobile.allowCrossDomainPages=false;a.mobile.getDocumentUrl=function(b){return b?a.extend({},w):w.href};a.mobile.getDocumentBase=function(b){return b?a.extend({},v):v.href};a.mobile._bindPageRemove=function(){var b=a(this);!b.data("page").options.domCache&&
54
+ b.is(":jqmData(external-page='true')")&&b.bind("pagehide.remove",function(){var b=a(this),c=new a.Event("pageremove");b.trigger(c);c.isDefaultPrevented()||b.removeWithDependents()})};a.mobile.loadPage=function(b,d){var f=a.Deferred(),e=a.extend({},a.mobile.loadPage.defaults,d),g=null,j=null,k=l.makeUrlAbsolute(b,a.mobile.activePage&&o(a.mobile.activePage)||v.hrefNoHash);if(e.data&&e.type==="get")k=l.addSearchParams(k,e.data),e.data=c;if(e.data&&e.type==="post")e.reloadPage=true;var u=l.getFilePath(k),
55
+ n=l.convertUrlToDataUrl(k);e.pageContainer=e.pageContainer||a.mobile.pageContainer;g=e.pageContainer.children(":jqmData(url='"+n+"')");g.length===0&&n&&!l.isPath(n)&&(g=e.pageContainer.children("#"+n).attr("data-"+a.mobile.ns+"url",n));if(g.length===0)if(a.mobile.firstPage&&l.isFirstPageUrl(u))a.mobile.firstPage.parent().length&&(g=a(a.mobile.firstPage));else if(l.isEmbeddedPage(u))return f.reject(k,d),f.promise();B&&B.reset();if(g.length){if(!e.reloadPage)return h(g,e.role),f.resolve(k,d,g),f.promise();
56
+ j=g}var m=e.pageContainer,x=new a.Event("pagebeforeload"),p={url:b,absUrl:k,dataUrl:n,deferred:f,options:e};m.trigger(x,p);if(x.isDefaultPrevented())return f.promise();if(e.showLoadMsg)var r=setTimeout(function(){a.mobile.showPageLoadingMsg()},e.loadMsgDelay);!a.mobile.allowCrossDomainPages&&!l.isSameDomain(w,k)?f.reject(k,d):a.ajax({url:u,type:e.type,data:e.data,dataType:"html",success:function(c,o,m){var x=a("<div></div>"),v=c.match(/<title[^>]*>([^<]*)/)&&RegExp.$1,w=RegExp("\\bdata-"+a.mobile.ns+
57
+ "url=[\"']?([^\"'>]*)[\"']?");RegExp("(<[^>]+\\bdata-"+a.mobile.ns+"role=[\"']?page[\"']?[^>]*>)").test(c)&&RegExp.$1&&w.test(RegExp.$1)&&RegExp.$1&&(b=u=l.getFilePath(RegExp.$1));B&&B.set(u);x.get(0).innerHTML=c;g=x.find(":jqmData(role='page'), :jqmData(role='dialog')").first();g.length||(g=a("<div data-"+a.mobile.ns+"role='page'>"+c.split(/<\/?body[^>]*>/gmi)[1]+"</div>"));v&&!g.jqmData("title")&&(~v.indexOf("&")&&(v=a("<div>"+v+"</div>").text()),g.jqmData("title",v));if(!a.support.dynamicBaseTag){var q=
58
+ l.get(u);g.find("[src], link[href], a[rel='external'], :jqmData(ajax='false'), a[target]").each(function(){var b=a(this).is("[href]")?"href":a(this).is("[src]")?"src":"action",c=a(this).attr(b),c=c.replace(location.protocol+"//"+location.host+location.pathname,"");/^(\w+:|#|\/)/.test(c)||a(this).attr(b,q+c)})}g.attr("data-"+a.mobile.ns+"url",l.convertUrlToDataUrl(u)).attr("data-"+a.mobile.ns+"external-page",true).appendTo(e.pageContainer);g.one("pagecreate",a.mobile._bindPageRemove);h(g,e.role);k.indexOf("&"+
59
+ a.mobile.subPageUrlKey)>-1&&(g=e.pageContainer.children(":jqmData(url='"+n+"')"));e.showLoadMsg&&(clearTimeout(r),a.mobile.hidePageLoadingMsg());p.xhr=m;p.textStatus=o;p.page=g;e.pageContainer.trigger("pageload",p);f.resolve(k,d,g,j)},error:function(b,c,g){B&&B.set(l.get());p.xhr=b;p.textStatus=c;p.errorThrown=g;b=new a.Event("pageloadfailed");e.pageContainer.trigger(b,p);b.isDefaultPrevented()||(e.showLoadMsg&&(clearTimeout(r),a.mobile.hidePageLoadingMsg(),a.mobile.showPageLoadingMsg(a.mobile.pageLoadErrorMessageTheme,
60
+ a.mobile.pageLoadErrorMessage,true),setTimeout(a.mobile.hidePageLoadingMsg,1500)),f.reject(k,d))}});return f.promise()};a.mobile.loadPage.defaults={type:"get",data:c,reloadPage:false,role:c,showLoadMsg:false,pageContainer:c,loadMsgDelay:50};a.mobile.changePage=function(d,g){if(t)q.unshift(arguments);else{var j=a.extend({},a.mobile.changePage.defaults,g);j.pageContainer=j.pageContainer||a.mobile.pageContainer;j.fromPage=j.fromPage||a.mobile.activePage;var u=j.pageContainer,o=new a.Event("pagebeforechange"),
61
+ m={toPage:d,options:j};u.trigger(o,m);if(!o.isDefaultPrevented())if(d=m.toPage,t=true,typeof d=="string")a.mobile.loadPage(d,j).done(function(b,c,d,e){t=false;c.duplicateCachedPage=e;a.mobile.changePage(d,c)}).fail(function(){t=false;b(true);e();j.pageContainer.trigger("pagechangefailed",m)});else{if(d[0]===a.mobile.firstPage[0]&&!j.dataUrl)j.dataUrl=w.hrefNoHash;var o=j.fromPage,p=j.dataUrl&&l.convertUrlToDataUrl(j.dataUrl)||d.jqmData("url"),v=p;l.getFilePath(p);var r=n.getActive(),s=n.activeIndex===
62
+ 0,y=0,B=k.title,A=j.role==="dialog"||d.jqmData("role")==="dialog";if(o&&o[0]===d[0]&&!j.allowSamePageTransition)t=false,u.trigger("pagechange",m);else{h(d,j.role);j.fromHashChange&&n.directHashChange({currentUrl:p,isBack:function(){y=-1},isForward:function(){y=1}});try{k.activeElement&&k.activeElement.nodeName.toLowerCase()!="body"?a(k.activeElement).blur():a("input:focus, textarea:focus, select:focus").blur()}catch(E){}A&&r&&(p=(r.url||"")+x);if(j.changeHash!==false&&p)n.ignoreNextHashChange=true,
63
+ l.set(p);var C=!r?B:d.jqmData("title")||d.children(":jqmData(role='header')").find(".ui-title").getEncodedText();C&&B==k.title&&(B=C);d.jqmData("title")||d.jqmData("title",B);j.transition=j.transition||(y&&!s?r.transition:c)||(A?a.mobile.defaultDialogTransition:a.mobile.defaultPageTransition);y||n.addNew(p,j.transition,B,v,j.role);k.title=n.getActive().title;a.mobile.activePage=d;j.reverse=j.reverse||y<0;f(d,o,j.transition,j.reverse).done(function(c,f,g,h,l){b();j.duplicateCachedPage&&j.duplicateCachedPage.remove();
64
+ l||a.mobile.focusPage(d);e();u.trigger("pagechange",m)})}}}};a.mobile.changePage.defaults={transition:c,reverse:false,changeHash:true,fromHashChange:false,role:c,duplicateCachedPage:c,pageContainer:c,showLoadMsg:true,dataUrl:c,fromPage:c,allowSamePageTransition:false};a.mobile._registerInternalEvents=function(){a(k).delegate("form","submit",function(b){var c=a(this);if(a.mobile.ajaxEnabled&&!c.is(":jqmData(ajax='false')")&&c.jqmHijackable().length){var d=c.attr("method"),e=c.attr("target"),f=c.attr("action");
65
+ if(!f&&(f=o(c),f===v.hrefNoHash))f=w.hrefNoSearch;f=l.makeUrlAbsolute(f,o(c));!l.isExternal(f)&&!e&&(a.mobile.changePage(f,{type:d&&d.length&&d.toLowerCase()||"get",data:c.serialize(),transition:c.jqmData("transition"),direction:c.jqmData("direction"),reloadPage:true}),b.preventDefault())}});a(k).bind("vclick",function(c){if(!(c.which>1)&&a.mobile.linkBindingEnabled&&(c=j(c.target),a(c).jqmHijackable().length&&c&&l.parseUrl(c.getAttribute("href")||"#").hash!=="#"))b(true),r=a(c).closest(".ui-btn").not(".ui-disabled"),
66
+ r.addClass(a.mobile.activeBtnClass),a("."+a.mobile.activePageClass+" .ui-btn").not(c).blur(),a(c).jqmData("href",a(c).attr("href")).attr("href","#")});a(k).bind("click",function(d){if(a.mobile.linkBindingEnabled){var f=j(d.target),e=a(f),g;if(f&&!(d.which>1)&&e.jqmHijackable().length){g=function(){s.setTimeout(function(){b(true)},200)};e.jqmData("href")&&e.attr("href",e.jqmData("href"));if(e.is(":jqmData(rel='back')"))return s.history.back(),false;var h=o(e),f=l.makeUrlAbsolute(e.attr("href")||"#",
67
+ h);if(!a.mobile.ajaxEnabled&&!l.isEmbeddedPage(f))g();else{if(f.search("#")!=-1)if(f=f.replace(/[^#]*#/,""))f=l.isPath(f)?l.makeUrlAbsolute(f,h):l.makeUrlAbsolute("#"+f,w.hrefNoHash);else{d.preventDefault();return}var h=e.is("[rel='external']")||e.is(":jqmData(ajax='false')")||e.is("[target]"),k=a.mobile.allowCrossDomainPages&&w.protocol==="file:"&&f.search(/^https?:/)!=-1;h||l.isExternal(f)&&!k?g():(g=e.jqmData("transition"),h=(h=e.jqmData("direction"))&&h==="reverse"||e.jqmData("back"),e=e.attr("data-"+
68
+ a.mobile.ns+"rel")||c,a.mobile.changePage(f,{transition:g,reverse:h,role:e}),d.preventDefault())}}}});a(k).delegate(".ui-page","pageshow.prefetch",function(){var b=[];a(this).find("a:jqmData(prefetch)").each(function(){var c=a(this),d=c.attr("href");d&&a.inArray(d,b)===-1&&(b.push(d),a.mobile.loadPage(d,{role:c.attr("data-"+a.mobile.ns+"rel")}))})});a.mobile._handleHashChange=function(b){var d=l.stripHash(b),f={transition:a.mobile.urlHistory.stack.length===0?"none":c,changeHash:false,fromHashChange:true};
69
+ if(!a.mobile.hashListeningEnabled||n.ignoreNextHashChange)n.ignoreNextHashChange=false;else{if(n.stack.length>1&&d.indexOf(x)>-1)if(a.mobile.activePage.is(".ui-dialog"))n.directHashChange({currentUrl:d,either:function(b){var c=a.mobile.urlHistory.getActive();d=c.pageUrl;a.extend(f,{role:c.role,transition:c.transition,reverse:b})}});else{n.directHashChange({currentUrl:d,isBack:function(){s.history.back()},isForward:function(){s.history.forward()}});return}d?(d=typeof d==="string"&&!l.isPath(d)?l.makeUrlAbsolute("#"+
70
+ d,v):d,a.mobile.changePage(d,f)):a.mobile.changePage(a.mobile.firstPage,f)}};m.bind("hashchange",function(){a.mobile._handleHashChange(location.hash)});a(k).bind("pageshow",g);a(s).bind("throttledresize",g)}})(jQuery);(function(a,c){var b={},e=a(c),f=a.mobile.path.parseUrl(location.href);a.extend(b,{initialFilePath:f.pathname+f.search,initialHref:f.hrefNoHash,state:function(){return{hash:location.hash||"#"+b.initialFilePath,title:k.title,initialHref:b.initialHref}},resetUIKeys:function(b){var c="&"+
71
+ a.mobile.subPageUrlKey,f=b.indexOf(a.mobile.dialogHashKey);f>-1?b=b.slice(0,f)+"#"+b.slice(f):b.indexOf(c)>-1&&(b=b.split(c).join("#"+c));return b},hashValueAfterReset:function(c){c=b.resetUIKeys(c);return a.mobile.path.parseUrl(c).hash},nextHashChangePrevented:function(c){a.mobile.urlHistory.ignoreNextHashChange=c;b.onHashChangeDisabled=c},onHashChange:function(){if(!b.onHashChangeDisabled){var c,f;c=location.hash;var e=a.mobile.path.isPath(c),j=e?location.href:a.mobile.getDocumentUrl();c=e?c.replace("#",
72
+ ""):c;f=b.state();c=a.mobile.path.makeUrlAbsolute(c,j);e&&(c=b.resetUIKeys(c));history.replaceState(f,k.title,c)}},onPopState:function(c){var c=c.originalEvent.state,f,h;if(c){f=b.hashValueAfterReset(a.mobile.urlHistory.getActive().url);h=b.hashValueAfterReset(c.hash.replace("#",""));if(f=f!==h)e.one("hashchange.pushstate",function(){b.nextHashChangePrevented(false)});b.nextHashChangePrevented(false);a.mobile._handleHashChange(c.hash);f&&b.nextHashChangePrevented(true)}},init:function(){e.bind("hashchange",
73
+ b.onHashChange);e.bind("popstate",b.onPopState);location.hash===""&&history.replaceState(b.state(),k.title,location.href)}});a(function(){a.mobile.pushStateEnabled&&a.support.pushState&&b.init()})})(jQuery,this);jQuery.mobile.transitionFallbacks.pop="fade";(function(a){a.mobile.transitionHandlers.slide=a.mobile.transitionHandlers.simultaneous;a.mobile.transitionFallbacks.slide="fade"})(jQuery,this);jQuery.mobile.transitionFallbacks.slidedown="fade";jQuery.mobile.transitionFallbacks.slideup="fade";
74
+ jQuery.mobile.transitionFallbacks.flip="fade";jQuery.mobile.transitionFallbacks.flow="fade";jQuery.mobile.transitionFallbacks.turn="fade";(function(a){a.mobile.page.prototype.options.degradeInputs={color:false,date:false,datetime:false,"datetime-local":false,email:false,month:false,number:false,range:"number",search:"text",tel:false,time:false,url:false,week:false};a(k).bind("pagecreate create",function(c){var b=a.mobile.closestPageData(a(c.target)),e;if(b)e=b.options,a(c.target).find("input").not(b.keepNativeSelector()).each(function(){var b=
75
+ a(this),c=this.getAttribute("type"),g=e.degradeInputs[c]||"text";if(e.degradeInputs[c]){var h=a("<div>").html(b.clone()).html(),j=h.indexOf(" type=")>-1;b.replaceWith(h.replace(j?/\s+type=["']?\w+['"]?/:/\/?>/,' type="'+g+'" data-'+a.mobile.ns+'type="'+c+'"'+(j?"":">")))}})})})(jQuery);(function(a,c){a.widget("mobile.dialog",a.mobile.widget,{options:{closeBtnText:"Close",overlayTheme:"a",initSelector:":jqmData(role='dialog')"},_create:function(){var b=this,c=this.element,f=a("<a href='#' data-"+a.mobile.ns+
76
+ "icon='delete' data-"+a.mobile.ns+"iconpos='notext'>"+this.options.closeBtnText+"</a>"),d=a("<div/>",{role:"dialog","class":"ui-dialog-contain ui-corner-all ui-overlay-shadow"});c.addClass("ui-dialog ui-overlay-"+this.options.overlayTheme);c.wrapInner(d).children().find(":jqmData(role='header')").prepend(f).end().children(":first-child").addClass("ui-corner-top").end().children(":last-child").addClass("ui-corner-bottom");f.bind("click",function(){b.close()});c.bind("vclick submit",function(b){var b=
77
+ a(b.target).closest(b.type==="vclick"?"a":"form"),c;b.length&&!b.jqmData("transition")&&(c=a.mobile.urlHistory.getActive()||{},b.attr("data-"+a.mobile.ns+"transition",c.transition||a.mobile.defaultDialogTransition).attr("data-"+a.mobile.ns+"direction","reverse"))}).bind("pagehide",function(){a(this).find("."+a.mobile.activeBtnClass).removeClass(a.mobile.activeBtnClass)}).bind("pagebeforeshow",function(){b.options.overlayTheme&&b.element.page("removeContainerBackground").page("setContainerBackground",
78
+ b.options.overlayTheme)})},close:function(){c.history.back()}});a(k).delegate(a.mobile.dialog.prototype.options.initSelector,"pagecreate",function(){a.mobile.dialog.prototype.enhance(this)})})(jQuery,this);(function(a){a.fn.fieldcontain=function(){return this.addClass("ui-field-contain ui-body ui-br")};a(k).bind("pagecreate create",function(c){a(":jqmData(role='fieldcontain')",c.target).jqmEnhanceable().fieldcontain()})})(jQuery);(function(a){a.fn.grid=function(c){return this.each(function(){var b=
79
+ a(this),e=a.extend({grid:null},c),f=b.children(),d={solo:1,a:2,b:3,c:4,d:5},e=e.grid;if(!e)if(f.length<=5)for(var g in d)d[g]===f.length&&(e=g);else e="a";d=d[e];b.addClass("ui-grid-"+e);f.filter(":nth-child("+d+"n+1)").addClass("ui-block-a");d>1&&f.filter(":nth-child("+d+"n+2)").addClass("ui-block-b");d>2&&f.filter(":nth-child(3n+3)").addClass("ui-block-c");d>3&&f.filter(":nth-child(4n+4)").addClass("ui-block-d");d>4&&f.filter(":nth-child(5n+5)").addClass("ui-block-e")})}})(jQuery);(function(a){a(k).bind("pagecreate create",
80
+ function(c){a(":jqmData(role='nojs')",c.target).addClass("ui-nojs")})})(jQuery);(function(a,c){function b(a){for(var b;a;){if((b=typeof a.className==="string"&&a.className+" ")&&b.indexOf("ui-btn ")>-1&&b.indexOf("ui-disabled ")<0)break;a=a.parentNode}return a}a.fn.buttonMarkup=function(b){for(var b=b&&a.type(b)=="object"?b:{},d=0;d<this.length;d++){var g=this.eq(d),h=g[0],j=a.extend({},a.fn.buttonMarkup.defaults,{icon:b.icon!==c?b.icon:g.jqmData("icon"),iconpos:b.iconpos!==c?b.iconpos:g.jqmData("iconpos"),
81
+ theme:b.theme!==c?b.theme:g.jqmData("theme")||a.mobile.getInheritedTheme(g,"c"),inline:b.inline!==c?b.inline:g.jqmData("inline"),shadow:b.shadow!==c?b.shadow:g.jqmData("shadow"),corners:b.corners!==c?b.corners:g.jqmData("corners"),iconshadow:b.iconshadow!==c?b.iconshadow:g.jqmData("iconshadow"),mini:b.mini!==c?b.mini:g.jqmData("mini")},b),o="ui-btn-inner",m,p,l,r,n,q;a.each(j,function(b,c){h.setAttribute("data-"+a.mobile.ns+b,c);g.jqmData(b,c)});(q=a.data(h.tagName==="INPUT"||h.tagName==="BUTTON"?
82
+ h.parentNode:h,"buttonElements"))?(h=q.outer,g=a(h),l=q.inner,r=q.text,a(q.icon).remove(),q.icon=null):(l=k.createElement(j.wrapperEls),r=k.createElement(j.wrapperEls));n=j.icon?k.createElement("span"):null;e&&!q&&e();if(!j.theme)j.theme=a.mobile.getInheritedTheme(g,"c");m="ui-btn ui-btn-up-"+j.theme;m+=j.inline?" ui-btn-inline":"";m+=j.shadow?" ui-shadow":"";m+=j.corners?" ui-btn-corner-all":"";j.mini!==c&&(m+=j.mini?" ui-mini":" ui-fullsize");j.inline!==c&&(m+=j.inline===false?" ui-btn-block":" ui-btn-inline");
83
+ if(j.icon)j.icon="ui-icon-"+j.icon,j.iconpos=j.iconpos||"left",p="ui-icon "+j.icon,j.iconshadow&&(p+=" ui-icon-shadow");j.iconpos&&(m+=" ui-btn-icon-"+j.iconpos,j.iconpos=="notext"&&!g.attr("title")&&g.attr("title",g.getEncodedText()));o+=j.corners?" ui-btn-corner-all":"";j.iconpos&&j.iconpos==="notext"&&!g.attr("title")&&g.attr("title",g.getEncodedText());q&&g.removeClass(q.bcls||"");g.removeClass("ui-link").addClass(m);l.className=o;r.className="ui-btn-text";q||l.appendChild(r);if(n&&(n.className=
84
+ p,!q||!q.icon))n.appendChild(k.createTextNode("\u00a0")),l.appendChild(n);for(;h.firstChild&&!q;)r.appendChild(h.firstChild);q||h.appendChild(l);q={bcls:m,outer:h,inner:l,text:r,icon:n};a.data(h,"buttonElements",q);a.data(l,"buttonElements",q);a.data(r,"buttonElements",q);n&&a.data(n,"buttonElements",q)}return this};a.fn.buttonMarkup.defaults={corners:true,shadow:true,iconshadow:true,wrapperEls:"span"};var e=function(){var c=a.mobile.buttonMarkup.hoverDelay,d,g;a(k).bind({"vmousedown vmousecancel vmouseup vmouseover vmouseout focus blur scrollstart":function(e){var j,
85
+ k=a(b(e.target)),e=e.type;if(k.length)if(j=k.attr("data-"+a.mobile.ns+"theme"),e==="vmousedown")a.support.touch?d=setTimeout(function(){k.removeClass("ui-btn-up-"+j).addClass("ui-btn-down-"+j)},c):k.removeClass("ui-btn-up-"+j).addClass("ui-btn-down-"+j);else if(e==="vmousecancel"||e==="vmouseup")k.removeClass("ui-btn-down-"+j).addClass("ui-btn-up-"+j);else if(e==="vmouseover"||e==="focus")a.support.touch?g=setTimeout(function(){k.removeClass("ui-btn-up-"+j).addClass("ui-btn-hover-"+j)},c):k.removeClass("ui-btn-up-"+
86
+ j).addClass("ui-btn-hover-"+j);else if(e==="vmouseout"||e==="blur"||e==="scrollstart")k.removeClass("ui-btn-hover-"+j+" ui-btn-down-"+j).addClass("ui-btn-up-"+j),d&&clearTimeout(d),g&&clearTimeout(g)},"focusin focus":function(c){a(b(c.target)).addClass(a.mobile.focusClass)},"focusout blur":function(c){a(b(c.target)).removeClass(a.mobile.focusClass)}});e=null};a(k).bind("pagecreate create",function(b){a(":jqmData(role='button'), .ui-bar > a, .ui-header > a, .ui-footer > a, .ui-bar > :jqmData(role='controlgroup') > a",
87
+ b.target).not(".ui-btn, :jqmData(role='none'), :jqmData(role='nojs')").buttonMarkup()})})(jQuery);(function(a){a.mobile.page.prototype.options.backBtnText="Back";a.mobile.page.prototype.options.addBackBtn=false;a.mobile.page.prototype.options.backBtnTheme=null;a.mobile.page.prototype.options.headerTheme="a";a.mobile.page.prototype.options.footerTheme="a";a.mobile.page.prototype.options.contentTheme=null;a(k).delegate(":jqmData(role='page'), :jqmData(role='dialog')","pagecreate",function(){var c=a(this),
88
+ b=c.data("page").options,e=c.jqmData("role"),f=b.theme;a(":jqmData(role='header'), :jqmData(role='footer'), :jqmData(role='content')",this).jqmEnhanceable().each(function(){var d=a(this),g=d.jqmData("role"),h=d.jqmData("theme"),j=h||b.contentTheme||e==="dialog"&&f,k;d.addClass("ui-"+g);if(g==="header"||g==="footer"){var m=h||(g==="header"?b.headerTheme:b.footerTheme)||f;d.addClass("ui-bar-"+m).attr("role",g==="header"?"banner":"contentinfo");g==="header"&&(h=d.children("a"),k=h.hasClass("ui-btn-left"),
89
+ j=h.hasClass("ui-btn-right"),k=k||h.eq(0).not(".ui-btn-right").addClass("ui-btn-left").length,j||h.eq(1).addClass("ui-btn-right"));b.addBackBtn&&g==="header"&&a(".ui-page").length>1&&c.jqmData("url")!==a.mobile.path.stripHash(location.hash)&&!k&&a("<a href='#' class='ui-btn-left' data-"+a.mobile.ns+"rel='back' data-"+a.mobile.ns+"icon='arrow-l'>"+b.backBtnText+"</a>").attr("data-"+a.mobile.ns+"theme",b.backBtnTheme||m).prependTo(d);d.children("h1, h2, h3, h4, h5, h6").addClass("ui-title").attr({role:"heading",
90
+ "aria-level":"1"})}else g==="content"&&(j&&d.addClass("ui-body-"+j),d.attr("role","main"))})})})(jQuery);(function(a){a.widget("mobile.collapsible",a.mobile.widget,{options:{expandCueText:" click to expand contents",collapseCueText:" click to collapse contents",collapsed:true,heading:"h1,h2,h3,h4,h5,h6,legend",theme:null,contentTheme:null,iconTheme:"d",mini:false,initSelector:":jqmData(role='collapsible')"},_create:function(){var c=this.element,b=this.options,e=c.addClass("ui-collapsible"),f=c.children(b.heading).first(),
91
+ d=e.wrapInner("<div class='ui-collapsible-content'></div>").find(".ui-collapsible-content"),g=c.closest(":jqmData(role='collapsible-set')").addClass("ui-collapsible-set");f.is("legend")&&(f=a("<div role='heading'>"+f.html()+"</div>").insertBefore(f),f.next().remove());if(g.length){if(!b.theme)b.theme=g.jqmData("theme")||a.mobile.getInheritedTheme(g,"c");if(!b.contentTheme)b.contentTheme=g.jqmData("content-theme");if(!b.iconPos)b.iconPos=g.jqmData("iconpos");if(!b.mini)b.mini=g.jqmData("mini")}d.addClass(b.contentTheme?
92
+ "ui-body-"+b.contentTheme:"");f.insertBefore(d).addClass("ui-collapsible-heading").append("<span class='ui-collapsible-heading-status'></span>").wrapInner("<a href='#' class='ui-collapsible-heading-toggle'></a>").find("a").first().buttonMarkup({shadow:false,corners:false,iconpos:c.jqmData("iconpos")||b.iconPos||"left",icon:"plus",mini:b.mini,theme:b.theme}).add(".ui-btn-inner",c).addClass("ui-corner-top ui-corner-bottom");e.bind("expand collapse",function(c){if(!c.isDefaultPrevented()){c.preventDefault();
93
+ var j=a(this),c=c.type==="collapse",k=b.contentTheme;f.toggleClass("ui-collapsible-heading-collapsed",c).find(".ui-collapsible-heading-status").text(c?b.expandCueText:b.collapseCueText).end().find(".ui-icon").toggleClass("ui-icon-minus",!c).toggleClass("ui-icon-plus",c);j.toggleClass("ui-collapsible-collapsed",c);d.toggleClass("ui-collapsible-content-collapsed",c).attr("aria-hidden",c);if(k&&(!g.length||e.jqmData("collapsible-last")))f.find("a").first().add(f.find(".ui-btn-inner")).toggleClass("ui-corner-bottom",
94
+ c),d.toggleClass("ui-corner-bottom",!c);d.trigger("updatelayout")}}).trigger(b.collapsed?"collapse":"expand");f.bind("click",function(a){var b=f.is(".ui-collapsible-heading-collapsed")?"expand":"collapse";e.trigger(b);a.preventDefault()})}});a(k).bind("pagecreate create",function(c){a.mobile.collapsible.prototype.enhanceWithin(c.target)})})(jQuery);(function(a,c){a.widget("mobile.collapsibleset",a.mobile.widget,{options:{initSelector:":jqmData(role='collapsible-set')"},_create:function(){var b=this.element.addClass("ui-collapsible-set"),
95
+ e=this.options;if(!e.theme)e.theme=a.mobile.getInheritedTheme(b,"c");if(!e.contentTheme)e.contentTheme=b.jqmData("content-theme");if(!e.corners)e.corners=b.jqmData("corners")===c?true:false;b.jqmData("collapsiblebound")||b.jqmData("collapsiblebound",true).bind("expand collapse",function(b){var c=b.type==="collapse",b=a(b.target).closest(".ui-collapsible"),e=b.data("collapsible");e.options.contentTheme&&b.jqmData("collapsible-last")&&(b.find(e.options.heading).first().find("a").first().add(".ui-btn-inner").toggleClass("ui-corner-bottom",
96
+ c),b.find(".ui-collapsible-content").toggleClass("ui-corner-bottom",!c))}).bind("expand",function(b){a(b.target).closest(".ui-collapsible").siblings(".ui-collapsible").trigger("collapse")})},_init:function(){this.refresh()},refresh:function(){var b=this.options,c=this.element.children(":jqmData(role='collapsible')");a.mobile.collapsible.prototype.enhance(c.not(".ui-collapsible"));c.each(function(){a(this).find(a.mobile.collapsible.prototype.options.heading).find("a").first().add(".ui-btn-inner").removeClass("ui-corner-top ui-corner-bottom")});
97
+ c.first().find("a").first().addClass(b.corners?"ui-corner-top":"").find(".ui-btn-inner").addClass("ui-corner-top");c.last().jqmData("collapsible-last",true).find("a").first().addClass(b.corners?"ui-corner-bottom":"").find(".ui-btn-inner").addClass("ui-corner-bottom")}});a(k).bind("pagecreate create",function(b){a.mobile.collapsibleset.prototype.enhanceWithin(b.target)})})(jQuery);(function(a,c){a.widget("mobile.navbar",a.mobile.widget,{options:{iconpos:"top",grid:null,initSelector:":jqmData(role='navbar')"},
98
+ _create:function(){var b=this.element,e=b.find("a"),f=e.filter(":jqmData(icon)").length?this.options.iconpos:c;b.addClass("ui-navbar").attr("role","navigation").find("ul").jqmEnhanceable().grid({grid:this.options.grid});f||b.addClass("ui-navbar-noicons");e.buttonMarkup({corners:false,shadow:false,inline:true,iconpos:f});b.delegate("a","vclick",function(b){a(b.target).hasClass("ui-disabled")||(e.removeClass(a.mobile.activeBtnClass),a(this).addClass(a.mobile.activeBtnClass))});b.closest(".ui-page").bind("pagebeforeshow",
99
+ function(){e.filter(".ui-state-persist").addClass(a.mobile.activeBtnClass)})}});a(k).bind("pagecreate create",function(b){a.mobile.navbar.prototype.enhanceWithin(b.target)})})(jQuery);(function(a){var c={};a.widget("mobile.listview",a.mobile.widget,{options:{theme:null,countTheme:"c",headerTheme:"b",dividerTheme:"b",splitIcon:"arrow-r",splitTheme:"b",mini:false,inset:false,initSelector:":jqmData(role='listview')"},_create:function(){var a="";a+=this.options.inset?" ui-listview-inset ui-corner-all ui-shadow ":
100
+ "";a+=this.element.jqmData("mini")||this.options.mini===true?" ui-mini":"";this.element.addClass(function(c,f){return f+" ui-listview "+a});this.refresh(true)},_removeCorners:function(a,c){a=a.add(a.find(".ui-btn-inner, .ui-li-link-alt, .ui-li-thumb"));c==="top"?a.removeClass("ui-corner-top ui-corner-tr ui-corner-tl"):c==="bottom"?a.removeClass("ui-corner-bottom ui-corner-br ui-corner-bl"):a.removeClass("ui-corner-top ui-corner-tr ui-corner-tl ui-corner-bottom ui-corner-br ui-corner-bl")},_refreshCorners:function(a){var c,
101
+ f;this.options.inset&&(c=this.element.children("li"),f=a?c.not(".ui-screen-hidden"):c.filter(":visible"),this._removeCorners(c),c=f.first().addClass("ui-corner-top"),c.add(c.find(".ui-btn-inner").not(".ui-li-link-alt span:first-child")).addClass("ui-corner-top").end().find(".ui-li-link-alt, .ui-li-link-alt span:first-child").addClass("ui-corner-tr").end().find(".ui-li-thumb").not(".ui-li-icon").addClass("ui-corner-tl"),f=f.last().addClass("ui-corner-bottom"),f.add(f.find(".ui-btn-inner")).find(".ui-li-link-alt").addClass("ui-corner-br").end().find(".ui-li-thumb").not(".ui-li-icon").addClass("ui-corner-bl"));
102
+ a||this.element.trigger("updatelayout")},_findFirstElementByTagName:function(a,c,f,d){var g={};for(g[f]=g[d]=true;a;){if(g[a.nodeName])return a;a=a[c]}return null},_getChildrenByTagName:function(b,c,f){var d=[],g={};g[c]=g[f]=true;for(b=b.firstChild;b;)g[b.nodeName]&&d.push(b),b=b.nextSibling;return a(d)},_addThumbClasses:function(b){var c,f,d=b.length;for(c=0;c<d;c++)f=a(this._findFirstElementByTagName(b[c].firstChild,"nextSibling","img","IMG")),f.length&&(f.addClass("ui-li-thumb"),a(this._findFirstElementByTagName(f[0].parentNode,
103
+ "parentNode","li","LI")).addClass(f.is(".ui-li-icon")?"ui-li-has-icon":"ui-li-has-thumb"))},refresh:function(b){this.parentPage=this.element.closest(".ui-page");this._createSubPages();var c=this.options,f=this.element,d=f.jqmData("dividertheme")||c.dividerTheme,g=f.jqmData("splittheme"),h=f.jqmData("spliticon"),j=this._getChildrenByTagName(f[0],"li","LI"),o=a.support.cssPseudoElement||!a.nodeName(f[0],"ol")?0:1,m={},p,l,r,n,q,t,x;o&&f.find(".ui-li-dec").remove();if(!c.theme)c.theme=a.mobile.getInheritedTheme(this.element,
104
+ "c");for(var u=0,w=j.length;u<w;u++){p=j.eq(u);l="ui-li";if(b||!p.hasClass("ui-li"))r=p.jqmData("theme")||c.theme,n=this._getChildrenByTagName(p[0],"a","A"),n.length?(t=p.jqmData("icon"),p.buttonMarkup({wrapperEls:"div",shadow:false,corners:false,iconpos:"right",icon:n.length>1||t===false?false:t||"arrow-r",theme:r}),t!=false&&n.length==1&&p.addClass("ui-li-has-arrow"),n.first().removeClass("ui-link").addClass("ui-link-inherit"),n.length>1&&(l+=" ui-li-has-alt",n=n.last(),q=g||n.jqmData("theme")||
105
+ c.splitTheme,x=n.jqmData("icon"),n.appendTo(p).attr("title",n.getEncodedText()).addClass("ui-li-link-alt").empty().buttonMarkup({shadow:false,corners:false,theme:r,icon:false,iconpos:false}).find(".ui-btn-inner").append(a(k.createElement("span")).buttonMarkup({shadow:true,corners:true,theme:q,iconpos:"notext",icon:x||t||h||c.splitIcon})))):p.jqmData("role")==="list-divider"?(l+=" ui-li-divider ui-bar-"+d,p.attr("role","heading"),o&&(o=1)):l+=" ui-li-static ui-body-"+r;o&&l.indexOf("ui-li-divider")<
106
+ 0&&(r=p.is(".ui-li-static:first")?p:p.find(".ui-link-inherit"),r.addClass("ui-li-jsnumbering").prepend("<span class='ui-li-dec'>"+o++ +". </span>"));m[l]||(m[l]=[]);m[l].push(p[0])}for(l in m)a(m[l]).addClass(l).children(".ui-btn-inner").addClass(l);f.find("h1, h2, h3, h4, h5, h6").addClass("ui-li-heading").end().find("p, dl").addClass("ui-li-desc").end().find(".ui-li-aside").each(function(){var b=a(this);b.prependTo(b.parent())}).end().find(".ui-li-count").each(function(){a(this).closest("li").addClass("ui-li-has-count")}).addClass("ui-btn-up-"+
107
+ (f.jqmData("counttheme")||this.options.countTheme)+" ui-btn-corner-all");this._addThumbClasses(j);this._addThumbClasses(f.find(".ui-link-inherit"));this._refreshCorners(b)},_idStringEscape:function(a){return a.replace(/[^a-zA-Z0-9]/g,"-")},_createSubPages:function(){var b=this.element,e=b.closest(".ui-page"),f=e.jqmData("url"),d=f||e[0][a.expando],g=b.attr("id"),h=this.options,j="data-"+a.mobile.ns,k=this,m=e.find(":jqmData(role='footer')").jqmData("id"),p;typeof c[d]==="undefined"&&(c[d]=-1);g=g||
108
+ ++c[d];a(b.find("li>ul, li>ol").toArray().reverse()).each(function(c){var d=a(this),e=d.attr("id")||g+"-"+c,c=d.parent(),k=a(d.prevAll().toArray().reverse()),k=k.length?k:a("<span>"+a.trim(c.contents()[0].nodeValue)+"</span>"),o=k.first().getEncodedText(),e=(f||"")+"&"+a.mobile.subPageUrlKey+"="+e,x=d.jqmData("theme")||h.theme,u=d.jqmData("counttheme")||b.jqmData("counttheme")||h.countTheme;p=true;d.detach().wrap("<div "+j+"role='page' "+j+"url='"+e+"' "+j+"theme='"+x+"' "+j+"count-theme='"+u+"'><div "+
109
+ j+"role='content'></div></div>").parent().before("<div "+j+"role='header' "+j+"theme='"+h.headerTheme+"'><div class='ui-title'>"+o+"</div></div>").after(m?a("<div "+j+"role='footer' "+j+"id='"+m+"'>"):"").parent().appendTo(a.mobile.pageContainer).page();d=c.find("a:first");d.length||(d=a("<a/>").html(k||o).prependTo(c.empty()));d.attr("href","#"+e)}).listview();p&&e.is(":jqmData(external-page='true')")&&e.data("page").options.domCache===false&&e.unbind("pagehide.remove").bind("pagehide.remove",function(b,
110
+ c){var d=c.nextPage;c.nextPage&&(d=d.jqmData("url"),d.indexOf(f+"&"+a.mobile.subPageUrlKey)!==0&&(k.childPages().remove(),e.remove()))})},childPages:function(){var b=this.parentPage.jqmData("url");return a(":jqmData(url^='"+b+"&"+a.mobile.subPageUrlKey+"')")}});a(k).bind("pagecreate create",function(b){a.mobile.listview.prototype.enhanceWithin(b.target)})})(jQuery);(function(a,c){a.widget("mobile.checkboxradio",a.mobile.widget,{options:{theme:null,initSelector:"input[type='checkbox'],input[type='radio']"},
111
+ _create:function(){var b=this,e=this.element,f=a(e).closest("label"),d=f.length?f:a(e).closest("form,fieldset,:jqmData(role='page'),:jqmData(role='dialog')").find("label").filter("[for='"+e[0].id+"']"),g=e[0].type,f=e.jqmData("mini")||e.closest("form,fieldset").jqmData("mini"),h=g+"-on",j=g+"-off",o=e.parents(":jqmData(type='horizontal')").length?c:j,m=e.jqmData("iconpos")||e.closest("form,fieldset").jqmData("iconpos");if(!(g!=="checkbox"&&g!=="radio")){a.extend(this,{label:d,inputtype:g,checkedClass:"ui-"+
112
+ h+(o?"":" "+a.mobile.activeBtnClass),uncheckedClass:"ui-"+j,checkedicon:"ui-icon-"+h,uncheckedicon:"ui-icon-"+j});if(!this.options.theme)this.options.theme=a.mobile.getInheritedTheme(this.element,"c");d.buttonMarkup({theme:this.options.theme,icon:o,shadow:false,mini:f,iconpos:m});f=k.createElement("div");f.className="ui-"+g;e.add(d).wrapAll(f);d.bind({vmouseover:function(b){a(this).parent().is(".ui-disabled")&&b.stopPropagation()},vclick:function(a){if(e.is(":disabled"))a.preventDefault();else return b._cacheVals(),
113
+ e.prop("checked",g==="radio"&&true||!e.prop("checked")),e.triggerHandler("click"),b._getInputSet().not(e).prop("checked",false),b._updateAll(),false}});e.bind({vmousedown:function(){b._cacheVals()},vclick:function(){var c=a(this);c.is(":checked")?(c.prop("checked",true),b._getInputSet().not(c).prop("checked",false)):c.prop("checked",false);b._updateAll()},focus:function(){d.addClass(a.mobile.focusClass)},blur:function(){d.removeClass(a.mobile.focusClass)}});this.refresh()}},_cacheVals:function(){this._getInputSet().each(function(){a(this).jqmData("cacheVal",
114
+ this.checked)})},_getInputSet:function(){return this.inputtype==="checkbox"?this.element:this.element.closest("form,fieldset,:jqmData(role='page')").find("input[name='"+this.element[0].name+"'][type='"+this.inputtype+"']")},_updateAll:function(){var b=this;this._getInputSet().each(function(){var c=a(this);(this.checked||b.inputtype==="checkbox")&&c.trigger("change")}).checkboxradio("refresh")},refresh:function(){var a=this.element[0],c=this.label,f=c.find(".ui-icon");a.checked?(c.addClass(this.checkedClass).removeClass(this.uncheckedClass),
115
+ f.addClass(this.checkedicon).removeClass(this.uncheckedicon)):(c.removeClass(this.checkedClass).addClass(this.uncheckedClass),f.removeClass(this.checkedicon).addClass(this.uncheckedicon));a.disabled?this.disable():this.enable()},disable:function(){this.element.prop("disabled",true).parent().addClass("ui-disabled")},enable:function(){this.element.prop("disabled",false).parent().removeClass("ui-disabled")}});a(k).bind("pagecreate create",function(b){a.mobile.checkboxradio.prototype.enhanceWithin(b.target,
116
+ true)})})(jQuery);(function(a,c){a.widget("mobile.button",a.mobile.widget,{options:{theme:null,icon:null,iconpos:null,inline:false,corners:true,shadow:true,iconshadow:true,initSelector:"button, [type='button'], [type='submit'], [type='reset'], [type='image']",mini:false},_create:function(){var b=this.element,e,f=this.options,d;d="";var g;if(b[0].tagName==="A")!b.hasClass("ui-btn")&&b.buttonMarkup();else{if(!this.options.theme)this.options.theme=a.mobile.getInheritedTheme(this.element,"c");~b[0].className.indexOf("ui-btn-left")&&
117
+ (d="ui-btn-left");~b[0].className.indexOf("ui-btn-right")&&(d="ui-btn-right");e=this.button=a("<div></div>").text(b.text()||b.val()).insertBefore(b).buttonMarkup({theme:f.theme,icon:f.icon,iconpos:f.iconpos,inline:f.inline,corners:f.corners,shadow:f.shadow,iconshadow:f.iconshadow,mini:f.mini}).addClass(d).append(b.addClass("ui-btn-hidden"));f=b.attr("type");d=b.attr("name");f!=="button"&&f!=="reset"&&d&&b.bind("vclick",function(){g===c&&(g=a("<input>",{type:"hidden",name:b.attr("name"),value:b.attr("value")}).insertBefore(b),
118
+ a(k).one("submit",function(){g.remove();g=c}))});b.bind({focus:function(){e.addClass(a.mobile.focusClass)},blur:function(){e.removeClass(a.mobile.focusClass)}});this.refresh()}},enable:function(){this.element.attr("disabled",false);this.button.removeClass("ui-disabled").attr("aria-disabled",false);return this._setOption("disabled",false)},disable:function(){this.element.attr("disabled",true);this.button.addClass("ui-disabled").attr("aria-disabled",true);return this._setOption("disabled",true)},refresh:function(){var b=
119
+ this.element;b.prop("disabled")?this.disable():this.enable();a(this.button.data("buttonElements").text).text(b.text()||b.val())}});a(k).bind("pagecreate create",function(b){a.mobile.button.prototype.enhanceWithin(b.target,true)})})(jQuery);(function(a){a.fn.controlgroup=function(c){function b(a,b){a.removeClass("ui-btn-corner-all ui-shadow").eq(0).addClass(b[0]).end().last().addClass(b[1]).addClass("ui-controlgroup-last")}return this.each(function(){var e=a(this),f=a.extend({direction:e.jqmData("type")||
120
+ "vertical",shadow:false,excludeInvisible:true,mini:e.jqmData("mini")},c),d=e.children("legend"),g=f.direction=="horizontal"?["ui-corner-left","ui-corner-right"]:["ui-corner-top","ui-corner-bottom"];e.find("input").first().attr("type");d.length&&(e.wrapInner("<div class='ui-controlgroup-controls'></div>"),a("<div role='heading' class='ui-controlgroup-label'>"+d.html()+"</div>").insertBefore(e.children(0)),d.remove());e.addClass("ui-corner-all ui-controlgroup ui-controlgroup-"+f.direction);b(e.find(".ui-btn"+
121
+ (f.excludeInvisible?":visible":"")).not(".ui-slider-handle"),g);b(e.find(".ui-btn-inner"),g);f.shadow&&e.addClass("ui-shadow");f.mini&&e.addClass("ui-mini")})}})(jQuery);(function(a){a(k).bind("pagecreate create",function(c){a(c.target).find("a").jqmEnhanceable().not(".ui-btn, .ui-link-inherit, :jqmData(role='none'), :jqmData(role='nojs')").addClass("ui-link")})})(jQuery);(function(a){var c=a("meta[name=viewport]"),b=c.attr("content"),e=b+",maximum-scale=1, user-scalable=no",f=b+",maximum-scale=10, user-scalable=yes",
122
+ d=/(user-scalable[\s]*=[\s]*no)|(maximum-scale[\s]*=[\s]*1)[$,\s]/.test(b);a.mobile.zoom=a.extend({},{enabled:!d,locked:false,disable:function(b){if(!d&&!a.mobile.zoom.locked)c.attr("content",e),a.mobile.zoom.enabled=false,a.mobile.zoom.locked=b||false},enable:function(b){if(!d&&(!a.mobile.zoom.locked||b===true))c.attr("content",f),a.mobile.zoom.enabled=true,a.mobile.zoom.locked=false},restore:function(){if(!d)c.attr("content",b),a.mobile.zoom.enabled=true}})})(jQuery);(function(a){a.widget("mobile.textinput",
123
+ a.mobile.widget,{options:{theme:null,preventFocusZoom:/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>-1,initSelector:"input[type='text'], input[type='search'], :jqmData(type='search'), input[type='number'], :jqmData(type='number'), input[type='password'], input[type='email'], input[type='url'], input[type='tel'], textarea, input[type='time'], input[type='date'], input[type='month'], input[type='week'], input[type='datetime'], input[type='datetime-local'], input[type='color'], input:not([type])",
124
+ clearSearchButtonText:"clear text"},_create:function(){var c=this.element,b=this.options,e=b.theme||a.mobile.getInheritedTheme(this.element,"c"),f=" ui-body-"+e,d=c.jqmData("mini")==true,g=d?" ui-mini":"",h,j;a("label[for='"+c.attr("id")+"']").addClass("ui-input-text");h=c.addClass("ui-input-text ui-body-"+e);typeof c[0].autocorrect!=="undefined"&&!a.support.touchOverflow&&(c[0].setAttribute("autocorrect","off"),c[0].setAttribute("autocomplete","off"));c.is("[type='search'],:jqmData(type='search')")?
125
+ (h=c.wrap("<div class='ui-input-search ui-shadow-inset ui-btn-corner-all ui-btn-shadow ui-icon-searchfield"+f+g+"'></div>").parent(),j=a("<a href='#' class='ui-input-clear' title='"+b.clearSearchButtonText+"'>"+b.clearSearchButtonText+"</a>").bind("click",function(a){c.val("").focus().trigger("change");j.addClass("ui-input-clear-hidden");a.preventDefault()}).appendTo(h).buttonMarkup({icon:"delete",iconpos:"notext",corners:true,shadow:true,mini:d}),e=function(){setTimeout(function(){j.toggleClass("ui-input-clear-hidden",
126
+ !c.val())},0)},e(),c.bind("paste cut keyup focus change blur",e)):c.addClass("ui-corner-all ui-shadow-inset"+f+g);c.focus(function(){h.addClass(a.mobile.focusClass)}).blur(function(){h.removeClass(a.mobile.focusClass)}).bind("focus",function(){b.preventFocusZoom&&a.mobile.zoom.disable(true)}).bind("blur",function(){b.preventFocusZoom&&a.mobile.zoom.enable(true)});if(c.is("textarea")){var o=function(){var a=c[0].scrollHeight;c[0].clientHeight<a&&c.height(a+15)},m;c.keyup(function(){clearTimeout(m);
127
+ m=setTimeout(o,100)});a(k).one("pagechange",o);a.trim(c.val())&&a(s).load(o)}},disable:function(){(this.element.attr("disabled",true).is("[type='search'],:jqmData(type='search')")?this.element.parent():this.element).addClass("ui-disabled")},enable:function(){(this.element.attr("disabled",false).is("[type='search'],:jqmData(type='search')")?this.element.parent():this.element).removeClass("ui-disabled")}});a(k).bind("pagecreate create",function(c){a.mobile.textinput.prototype.enhanceWithin(c.target,
128
+ true)})})(jQuery);(function(a){a.mobile.listview.prototype.options.filter=false;a.mobile.listview.prototype.options.filterPlaceholder="Filter items...";a.mobile.listview.prototype.options.filterTheme="c";a.mobile.listview.prototype.options.filterCallback=function(a,b){return a.toLowerCase().indexOf(b)===-1};a(k).delegate(":jqmData(role='listview')","listviewcreate",function(){var c=a(this),b=c.data("listview");if(b.options.filter){var e=a("<form>",{"class":"ui-listview-filter ui-bar-"+b.options.filterTheme,
129
+ role:"search"});a("<input>",{placeholder:b.options.filterPlaceholder}).attr("data-"+a.mobile.ns+"type","search").jqmData("lastval","").bind("keyup change",function(){var e=a(this),d=this.value.toLowerCase(),g=null,g=e.jqmData("lastval")+"",h=false,j="";e.jqmData("lastval",d);g=d.length<g.length||d.indexOf(g)!==0?c.children():c.children(":not(.ui-screen-hidden)");if(d){for(var k=g.length-1;k>=0;k--)e=a(g[k]),j=e.jqmData("filtertext")||e.text(),e.is("li:jqmData(role=list-divider)")?(e.toggleClass("ui-filter-hidequeue",
130
+ !h),h=false):b.options.filterCallback(j,d)?e.toggleClass("ui-filter-hidequeue",true):h=true;g.filter(":not(.ui-filter-hidequeue)").toggleClass("ui-screen-hidden",false);g.filter(".ui-filter-hidequeue").toggleClass("ui-screen-hidden",true).toggleClass("ui-filter-hidequeue",false)}else g.toggleClass("ui-screen-hidden",false);b._refreshCorners()}).appendTo(e).textinput();b.options.inset&&e.addClass("ui-listview-filter-inset");e.bind("submit",function(){return false}).insertBefore(c)}})})(jQuery);(function(a,
131
+ c){a.widget("mobile.slider",a.mobile.widget,{options:{theme:null,trackTheme:null,disabled:false,initSelector:"input[type='range'], :jqmData(type='range'), :jqmData(role='slider')",mini:false},_create:function(){var b=this,e=this.element,f=a.mobile.getInheritedTheme(e,"c"),d=this.options.theme||f,f=this.options.trackTheme||f,g=e[0].nodeName.toLowerCase(),h=g=="select"?"ui-slider-switch":"",j=e.attr("id"),o=j+"-label",j=a("[for='"+j+"']").attr("id",o),m=function(){return g=="input"?parseFloat(e.val()):
132
+ e[0].selectedIndex},p=g=="input"?parseFloat(e.attr("min")):0,l=g=="input"?parseFloat(e.attr("max")):e.find("option").length-1,r=s.parseFloat(e.attr("step")||1),n=this.options.inline||e.jqmData("inline")==true?" ui-slider-inline":"",q=this.options.mini||e.jqmData("mini")?" ui-slider-mini":"",t=k.createElement("a"),x=a(t),u=k.createElement("div"),w=a(u),v=e.jqmData("highlight")&&g!="select"?function(){var b=k.createElement("div");b.className="ui-slider-bg ui-btn-active ui-btn-corner-all";return a(b).prependTo(w)}():
133
+ false;t.setAttribute("href","#");u.setAttribute("role","application");u.className=["ui-slider ",h," ui-btn-down-",f," ui-btn-corner-all",n,q].join("");t.className="ui-slider-handle";u.appendChild(t);x.buttonMarkup({corners:true,theme:d,shadow:true}).attr({role:"slider","aria-valuemin":p,"aria-valuemax":l,"aria-valuenow":m(),"aria-valuetext":m(),title:m(),"aria-labelledby":o});a.extend(this,{slider:w,handle:x,valuebg:v,dragging:false,beforeStart:null,userModified:false,mouseMoved:false});if(g=="select"){d=
134
+ k.createElement("div");d.className="ui-slider-inneroffset";h=0;for(o=u.childNodes.length;h<o;h++)d.appendChild(u.childNodes[h]);u.appendChild(d);x.addClass("ui-slider-handle-snapping");u=e.find("option");d=0;for(h=u.length;d<h;d++)o=!d?"b":"a",n=!d?" ui-btn-down-"+f:" "+a.mobile.activeBtnClass,k.createElement("div"),q=k.createElement("span"),q.className=["ui-slider-label ui-slider-label-",o,n," ui-btn-corner-all"].join(""),q.setAttribute("role","img"),q.appendChild(k.createTextNode(u[d].innerHTML)),
135
+ a(q).prependTo(w);b._labels=a(".ui-slider-label",w)}j.addClass("ui-slider");e.addClass(g==="input"?"ui-slider-input":"ui-slider-switch").change(function(){b.mouseMoved||b.refresh(m(),true)}).keyup(function(){b.refresh(m(),true,true)}).blur(function(){b.refresh(m(),true)});a(k).bind("vmousemove",function(a){if(b.dragging)return b.mouseMoved=true,g==="select"&&x.removeClass("ui-slider-handle-snapping"),b.refresh(a),b.userModified=b.beforeStart!==e[0].selectedIndex,false});w.bind("vmousedown",function(a){b.dragging=
136
+ true;b.userModified=false;b.mouseMoved=false;if(g==="select")b.beforeStart=e[0].selectedIndex;b.refresh(a);return false}).bind("vclick",false);w.add(k).bind("vmouseup",function(){if(b.dragging)return b.dragging=false,g==="select"&&(x.addClass("ui-slider-handle-snapping"),b.mouseMoved?b.userModified?b.refresh(b.beforeStart==0?1:0):b.refresh(b.beforeStart):b.refresh(b.beforeStart==0?1:0)),b.mouseMoved=false});w.insertAfter(e);g=="select"&&this.handle.bind({focus:function(){w.addClass(a.mobile.focusClass)},
137
+ blur:function(){w.removeClass(a.mobile.focusClass)}});this.handle.bind({vmousedown:function(){a(this).focus()},vclick:false,keydown:function(c){var d=m();if(!b.options.disabled){switch(c.keyCode){case a.mobile.keyCode.HOME:case a.mobile.keyCode.END:case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:if(c.preventDefault(),!b._keySliding)b._keySliding=true,a(this).addClass("ui-state-active")}switch(c.keyCode){case a.mobile.keyCode.HOME:b.refresh(p);
138
+ break;case a.mobile.keyCode.END:b.refresh(l);break;case a.mobile.keyCode.PAGE_UP:case a.mobile.keyCode.UP:case a.mobile.keyCode.RIGHT:b.refresh(d+r);break;case a.mobile.keyCode.PAGE_DOWN:case a.mobile.keyCode.DOWN:case a.mobile.keyCode.LEFT:b.refresh(d-r)}}},keyup:function(){if(b._keySliding)b._keySliding=false,a(this).removeClass("ui-state-active")}});this.refresh(c,c,true)},refresh:function(b,c,f){(this.options.disabled||this.element.attr("disabled"))&&this.disable();var d=this.element,g=d[0].nodeName.toLowerCase(),
139
+ h=g==="input"?parseFloat(d.attr("min")):0,j=g==="input"?parseFloat(d.attr("max")):d.find("option").length-1,k=g==="input"&&parseFloat(d.attr("step"))>0?parseFloat(d.attr("step")):1;if(typeof b==="object"){if(!this.dragging||b.pageX<this.slider.offset().left-8||b.pageX>this.slider.offset().left+this.slider.width()+8)return;b=Math.round((b.pageX-this.slider.offset().left)/this.slider.width()*100)}else b==null&&(b=g==="input"?parseFloat(d.val()||0):d[0].selectedIndex),b=(parseFloat(b)-h)/(j-h)*100;if(!isNaN(b)){b<
140
+ 0&&(b=0);b>100&&(b=100);var m=b/100*(j-h)+h,p=(m-h)%k;m-=p;Math.abs(p)*2>=k&&(m+=p>0?k:-k);m=parseFloat(m.toFixed(5));m<h&&(m=h);m>j&&(m=j);this.handle.css("left",b+"%");this.handle.attr({"aria-valuenow":g==="input"?m:d.find("option").eq(m).attr("value"),"aria-valuetext":g==="input"?m:d.find("option").eq(m).getEncodedText(),title:g==="input"?m:d.find("option").eq(m).getEncodedText()});this.valuebg&&this.valuebg.css("width",b+"%");if(this._labels){var h=this.handle.width()/this.slider.width()*100,
141
+ l=b&&h+(100-h)*b/100,r=b===100?0:Math.min(h+100-l,100);this._labels.each(function(){var b=a(this).is(".ui-slider-label-a");a(this).width((b?l:r)+"%")})}if(!f)f=false,g==="input"?(f=d.val()!==m,d.val(m)):(f=d[0].selectedIndex!==m,d[0].selectedIndex=m),!c&&f&&d.trigger("change")}},enable:function(){this.element.attr("disabled",false);this.slider.removeClass("ui-disabled").attr("aria-disabled",false);return this._setOption("disabled",false)},disable:function(){this.element.attr("disabled",true);this.slider.addClass("ui-disabled").attr("aria-disabled",
142
+ true);return this._setOption("disabled",true)}});a(k).bind("pagecreate create",function(b){a.mobile.slider.prototype.enhanceWithin(b.target,true)})})(jQuery);(function(a){a.widget("mobile.selectmenu",a.mobile.widget,{options:{theme:null,disabled:false,icon:"arrow-d",iconpos:"right",inline:false,corners:true,shadow:true,iconshadow:true,overlayTheme:"a",hidePlaceholderMenuItems:true,closeText:"Close",nativeMenu:true,preventFocusZoom:/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>
143
+ -1,initSelector:"select:not(:jqmData(role='slider'))",mini:false},_button:function(){return a("<div/>")},_setDisabled:function(a){this.element.attr("disabled",a);this.button.attr("aria-disabled",a);return this._setOption("disabled",a)},_focusButton:function(){var a=this;setTimeout(function(){a.button.focus()},40)},_selectOptions:function(){return this.select.find("option")},_preExtension:function(){var c="";~this.element[0].className.indexOf("ui-btn-left")&&(c=" ui-btn-left");~this.element[0].className.indexOf("ui-btn-right")&&
144
+ (c=" ui-btn-right");this.select=this.element.wrap("<div class='ui-select"+c+"'>");this.selectID=this.select.attr("id");this.label=a("label[for='"+this.selectID+"']").addClass("ui-select");this.isMultiple=this.select[0].multiple;if(!this.options.theme)this.options.theme=a.mobile.getInheritedTheme(this.select,"c")},_create:function(){this._preExtension();this._trigger("beforeCreate");this.button=this._button();var c=this,b=this.options,e=this.button.text(a(this.select[0].options.item(this.select[0].selectedIndex==
145
+ -1?0:this.select[0].selectedIndex)).text()).insertBefore(this.select).buttonMarkup({theme:b.theme,icon:b.icon,iconpos:b.iconpos,inline:b.inline,corners:b.corners,shadow:b.shadow,iconshadow:b.iconshadow,mini:b.mini});b.nativeMenu&&s.opera&&s.opera.version&&this.select.addClass("ui-select-nativeonly");if(this.isMultiple)this.buttonCount=a("<span>").addClass("ui-li-count ui-btn-up-c ui-btn-corner-all").hide().appendTo(e.addClass("ui-li-has-count"));(b.disabled||this.element.attr("disabled"))&&this.disable();
146
+ this.select.change(function(){c.refresh()});this.build()},build:function(){var c=this;this.select.appendTo(c.button).bind("vmousedown",function(){c.button.addClass(a.mobile.activeBtnClass)}).bind("focus",function(){c.button.addClass(a.mobile.focusClass)}).bind("blur",function(){c.button.removeClass(a.mobile.focusClass)}).bind("focus vmouseover",function(){c.button.trigger("vmouseover")}).bind("vmousemove",function(){c.button.removeClass(a.mobile.activeBtnClass)}).bind("change blur vmouseout",function(){c.button.trigger("vmouseout").removeClass(a.mobile.activeBtnClass)}).bind("change blur",
147
+ function(){c.button.removeClass("ui-btn-down-"+c.options.theme)});c.button.bind("vmousedown",function(){c.options.preventFocusZoom&&a.mobile.zoom.disable(true)}).bind("mouseup",function(){c.options.preventFocusZoom&&a.mobile.zoom.enable(true)})},selected:function(){return this._selectOptions().filter(":selected")},selectedIndices:function(){var a=this;return this.selected().map(function(){return a._selectOptions().index(this)}).get()},setButtonText:function(){var c=this,b=this.selected();this.button.find(".ui-btn-text").text(function(){return!c.isMultiple?
148
+ b.text():b.length?b.map(function(){return a(this).text()}).get().join(", "):c.placeholder})},setButtonCount:function(){var a=this.selected();this.isMultiple&&this.buttonCount[a.length>1?"show":"hide"]().text(a.length)},refresh:function(){this.setButtonText();this.setButtonCount()},open:a.noop,close:a.noop,disable:function(){this._setDisabled(true);this.button.addClass("ui-disabled")},enable:function(){this._setDisabled(false);this.button.removeClass("ui-disabled")}});a(k).bind("pagecreate create",
149
+ function(c){a.mobile.selectmenu.prototype.enhanceWithin(c.target,true)})})(jQuery);(function(a){var c=function(b){var c=b.selectID,f=b.label,d=b.select.closest(".ui-page"),g=a("<div>",{"class":"ui-selectmenu-screen ui-screen-hidden"}).appendTo(d),h=b._selectOptions(),j=b.isMultiple=b.select[0].multiple,o=c+"-button",m=c+"-menu",p=a("<div data-"+a.mobile.ns+"role='dialog' data-"+a.mobile.ns+"theme='"+b.options.theme+"' data-"+a.mobile.ns+"overlay-theme='"+b.options.overlayTheme+"'><div data-"+a.mobile.ns+
150
+ "role='header'><div class='ui-title'>"+f.getEncodedText()+"</div></div><div data-"+a.mobile.ns+"role='content'></div></div>"),l=a("<div>",{"class":"ui-selectmenu ui-selectmenu-hidden ui-overlay-shadow ui-corner-all ui-body-"+b.options.overlayTheme+" "+a.mobile.defaultDialogTransition}).insertAfter(g),r=a("<ul>",{"class":"ui-selectmenu-list",id:m,role:"listbox","aria-labelledby":o}).attr("data-"+a.mobile.ns+"theme",b.options.theme).appendTo(l),n=a("<div>",{"class":"ui-header ui-bar-"+b.options.theme}).prependTo(l),
151
+ q=a("<h1>",{"class":"ui-title"}).appendTo(n),t;b.isMultiple&&(t=a("<a>",{text:b.options.closeText,href:"#","class":"ui-btn-left"}).attr("data-"+a.mobile.ns+"iconpos","notext").attr("data-"+a.mobile.ns+"icon","delete").appendTo(n).buttonMarkup());a.extend(b,{select:b.select,selectID:c,buttonId:o,menuId:m,thisPage:d,menuPage:p,label:f,screen:g,selectOptions:h,isMultiple:j,theme:b.options.theme,listbox:l,list:r,header:n,headerTitle:q,headerClose:t,menuPageContent:void 0,menuPageClose:void 0,placeholder:"",
152
+ build:function(){var c=this;c.refresh();c.select.attr("tabindex","-1").focus(function(){a(this).blur();c.button.focus()});c.button.bind("vclick keydown",function(b){if(b.type=="vclick"||b.keyCode&&(b.keyCode===a.mobile.keyCode.ENTER||b.keyCode===a.mobile.keyCode.SPACE))c.open(),b.preventDefault()});c.list.attr("role","listbox").bind("focusin",function(b){a(b.target).attr("tabindex","0").trigger("vmouseover")}).bind("focusout",function(b){a(b.target).attr("tabindex","-1").trigger("vmouseout")}).delegate("li:not(.ui-disabled, .ui-li-divider)",
153
+ "click",function(b){var d=c.select[0].selectedIndex,e=c.list.find("li:not(.ui-li-divider)").index(this),f=c._selectOptions().eq(e)[0];f.selected=c.isMultiple?!f.selected:true;c.isMultiple&&a(this).find(".ui-icon").toggleClass("ui-icon-checkbox-on",f.selected).toggleClass("ui-icon-checkbox-off",!f.selected);(c.isMultiple||d!==e)&&c.select.trigger("change");c.isMultiple||c.close();b.preventDefault()}).keydown(function(c){var d=a(c.target),e=d.closest("li");switch(c.keyCode){case 38:return c=e.prev().not(".ui-selectmenu-placeholder"),
154
+ c.is(".ui-li-divider")&&(c=c.prev()),c.length&&(d.blur().attr("tabindex","-1"),c.addClass("ui-btn-down-"+b.options.theme).find("a").first().focus()),false;case 40:return c=e.next(),c.is(".ui-li-divider")&&(c=c.next()),c.length&&(d.blur().attr("tabindex","-1"),c.addClass("ui-btn-down-"+b.options.theme).find("a").first().focus()),false;case 13:case 32:return d.trigger("click"),false}});c.menuPage.bind("pagehide",function(){c.list.appendTo(c.listbox);c._focusButton();a.mobile._bindPageRemove.call(c.thisPage)});
155
+ c.screen.bind("vclick",function(){c.close()});c.isMultiple&&c.headerClose.click(function(){if(c.menuType=="overlay")return c.close(),false});c.thisPage.addDependents(this.menuPage)},_isRebuildRequired:function(){var a=this.list.find("li");return this._selectOptions().text()!==a.text()},refresh:function(b){var c=this;this._selectOptions();this.selected();var d=this.selectedIndices();(b||this._isRebuildRequired())&&c._buildList();c.setButtonText();c.setButtonCount();c.list.find("li:not(.ui-li-divider)").removeClass(a.mobile.activeBtnClass).attr("aria-selected",
156
+ false).each(function(b){a.inArray(b,d)>-1&&(b=a(this),b.attr("aria-selected",true),c.isMultiple?b.find(".ui-icon").removeClass("ui-icon-checkbox-off").addClass("ui-icon-checkbox-on"):b.is(".ui-selectmenu-placeholder")?b.next().addClass(a.mobile.activeBtnClass):b.addClass(a.mobile.activeBtnClass))})},close:function(){if(!this.options.disabled&&this.isOpen)this.menuType=="page"?s.history.back():(this.screen.addClass("ui-screen-hidden"),this.listbox.addClass("ui-selectmenu-hidden").removeAttr("style").removeClass("in"),
157
+ this.list.appendTo(this.listbox),this._focusButton()),this.isOpen=false},open:function(){function b(){c.list.find("."+a.mobile.activeBtnClass+" a").focus()}if(!this.options.disabled){var c=this,d=a(s),e=c.list.parent(),f=e.outerHeight(),e=e.outerWidth();a(".ui-page-active");var g=d.scrollTop(),j=c.button.offset().top,h=d.height(),d=d.width();c.button.addClass(a.mobile.activeBtnClass);setTimeout(function(){c.button.removeClass(a.mobile.activeBtnClass)},300);if(f>h-80||!a.support.scrollTop){c.menuPage.appendTo(a.mobile.pageContainer).page();
158
+ c.menuPageContent=p.find(".ui-content");c.menuPageClose=p.find(".ui-header a");c.thisPage.unbind("pagehide.remove");if(g==0&&j>h)c.thisPage.one("pagehide",function(){a(this).jqmData("lastScroll",j)});c.menuPage.one("pageshow",function(){b();c.isOpen=true});c.menuType="page";c.menuPageContent.append(c.list);c.menuPage.find("div .ui-title").text(c.label.text());a.mobile.changePage(c.menuPage,{transition:a.mobile.defaultDialogTransition})}else{c.menuType="overlay";c.screen.height(a(k).height()).removeClass("ui-screen-hidden");
159
+ var l=j-g,m=g+h-j,n=f/2,o=parseFloat(c.list.parent().css("max-width")),f=l>f/2&&m>f/2?j+c.button.outerHeight()/2-n:l>m?g+h-f-30:g+30;e<o?g=(d-e)/2:(g=c.button.offset().left+c.button.outerWidth()/2-e/2,g<30?g=30:g+e>d&&(g=d-e-30));c.listbox.append(c.list).removeClass("ui-selectmenu-hidden").css({top:f,left:g}).addClass("in");b();c.isOpen=true}}},_buildList:function(){var b=this.options,c=this.placeholder,d=true,e=this.isMultiple?"checkbox-off":"false";this.list.empty().filter(".ui-listview").listview("destroy");
160
+ var f=this.select.find("option"),g=f.length,j=this.select[0],h="data-"+a.mobile.ns,l=h+"option-index",m=h+"icon";h+="role";for(var n=k.createDocumentFragment(),o,p=0;p<g;p++){var r=f[p],q=a(r),s=r.parentNode,t=q.text(),D=k.createElement("a"),J=[];D.setAttribute("href","#");D.appendChild(k.createTextNode(t));s!==j&&s.nodeName.toLowerCase()==="optgroup"&&(s=s.getAttribute("label"),s!=o&&(o=k.createElement("li"),o.setAttribute(h,"list-divider"),o.setAttribute("role","option"),o.setAttribute("tabindex",
161
+ "-1"),o.appendChild(k.createTextNode(s)),n.appendChild(o),o=s));if(d&&(!r.getAttribute("value")||t.length==0||q.jqmData("placeholder")))if(d=false,b.hidePlaceholderMenuItems&&J.push("ui-selectmenu-placeholder"),!c)c=this.placeholder=t;q=k.createElement("li");r.disabled&&(J.push("ui-disabled"),q.setAttribute("aria-disabled",true));q.setAttribute(l,p);q.setAttribute(m,e);q.className=J.join(" ");q.setAttribute("role","option");D.setAttribute("tabindex","-1");q.appendChild(D);n.appendChild(q)}this.list[0].appendChild(n);
162
+ !this.isMultiple&&!c.length?this.header.hide():this.headerTitle.text(this.placeholder);this.list.listview()},_button:function(){return a("<a>",{href:"#",role:"button",id:this.buttonId,"aria-haspopup":"true","aria-owns":this.menuId})}})};a(k).bind("selectmenubeforecreate",function(b){b=a(b.target).data("selectmenu");b.options.nativeMenu||c(b)})})(jQuery);(function(a){a.widget("mobile.fixedtoolbar",a.mobile.widget,{options:{visibleOnPageShow:true,disablePageZoom:true,transition:"slide",fullscreen:false,
163
+ tapToggle:true,tapToggleBlacklist:"a, input, select, textarea, .ui-header-fixed, .ui-footer-fixed",hideDuringFocus:"input, textarea, select",updatePagePadding:true,trackPersistentToolbars:true,supportBlacklist:function(){var a=s,b=navigator.userAgent,e=navigator.platform,f=b.match(/AppleWebKit\/([0-9]+)/),f=!!f&&f[1],d=b.match(/Fennec\/([0-9]+)/),d=!!d&&d[1],g=b.match(/Opera Mobi\/([0-9]+)/),h=!!g&&g[1];return(e.indexOf("iPhone")>-1||e.indexOf("iPad")>-1||e.indexOf("iPod")>-1)&&f&&f<534||a.operamini&&
164
+ {}.toString.call(a.operamini)==="[object OperaMini]"||g&&h<7458||b.indexOf("Android")>-1&&f&&f<533||d&&d<6||"palmGetResource"in s&&f&&f<534||b.indexOf("MeeGo")>-1&&b.indexOf("NokiaBrowser/8.5.0")>-1?true:false},initSelector:":jqmData(position='fixed')"},_create:function(){var a=this.options,b=this.element,e=b.is(":jqmData(role='header')")?"header":"footer",f=b.closest(".ui-page");a.supportBlacklist()?this.destroy():(b.addClass("ui-"+e+"-fixed"),a.fullscreen?(b.addClass("ui-"+e+"-fullscreen"),f.addClass("ui-page-"+
165
+ e+"-fullscreen")):f.addClass("ui-page-"+e+"-fixed"),this._addTransitionClass(),this._bindPageEvents(),this._bindToggleHandlers())},_addTransitionClass:function(){var a=this.options.transition;a&&a!=="none"&&(a==="slide"&&(a=this.element.is(".ui-header")?"slidedown":"slideup"),this.element.addClass(a))},_bindPageEvents:function(){var c=this,b=c.options;c.element.closest(".ui-page").bind("pagebeforeshow",function(){b.disablePageZoom&&a.mobile.zoom.disable(true);b.visibleOnPageShow||c.hide(true)}).bind("webkitAnimationStart animationstart updatelayout",
166
+ function(){b.updatePagePadding&&c.updatePagePadding()}).bind("pageshow",function(){c.updatePagePadding();b.updatePagePadding&&a(s).bind("throttledresize."+c.widgetName,function(){c.updatePagePadding()})}).bind("pagebeforehide",function(e,f){b.disablePageZoom&&a.mobile.zoom.enable(true);b.updatePagePadding&&a(s).unbind("throttledresize."+c.widgetName);if(b.trackPersistentToolbars){var d=a(".ui-footer-fixed:jqmData(id)",this),g=a(".ui-header-fixed:jqmData(id)",this),h=d.length&&f.nextPage&&a(".ui-footer-fixed:jqmData(id='"+
167
+ d.jqmData("id")+"')",f.nextPage),j=g.length&&f.nextPage&&a(".ui-header-fixed:jqmData(id='"+g.jqmData("id")+"')",f.nextPage),h=h||a();if(h.length||j.length)h.add(j).appendTo(a.mobile.pageContainer),f.nextPage.one("pageshow",function(){h.add(j).appendTo(this)})}})},_visible:true,updatePagePadding:function(){var a=this.element,b=a.is(".ui-header");this.options.fullscreen||a.closest(".ui-page").css("padding-"+(b?"top":"bottom"),a.outerHeight())},_useTransition:function(c){var b=this.element,e=a(s).scrollTop(),
168
+ f=b.height(),d=b.closest(".ui-page").height(),g=a.mobile.getScreenHeight(),b=b.is(":jqmData(role='header')")?"header":"footer";return!c&&(this.options.transition&&this.options.transition!=="none"&&(b==="header"&&!this.options.fullscreen&&e>f||b==="footer"&&!this.options.fullscreen&&e+g<d-f)||this.options.fullscreen)},show:function(a){var b=this.element;this._useTransition(a)?b.removeClass("out ui-fixed-hidden").addClass("in"):b.removeClass("ui-fixed-hidden");this._visible=true},hide:function(a){var b=
169
+ this.element,e="out"+(this.options.transition==="slide"?" reverse":"");this._useTransition(a)?b.addClass(e).removeClass("in").animationComplete(function(){b.addClass("ui-fixed-hidden").removeClass(e)}):b.addClass("ui-fixed-hidden").removeClass(e);this._visible=false},toggle:function(){this[this._visible?"hide":"show"]()},_bindToggleHandlers:function(){var c=this,b=c.options;c.element.closest(".ui-page").bind("vclick",function(e){b.tapToggle&&!a(e.target).closest(b.tapToggleBlacklist).length&&c.toggle()}).bind("focusin focusout",
170
+ function(e){if(screen.width<500&&a(e.target).is(b.hideDuringFocus)&&!a(e.target).closest(".ui-header-fixed, .ui-footer-fixed").length)c[e.type==="focusin"&&c._visible?"hide":"show"]()})},destroy:function(){this.element.removeClass("ui-header-fixed ui-footer-fixed ui-header-fullscreen ui-footer-fullscreen in out fade slidedown slideup ui-fixed-hidden");this.element.closest(".ui-page").removeClass("ui-page-header-fixed ui-page-footer-fixed ui-page-header-fullscreen ui-page-footer-fullscreen")}});a(k).bind("pagecreate create",
171
+ function(c){a(c.target).jqmData("fullscreen")&&a(a.mobile.fixedtoolbar.prototype.options.initSelector,c.target).not(":jqmData(fullscreen)").jqmData("fullscreen",true);a.mobile.fixedtoolbar.prototype.enhanceWithin(c.target)})})(jQuery);(function(a,c){if(/iPhone|iPad|iPod/.test(navigator.platform)&&navigator.userAgent.indexOf("AppleWebKit")>-1){var b=a.mobile.zoom,e,f,d,g,h;a(c).bind("orientationchange.iosorientationfix",b.enable).bind("devicemotion.iosorientationfix",function(a){e=a.originalEvent;
172
+ h=e.accelerationIncludingGravity;f=Math.abs(h.x);d=Math.abs(h.y);g=Math.abs(h.z);!c.orientation&&(f>7||(g>6&&d<8||g<8&&d>6)&&f>5)?b.enabled&&b.disable():b.enabled||b.enable()})}})(jQuery,this);(function(a,c){function b(){var b=a("."+a.mobile.activeBtnClass).first();h.css({top:a.support.scrollTop&&g.scrollTop()+g.height()/2||b.length&&b.offset().top||100})}function e(){var c=h.offset(),d=g.scrollTop(),f=a.mobile.getScreenHeight();if(c.top<d||c.top-d>f)h.addClass("ui-loader-fakefix"),b(),g.unbind("scroll",
173
+ e).bind("scroll",b)}function f(){d.removeClass("ui-mobile-rendering")}var d=a("html");a("head");var g=a(c);a(c.document).trigger("mobileinit");if(a.mobile.gradeA()){if(a.mobile.ajaxBlacklist)a.mobile.ajaxEnabled=false;d.addClass("ui-mobile ui-mobile-rendering");setTimeout(f,5E3);var h=a("<div class='ui-loader'><span class='ui-icon ui-icon-loading'></span><h1></h1></div>");a.extend(a.mobile,{showPageLoadingMsg:function(b,c,f){d.addClass("ui-loading");if(a.mobile.loadingMessage){var k=f||a.mobile.loadingMessageTextVisible;
174
+ b=b||a.mobile.loadingMessageTheme;h.attr("class","ui-loader ui-corner-all ui-body-"+(b||"a")+" ui-loader-"+(k?"verbose":"default")+(f?" ui-loader-textonly":"")).find("h1").text(c||a.mobile.loadingMessage).end().appendTo(a.mobile.pageContainer);e();g.bind("scroll",e)}},hidePageLoadingMsg:function(){d.removeClass("ui-loading");a.mobile.loadingMessage&&h.removeClass("ui-loader-fakefix");a(c).unbind("scroll",b);a(c).unbind("scroll",e)},initializePage:function(){var b=a(":jqmData(role='page'), :jqmData(role='dialog')");
175
+ b.length||(b=a("body").wrapInner("<div data-"+a.mobile.ns+"role='page'></div>").children(0));b.each(function(){var b=a(this);b.jqmData("url")||b.attr("data-"+a.mobile.ns+"url",b.attr("id")||location.pathname+location.search)});a.mobile.firstPage=b.first();a.mobile.pageContainer=b.first().parent().addClass("ui-mobile-viewport");g.trigger("pagecontainercreate");a.mobile.showPageLoadingMsg();f();!a.mobile.hashListeningEnabled||!a.mobile.path.stripHash(location.hash)?a.mobile.changePage(a.mobile.firstPage,
176
+ {transition:"none",reverse:true,changeHash:fal